Mercurial > hg > index.cgi
annotate defs.s @ 0:605ff82c4618
Initial check in with cleaned up sources
This is the initial check in the source code in a state where it builds byte
accurate copies of all the various ROM versions included.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sat, 08 Dec 2018 19:57:01 -0700 |
parents | |
children | 704b2c9dc19e |
rev | line source |
---|---|
0
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2 ; First, some useful macro definitions to avoid most instances with FCB standing for actual code. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3 skip1 macro noexpand |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
4 fcb 0x21 ; opcode of BRN which causes next code byte to be skipped |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
5 endm |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
6 skip2 macro noexpand |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
7 fcb 0x8c ; opcode of CMPX immediate which will skip two bytes (but clobbers flags) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
8 endm |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
9 skip2keepc macro noexpand |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
10 fcb 0x7d ; opcode of TST extended which will skip two bytes like above but preserves C |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
11 endm |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
12 skip1lda macro noexpand |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
13 fcb 0x86 ; opcode of LDA immediate; used to load A with nonzero and skip a CLRA, usually |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
14 endm |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
15 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
16 ; Now various constants used in the ROMs. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
17 STKBUF equ 58 ; extra room kept between the stack and variables during memory checks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
18 DEBDEL equ 0x45e ; delay constant for debouncing the keyboard (10ms at standard clock speed) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
19 LBUFMX equ 250 ; size of the line input buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
20 MAXLIN equ 0xfa ; the maximum MS byte of a line number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
21 DOSBUF equ 0x2600 ; address where DOS command loads track 24 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
22 DIRLEN equ 32 ; size of a directory entry on disk |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
23 SECLEN equ 256 ; length of a disk sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
24 SECMAX equ 18 ; number of sectors per track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
25 TRKLEN equ SECMAX*SECLEN ; number of bytes on a track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
26 TRKMAX equ 35 ; number of tracks per disk |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
27 FATLEN equ 6+(TRKMAX-1)*2 ; size of memory copy of a file allocation table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
28 GRANMX equ (TRKMAX-1)*2 ; number of granules per disk |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
29 FCBLEN equ SECLEN+25 ; size of a file control block |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
30 INPFIL equ 0x10 ; input file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
31 OUTFIL equ 0x20 ; output file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
32 RANFIL equ 0x40 ; random file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
33 ROWMAX equ 24 ; the number of rows on the hi-res text screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
34 HRESSCRN equ 0x2000 ; where the hi-res text screen starts in logical memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
35 HRESBUFF equ 0xc000 ; where the HGET/HPUT buffers are in logical memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
36 TMPSTACK equ 0xdfff ; temporary stack location when in secondary memory map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
37 CURCHAR equ SPACE ; hi-res text screen cursor character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
38 ; HGET/HPUT buffer header structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
39 HB.ADDR equ 0 ; address of next buffer (2 bytes) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
40 HB.NUM equ 2 ; number of this buffer (1 byte) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
41 HB.SIZE equ 3 ; number of bytes in this buffer (2 bytes) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
42 HB.LEN equ 5 ; number of bytes in a buffer header |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
43 ; Video register definitions |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
44 ; INIT0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
45 COCO equ 0x80 ; 1 = Coco2 compatible mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
46 MMUEN equ 0x40 ; 1 = MMU enabled |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
47 IEN equ 0x20 ; 1 = IRQ enabled |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
48 FEN equ 0x10 ; 1 = FIRQ enabled |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
49 MC3 equ 0x08 ; 1 = FExx constant page enabled |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
50 MC2 equ 0x04 ; 1 = Standard SCS operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
51 MC1 equ 0x02 ; ROM map control bit 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
52 MC0 equ 0x01 ; ROM map control bit 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
53 ; Interrupt enable/status bits |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
54 TMR equ 0x20 ; TIMER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
55 HBORD equ 0x10 ; horizontal border |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
56 VBORD equ 0x08 ; vertical border |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
57 EI2 equ 0x04 ; serial data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
58 EI1 equ 0x02 ; keyboard |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
59 EI0 equ 0x01 ; cartridge port |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
60 ; Memory block definitions |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
61 BLOCK6.0 equ 0x30 ; hi-res graphics screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
62 BLOCK6.1 equ 0x31 ; hi-res graphics screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
63 BLOCK6.2 equ 0x32 ; hi-res graphics screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
64 BLOCK6.3 equ 0x33 ; hi-res graphics screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
65 BLOCK6.4 equ 0x34 ; HGET/HPUT buffers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
66 BLOCK6.5 equ 0x35 ; stack space for hi-res graphics operations |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
67 BLOCK6.6 equ 0x36 ; hi-res text screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
68 BLOCK6.7 equ 0x37 ; unused by Basic |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
69 BLOCK7.0 equ 0x38 ; standard 64K memory map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
70 BLOCK7.1 equ 0x39 ; standard 64K memory map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
71 BLOCK7.2 equ 0x3a ; standard 64K memory map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
72 BLOCK7.3 equ 0x3b ; standard 64K memory map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
73 BLOCK7.4 equ 0x3c ; standard 64K memory map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
74 BLOCK7.5 equ 0x3d ; standard 64K memory map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
75 BLOCK7.6 equ 0x3e ; standard 64K memory map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
76 BLOCK7.7 equ 0x3f ; standard 64K memory map (constant page comes from this block) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
77 ; Disk Basic FAT data format. The memory image contains a six byte header followed by the cached copy |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
78 ; of the FAT from the disk. The cached copy may be modified compared to the copy on disk. This is indicated |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
79 ; by a nonzero of the "FAT1" byte. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
80 FAT0 equ 0 ; active file counter for this image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
81 FAT1 equ 1 ; data changed flag - nonzero means write is needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
82 FATCON equ 6 ; offset to start of FAT data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
83 ; Directory entry format. Entries are 32 bytes long but only the first 16 are used. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
84 DIRNAM equ 0 ; file name (8 characters) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
85 DIREXT equ 8 ; extention (3 characters) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
86 DIRTYP equ 11 ; file type number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
87 DIRASC equ 12 ; ASCII flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
88 DIRGRN equ 13 ; first granule number for the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
89 DIRLST equ 14 ; number of bytes used in last sector (two bytes are needed) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
90 ; File control block format. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
91 FCBTYP equ 0 ; file type: 0x40=RANDOM, 0x20=WRITE, 0x10=READ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
92 FCBDRV equ 1 ; drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
93 FCBFGR equ 2 ; first granule in the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
94 FCBCGR equ 3 ; current granule being used |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
95 FCBSEC equ 4 ; current sector within granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
96 FCBCPT equ 5 ; input file - next char to be read; output: sector full flag (sequential) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
97 FCBPOS equ 6 ; current print position (0 for random files) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
98 FCBREC equ 7 ; current record number (random files) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
99 FCBRLN equ 9 ; random file record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
100 FCBBUF equ 11 ; pointer to the start of this files buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
101 FCBSOF equ 13 ; sector offset to current position in the record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
102 FCBFLG equ 15 ; GET/PUT flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
103 FCBCFL equ 16 ; cache flag: nonzero is cache full (sequential) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
104 FCBCDT equ 17 ; cache byte (sequential) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
105 FCBDIR equ 18 ; directory entry number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
106 FCBLST equ 19 ; number of bytes in last sector of the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
107 FCBGET equ 21 ; GET record counter (how many pulled from record) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
108 FCBPUT equ 23 ; PUT record counter (where to put next byte in record) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
109 FCBDFL equ 23 ; input file: data left flag (nonzero is no data) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
110 FCBLFT equ 24 ; number of characters left in input file buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
111 FCBCON equ 25 ; offset to data buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
112 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
113 ; This is the memory map and variable definitions for the entire system (all levels of Basic) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
114 ; NOTE: unnamed variables (Vxx) are generally scratch variables used for various purpose. As such, no further description is |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
115 ; provided for those. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
116 org 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
117 setdp 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
118 ENDFLG rmb 1 ; STOP/END flag: bit 7 set means STOP, bit 7 clear means END |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
119 CHARAC rmb 1 ; terminator character for searches |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
120 ENDCHR rmb 1 ; terminator character for searches |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
121 TMPLOC rmb 1 ; scratch variable |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
122 IFCTR rmb 1 ; number of "IF" statements encountered while scanning a line |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
123 DIMFLG rmb 1 ; nonzero means dimensioning, zero means evaluating (when parsing array) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
124 VALTYP rmb 1 ; the type of the current value when evaluating expressions |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
125 GARBFL rmb 1 ; flag for whether garbage collection has been done yet when allocating strings |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
126 ARYDIS rmb 1 ; nonzero means don't parse arrays when parsing variables |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
127 INPFLG rmb 1 ; are we running INPUT or READ - nonzero for INPUT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
128 RELFLG rmb 1 ; which relational operators are currently in play |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
129 TEMPPT rmb 2 ; pinter to the top of the string stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
130 LASTPT rmb 2 ; pointer to the last entry on the string stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
131 TEMPTR rmb 2 ; scratch pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
132 TMPTR1 rmb 2 ; scratch pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
133 FPA2 rmb 4 ; floating point accumulator, mantissa only |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
134 BOTSTK rmb 2 ; bottom of stack during last check; also a scratch variable |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
135 TXTTAB rmb 2 ; pointer to the beginning of the program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
136 VARTAB rmb 2 ; pointer to the beginning of the scalar variable table (end of program) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
137 ARYTAB rmb 2 ; pointer to the beginning of the array table (end of scalars) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
138 ARYEND rmb 2 ; pointer to the end of the array table (start of free memory) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
139 FRETOP rmb 2 ; top of free memory (start of string space) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
140 STRTAB rmb 2 ; start of allocates string space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
141 FRESPC rmb 2 ; pointer to newly allocated string space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
142 MEMSIZ rmb 2 ; top of memory (and string space) allowed for the interpreter to size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
143 OLDTXT rmb 2 ; save line number during STOP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
144 BINVAL rmb 2 ; binary value of line number during parsing |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
145 OLDPTR rmb 2 ; saving input pointer during STOP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
146 TINPTR rmb 2 ; temporary input pointer storage |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
147 DATTXT rmb 2 ; line number where we're looking for DATA |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
148 DATPTR rmb 2 ; input pointer where we're looking for DATA |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
149 DATTMP rmb 2 ; scratch pointer for INPUT and READ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
150 VARNAM rmb 2 ; storage for variable name during parsing |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
151 VARPTR rmb 2 ; pointer to variable descriptor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
152 VARDES rmb 2 ; pointer to variable descriptor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
153 RELPTR rmb 2 ; pointer to relational operator processing routine |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
154 TRELFL rmb 1 ; temporary relational operator flags |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
155 V40 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
156 V41 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
157 V42 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
158 V43 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
159 V44 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
160 V45 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
161 V46 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
162 V47 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
163 V48 rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
164 V4A rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
165 V4B rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
166 V4D rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
167 FP0EXP rmb 1 ; floating point accumulator #0 exponent |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
168 FPA0 rmb 4 ; floating point accumulator #0 mantissa |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
169 FP0SGN rmb 1 ; floating point accumulator #0 sign |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
170 COEFCT rmb 1 ; polynomial expansion coefficient counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
171 STRDES rmb 5 ; temporary string descriptor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
172 FPCARY rmb 1 ; floating point carry byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
173 FP1EXP rmb 1 ; floating point accumulator #1 exponent |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
174 FPA1 rmb 4 ; floating point accumulator #1 mantissa |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
175 FP1SGN rmb 1 ; floating point accumulator #1 sign |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
176 RESSGN rmb 1 ; pre-calculated result sign |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
177 FPSBYT rmb 1 ; floating point extra precision underflow byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
178 COEFPT rmb 2 ; polynomial expansion coefficient pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
179 LSTTXT rmb 2 ; current line pointer during LIST |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
180 CURLIN rmb 2 ; line number of currently executing statement (0xffff for direct) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
181 DEVCFW rmb 1 ; width of tab field for current device |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
182 DEVLCF rmb 1 ; column of last tab field for current device |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
183 DEVPOS rmb 1 ; current output column for current device |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
184 DEVWID rmb 1 ; number of characters per line for current device |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
185 PRTDEV rmb 1 ; print device flag: 0xff for non-display device (tape) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
186 DEVNUM rmb 1 ; current I/O device/file number (signed) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
187 CINBFL rmb 1 ; EOF flag for console in (0xff for EOF) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
188 RSTFLG rmb 1 ; warm start enable flag: 0x55 for enabled |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
189 RSTVEC rmb 2 ; pointer to warm start routine (must start with NOP) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
190 TOPRAM rmb 2 ; the actual top of memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
191 rmb 2 ; *unused* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
192 FILSTA rmb 1 ; status of tape file (0=closed, 1=input, 2=output) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
193 CINCTR rmb 1 ; number of characters in buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
194 CINPTR rmb 2 ; pointer to current buffer location |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
195 BLKTYP rmb 1 ; cassette block type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
196 BLKLEN rmb 1 ; length of cassette block |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
197 CBUFAD rmb 2 ; pointer to data buffer for cassette I/O |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
198 CCKSUM rmb 1 ; cassette checksum |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
199 CSRERR rmb 1 ; cassette error flag/charactercount |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
200 CPULWD rmb 1 ; pulse width counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
201 CPERTM rmb 1 ; bit counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
202 CBTPHA rmb 1 ; sync phase flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
203 CLSTSN rmb 1 ; last sine table entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
204 GRBLOK rmb 1 ; graphic block value for SET/RESET/POINT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
205 IKEYIM rmb 1 ; cached key read during BREAK check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
206 CURPOS rmb 2 ; screen cursor position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
207 ZERO rmb 2 ; always kept as 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
208 SNDTON rmb 1 ; tone value for SOUND |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
209 SNDDUR rmb 2 ; duration value for SOUND |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
210 CMPMID rmb 1 ; 1200/2400 Hz partition (why is this a variable?) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
211 CMP0 rmb 1 ; upper limit of 1200 Hz period (why is this a variable?) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
212 CMP1 rmb 1 ; upper limit of 2400 Hz period (why is this a variable?) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
213 SYNCLN rmb 2 ; number of 0x55s for a cassette leader (why is this a variable?) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
214 BLKCNT rmb 1 ; cursor blink delay counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
215 LPTBTD rmb 2 ; serial baud rate delay count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
216 LPTLND rmb 2 ; delay for waiting for carriage return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
217 LPTCFW rmb 1 ; tab field width for printer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
218 LPTLCF rmb 1 ; last tab field position for printer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
219 LPTWID rmb 1 ; width of printer line |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
220 LPTPOS rmb 1 ; current character position for printer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
221 EXECJP rmb 2 ; default jump address for EXEC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
222 GETNCH rmb 6 ; fetch next character for interpretation (INC CHARAD+1\BNE GETCCH\INC CHARAD) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
223 GETCCH rmb 1 ; re-fetch the current character for interpretation (opcode of LDA extended) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
224 CHARAD rmb 2 ; current input pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
225 rmb 3 ; (JMP BROMHK) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
226 VAB rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
227 VAC rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
228 VAD rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
229 VAE rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
230 TRCFLG rmb 1 ; is TRACE enabled? nonzero is on |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
231 USRADR rmb 2 ; address of the start of USR vectors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
232 FORCOL rmb 1 ; bitmap foreground colour |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
233 BAKCOL rmb 1 ; bitmap background colour |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
234 WCOLOR rmb 1 ; bitmap working colour |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
235 ALLCOL rmb 1 ; byte with all pixels set to WCOLOR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
236 PMODE rmb 1 ; which PMODE is active |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
237 ENDGRP rmb 2 ; end of current bitmap graphics page |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
238 HORBYT rmb 1 ; number of bytes per bitmap row |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
239 BEGGRP rmb 2 ; start of current bitmap graphics page |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
240 GRPRAM rmb 1 ; MSB of start of bitmap graphics |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
241 HORBEG rmb 2 ; horizontal starting coordinate |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
242 VERBEG rmb 2 ; vertical starting coordinate |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
243 CSSVAL rmb 1 ; SCREEN's colour set value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
244 SETFLG rmb 1 ; doing PSET or PRESET? (nonzero = PSET) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
245 HOREND rmb 2 ; horizontal ending coordinate |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
246 VEREND rmb 2 ; vertical ending coordinate |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
247 HORDEF rmb 2 ; default horizontal coordinate |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
248 VERDEF rmb 2 ; default vertical coordinate |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
249 VCB rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
250 VCD rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
251 VCF rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
252 VD1 rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
253 VD3 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
254 VD4 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
255 VD5 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
256 VD6 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
257 VD7 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
258 VD8 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
259 VD9 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
260 VDA rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
261 CHGFLG rmb 1 ; flag indicating if graphic data changed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
262 TMPSTK rmb 2 ; temporary stack pointer during PAINT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
263 OCTAVE rmb 1 ; PLAY octave |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
264 VOLHI rmb 1 ; PLAY high volume value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
265 VOLLOW rmb 1 ; PLAY low volumnevalue |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
266 NOTELN rmb 1 ; PLAY notelength |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
267 TEMPO rmb 1 ; PLAY tempo |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
268 PLYTMR rmb 2 ; PLAY timer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
269 DOTVAL rmb 1 ; PLAY dotted note timer scale factor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
270 HRMODE equ * ; Coco3 graphics mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
271 DLBAUD rmb 1 ; DLOAD BAUD constant |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
272 HRWIDTH equ * ; Coco3 text mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
273 TIMOUT rmb 1 ; DLOAD timeout constant |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
274 ANGLE rmb 1 ; DRAW angle |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
275 SCALE rmb 1 ; DRAW scale |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
276 DCOPC rmb 1 ; DSKCON operation code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
277 DCDRV rmb 1 ; DSKCON drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
278 DCTRK rmb 1 ; DSKCON track number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
279 DSEC rmb 1 ; DSKCON sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
280 DCBPT rmb 2 ; DSKCON buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
281 DCSTA rmb 1 ; DSKCON status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
282 FCBTMP rmb 2 ; temp file control block pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
283 rmb 13 ; *unused* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
284 SW3VEC rmb 3 ; SWI3 vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
285 SW2VEC rmb 3 ; SWI2 vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
286 SWIVEC rmb 3 ; SWI vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
287 NMIVEC rmb 3 ; NMI vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
288 IRQVEC rmb 3 ; IRQ vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
289 FRQVEC rmb 3 ; FIRQ vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
290 TIMVAL equ * ; Extended Basic TIMER value (2 bytes only) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
291 USRJMP rmb 3 ; jump address for USR function |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
292 RVSEED rmb 5 ; floating point random number seed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
293 CASFLG rmb 1 ; capslock state for keyboard |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
294 DEBVAL rmb 2 ; keyboar debounce delay (why is this a variable?) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
295 EXPJMP rmb 3 ; exponentiation handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
296 COMVEC rmb 10 ; Color Basic's command table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
297 rmb 10 ; Extended Basic's command table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
298 rmb 10 ; Disk Basic's command table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
299 USR0 rmb 20 ; ECB USR jump addresses (extra user command table and unused for Disk Basic) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
300 KEYBUF rmb 8 ; keyboard state table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
301 POTVAL rmb 4 ; joystick axis values (left vert, left horiz, right vert, right horiz) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
302 RVEC0 rmb 3 ; RAM hook: OPEN |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
303 RVEC1 rmb 3 ; RAM hook: device number check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
304 RVEC2 rmb 3 ; RAM hook: set print parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
305 RVEC3 rmb 3 ; RAM hook: console out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
306 RVEC4 rmb 3 ; RAM hook: console in |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
307 RVEC5 rmb 3 ; RAM hook: input device number check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
308 RVEC6 rmb 3 ; RAM hook: output device number check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
309 RVEC7 rmb 3 ; RAM hook: close all files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
310 RVEC8 rmb 3 ; RAM hook: close current file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
311 RVEC9 rmb 3 ; RAM hook: PRINT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
312 RVEC10 rmb 3 ; RAM hook: INPUT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
313 RVEC11 rmb 3 ; RAM hook: BREAK check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
314 RVEC12 rmb 3 ; RAM hook: line input |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
315 RVEC13 rmb 3 ; RAM hook: terminating line input |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
316 RVEC14 rmb 3 ; RAM hook: EOF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
317 RVEC15 rmb 3 ; RAM hook: expression evaluation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
318 RVEC16 rmb 3 ; RAM hook: ERROR handler (on error goto) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
319 RVEC17 rmb 3 ; RAM hook: ERROR handler (regular handling) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
320 RVEC18 rmb 3 ; RAM hook: RUN |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
321 RVEC19 rmb 3 ; RAM hook: parse number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
322 RVEC20 rmb 3 ; RAM hook: main interpretation loop |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
323 RVEC21 rmb 3 ; RAM hook: SET/RESET/POINT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
324 RVEC22 rmb 3 ; RAM hook: CLS/ECB secondary/RENUM token/GET/PUT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
325 RVEC23 rmb 3 ; RAM hook: crunch line |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
326 RVEC24 rmb 3 ; RAM hook: uncrunch line |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
327 STRSTK rmb 8*5 ; string stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
328 CFNBUF rmb 9 ; cassette file name buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
329 CASBUF rmb 256 ; cassette I/O buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
330 LINHDR rmb 2 ; header for line input (holds line number when editing program) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
331 LINBUF rmb LBUFMX+1 ; line input buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
332 STRBUF rmb 41 ; temporary string buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
333 VIDRAM rmb 0x200 ; VDG text screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
334 DBUF0 rmb SECLEN ; Main disk I/O buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
335 DBUF1 rmb SECLEN ; Secondary disk I/O buffer (used for VERIFY) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
336 FATBL0 rmb FATLEN ; File allocation table cache for drive 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
337 FATBL1 rmb FATLEN ; File allocation table cache for drive 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
338 FATBL2 rmb FATLEN ; File allocation table cache for drive 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
339 FATBL3 rmb FATLEN ; File allocation table cache for drive 3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
340 FCBV1 rmb 16*2 ; FCB pointers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
341 RNBFAD rmb 2 ; start of free random file buffer area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
342 FCBADR rmb 2 ; start of file control blocks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
343 DNAMBF rmb 8 ; disk file name buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
344 DEXTBF rmb 3 ; disk file name extension buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
345 DFLTYP rmb 1 ; disk file type (0=Basic, 1=Data, 2=M/L) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
346 DASCFL rmb 1 ; disk file ASCII flag (0=binary, 0xff=ASCII) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
347 DRUNFL rmb 1 ; RUN flag (bit 1 set then RUN, bit 0 set then close files) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
348 DEFDRV rmb 1 ; default drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
349 FCBACT rmb 1 ; number of active file control blocks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
350 DRESFL rmb 1 ; reset flag - will cause all FCBs to be shut down |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
351 DLODFL rmb 1 ; load flag - cause a "NEW" on error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
352 DMRGFL rmb 1 ; merge flag: nonzero means we're merging |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
353 DUSRVC rmb 20 ; Disk Basic USR addresses |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
354 V973 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
355 V974 rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
356 V976 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
357 V977 rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
358 V978 rmb 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
359 WFATVL rmb 2 ; number of granules allocated to trigger a FAT cache write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
360 DFFLEN rmb 2 ; direct access file recrod length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
361 DR0TRK rmb 4 ; current track number for each drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
362 NMIFLG rmb 1 ; nonzero means NMI vectoring is enabled |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
363 DNMIVC rmb 2 ; address to vector to in NMI |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
364 RDYTMR rmb 1 ; number of ticks before turning off drive motors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
365 DRGRAM rmb 1 ; cached value of write-only disk control register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
366 DVERFL rmb 1 ; nonzero means write verifies on |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
367 ATTCTR rmb 1 ; read/write attempt counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
368 DFLBUF equ * ; start of random file area, FCBs, etc. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
369 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
370 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
371 org 0x8000 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
372 EXBAS rmb 0x2000 ; Extended Basic ROM area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
373 BASIC rmb 0x2000 ; Color Basic ROM area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
374 ROMPAK equ * ; external ROM address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
375 DOSBAS rmb 0x2000 ; Disk Basic ROM area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
376 rmb 0x1e00 ; Super Extended Basic ROM area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
377 ; These are the variables used by SECB on the "constant FExx page" which is unaffected by the MMU |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
378 ; when the FExx bit in INIT0 is set. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
379 H.CRSLOC rmb 2 ; current cursor location pointer (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
380 H.CURSX rmb 1 ; current X coordinate of the cursor (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
381 H.CURSY rmb 1 ; current Y coordinate of the cursor (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
382 H.COLUMN rmb 1 ; the number of columns on the screen (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
383 H.ROW rmb 1 ; the number of rows on the screen (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
384 H.DISPEN rmb 2 ; pointer to the end of the screen (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
385 H.CRSATT rmb 1 ; current cursor attributes (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
386 rmb 1 ; *unused* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
387 H.FCOLOR rmb 1 ; foreground colour (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
388 H.BCOLOR rmb 1 ; background colour (hi-res) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
389 H.ONBRK rmb 2 ; ON BRK GOTO line number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
390 H.ONERR rmb 2 ; ON ERR GOTO line number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
391 H.ERROR rmb 1 ; most recent error number encountered (-1 for no error) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
392 H.ONERRS rmb 2 ; line number where ON ERR GOTO was encountered |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
393 H.ERLINE rmb 2 ; line number where error actually occurred |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
394 H.ONBRKS rmb 2 ; line number where ON BRK GOTO was encountered |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
395 H.ERRBRK rmb 1 ; flag for whether we're processing an error or a break event |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
396 H.PCOUNT rmb 1 ; number of characters in the HPRINT buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
397 H.PBUF rmb 80 ; HPRINT line buffer (max 80 characters per line) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
398 rmb 132 ; *unused* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
399 ; This is the set of primary interrupt vectors on the Coco3. These are here so that systems other |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
400 ; than Basic do not have to rely on low memory remaining constant. Under Basic, these simply bounce |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
401 ; to the traditional vectors starting at 0x100. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
402 INT.FLAG rmb 1 ; interrupt vector validity flag: 0x55 for valid |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
403 INT.JUMP equ * |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
404 INT.SWI3 rmb 3 ; SWI3 bounce vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
405 INT.SWI2 rmb 3 ; SWI2 bounce vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
406 INT.FIRQ rmb 3 ; FIRQ bounce vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
407 INT.IRQ rmb 3 ; IRQ bounce vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
408 INT.SWI rmb 3 ; SWI bounce vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
409 INT.NMI rmb 3 ; NMI bounce vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
410 ; This is that start of the I/O page. Everything above here is hardware defined. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
411 PIA0 rmb 4 ; PIA0 (keyboard/joystick) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
412 rmb 28 ; PIA0 images (due to sloppy-ass decode) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
413 DA equ * ; DAC address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
414 PIA1 rmb 4 ; PIA1 (misc hardware) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
415 rmb 28 ; PIA1 images (due to sloppy-ass decode) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
416 DSKREG rmb 1 ; Disk control register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
417 rmb 7 ; images of DSKREG due to (sloppy-ass decode) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
418 FDCREG rmb 1 ; FDC command/status register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
419 rmb 1 ; FDC track register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
420 rmb 1 ; FDC sector register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
421 rmb 1 ; FDC data register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
422 rmb 4 ; mirror of FDCREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
423 rmb 16 ; unused SCS area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
424 rmb 32 ; misc hardware area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
425 rmb 16 ; *coco3 reserved* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
426 INIT0 rmb 1 ; GIME initialization register 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
427 INIT1 rmb 1 ; GIME initialization register 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
428 IRQENR rmb 1 ; GIME IRQ enable/status register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
429 FIRQENR rmb 1 ; GIME FIRQ enable/status register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
430 V.TIMER rmb 2 ; GIME timer setting |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
431 rmb 2 ; *reserved* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
432 VIDEOMOD rmb 1 ; GIME video mode register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
433 VIDEORES rmb 1 ; GIME video resolution register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
434 V.BORDER rmb 1 ; GIME border colour register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
435 rmb 1 ; *reserved* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
436 V.SCROLL rmb 1 ; GIME vertical scroll register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
437 V.OFFSET rmb 2 ; GIME vertical offset (screen address) register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
438 H.OFFSET rmb 1 ; GIME horizontal offset register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
439 MMUREG rmb 16 ; GIME MMU registers (two tasks of 8) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
440 PALETREG rmb 16 ; GIME palette registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
441 SAMREG equ * ; the SAM registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
442 V0CLR rmb 1 ; SAM video mode bits |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
443 V0SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
444 V1CLR rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
445 V1SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
446 V2CLR rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
447 V2SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
448 F0CLR rmb 1 ; SAM screen address bits |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
449 F0SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
450 F1CLR rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
451 F1SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
452 F2CLR rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
453 F2SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
454 F3CLR rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
455 F3SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
456 F4CLR rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
457 F4SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
458 F5CLR rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
459 F5SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
460 F6CLR rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
461 F6SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
462 rmb 2 ; *reserved* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
463 R0CLR rmb 1 ; SAM R0 bit (address dependent speedup) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
464 R0SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
465 R1CLR rmb 1 ; SAM R1 bit (full speedup/coco3 speedup) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
466 R1SET rmb 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
467 rmb 4 ; *reserved* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
468 TYCLR rmb 1 ; force ROM mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
469 TYSET rmb 1 ; set RAM mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
470 rmb 18 ; *MPU reserved* |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
471 SWI3 rmb 2 ; MPU SWI3 vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
472 SWI2 rmb 2 ; MPU SWI2 vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
473 FIRQ rmb 2 ; MPU FIRQ vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
474 IRQ rmb 2 ; MPU IRQ vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
475 SWI rmb 2 ; MPU SWI vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
476 NMI rmb 2 ; MPU NMI vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
477 RESETV rmb 2 ; MPU reset vector |