burn 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. data/README.md +59 -12
  2. data/lib/burn/cli.rb +25 -5
  3. data/lib/burn/generator/assembly_music.rb +1 -1
  4. data/lib/burn/tools/mac.tar.gz +0 -0
  5. data/lib/burn/tools/make_exec.sh +4 -0
  6. data/lib/burn/tools/other.tar.gz +0 -0
  7. data/lib/burn/tools/src.tar.gz +0 -0
  8. data/lib/burn/tools/win.tar.gz +0 -0
  9. data/lib/burn/tools/workspace_default.tar.gz +0 -0
  10. data/lib/burn/util/unpack.rb +11 -0
  11. data/lib/burn/util.rb +2 -1
  12. data/lib/burn/version.rb +1 -1
  13. data/lib/burn.rb +2 -0
  14. metadata +25 -157
  15. data/lib/burn/tools/mac/cc65/asminc/_file.inc +0 -27
  16. data/lib/burn/tools/mac/cc65/asminc/_heap.inc +0 -35
  17. data/lib/burn/tools/mac/cc65/asminc/apple2.inc +0 -64
  18. data/lib/burn/tools/mac/cc65/asminc/atari.inc +0 -1175
  19. data/lib/burn/tools/mac/cc65/asminc/atari.mac +0 -59
  20. data/lib/burn/tools/mac/cc65/asminc/atmos.inc +0 -110
  21. data/lib/burn/tools/mac/cc65/asminc/c128.inc +0 -214
  22. data/lib/burn/tools/mac/cc65/asminc/c16.inc +0 -9
  23. data/lib/burn/tools/mac/cc65/asminc/c64.inc +0 -212
  24. data/lib/burn/tools/mac/cc65/asminc/cbm.mac +0 -50
  25. data/lib/burn/tools/mac/cc65/asminc/cbm510.inc +0 -182
  26. data/lib/burn/tools/mac/cc65/asminc/cbm610.inc +0 -110
  27. data/lib/burn/tools/mac/cc65/asminc/cbm_filetype.inc +0 -34
  28. data/lib/burn/tools/mac/cc65/asminc/cpu.mac +0 -24
  29. data/lib/burn/tools/mac/cc65/asminc/ctype.inc +0 -29
  30. data/lib/burn/tools/mac/cc65/asminc/em-error.inc +0 -49
  31. data/lib/burn/tools/mac/cc65/asminc/em-kernel.inc +0 -106
  32. data/lib/burn/tools/mac/cc65/asminc/errno.inc +0 -36
  33. data/lib/burn/tools/mac/cc65/asminc/fcntl.inc +0 -21
  34. data/lib/burn/tools/mac/cc65/asminc/generic.mac +0 -55
  35. data/lib/burn/tools/mac/cc65/asminc/get_tv.inc +0 -22
  36. data/lib/burn/tools/mac/cc65/asminc/joy-error.inc +0 -44
  37. data/lib/burn/tools/mac/cc65/asminc/joy-kernel.inc +0 -85
  38. data/lib/burn/tools/mac/cc65/asminc/longbranch.mac +0 -88
  39. data/lib/burn/tools/mac/cc65/asminc/lynx.inc +0 -279
  40. data/lib/burn/tools/mac/cc65/asminc/modload.inc +0 -78
  41. data/lib/burn/tools/mac/cc65/asminc/mouse-kernel.inc +0 -180
  42. data/lib/burn/tools/mac/cc65/asminc/nes.inc +0 -93
  43. data/lib/burn/tools/mac/cc65/asminc/o65.inc +0 -150
  44. data/lib/burn/tools/mac/cc65/asminc/opcodes.inc +0 -509
  45. data/lib/burn/tools/mac/cc65/asminc/pet.inc +0 -54
  46. data/lib/burn/tools/mac/cc65/asminc/plus4.inc +0 -86
  47. data/lib/burn/tools/mac/cc65/asminc/ser-error.inc +0 -54
  48. data/lib/burn/tools/mac/cc65/asminc/ser-kernel.inc +0 -162
  49. data/lib/burn/tools/mac/cc65/asminc/signal.inc +0 -57
  50. data/lib/burn/tools/mac/cc65/asminc/smc.inc +0 -245
  51. data/lib/burn/tools/mac/cc65/asminc/stdio.inc +0 -70
  52. data/lib/burn/tools/mac/cc65/asminc/supervision.inc +0 -76
  53. data/lib/burn/tools/mac/cc65/asminc/tgi-error.inc +0 -52
  54. data/lib/burn/tools/mac/cc65/asminc/tgi-kernel.inc +0 -234
  55. data/lib/burn/tools/mac/cc65/asminc/tgi-vectorfont.inc +0 -70
  56. data/lib/burn/tools/mac/cc65/asminc/time.inc +0 -59
  57. data/lib/burn/tools/mac/cc65/asminc/utsname.inc +0 -46
  58. data/lib/burn/tools/mac/cc65/asminc/vic20.inc +0 -75
  59. data/lib/burn/tools/mac/cc65/asminc/zeropage.inc +0 -26
  60. data/lib/burn/tools/mac/cc65/bin/ca65 +0 -0
  61. data/lib/burn/tools/mac/cc65/bin/cc65 +0 -0
  62. data/lib/burn/tools/mac/cc65/bin/ld65 +0 -0
  63. data/lib/burn/tools/other/cc65/asminc/_file.inc +0 -27
  64. data/lib/burn/tools/other/cc65/asminc/_heap.inc +0 -35
  65. data/lib/burn/tools/other/cc65/asminc/apple2.inc +0 -64
  66. data/lib/burn/tools/other/cc65/asminc/atari.inc +0 -1175
  67. data/lib/burn/tools/other/cc65/asminc/atari.mac +0 -59
  68. data/lib/burn/tools/other/cc65/asminc/atmos.inc +0 -110
  69. data/lib/burn/tools/other/cc65/asminc/c128.inc +0 -214
  70. data/lib/burn/tools/other/cc65/asminc/c16.inc +0 -9
  71. data/lib/burn/tools/other/cc65/asminc/c64.inc +0 -212
  72. data/lib/burn/tools/other/cc65/asminc/cbm.mac +0 -50
  73. data/lib/burn/tools/other/cc65/asminc/cbm510.inc +0 -182
  74. data/lib/burn/tools/other/cc65/asminc/cbm610.inc +0 -110
  75. data/lib/burn/tools/other/cc65/asminc/cbm_filetype.inc +0 -34
  76. data/lib/burn/tools/other/cc65/asminc/cpu.mac +0 -24
  77. data/lib/burn/tools/other/cc65/asminc/ctype.inc +0 -29
  78. data/lib/burn/tools/other/cc65/asminc/em-error.inc +0 -49
  79. data/lib/burn/tools/other/cc65/asminc/em-kernel.inc +0 -106
  80. data/lib/burn/tools/other/cc65/asminc/errno.inc +0 -36
  81. data/lib/burn/tools/other/cc65/asminc/fcntl.inc +0 -21
  82. data/lib/burn/tools/other/cc65/asminc/generic.mac +0 -55
  83. data/lib/burn/tools/other/cc65/asminc/get_tv.inc +0 -22
  84. data/lib/burn/tools/other/cc65/asminc/joy-error.inc +0 -44
  85. data/lib/burn/tools/other/cc65/asminc/joy-kernel.inc +0 -85
  86. data/lib/burn/tools/other/cc65/asminc/longbranch.mac +0 -88
  87. data/lib/burn/tools/other/cc65/asminc/lynx.inc +0 -279
  88. data/lib/burn/tools/other/cc65/asminc/modload.inc +0 -78
  89. data/lib/burn/tools/other/cc65/asminc/mouse-kernel.inc +0 -180
  90. data/lib/burn/tools/other/cc65/asminc/nes.inc +0 -93
  91. data/lib/burn/tools/other/cc65/asminc/o65.inc +0 -150
  92. data/lib/burn/tools/other/cc65/asminc/opcodes.inc +0 -509
  93. data/lib/burn/tools/other/cc65/asminc/pet.inc +0 -54
  94. data/lib/burn/tools/other/cc65/asminc/plus4.inc +0 -86
  95. data/lib/burn/tools/other/cc65/asminc/ser-error.inc +0 -54
  96. data/lib/burn/tools/other/cc65/asminc/ser-kernel.inc +0 -162
  97. data/lib/burn/tools/other/cc65/asminc/signal.inc +0 -57
  98. data/lib/burn/tools/other/cc65/asminc/smc.inc +0 -245
  99. data/lib/burn/tools/other/cc65/asminc/stdio.inc +0 -70
  100. data/lib/burn/tools/other/cc65/asminc/supervision.inc +0 -76
  101. data/lib/burn/tools/other/cc65/asminc/tgi-error.inc +0 -52
  102. data/lib/burn/tools/other/cc65/asminc/tgi-kernel.inc +0 -234
  103. data/lib/burn/tools/other/cc65/asminc/tgi-vectorfont.inc +0 -70
  104. data/lib/burn/tools/other/cc65/asminc/time.inc +0 -59
  105. data/lib/burn/tools/other/cc65/asminc/utsname.inc +0 -46
  106. data/lib/burn/tools/other/cc65/asminc/vic20.inc +0 -75
  107. data/lib/burn/tools/other/cc65/asminc/zeropage.inc +0 -26
  108. data/lib/burn/tools/other/cc65/bin/ca65 +0 -0
  109. data/lib/burn/tools/other/cc65/bin/cc65 +0 -0
  110. data/lib/burn/tools/other/cc65/bin/ld65 +0 -0
  111. data/lib/burn/tools/win/cc65/asminc/_file.inc +0 -27
  112. data/lib/burn/tools/win/cc65/asminc/_heap.inc +0 -35
  113. data/lib/burn/tools/win/cc65/asminc/apple2.inc +0 -64
  114. data/lib/burn/tools/win/cc65/asminc/atari.inc +0 -1101
  115. data/lib/burn/tools/win/cc65/asminc/atmos.inc +0 -31
  116. data/lib/burn/tools/win/cc65/asminc/c128.inc +0 -213
  117. data/lib/burn/tools/win/cc65/asminc/c16.inc +0 -9
  118. data/lib/burn/tools/win/cc65/asminc/c64.inc +0 -212
  119. data/lib/burn/tools/win/cc65/asminc/cbm510.inc +0 -182
  120. data/lib/burn/tools/win/cc65/asminc/cbm610.inc +0 -110
  121. data/lib/burn/tools/win/cc65/asminc/ctype.inc +0 -29
  122. data/lib/burn/tools/win/cc65/asminc/em-error.inc +0 -44
  123. data/lib/burn/tools/win/cc65/asminc/em-kernel.inc +0 -100
  124. data/lib/burn/tools/win/cc65/asminc/errno.inc +0 -36
  125. data/lib/burn/tools/win/cc65/asminc/fcntl.inc +0 -21
  126. data/lib/burn/tools/win/cc65/asminc/get_tv.inc +0 -22
  127. data/lib/burn/tools/win/cc65/asminc/joy-error.inc +0 -44
  128. data/lib/burn/tools/win/cc65/asminc/joy-kernel.inc +0 -85
  129. data/lib/burn/tools/win/cc65/asminc/lynx.inc +0 -273
  130. data/lib/burn/tools/win/cc65/asminc/modload.inc +0 -78
  131. data/lib/burn/tools/win/cc65/asminc/mouse-kernel.inc +0 -179
  132. data/lib/burn/tools/win/cc65/asminc/nes.inc +0 -93
  133. data/lib/burn/tools/win/cc65/asminc/o65.inc +0 -135
  134. data/lib/burn/tools/win/cc65/asminc/pet.inc +0 -45
  135. data/lib/burn/tools/win/cc65/asminc/plus4.inc +0 -87
  136. data/lib/burn/tools/win/cc65/asminc/rs232.inc +0 -19
  137. data/lib/burn/tools/win/cc65/asminc/ser-error.inc +0 -50
  138. data/lib/burn/tools/win/cc65/asminc/ser-kernel.inc +0 -161
  139. data/lib/burn/tools/win/cc65/asminc/signal.inc +0 -57
  140. data/lib/burn/tools/win/cc65/asminc/stdio.inc +0 -70
  141. data/lib/burn/tools/win/cc65/asminc/supervision.inc +0 -76
  142. data/lib/burn/tools/win/cc65/asminc/tgi-error.inc +0 -48
  143. data/lib/burn/tools/win/cc65/asminc/tgi-kernel.inc +0 -183
  144. data/lib/burn/tools/win/cc65/asminc/tgi-mode.inc +0 -48
  145. data/lib/burn/tools/win/cc65/asminc/time.inc +0 -59
  146. data/lib/burn/tools/win/cc65/asminc/utsname.inc +0 -46
  147. data/lib/burn/tools/win/cc65/asminc/vic20.inc +0 -77
  148. data/lib/burn/tools/win/cc65/asminc/zeropage.inc +0 -22
  149. data/lib/burn/tools/win/cc65/bin/ca65.exe +0 -0
  150. data/lib/burn/tools/win/cc65/bin/cc65.exe +0 -0
  151. data/lib/burn/tools/win/cc65/bin/ld65.exe +0 -0
  152. data/lib/burn/workspace_default/asset/crt0.s +0 -260
  153. data/lib/burn/workspace_default/asset/famitone.s +0 -1031
  154. data/lib/burn/workspace_default/asset/mus_instruments.s +0 -50
  155. data/lib/burn/workspace_default/asset/music.s +0 -3
  156. data/lib/burn/workspace_default/asset/nes.cfg +0 -83
  157. data/lib/burn/workspace_default/asset/neslib.h +0 -213
  158. data/lib/burn/workspace_default/asset/neslib.s +0 -923
  159. data/lib/burn/workspace_default/asset/runtime.lib +0 -0
  160. data/lib/burn/workspace_default/asset/sounds.s +0 -143
  161. data/lib/burn/workspace_default/asset/test.h +0 -22
  162. data/lib/burn/workspace_default/asset/tileset.chr +0 -0
  163. data/lib/burn/workspace_default/release/js/emulator.html +0 -42
  164. data/lib/burn/workspace_default/release/js/js/dynamicaudio-89ba58da476270a9b630.min.js +0 -1
  165. data/lib/burn/workspace_default/release/js/js/jquery-1.4.2.min.js +0 -154
  166. data/lib/burn/workspace_default/release/js/js/jsnes-4e7a7260aa.js +0 -7149
  167. data/lib/burn/workspace_default/release/js/swf/dynamicaudio.swf +0 -0
  168. data/lib/burn/workspace_default/scripts/compile.bat +0 -30
  169. data/lib/burn/workspace_default/scripts/compile.sh +0 -30
@@ -1,1175 +0,0 @@
1
- ;-------------------------------------------------------------------------
2
- ; Atari System Equates
3
- ; by Freddy Offenga, Christian Groessler, and Christian Krueger
4
- ;
5
- ; References:
6
- ; - Atari 400/800 OS rev.B source code, Atari 1979
7
- ; - Atari OS manual - XL addendum
8
- ; - Atari XL/XE rev.2 source code, Atari 1984
9
- ; - Mapping the Atari - revised edition, Ian Chadwick 1985
10
- ;
11
- ; ##old## old OS rev.B label - moved or deleted
12
- ; ##1200xl## new label introduced in 1200XL OS (rev.10/11)
13
- ; ##rev2## new label introduced in XL/XE OS rev.2
14
- ;-------------------------------------------------------------------------
15
-
16
- ;-------------------------------------------------------------------------
17
- ; Configuration Equates
18
- ;-------------------------------------------------------------------------
19
-
20
- MAXDEV = 33 ;offset to last possible entry of HATABS
21
- IOCBSZ = 16 ;length of IOCB
22
-
23
- SEIOCB = 0*IOCBSZ ;##rev2## screen editor IOCB index
24
- MAXIOC = 8*IOCBSZ ;first invalid IOCB index
25
-
26
- DSCTSZ = 128 ;##rev2## disk sector size
27
-
28
- LEDGE = 2 ;left edge
29
- REDGE = 39 ;right edge
30
-
31
- INIML = $0700 ;##rev2## initial MEMLO
32
-
33
- ICSORG = $CC00 ;##rev2## international character set origin
34
- DCSORG = $E000 ;##rev2## domestic character set origin
35
-
36
- ; IOCB Command Code Equates
37
-
38
- OPEN = $03 ;open
39
- GETREC = $05 ;get record
40
- GETCHR = $07 ;get character(s)
41
- PUTREC = $09 ;put record
42
- PUTCHR = $0B ;put character(s)
43
- CLOSE = $0C ;close
44
- STATIS = $0D ;status
45
- SPECIL = $0E ;special
46
-
47
- ; DOS IOCB command codes
48
-
49
- RENAME = $20 ;rename disk file
50
- DELETE = $21 ;delete disk file
51
- LOCKFL = $23 ;lock file (set to read-only)
52
- UNLOCK = $24 ;unlock file
53
- POINT = $25 ;point sector
54
- NOTE = $26 ;note sector
55
- GETFL = $27 ;get file length
56
- CHDIR_MYDOS = $29 ;change directory (MyDOS)
57
- MKDIR = $2A ;make directory (MyDOS/SpartaDOS)
58
- RMDIR = $2B ;remove directory (SpartaDOS)
59
- CHDIR_SPDOS = $2C ;change directory (SpartaDOS)
60
- FORMAT = $FE ;format
61
-
62
- GETCWD = $30 ;get current directory (MyDOS/SpartaDOS)
63
-
64
- ; Special Entry Command Equates
65
- ; DOS Commands
66
- ; Command line table, Index values for (DOSVEC),Y -- COMTAB
67
- ; Compatible with OS/A+, DOS XL and SpartaDOS
68
-
69
- COMTAB = 0 ;DOS entry jump vector
70
- ZCRNAME = 3 ;file name crunch routine jump vector
71
- BUFOFF = 10 ;next parameter buffer offset
72
- COMFNAM = 33 ;destination buffer for crunch routine
73
- LBUF = 63 ;command line input buffer
74
-
75
- ; Screen IOCB Commands
76
-
77
- DRAWLN = $11 ;draw line
78
- FILLIN = $12 ;draw line with right fill
79
-
80
- ; ICAX1 Auxiliary Byte 1 Equates
81
-
82
- APPEND = $01 ;open write append (D:)
83
- DIRECT = $02 ;open for directory access (D:)
84
- OPNIN = $04 ;open for input (all devices)
85
- OPNOT = $08 ;open for output (all devices)
86
- MXDMOD = $10 ;open for mixed mode (E:, S:)
87
- INSCLR = $20 ;open for input without clearing screen
88
-
89
- ; Device Code Equates
90
-
91
- CASSET = 'C' ;cassette
92
- DISK = 'D' ;disk
93
- SCREDT = 'E' ;screen editor
94
- KBD = 'K' ;keyboard
95
- PRINTR = 'P' ;printer
96
- DISPLY = 'S' ;screen display
97
-
98
- ; SIO Command Code Equates
99
-
100
- SIO_FORMAT = $21 ;format disk (default density)
101
- SIO_FORMATS = $22 ;1050: format medium density
102
- SIO_CONFIG = $44 ;configure drive
103
- SIO_CONFIGSF = $4B ;slow/fast configure drive??
104
- SIO_WRITE = $50 ;write sector
105
- SIO_READ = $52 ;read sector
106
- SIO_STAT = $53 ;get status information
107
- SIO_VERIFY = $56 ;verify sector
108
- SIO_WRITEV = $57 ;write sector with verify
109
-
110
- ; Character and Key Code Equates
111
-
112
- CLS = $7D ;##rev2## clear screen
113
- EOL = $9B ;end of line (RETURN)
114
-
115
- HELP = $11 ;##1200xl## key code for HELP
116
- CNTLF1 = $83 ;##1200xl## key code for CTRL-F1
117
- CNTLF2 = $84 ;##1200xl## key code for CTRL-F2
118
- CNTLF3 = $93 ;##1200xl## key code for CTRL-F3
119
- CNTLF4 = $94 ;##1200xl## key code for CTRL-F4
120
- CNTL1 = $9F ;##1200xl## key code for CTRL-1
121
-
122
- ; Status Code Equates
123
-
124
- SUCCES = 1 ;($01) succesful operation
125
-
126
- BRKABT = 128 ;($80) BREAK key abort
127
- PRVOPN = 129 ;($81) IOCB already open error
128
- NONDEV = 130 ;($82) nonexistent device error
129
- WRONLY = 131 ;($83) IOCB opened for write only error
130
- NVALID = 132 ;($84) invalid command error
131
- NOTOPN = 133 ;($85) device/file not open error
132
- BADIOC = 134 ;($86) invalid IOCB index error
133
- RDONLY = 135 ;($87) IOCB opened for read only error
134
- EOFERR = 136 ;($88) end of file error
135
- TRNRCD = 137 ;($89) truncated record error
136
- TIMOUT = 138 ;($8A) peripheral device timeout error
137
- DNACK = 139 ;($8B) device does not acknowledge command
138
- FRMERR = 140 ;($8C) serial bus framing error
139
- CRSROR = 141 ;($8D) cursor overrange error
140
- OVRRUN = 142 ;($8E) serial bus data overrun error
141
- CHKERR = 143 ;($8F) serial bus checksum error
142
- DERROR = 144 ;($90) device done (operation incomplete)
143
- BADMOD = 145 ;($91) bad screen mode number error
144
- FNCNOT = 146 ;($92) function not implemented in handler
145
- SCRMEM = 147 ;($93) insufficient memory for screen mode
146
-
147
- DSKFMT = 148 ;($94) SpartaDOS: unrecognized disk format
148
- INCVER = 149 ;($95) SpartaDOS: disk was made with incompat. version
149
- DIRNFD = 150 ;($96) SpartaDOS: directory not found
150
- FEXIST = 151 ;($97) SpartaDOS: file exists
151
- NOTBIN = 152 ;($98) SpartaDOS: file not binary
152
- LSYMND = 154 ;($9A) SDX: loader symbol not defined
153
- BADPRM = 156 ;($9C) SDX: bad parameter
154
- OUTOFM = 158 ;($9E) SDX: out of memory
155
- INVDEV = 160 ;($A0) invalid device number
156
- TMOF = 161 ;($A1) too many open files
157
- DSKFLL = 162 ;($A2) disk full
158
- FATLIO = 163 ;($A3) fatal I/O error
159
- FNMSMT = 164 ;($A4) internal file number mismatch
160
- INVFNM = 165 ;($A5) invalid file name
161
- PDLERR = 166 ;($A6) point data length error
162
- EPERM = 167 ;($A7) permission denied
163
- DINVCM = 168 ;($A8) command invalid for disk
164
- DIRFLL = 169 ;($A9) directory full
165
- FNTFND = 170 ;($AA) file not found
166
- PNTINV = 171 ;($AB) point invalid
167
- BADDSK = 173 ;($AD) bad disk
168
- INCFMT = 176 ;($B0) DOS 3: incompatible file system
169
-
170
- ; DCB Device Bus Equates
171
-
172
- DISKID = $31 ;##rev2## disk bus ID
173
- PDEVN = $40 ;##rev2## printer bus ID
174
- CASET = $60 ;##rev2## cassette bus ID
175
-
176
- ; Bus Command Equates
177
-
178
- FOMAT = '!' ;##rev2## format command
179
- PUTSEC = 'P' ;##rev2## put sector command
180
- READ = 'R' ;##rev2## read command
181
- STATC = 'S' ;##rev2## status command
182
- WRITE = 'W' ;##rev2## write command
183
-
184
- ; Command Auxiliary Byte Equates
185
-
186
- DOUBLE = 'D' ;##rev2## print 20 characters double width
187
- NORMAL = 'N' ;##rev2## print 40 characters normally
188
- PLOT = 'P' ;##rev2## plot
189
- SIDWAY = 'S' ;##rev2## print 16 characters sideways
190
-
191
- ; Bus Response Equates
192
-
193
- ACK = 'A' ;##rev2## device acknowledged
194
- COMPLT = 'C' ;##rev2## device succesfully completed operation
195
- ERROR = 'E' ;##rev2## device incurred error
196
- NACK = 'N' ;##rev2## device did not understand
197
-
198
- ; Floating Point Miscellaneous Equates
199
-
200
- FPREC = 6 ;precision
201
-
202
- FMPREC = FPREC-1 ;##rev2## length of mantissa
203
-
204
- ; Cassette Record Type Equates
205
-
206
- HDR = $FB ;##rev2## header
207
- DTA = $FC ;##rev2## data record
208
- DT1 = $FA ;##rev2## last data record
209
- EOT = $FE ;##rev2## end of tape (file)
210
-
211
- TONE1 = 2 ;##rev2## record
212
- TONE2 = 1 ;##rev2## playback
213
-
214
- ; Cassette Timing Equates
215
-
216
- WLEADN = 1152 ;##rev2## NTSC 19.2 second WRITE file leader
217
- RLEADN = 576 ;##rev2## NTSC 9.6 second READ file leader
218
- WIRGLN = 180 ;##rev2## NTSC 3.0 second WRITE IRG
219
- RIRGLN = 120 ;##rev2## NTSC 2.0 second READ IRG
220
- WSIRGN = 15 ;##rev2## NTSC 0.25 second WRITE short IRG
221
- RSIRGN = 10 ;##rev2## NTSC 0.16 second READ short IRG
222
- BEEPNN = 30 ;##rev2## NTSC 0.5 second beep duration
223
- BEEPFN = 10 ;##rev2## NTSC 0.16 seconrd beep duration
224
-
225
- WLEADP = 960 ;##rev2## PAL 19.2 second WRITE file leader
226
- RLEADP = 480 ;##rev2## PAL 9.6 second READ file leader
227
- WIRGLP = 150 ;##rev2## PAL 3.0 second WRITE IRG
228
- RIRGLP = 100 ;##rev2## PAL 2.0 second READ IRG
229
- WSIRGP = 13 ;##rev2## PAL 0.25 second WRITE short IRG
230
- RSIRGP = 8 ;##rev2## PAL 0.16 second READ short IRG
231
- BEEPNP = 25 ;##rev2## PAL 0.5 second beep duration
232
- BEEPFP = 8 ;##rev2## PAL 0.16 seconrd beep duration
233
-
234
- WIRGHI = 0 ;##rev2## high WRITE IRG
235
- RIRGHI = 0 ;##rev2## high READ IRG
236
-
237
- ; Power-up Validation Byte Value Equates
238
-
239
- PUPVL1 = $5C ;##rev2## power-up validation value 1
240
- PUPVL2 = $93 ;##rev2## power-up validation value 2
241
- PUPVL3 = $25 ;##rev2## power-up validation value 3
242
-
243
- ; Relocating Loader Miscellaneous Equates
244
-
245
- DATAER = 156 ;##rev2## end of record appears before END
246
- MEMERR = 157 ;##rev2## memory insufficient for load error
247
-
248
- ; Miscellaneous Equates
249
-
250
- IOCFRE = $FF ;IOCB free indication
251
-
252
- B19200 = $0028 ;##rev2## 19200 baud POKEY counter value
253
- B00600 = $05CC ;##rev2## 600 baud POKEY counter value
254
-
255
- HITONE = $05 ;##rev2## FSK high freq. POKEY counter value
256
- LOTONE = $07 ;##rev2## FSK low freq. POKEY counter value
257
-
258
- NCOMLO = $34 ;##rev2## PIA lower NOT COMMAND line command
259
- NCOMHI = $3C ;##rev2## PIA raise NOT COMMAND line command
260
-
261
- MOTRGO = $34 ;##rev2## PIA cassette motor ON command
262
- MOTRST = $3C ;##rev2## PIA cassette motor OFF command
263
-
264
- NODAT = $00 ;##rev2## SIO immediate operation
265
- GETDAT = $40 ;##rev2## SIO read data frame
266
- PUTDAT = $80 ;##rev2## SIO write data frame
267
-
268
- CRETRI = 13 ;##rev2## number of command frame retries
269
- DRETRI = 1 ;##rev2## number of device retries
270
- CTIM = 2 ;##rev2## command frame ACK timeout
271
-
272
- NBUFSZ = 40 ;##rev2## print normal buffer size
273
- DBUFSZ = 20 ;##rev2## print double buffer size
274
- SBUFSZ = 29 ;##rev2## print sideways buffer size
275
-
276
- ;-------------------------------------------------------------------------
277
- ; Page Zero Address Equates
278
- ;-------------------------------------------------------------------------
279
-
280
- LINZBS = $00 ;LINBUG RAM (WILL BE REPLACED BY MONITOR RAM)
281
- LNFLG = $00 ;##1200xl## 1-byte LNBUG flag (0 = not LNBUG)
282
- NGFLAG = $01 ;##1200xl## 1-byte memory status (0 = failure)
283
-
284
- ; Not Cleared
285
-
286
- CASINI = $02 ;CASSETTE INIT LOCATION
287
- RAMLO = $04 ;RAM POINTER FOR MEMORY TEST
288
- TRAMSZ = $06 ;TEMPORARY REGISTER FOR RAM SIZE
289
- ;TSTDAT = $07 ;##old## RAM TEST DATA REGISTER
290
- CMCMD = $07 ;##rev2## 1-byte command communications
291
-
292
- ; Cleared upon Coldstart only
293
-
294
- WARMST = $08 ;WARM START FLAG
295
- BOOTQ = $09 ;SUCCESSFUL BOOT FLAG
296
- DOSVEC = $0A ;DISK SOFTWARE START VECTOR
297
- DOSINI = $0C ;DISK SOFTWARE INIT ADDRESS
298
- APPMHI = $0E ;APPLICATIONS MEMORY HI LIMIT
299
-
300
- ; Cleared upon Coldstart or Warmstart
301
-
302
- INTZBS = $10 ;INTERRUPT HANDLER
303
-
304
- POKMSK = $10 ;SYSTEM MASK FOR POKEY IRG ENABLE
305
- BRKKEY = $11 ;BREAK KEY FLAG
306
- RTCLOK = $12 ;REAL TIME CLOCK (IN 16 MSEC UNITS>
307
- BUFADR = $15 ;INDIRECT BUFFER ADDRESS REGISTER
308
- ICCOMT = $17 ;COMMAND FOR VECTOR
309
- DSKFMS = $18 ;DISK FILE MANAGER POINTER
310
- DSKUTL = $1A ;DISK UTILITIES POINTER
311
- ABUFPT = $1C ;##1200xl## 4-byte ACMI buffer pointer area
312
-
313
- ;PTIMOT = $1C ;##old## PRINTER TIME OUT REGISTER
314
- ;PBPNT = $1D ;##old## PRINT BUFFER POINTER
315
- ;PBUFSZ = $1E ;##old## PRINT BUFFER SIZE
316
- ;PTEMP = $1F ;##old## TEMPORARY REGISTER
317
-
318
- ZIOCB = $20 ;ZERO PAGE I/O CONTROL BLOCK
319
- IOCBAS = $20 ;16-byte page zero IOCB
320
- ICHIDZ = $20 ;HANDLER INDEX NUMBER (FF = IOCB FREE)
321
- ICDNOZ = $21 ;DEVICE NUMBER (DRIVE NUMBER)
322
- ICCOMZ = $22 ;COMMAND CODE
323
- ICSTAZ = $23 ;STATUS OF LAST IOCB ACTION
324
- ICBALZ = $24 ;BUFFER ADDRESS LOW BYTE
325
- ICBAHZ = $25 ;1-byte high buffer address
326
- ICPTLZ = $26 ;PUT BYTE ROUTINE ADDRESS -1
327
- ICPTHZ = $27 ;1-byte high PUT-BYTE routine address
328
- ICBLLZ = $28 ;BUFFER LENGTH LOW BYTE
329
- ICBLHZ = $29 ;1-byte high buffer length
330
- ICAX1Z = $2A ;AUXILIARY INFORMATION FIRST BYTE
331
- ICAX2Z = $2B ;1-byte second auxiliary information
332
- ICSPRZ = $2C ;4-byte spares
333
-
334
- ENTVEC = $2C ;##rev2## 2-byte (not used)
335
- ICIDNO = $2E ;IOCB NUMBER X 16
336
- CIOCHR = $2F ;CHARACTER BYTE FOR CURRENT OPERATION
337
-
338
- STATUS = $30 ;INTERNAL STATUS STORAGE
339
- CHKSUM = $31 ;CHECKSUM (SINGLE BYTE SUM WITH CARRY)
340
- BUFRLO = $32 ;POINTER TO DATA BUFFER (LO BYTE)
341
- BUFRHI = $33 ;POINTER TO DATA BUFFER (HI BYTE)
342
- BFENLO = $34 ;NEXT BYTE PAST END OF THE DATA BUFFER LO
343
- BFENHI = $35 ;NEXT BYTE PAST END OF THE DATA BUFFER HI
344
- ;CRETRY = $36 ;##old## NUMBER OF COMMAND FRAME RETRIES
345
- ;DRETRY = $37 ;##old## NUMBER OF DEVICE RETRIES
346
- LTEMP = $36 ;##1200xl## 2-byte loader temporary
347
- BUFRFL = $38 ;DATA BUFFER FULL FLAG
348
- RECVDN = $39 ;RECEIVE DONE FLAG
349
- XMTDON = $3A ;TRANSMISSION DONE FLAG
350
- CHKSNT = $3B ;CHECKSUM SENT FLAG
351
- NOCKSM = $3C ;NO CHECKSUM FOLLOWS DATA FLAG
352
- BPTR = $3D ;1-byte cassette buffer pointer
353
- FTYPE = $3E ;1-byte cassette IRG type
354
- FEOF = $3F ;1-byte cassette EOF flag (0 = quiet)
355
- FREQ = $40 ;1-byte cassette beep counter
356
- SOUNDR = $41 ;NOISY I/0 FLAG. (ZERO IS QUIET)
357
-
358
- CRITIC = $42 ;DEFINES CRITICAL SECTION (CRITICAL IF NON-Z)
359
-
360
- FMSZPG = $43 ;DISK FILE MANAGER SYSTEM ZERO PAGE
361
-
362
- ;CKEY = $4A ;##old## FLAG SET WHEN GAME START PRESSED
363
- ZCHAIN = $4A ;##1200xl## 2-byte handler linkage chain pointer
364
- ;CASSBT = $4B ;##old## CASSETTE BOOT FLAG
365
- DSTAT = $4C ;DISPLAY STATUS
366
- ATRACT = $4D ;ATRACT FLAG
367
- DRKMSK = $4E ;DARK ATRACT MASK
368
- COLRSH = $4F ;ATRACT COLOR SHIFTER (EOR'ED WITH PLAYFIELD
369
-
370
-
371
- TMPCHR = $50 ;1-byte temporary character
372
- HOLD1 = $51 ;1-byte temporary
373
- LMARGN = $52 ;left margin (normally 2, cc65 C startup code sets it to 0)
374
- RMARGN = $53 ;right margin (normally 39 if no XEP80 is used)
375
- ROWCRS = $54 ;1-byte cursor row
376
- COLCRS = $55 ;2-byte cursor column
377
- DINDEX = $57 ;1-byte display mode
378
- SAVMSC = $58 ;2-byte saved memory scan counter
379
- OLDROW = $5A ;1-byte prior row
380
- OLDCOL = $5B ;2-byte prior column
381
- OLDCHR = $5D ;DATA UNDER CURSOR
382
- OLDADR = $5E ;2-byte saved cursor memory address
383
- FKDEF = $60 ;##1200xl## 2-byte function key definition table
384
- ;NEWROW = $60 ;##old## POINT DRAW GOES TO
385
- ;NEWCOL = $61 ;##old##
386
- PALNTS = $62 ;##1200xl## 1-byte PAL/NTSC indicator (0 = NTSC)
387
- LOGCOL = $63 ;POINTS AT COLUMN IN LOGICAL LINE
388
- ADRESS = $64 ;2-byte temporary address
389
-
390
- MLTTMP = $66 ;1-byte temporary
391
- OPNTMP = $66 ;FIRST BYTE IS USED IN OPEN AS TEMP
392
- TOADR = $66 ;##rev2## 2-byte destination address
393
-
394
- SAVADR = $68 ;2-byte saved address
395
- FRMADR = $68 ;##rev2## 2-byte source address
396
-
397
- RAMTOP = $6A ;RAM SIZE DEFINED BY POWER ON LOGIC
398
- BUFCNT = $6B ;BUFFER COUNT
399
- BUFSTR = $6C ;EDITOR GETCH POINTER
400
- BITMSK = $6E ;BIT MASK
401
- SHFAMT = $6F ;1-byte shift amount for pixel justifucation
402
- ROWAC = $70 ;2-byte draw working row
403
- COLAC = $72 ;2-byte draw working column
404
- ENDPT = $74 ;2-byte end point
405
- DELTAR = $76 ;1-byte row difference
406
- DELTAC = $77 ;2-byte column difference
407
- KEYDEF = $79 ;##1200xl## 2-byte key definition table address
408
- ;ROWINC = $79 ;##old##
409
- ;COLINC = $7A ;##old##
410
- SWPFLG = $7B ;NON-0 1F TXT AND REGULAR RAM IS SWAPPED
411
- HOLDCH = $7C ;CH IS MOVED HERE IN KGETCH BEFORE CNTL & SH
412
- INSDAT = $7D ;1-byte temporary
413
- COUNTR = $7E ;2-byte draw iteration count
414
-
415
- ; Floating Point Package Page Zero Address Equates
416
-
417
- FR0 = $D4 ;6-byte register 0
418
- FR0M = $D5 ;##rev2## 5-byte register 0 mantissa
419
- QTEMP = $D9 ;##rev2## 1-byte temporary
420
-
421
- FRE = $DA ;6-byte (internal) register E
422
-
423
- FR1 = $E0 ;FP REG1
424
- FR1M = $E1 ;##rev2## 5-byte register 1 mantissa
425
-
426
- FR2 = $E6 ;6-byte (internal) register 2
427
-
428
- FRX = $EC ;1-byte temporary
429
-
430
- EEXP = $ED ;VALUE OF E
431
-
432
- FRSIGN = $EE ;##rev2## 1-byte floating point sign
433
- NSIGN = $EE ;SIGN OF #
434
-
435
- PLYCNT = $EF ;##rev2## 1-byte polynomial degree
436
- ESIGN = $EF ;SIGN OF EXPONENT
437
-
438
- SGNFLG = $F0 ;##rev2## 1-byte sign flag
439
- FCHRFLG = $F0 ;1ST CHAR FLAG
440
-
441
- XFMFLG = $F1 ;##rev2## 1-byte transform flag
442
- DIGRT = $F1 ;# OF DIGITS RIGHT OF DECIMAL
443
-
444
- CIX = $F2 ;CURRENT INPUT INDEX
445
- INBUFF = $F3 ;POINTS TO USER'S LINE INPUT BUFFER
446
-
447
- ZTEMP1 = $F5 ;2-byte temporary
448
- ZTEMP4 = $F7 ;2-byte temporary
449
- ZTEMP3 = $F9 ;2-byte temporary
450
-
451
- ;DEGFLG = $FB ;##old## same as RADFLG
452
- ;RADFLG = $FB ;##old## 0=RADIANS, 6=DEGREES
453
-
454
- FLPTR = $FC ;2-byte floating point number pointer
455
- FPTR2 = $FE ;2-byte floating point number pointer
456
-
457
- ;-------------------------------------------------------------------------
458
- ; Page Two Address Equates
459
- ;-------------------------------------------------------------------------
460
-
461
- INTABS = $0200 ;INTERRUPT RAM
462
-
463
- VDSLST = $0200 ;DISPLAY LIST NMI VECTOR
464
- VPRCED = $0202 ;PROCEED LINE IRQ VECTOR
465
- VINTER = $0204 ;INTERRUPT LINE IRQ VECTOR
466
- VBREAK = $0206 ;SOFTWARE BREAK (00) INSTRUCTION IRQ VECTOR
467
- VKEYBD = $0208 ;POKEY KEYBOARD IRQ VECTOR
468
- VSERIN = $020A ;POKEY SERIAL INPUT READY IRQ
469
- VSEROR = $020C ;POKEY SERIAL OUTPUT READY IRQ
470
- VSEROC = $020E ;POKEY SERIAL OUTPUT COMPLETE IRQ
471
- VTIMR1 = $0210 ;POKEY TIMER 1 IRG
472
- VTIMR2 = $0212 ;POKEY TIMER 2 IRG
473
- VTIMR4 = $0214 ;POKEY TIMER 4 IRG
474
- VIMIRQ = $0216 ;IMMEDIATE IRG VECTOR
475
- CDTMV1 = $0218 ;COUNT DOWN TIMER 1
476
- CDTMV2 = $021A ;COUNT DOWN TIMER 2
477
- CDTMV3 = $021C ;COUNT DOWN TIMER 3
478
- CDTMV4 = $021E ;COUNT DOWN TIMER 4
479
- CDTMV5 = $0220 ;COUNT DOWN TIMER 5
480
- VVBLKI = $0222 ;IMMEDIATE VERTICAL BLANK NMI VECTOR
481
- VVBLKD = $0224 ;DEFERRED VERTICAL BLANK NMI VECTOR
482
- CDTMA1 = $0226 ;COUNT DOWN TIMER 1 JSR ADDRESS
483
- CDTMA2 = $0228 ;COUNT DOWN TIMER 2 JSR ADDRESS
484
- CDTMF3 = $022A ;COUNT DOWN TIMER 3 FLAG
485
- SRTIMR = $022B ;SOFTWARE REPEAT TIMER
486
- CDTMF4 = $022C ;COUNT DOWN TIMER 4 FLAG
487
- INTEMP = $022D ;IAN'S TEMP
488
- CDTMF5 = $022E ;COUNT DOWN TIMER FLAG 5
489
- SDMCTL = $022F ;SAVE DMACTL REGISTER
490
- SDLSTL = $0230 ;SAVE DISPLAY LIST LOW BYTE
491
- SDLSTH = $0231 ;SAVE DISPLAY LIST HI BYTE
492
- SSKCTL = $0232 ;SKCTL REGISTER RAM
493
- LCOUNT = $0233 ;##1200xl## 1-byte relocating loader record
494
- LPENH = $0234 ;LIGHT PEN HORIZONTAL VALUE
495
- LPENV = $0235 ;LIGHT PEN VERTICAL VALUE
496
- BRKKY = $0236 ;BREAK KEY VECTOR
497
- ;RELADR = $0238 ;##1200xl## 2-byte relocatable loader address
498
- VPIRQ = $0238 ;##rev2## 2-byte parallel device IRQ vector
499
- CDEVIC = $023A ;COMMAND FRAME BUFFER - DEVICE
500
- CCOMND = $023B ;COMMAND
501
- CAUX1 = $023C ;COMMAND AUX BYTE 1
502
- CAUX2 = $023D ;COMMAND AUX BYTE 2
503
-
504
- TEMP = $023E ;TEMPORARY RAM CELL
505
-
506
- ERRFLG = $023F ;ERROR FLAG - ANY DEVICE ERROR EXCEPT TIME OUT
507
-
508
- DFLAGS = $0240 ;DISK FLAGS FROM SECTOR ONE
509
- DBSECT = $0241 ;NUMBER OF DISK BOOT SECTORS
510
- BOOTAD = $0242 ;ADDRESS WHERE DISK BOOT LOADER WILL BE PUT
511
- COLDST = $0244 ;COLDSTART FLAG (1=IN MIDDLE OF COLDSTART>
512
- RECLEN = $0245 ;##1200xl## 1-byte relocating loader record length
513
- DSKTIM = $0246 ;DISK TIME OUT REGISTER
514
- ;LINBUF = $0247 ;##old## CHAR LINE BUFFER
515
- PDVMSK = $0247 ;##rev2## 1-byte parallel device selection mask
516
- SHPDVS = $0248 ;##rev2## 1-byte PDVS (parallel device select)
517
- PDIMSK = $0249 ;##rev2## 1-byte parallel device IRQ selection
518
- RELADR = $024A ;##rev2## 2-byte relocating loader relative adr.
519
- PPTMPA = $024C ;##rev2## 1-byte parallel device handler temporary
520
- PPTMPX = $024D ;##rev2## 1-byte parallel device handler temporary
521
-
522
- CHSALT = $026B ;##1200xl## 1-byte character set alternate
523
- VSFLAG = $026C ;##1200xl## 1-byte fine vertical scroll count
524
- KEYDIS = $026D ;##1200xl## 1-byte keyboard disable
525
- FINE = $026E ;##1200xl## 1-byte fine scrolling mode
526
- GPRIOR = $026F ;GLOBAL PRIORITY CELL
527
-
528
- PADDL0 = $0270 ;1-byte potentiometer 0
529
- PADDL1 = $0271 ;1-byte potentiometer 1
530
- PADDL2 = $0272 ;1-byte potentiometer 2
531
- PADDL3 = $0273 ;1-byte potentiometer 3
532
- PADDL4 = $0274 ;1-byte potentiometer 4
533
- PADDL5 = $0275 ;1-byte potentiometer 5
534
- PADDL6 = $0276 ;1-byte potentiometer 6
535
- PADDL7 = $0277 ;1-byte potentiometer 7
536
-
537
- STICK0 = $0278 ;1-byte joystick 0
538
- STICK1 = $0279 ;1-byte joystick 1
539
- STICK2 = $027A ;1-byte joystick 2
540
- STICK3 = $027B ;1-byte joystick 3
541
-
542
- PTRIG0 = $027C ;1-byte paddle trigger 0
543
- PTRIG1 = $027D ;1-byte paddle trigger 1
544
- PTRIG2 = $027E ;1-byte paddle trigger 2
545
- PTRIG3 = $027F ;1-byte paddle trigger 3
546
- PTRIG4 = $0280 ;1-byte paddle trigger 4
547
- PTRIG5 = $0281 ;1-byte paddle trigger 5
548
- PTRIG6 = $0281 ;1-byte paddle trigger 6
549
- PTRIG7 = $0283 ;1-byte paddle trigger 7
550
-
551
- STRIG0 = $0284 ;1-byte joystick trigger 0
552
- STRIG1 = $0285 ;1-byte joystick trigger 1
553
- STRIG2 = $0286 ;1-byte joystick trigger 2
554
- STRIG3 = $0287 ;1-byte joystick trigger 3
555
-
556
- ;CSTAT = $0288 ;##old## cassette status register
557
- HIBYTE = $0288 ;##1200xl## 1-byte relocating loader high byte
558
- WMODE = $0289 ;1-byte cassette WRITE mode
559
- BLIM = $028A ;1-byte cassette buffer limit
560
- IMASK = $028B ;##rev2## (not used)
561
- JVECK = $028C ;2-byte jump vector or temporary
562
- NEWADR = $028E ;##1200xl## 2-byte relocating address
563
- TXTROW = $0290 ;TEXT ROWCRS
564
- TXTCOL = $0291 ;TEXT COLCRS
565
- TINDEX = $0293 ;TEXT INDEX
566
- TXTMSC = $0294 ;FOOLS CONVRT INTO NEW MSC
567
- TXTOLD = $0296 ;OLDROW & OLDCOL FOR TEXT (AND THEN SOME)
568
- ;TMPX1 = $029C ;##old## 1-byte temporary register
569
- CRETRY = $029C ;##1200xl## 1-byte number of command frame retries
570
- HOLD3 = $029D ;1-byte temporary
571
- SUBTMP = $029E ;1-byte temporary
572
- HOLD2 = $029F ;1-byte (not used)
573
- DMASK = $02A0 ;1-byte display (pixel location) mask
574
- TMPLBT = $02A1 ;1-byte (not used)
575
- ESCFLG = $02A2 ;ESCAPE FLAG
576
- TABMAP = $02A3 ;15-byte (120 bit) tab stop bit map
577
- LOGMAP = $02B2 ;LOGICAL LINE START BIT MAP
578
- INVFLG = $02B6 ;INVERSE VIDEO FLAG (TOGGLED BY ATARI KEY)
579
- FILFLG = $02B7 ;RIGHT FILL FLAG FOR DRAW
580
- TMPROW = $02B8 ;1-byte temporary row
581
- TMPCOL = $02B9 ;2-byte temporary column
582
- SCRFLG = $02BB ;SET IF SCROLL OCCURS
583
- HOLD4 = $02BC ;TEMP CELL USED IN DRAW ONLY
584
- ;HOLD5 = $02BD ;##old## DITTO
585
- DRETRY = $02BD ;##1200xl## 1-byte number of device retries
586
- SHFLOK = $02BE ;1-byte shift/control lock flags
587
- BOTSCR = $02BF ;BOTTOM OF SCREEN 24 NORM 4 SPLIT
588
-
589
- PCOLR0 = $02C0 ;1-byte player-missile 0 color/luminance
590
- PCOLR1 = $02C1 ;1-byte player-missile 1 color/luminance
591
- PCOLR2 = $02C2 ;1-byte player-missile 2 color/luminance
592
- PCOLR3 = $02C3 ;1-byte player-missile 3 color/luminance
593
-
594
- COLOR0 = $02C4 ;1-byte playfield 0 color/luminance
595
- COLOR1 = $02C5 ;1-byte playfield 1 color/luminance
596
- COLOR2 = $02C6 ;1-byte playfield 2 color/luminance
597
- COLOR3 = $02C7 ;1-byte playfield 3 color/luminance
598
-
599
- COLOR4 = $02C8 ;1-byte background color/luminance
600
-
601
- PARMBL = $02C9 ;##rev2## 6-byte relocating loader parameter
602
- RUNADR = $02C9 ;##1200xl## 2-byte run address
603
- HIUSED = $02CB ;##1200xl## 2-byte highest non-zero page address
604
- ZHIUSE = $02CD ;##1200xl## 2-byte highest zero page address
605
-
606
- OLDPAR = $02CF ;##rev2## 6-byte relocating loader parameter
607
- GBYTEA = $02CF ;##1200xl## 2-byte GET-BYTE routine address
608
- LOADAD = $02D1 ;##1200xl## 2-byte non-zero page load address
609
- ZLOADA = $02D3 ;##1200xl## 2-byte zero page load address
610
-
611
- DSCTLN = $02D5 ;##1200xl## 2-byte disk sector length
612
- ACMISR = $02D7 ;##1200xl## 2-byte ACMI interrupt service routine
613
- KRPDEL = $02D9 ;##1200xl## 1-byte auto-repeat delay
614
- KEYREP = $02DA ;##1200xl## 1-byte auto-repeat rate
615
- NOCLIK = $02DB ;##1200xl## 1-byte key click disable
616
- HELPFG = $02DC ;##1200xl## 1-byte HELP key flag (0 = no HELP)
617
- DMASAV = $02DD ;##1200xl## 1-byte SDMCTL save/restore
618
- PBPNT = $02DE ;##1200xl## 1-byte printer buffer pointer
619
- PBUFSZ = $02DF ;##1200xl## 1-byte printer buffer size
620
-
621
- GLBABS = $02E0 ;4-byte global variables for non-DOS users
622
- RUNAD = $02E0 ;##map## 2-byte binary file run address
623
- INITAD = $02E2 ;##map## 2-byte binary file initialization address
624
-
625
- RAMSIZ = $02E4 ;RAM SIZE (HI BYTE ONLY)
626
- MEMTOP = $02E5 ;TOP OF AVAILABLE USER MEMORY
627
- MEMLO = $02E7 ;BOTTOM OF AVAILABLE USER MEMORY
628
- HNDLOD = $02E9 ;##1200xl## 1-byte user load flag
629
- DVSTAT = $02EA ;STATUS BUFFER
630
- CBAUDL = $02EE ;1-byte low cassette baud rate
631
- CBAUDH = $02EF ;1-byte high cassette baud rate
632
- CRSINH = $02F0 ;CURSOR INHIBIT (00 = CURSOR ON)
633
- KEYDEL = $02F1 ;KEY DELAY
634
- CH1 = $02F2 ;1-byte prior keyboard character
635
- CHACT = $02F3 ;CHACTL REGISTER RAM
636
- CHBAS = $02F4 ;CHBAS REGISTER RAM
637
-
638
- NEWROW = $02F5 ;##1200xl## 1-byte draw destination row
639
- NEWCOL = $02F6 ;##1200xl## 2-byte draw destination column
640
- ROWINC = $02F8 ;##1200xl## 1-byte draw row increment
641
- COLINC = $02F9 ;##1200xl## 1-byte draw column increment
642
-
643
- CHAR = $02FA ;1-byte internal character
644
- ATACHR = $02FB ;ATASCII CHARACTER
645
- CH = $02FC ;GLOBAL VARIABLE FOR KEYBOARD
646
- FILDAT = $02FD ;RIGHT FILL DATA <DRAW>
647
- DSPFLG = $02FE ;DISPLAY FLAG DISPLAY CNTLS IF NON-ZERO
648
- SSFLAG = $02FF ;START/STOP FLAG FOR PAGING (CNTL 1). CLEARE
649
-
650
- ;-------------------------------------------------------------------------
651
- ; Page Three Address Equates
652
- ;-------------------------------------------------------------------------
653
-
654
- DCB = $0300 ;DEVICE CONTROL BLOCK
655
- DDEVIC = $0300 ;PERIPHERAL UNIT 1 BUS I.D. NUMBER
656
- DUNIT = $0301 ;UNIT NUMBER
657
- DCOMND = $0302 ;BUS COMMAND
658
- DSTATS = $0303 ;COMMAND TYPE/STATUS RETURN
659
- DBUFLO = $0304 ;1-byte low data buffer address
660
- DBUFHI = $0305 ;1-byte high data buffer address
661
- DTIMLO = $0306 ;DEVICE TIME OUT IN 1 SECOND UNITS
662
- DUNUSE = $0307 ;UNUSED BYTE
663
- DBYTLO = $0308 ;1-byte low number of bytes to transfer
664
- DBYTHI = $0309 ;1-byte high number of bytes to transfer
665
- DAUX1 = $030A ;1-byte first command auxiliary
666
- DAUX2 = $030B ;1-byte second command auxiliary
667
-
668
- TIMER1 = $030C ;INITIAL TIMER VALUE
669
- ;ADDCOR = $030E ;##old## ADDITION CORRECTION
670
- JMPERS = $030E ;##1200xl## 1-byte jumper options
671
- CASFLG = $030F ;CASSETTE MODE WHEN SET
672
- TIMER2 = $0310 ;2-byte final baud rate timer value
673
- TEMP1 = $0312 ;TEMPORARY STORAGE REGISTER
674
- ;TEMP2 = $0314 ;##old## TEMPORARY STORAGE REGISTER
675
- TEMP2 = $0313 ;##1200xl## 1-byte temporary
676
- PTIMOT = $0314 ;##1200xl## 1-byte printer timeout
677
- TEMP3 = $0315 ;TEMPORARY STORAGE REGISTER
678
- SAVIO = $0316 ;SAVE SERIAL IN DATA PORT
679
- TIMFLG = $0317 ;TIME OUT FLAG FOR BAUD RATE CORRECTION
680
- STACKP = $0318 ;SIO STACK POINTER SAVE CELL
681
- TSTAT = $0319 ;TEMPORARY STATUS HOLDER
682
-
683
- HATABS = $031A ;35-byte handler address table (was 38 bytes)
684
- PUPBT1 = $033D ;##1200xl## 1-byte power-up validation byte 1
685
- PUPBT2 = $033E ;##1200xl## 1-byte power-up validation byte 2
686
- PUPBT3 = $033F ;##1200xl## 1-byte power-up validation byte 3
687
-
688
- IOCB = $0340 ;I/O CONTROL BLOCKS
689
- ICHID = $0340 ;HANDLER INDEX NUMBER (FF=IOCB FREE)
690
- ICDNO = $0341 ;DEVICE NUMBER (DRIVE NUMBER)
691
- ICCOM = $0342 ;COMMAND CODE
692
- ICSTA = $0343 ;STATUS OF LAST IOCB ACTION
693
- ICBAL = $0344 ;1-byte low buffer address
694
- ICBAH = $0345 ;1-byte high buffer address
695
- ICPTL = $0346 ;1-byte low PUT-BYTE routine address - 1
696
- ICPTH = $0347 ;1-byte high PUT-BYTE routine address - 1
697
- ICBLL = $0348 ;1-byte low buffer length
698
- ICBLH = $0349 ;1-byte high buffer length
699
- ICAX1 = $034A ;1-byte first auxiliary information
700
- ICAX2 = $034B ;1-byte second auxiliary information
701
- ICAX3 = $034C ;1-byte third auxiliary information
702
- ICAX4 = $034D ;1-byte fourth auxiliary information
703
- ICAX5 = $034E ;1-byte fifth auxiliary information
704
- ICSPR = $034F ;SPARE BYTE
705
-
706
- PRNBUF = $03C0 ;PRINTER BUFFER
707
- SUPERF = $03E8 ;##1200xl## 1-byte editor super function flag
708
- CKEY = $03E9 ;##1200xl## 1-byte cassette boot request flag
709
- CASSBT = $03EA ;##1200xl## 1-byte cassette boot flag
710
- CARTCK = $03EB ;##1200xl## 1-byte cartridge equivalence check
711
- DERRF = $03EC ;##rev2## 1-byte screen OPEN error flag
712
-
713
- ; Remainder of Page Three Not Cleared upon Reset
714
-
715
- ACMVAR = $03ED ;##1200xl## 11 bytes reserved for ACMI
716
- BASICF = $03F8 ;##rev2## 1-byte BASIC switch flag
717
- MINTLK = $03F9 ;##1200xl## 1-byte ACMI module interlock
718
- GINTLK = $03FA ;##1200xl## 1-byte cartridge interlock
719
- CHLINK = $03FB ;##1200xl## 2-byte loaded handler chain link
720
- CASBUF = $03FD ;CASSETTE BUFFER
721
-
722
- ;-------------------------------------------------------------------------
723
- ; Page Four/Five Address Equates
724
- ;-------------------------------------------------------------------------
725
-
726
- ; USER AREA STARTS HERE AND GOES TO END OF PAGE FIVE
727
- USAREA = $0480 ;128 bytes reserved for application
728
-
729
- LBPR1 = $057E ;LBUFF PREFIX 1
730
- LBPR2 = $057F ;LBUFF PREFIX 2
731
- LBUFF = $0580 ;128-byte line buffer
732
-
733
- PLYARG = $05E0 ;6-byte floating point polynomial argument
734
- FPSCR = $05E6 ;6-byte floating point temporary
735
- FPSCR1 = $05EC ;6-byte floating point temporary
736
-
737
- ;LBFEND = $05FF ;##old## END OF LBUFF
738
-
739
-
740
- DOS = $0700
741
-
742
- ;-------------------------------------------------------------------------
743
- ; Cartridge Address Equates
744
- ;-------------------------------------------------------------------------
745
-
746
- CARTCS = $BFFA ;##rev2## 2-byte cartridge coldstart address
747
- CART = $BFFC ;##rev2## 1-byte cartridge present indicator
748
- CARTFG = $BFFD ;##rev2## 1-byte cartridge flags
749
- CARTAD = $BFFE ;##rev2## 2-byte cartridge start vector
750
-
751
- ;-------------------------------------------------------------------------
752
- ; CTIA/GTIA Address Equates
753
- ;-------------------------------------------------------------------------
754
-
755
- GTIA = $D000 ;CTIA/GTIA area
756
-
757
- ; Read/Write Addresses
758
-
759
- CONSOL = $D01F ;console switches and speaker control
760
-
761
- ; Read Addresses
762
-
763
- M0PF = $D000 ;missile 0 and playfield collision
764
- M1PF = $D001 ;missile 1 and playfield collision
765
- M2PF = $D002 ;missile 2 and playfield collision
766
- M3PF = $D003 ;missile 3 and playfield collision
767
-
768
- P0PF = $D004 ;player 0 and playfield collision
769
- P1PF = $D005 ;player 1 and playfield collision
770
- P2PF = $D006 ;player 2 and playfield collision
771
- P3PF = $D007 ;player 3 and playfield collision
772
-
773
- M0PL = $D008 ;missile 0 and player collision
774
- M1PL = $D009 ;missile 1 and player collision
775
- M2PL = $D00A ;missile 2 and player collision
776
- M3PL = $D00B ;missile 3 and player collision
777
-
778
- P0PL = $D00C ;player 0 and player collision
779
- P1PL = $D00D ;player 1 and player collision
780
- P2PL = $D00E ;player 2 and player collision
781
- P3PL = $D00F ;player 3 and player collision
782
-
783
- TRIG0 = $D010 ;joystick trigger 0
784
- TRIG1 = $D011 ;joystick trigger 1
785
-
786
- TRIG2 = $D012 ;cartridge interlock
787
- TRIG3 = $D013 ;ACMI module interlock
788
-
789
- PAL = $D014 ;##rev2## PAL/NTSC indicator
790
-
791
- ; Write Addresses
792
-
793
- HPOSP0 = $D000 ;player 0 horizontal position
794
- HPOSP1 = $D001 ;player 1 horizontal position
795
- HPOSP2 = $D002 ;player 2 horizontal position
796
- HPOSP3 = $D003 ;player 3 horizontal position
797
-
798
- HPOSM0 = $D004 ;missile 0 horizontal position
799
- HPOSM1 = $D005 ;missile 1 horizontal position
800
- HPOSM2 = $D006 ;missile 2 horizontal position
801
- HPOSM3 = $D007 ;missile 3 horizontal position
802
-
803
- SIZEP0 = $D008 ;player 0 size
804
- SIZEP1 = $D009 ;player 1 size
805
- SIZEP2 = $D00A ;player 2 size
806
- SIZEP3 = $D00B ;player 3 size
807
-
808
- SIZEM = $D00C ;missile sizes
809
-
810
- GRAFP0 = $D00D ;player 0 graphics
811
- GRAFP1 = $D00E ;player 1 graphics
812
- GRAFP2 = $D00F ;player 2 graphics
813
- GRAFP3 = $D010 ;player 3 graphics
814
-
815
- GRAFM = $D011 ;missile graphics
816
-
817
- COLPM0 = $D012 ;player-missile 0 color/luminance
818
- COLPM1 = $D013 ;player-missile 1 color/luminance
819
- COLPM2 = $D014 ;player-missile 2 color/luminance
820
- COLPM3 = $D015 ;player-missile 3 color/luminance
821
-
822
- COLPF0 = $D016 ;playfield 0 color/luminance
823
- COLPF1 = $D017 ;playfield 1 color/luminance
824
- COLPF2 = $D018 ;playfield 2 color/luminance
825
- COLPF3 = $D019 ;playfield 3 color/luminance
826
-
827
- COLBK = $D01A ;background color/luminance
828
-
829
- PRIOR = $D01B ;priority select
830
- VDELAY = $D01C ;vertical delay
831
- GRACTL = $D01D ;graphic control
832
- HITCLR = $D01E ;collision clear
833
-
834
- ;-------------------------------------------------------------------------
835
- ; PBI Address Equates
836
- ;-------------------------------------------------------------------------
837
-
838
- PBI = $D100 ;##rev2## parallel bus interface area
839
-
840
- ; Read Addresses
841
-
842
- PDVI = $D1FF ;##rev2## parallel device IRQ status
843
-
844
- ; Write Addresses
845
-
846
- PDVS = $D1FF ;##rev2## parallel device select
847
-
848
- ; PBI RAM Address Equates
849
-
850
- PBIRAM = $D600 ;##rev2## parallel bus interface RAM area
851
-
852
- ; Parallel Device Address Equates
853
-
854
- PDID1 = $D803 ;##rev2## parallel device ID 1
855
- PDIDV = $D805 ;##rev2## parallel device I/O vector
856
- PDIRQV = $D808 ;##rev2## parallel device IRQ vector
857
- PDID2 = $D80B ;##rev2## parallel device ID 2
858
- PDVV = $D80D ;##rev2## parallel device vector table
859
-
860
- ;-------------------------------------------------------------------------
861
- ; POKEY Address Equates
862
- ;-------------------------------------------------------------------------
863
-
864
- POKEY = $D200 ;POKEY area
865
-
866
- ; Read Addresses
867
-
868
- POT0 = $D200 ;potentiometer 0
869
- POT1 = $D201 ;potentiometer 1
870
- POT2 = $D202 ;potentiometer 2
871
- POT3 = $D203 ;potentiometer 3
872
- POT4 = $D204 ;potentiometer 4
873
- POT5 = $D205 ;potentiometer 5
874
- POT6 = $D206 ;potentiometer 6
875
- POT7 = $D207 ;potentiometer 7
876
-
877
- ALLPOT = $D208 ;potentiometer port status
878
- KBCODE = $D209 ;keyboard code
879
- RANDOM = $D20A ;random number generator
880
- SERIN = $D20D ;serial port input
881
- IRQST = $D20E ;IRQ interrupt status
882
- SKSTAT = $D20F ;serial port and keyboard status
883
-
884
- ; Write Addresses
885
-
886
- AUDF1 = $D200 ;channel 1 audio frequency
887
- AUDC1 = $D201 ;channel 1 audio control
888
-
889
- AUDF2 = $D202 ;channel 2 audio frequency
890
- AUDC2 = $D203 ;channel 2 audio control
891
-
892
- AUDF3 = $D204 ;channel 3 audio frequency
893
- AUDC3 = $D205 ;channel 3 audio control
894
-
895
- AUDF4 = $D206 ;channel 4 audio frequency
896
- AUDC4 = $D207 ;channel 4 audio control
897
-
898
- AUDCTL = $D208 ;audio control
899
- STIMER = $D209 ;start timers
900
- SKRES = $D20A ;reset SKSTAT status
901
- POTGO = $D20B ;start potentiometer scan sequence
902
- SEROUT = $D20D ;serial port output
903
- IRQEN = $D20E ;IRQ interrupt enable
904
- SKCTL = $D20F ;serial port and keyboard control
905
-
906
- ;-------------------------------------------------------------------------
907
- ; PIA Address Equates
908
- ;-------------------------------------------------------------------------
909
-
910
- PIA = $D300 ;PIA area
911
-
912
- PORTA = $D300 ;port A direction register or jacks one/two
913
- PORTB = $D301 ;port B direction register or memory management
914
-
915
- PACTL = $D302 ;port A control
916
- PBCTL = $D303 ;port B control
917
-
918
- ;-------------------------------------------------------------------------
919
- ; ANTIC Address Equates
920
- ;-------------------------------------------------------------------------
921
-
922
- ANTIC = $D400 ;ANTIC area
923
-
924
- ; Read Addresses
925
-
926
- VCOUNT = $D40B ;vertical line counter
927
- PENH = $D40C ;light pen horizontal position
928
- PENV = $D40D ;light pen vertical position
929
- NMIST = $D40F ;NMI interrupt status
930
-
931
- ; Write Addresses
932
-
933
- DMACTL = $D400 ;DMA control
934
- CHACTL = $D401 ;character control
935
- DLISTL = $D402 ;low display list address
936
- DLISTH = $D403 ;high display list address
937
- HSCROL = $D404 ;horizontal scroll
938
- VSCROL = $D405 ;vertical scroll
939
- PMBASE = $D407 ;player-missile base address
940
- CHBASE = $D409 ;character base address
941
- WSYNC = $D40A ;wait for HBLANK synchronization
942
- NMIEN = $D40E ;NMI enable
943
- NMIRES = $D40F ;NMI interrupt reset
944
-
945
- ;-------------------------------------------------------------------------
946
- ; Floating Point Package Address Equates
947
- ;-------------------------------------------------------------------------
948
-
949
- AFP = $D800 ;convert ASCII to floating point
950
- FASC = $D8E6 ;convert floating point to ASCII
951
- IFP = $D9AA ;convert integer to floating point
952
- FPI = $D9D2 ;convert floating point to integer
953
- ZFR0 = $DA44 ;zero FR0
954
- ZF1 = $DA46 ;zero floating point number
955
- FSUB = $DA60 ;subtract floating point numbers
956
- FADD = $DA66 ;add floating point numbers
957
- FMUL = $DADB ;multiply floating point numbers
958
- FDIV = $DB28 ;divide floating point numbers
959
- PLYEVL = $DD40 ;evaluate floating point polynomial
960
- FLD0R = $DD89 ;load floating point number
961
- FLD0P = $DD8D ;load floating point number
962
- FLD1R = $DD98 ;load floating point number
963
- PLD1P = $DD9C ;load floating point number
964
- FST0R = $DDA7 ;store floating point number
965
- FST0P = $DDAB ;store floating point number
966
- FMOVE = $DDB6 ;move floating point number
967
- LOG = $DECD ;calculate floating point logarithm
968
- LOG10 = $DED1 ;calculate floating point base 10 logarithm
969
- EXP = $DDC0 ;calculate floating point exponential
970
- EXP10 = $DDCC ;calculate floating point base 10 exponential
971
-
972
- ;-------------------------------------------------------------------------
973
- ; Device Handler Vector Table Address Equates
974
- ;-------------------------------------------------------------------------
975
-
976
- EDITRV = $E400 ;editor handler vector table
977
- SCRENV = $E410 ;screen handler vector table
978
- KEYBDV = $E420 ;keyboard handler vector table
979
- PRINTV = $E430 ;printer handler vector table
980
- CASETV = $E440 ;cassette handler vector table
981
-
982
- ;-------------------------------------------------------------------------
983
- ; Jump Vector Address Equates
984
- ;-------------------------------------------------------------------------
985
-
986
- DISKIV = $E450 ;vector to initialize DIO
987
- DSKINV = $E453 ;vector to DIO
988
- CIOV = $E456 ;vector to CIO
989
- SIOV = $E459 ;vector to SIO
990
- SETVBV = $E45C ;vector to set VBLANK parameters
991
- SYSVBV = $E45F ;vector to process immediate VBLANK
992
- XITVBV = $E462 ;vector to process deferred VBLANK
993
- SIOINV = $E465 ;vector to initialize SIO
994
- SENDEV = $E468 ;vector to enable SEND
995
- INTINV = $E46B ;vector to initialize interrupt handler
996
- CIOINV = $E46E ;vector to initialize CIO
997
- BLKBDV = $E471 ;vector to power-up display
998
- WARMSV = $E474 ;vector to warmstart
999
- COLDSV = $E477 ;vector to coldstart
1000
- RBLOKV = $E47A ;vector to read cassette block
1001
- CSOPIV = $E47D ;vector to open cassette for input
1002
- VCTABL = $E480 ;RAM vector initial value table
1003
- PUPDIV = $E480 ;##rev2## vector to power-up display
1004
- SLFTSV = $E483 ;##rev2## vector to self-test
1005
- PHENTV = $E486 ;##rev2## vector to enter peripheral handler
1006
- PHUNLV = $E489 ;##rev2## vector to unlink peripheral handler
1007
- PHINIV = $E48C ;##rev2## vector to initialize peripheral handler
1008
- GPDVV = $E48F ;##rev2## generic parallel device handler vector
1009
-
1010
- ; NOTE: OS rom self-test labels are not included in this file
1011
-
1012
- ;-------------------------------------------------------------------------
1013
- ; Some misc. stuff from the 400/800 rev.B source
1014
- ;-------------------------------------------------------------------------
1015
-
1016
- ; THE FOLLOWING ARE IN BASIC CARTRIDGE:
1017
- SIN = $BD81 ;FR0 <- SIN (FR0) DEGFLG (0=RAD,6=DEG) CARRY
1018
- COS = $BD73 ;FR0 <- COS (FR0) CARRY
1019
- ATAN = $BE43 ;FR0 <- ATAN(FR0) CARRY
1020
- SQR = $BEB1 ;FR0 <- ROOT(FR0) CARRY
1021
-
1022
- RADON = 0 ;INDICATES RADIANS
1023
- DEGON = 6 ;INDICATES DEGREES
1024
-
1025
- ASCZER = '0' ;ASCII ZERO
1026
- COLON = $3A ;ASCII COLON
1027
- CR = $9B ;SYSTEM EOL (CARRIAGE RETURN)
1028
-
1029
- ;-------------------------------------------------------------------------
1030
- ; 6502
1031
- ;-------------------------------------------------------------------------
1032
-
1033
- NMIVEC = $FFFA
1034
- RESVEC = $FFFC
1035
- IRQVEC = $FFFE
1036
-
1037
- ;-------------------------------------------------------------------------
1038
- ; BASIC
1039
- ;-------------------------------------------------------------------------
1040
-
1041
- LOMEM = $80 ;2-byte low memory pointer
1042
- VNTP = $82 ;2-byte variable name table address
1043
- VNTD = $84 ;2-byte variable name table end + 1
1044
- VVTP = $86 ;2-byte variable value table
1045
- STMTAB = $88 ;2-byte statement table address
1046
- STMCUR = $8A ;2-byte current statement pointer
1047
- STARP = $8C ;2-byte string and array table pointer
1048
- RUNSTK = $8E ;2-byte runtime stack address
1049
- BMEMTOP = $90 ;2-byte top of memory pointer
1050
- STOPLN = $BA ;2-byte stopped line number
1051
- ERRSAVE = $C3 ;1-byte error code
1052
- PTABW = $C9 ;1-byte tab width
1053
-
1054
- ;-------------------------------------------------------------------------
1055
- ; ATASCII CHARACTER DEFS
1056
- ;-------------------------------------------------------------------------
1057
-
1058
- ATCLR = $7D ;CLEAR SCREEN CHARACTER
1059
- ATRUB = $7E ;BACK SPACE (RUBOUT)
1060
- ATTAB = $7F ;TAB
1061
- ATEOL = $9B ;END-OF-LINE
1062
- ATDELL = $9C ;delete line
1063
- ATINSL = $9D ;insert line
1064
- ATCTAB = $9E ;clear TAB
1065
- ATSTAB = $9F ;set TAB
1066
- ATBEL = $FD ;CONSOLE BELL
1067
- ATDEL = $FE ;delete char.
1068
- ATINS = $FF ;insert char.
1069
- ATURW = $1C ;UP-ARROW
1070
- ATDRW = $1D ;DOWN-ARROW
1071
- ATLRW = $1E ;LEFT-ARROW
1072
- ATRRW = $1F ;RIGHT-ARROW
1073
- ATESC = $1B ;ESCAPE
1074
-
1075
- ;-------------------------------------------------------------------------
1076
- ; OFFSETS INTO SECTSIZETAB (DIO functions)
1077
- ;-------------------------------------------------------------------------
1078
-
1079
- sst_flag = 0 ; length 1
1080
- sst_sectsize = 1 ; 2
1081
- sst_driveno = 3 ; 1 (drive #)
1082
- sst_size = 4 ; size of one entry
1083
- ; if changed, adapt diopncls.s
1084
-
1085
- ;-------------------------------------------------------------------------
1086
- ; OFFSETS INTO dio_phys_pos
1087
- ;-------------------------------------------------------------------------
1088
-
1089
- diopp_head = 0 ; head
1090
- diopp_track = 1 ; track / cylinder
1091
- diopp_sector = 3 ; sector
1092
- diopp_size = 5 ; size of structure
1093
-
1094
- ;-------------------------------------------------------------------------
1095
- ; VALUES for dos_type
1096
- ;-------------------------------------------------------------------------
1097
-
1098
- ATARIDOS = 0
1099
- SPARTADOS = 1
1100
- OSADOS = 2 ; OS/A+
1101
- MYDOS = 3
1102
- XDOS = 4
1103
- NODOS = 255
1104
-
1105
- ;-------------------------------------------------------------------------
1106
- ; Antic opcodes
1107
- ;-------------------------------------------------------------------------
1108
-
1109
- ; usage example:
1110
- ;
1111
- ; ScreenDL:
1112
- ; .byte DL_BLK8
1113
- ; .byte DL_BLK8
1114
- ; .byte DL_CHR40x8x1 + DL_LMS + DL_DLI
1115
- ; .word ScreenAlignment
1116
- ; .byte DL_BLK1 + DL_DLI
1117
- ; .byte DL_MAP320x1x1 + DL_LMS
1118
- ; .word Screen
1119
- ;
1120
- ; .repeat 99
1121
- ; .byte DL_MAP320x1x1
1122
- ; .endrepeat
1123
- ; .byte DL_MAP320x1x1 + DL_LMS
1124
- ; .word Screen + 40 * 100 ; 100 lines a 40 byte, 'Screen' has to be aligned correctly!
1125
- ; .repeat 92
1126
- ; .byte DL_MAP320x1x1
1127
- ; .endrepeat
1128
- ;
1129
- ; .byte DL_JVB
1130
-
1131
- ; absolute instructions (non mode lines)
1132
-
1133
- DL_JMP = 1
1134
- DL_JVB = 65
1135
-
1136
- DL_BLK1 = 0
1137
- DL_BLK2 = 16
1138
- DL_BLK3 = 32
1139
- DL_BLK4 = 48
1140
- DL_BLK5 = 64
1141
- DL_BLK6 = 80
1142
- DL_BLK7 = 96
1143
- DL_BLK8 = 112
1144
-
1145
- ; absolute instructions (mode lines)
1146
-
1147
- DL_CHR40x8x1 = 2 ; monochrome, 40 character & 8 scanlines per mode line (GR. 0)
1148
- DL_CHR40x10x1 = 3 ; monochrome, 40 character & 10 scanlines per mode line
1149
- DL_CHR40x8x4 = 4 ; colour, 40 character & 8 scanlines per mode line (GR. 12)
1150
- DL_CHR40x16x4 = 5 ; colour, 40 character & 16 scanlines per mode line (GR. 13)
1151
- DL_CHR20x8x2 = 6 ; colour (duochrome per character), 20 character & 8 scanlines per mode line (GR. 1)
1152
- DL_CHR20x16x2 = 7 ; colour (duochrome per character), 20 character & 16 scanlines per mode line (GR. 2)
1153
-
1154
- DL_MAP40x8x4 = 8 ; colour, 40 pixel & 8 scanlines per mode line (GR. 3)
1155
- DL_MAP80x4x2 = 9 ; 'duochrome', 80 pixel & 4 scanlines per mode line (GR.4)
1156
- DL_MAP80x4x4 = 10 ; colour, 80 pixel & 4 scanlines per mode line (GR.5)
1157
- DL_MAP160x2x2 = 11 ; 'duochrome', 160 pixel & 2 scanlines per mode line (GR.6)
1158
- DL_MAP160x1x2 = 12 ; 'duochrome', 160 pixel & 1 scanline per mode line (GR.14)
1159
- DL_MAP160x2x4 = 13 ; 4 colours, 160 pixel & 2 scanlines per mode line (GR.7)
1160
- DL_MAP160x1x4 = 14 ; 4 colours, 160 pixel & 1 scanline per mode line (GR.15)
1161
- DL_MAP320x1x1 = 15 ; monochrome, 320 pixel & 1 scanline per mode line (GR.8)
1162
-
1163
- ; modifiers on mode lines...
1164
-
1165
- DL_HSCROL = 16
1166
- DL_VSCROL = 32
1167
- DL_LMS = 64
1168
-
1169
- ; general modifier...
1170
-
1171
- DL_DLI = 128
1172
-
1173
- ;-------------------------------------------------------------------------
1174
- ; End of atari.inc
1175
- ;-------------------------------------------------------------------------