1 |
68 |
winston |
; Spectrum system variables.
|
2 |
|
|
; This just a list of numbers from various Spectrum manuals.
|
3 |
|
|
|
4 |
|
|
; 128k paging
|
5 |
|
|
ZX_BANKM equ 23388 ; All 128k machines
|
6 |
|
|
ZX_BANK678 equ 23399 ; +3/2a only
|
7 |
|
|
|
8 |
|
|
; 128k paging I/O ports
|
9 |
|
|
ZX_IO_BANKM equ 0x7FFD
|
10 |
|
|
ZX_IO_BANK678 equ 0x1FFD
|
11 |
|
|
ZX_IO_ULA equ 0xFE
|
12 |
|
|
|
13 |
78 |
winston |
; Standard system variables
|
14 |
129 |
winston |
ZX_KSTATE equ 23552 ; 8 - Used when reading the kb
|
15 |
|
|
ZX_LAST_K equ 23560 ; 1 - Stores newly pressed key
|
16 |
|
|
ZX_REPDEL equ 23561 ; 1 - Time in 50th sec for key repeat
|
17 |
|
|
ZX_REPPER equ 23562 ; 1 - Delay in 50th sec for successive repeats
|
18 |
|
|
ZX_DEFADD equ 23563 ; 2 - Address of args of user defined fn
|
19 |
|
|
ZX_K_DATA equ 23565 ; 1 - 2nd byte of colour controls from kb
|
20 |
|
|
ZX_TVDATA equ 23566 ; 2 - Colour/AT/TAB to display
|
21 |
|
|
ZX_STRMS equ 23568 ; 38 - Addresses of channels attached to strms
|
22 |
|
|
ZX_CHARS equ 23606 ; 2 - 256 less than charset
|
23 |
|
|
ZX_RASP equ 23608 ; 1 - Length of warning buzz
|
24 |
|
|
ZX_PIP equ 23609 ; 1 - Length of kb pip
|
25 |
|
|
ZX_IB equ 23610 ; Interpreter sysvars base address
|
26 |
|
|
ZX_ERR_NR equ 23610 ; 1 - 1 less than the report code.
|
27 |
|
|
ZX_FLAGS equ 23611 ; 1 - Various BASIC flags
|
28 |
|
|
ZX_TV_FLAG equ 23612 ; 1 - Display flags
|
29 |
|
|
ZX_ERR_SP equ 23613 ; 2 - Machine stack for addr. for error return
|
30 |
|
|
ZX_LIST_SP equ 23615 ; 2 - Return address from automatic listing
|
31 |
|
|
ZX_MODE equ 23617 ; 1 - K, L, C, E or G cursor
|
32 |
|
|
ZX_NEWPPC equ 23618 ; 2 - Line to be jumped to
|
33 |
|
|
ZX_NSPPC equ 23620 ; 1 - Stmt number to jump to
|
34 |
|
|
ZX_PPC equ 23621 ; 2 - Line num of statement being exec'd
|
35 |
|
|
ZX_PPC_HI equ 23622 ; MSB of the above
|
36 |
|
|
ZX_PPC_LO equ 23621 ; LSB of the above
|
37 |
|
|
ZX_SUBPPC equ 23623 ; 1 - Number within line of stmt being exec'd
|
38 |
|
|
ZX_BORDCR equ 23624 ; 1 - Border colour * 8
|
39 |
|
|
ZX_E_PPC equ 23625 ; 2 - Number of curr. line with pgm cursor
|
40 |
|
|
ZX_VARS equ 23627 ; 2 - Address of vars
|
41 |
|
|
ZX_DEST equ 23629 ; 2 - Address of variable in assignment
|
42 |
|
|
ZX_CHANS equ 23631 ; 2 - Address of channel data
|
43 |
|
|
ZX_CURCHL equ 23633 ; 2 - Address of current IO
|
44 |
|
|
ZX_PROG equ 23635 ; 2 - Address of BASIC program
|
45 |
|
|
ZX_CH_ADD equ 23645 ; 2 - Address of next char to be interpreted
|
46 |
|
|
ZX_X_PTR equ 23647 ; 2 - Address of char after ? marker
|
47 |
|
|
ZX_X_PTR_HI equ 23648 ; MSB of X_PTR
|
48 |
|
|
ZX_FLAGS2 equ 23658 ; 1 - More flags
|
49 |
341 |
winston |
ZX_OLDPPC equ 23662 ; 2 - where CONTINUE jumps
|
50 |
129 |
winston |
ZX_FLAGX equ 23665
|
51 |
206 |
winston |
ZX_E_LINE equ 23641 ; 2 - address of line being typed in
|
52 |
251 |
winston |
ZX_RAMTOP equ 23730
|
53 |
78 |
winston |
|
54 |
129 |
winston |
; Displacements
|
55 |
130 |
winston |
D_ERR_NR equ 0
|
56 |
|
|
D_FLAGS equ 1
|
57 |
|
|
D_TV_FLAG equ 2
|
58 |
|
|
D_CHBYTE equ 0x0B
|
59 |
|
|
D_PPC_HI equ 0x0C
|
60 |
|
|
D_CHREC equ 0x0D
|
61 |
|
|
D_CHFLAG equ 0x18
|
62 |
|
|
D_CHDRIV equ 0x19
|
63 |
|
|
D_HDNUMB equ 0x29
|
64 |
|
|
D_RECFLG equ 0x43
|
65 |
|
|
D_RECNUM equ 0x44
|
66 |
|
|
D_RECLEN equ 0x45
|
67 |
|
|
D_FLAGX equ 0x37
|
68 |
|
|
D_SUBPPC equ 0x0D
|