burn 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. data/LICENSE +621 -0
  2. data/README.md +467 -0
  3. data/Rakefile +1 -0
  4. data/bin/burn +14 -0
  5. data/lib/burn/builder.rb +65 -0
  6. data/lib/burn/cli.rb +187 -0
  7. data/lib/burn/debug.rb +25 -0
  8. data/lib/burn/dsl/channel_stream.rb +105 -0
  9. data/lib/burn/dsl/declare.rb +42 -0
  10. data/lib/burn/dsl/dsl_base.rb +31 -0
  11. data/lib/burn/dsl/music.rb +36 -0
  12. data/lib/burn/dsl/note.rb +125 -0
  13. data/lib/burn/dsl/scene.rb +278 -0
  14. data/lib/burn/dsl/sound.rb +30 -0
  15. data/lib/burn/dsl/sound_effect.rb +91 -0
  16. data/lib/burn/dsl.rb +8 -0
  17. data/lib/burn/generator/assembly_music.rb +47 -0
  18. data/lib/burn/generator/assembly_sound_effect.rb +33 -0
  19. data/lib/burn/generator/c_source.rb +54 -0
  20. data/lib/burn/generator/template/mus_template.s +49 -0
  21. data/lib/burn/generator/template/template.c +88 -0
  22. data/lib/burn/generator.rb +3 -0
  23. data/lib/burn/tools/mac/cc65/asminc/_file.inc +27 -0
  24. data/lib/burn/tools/mac/cc65/asminc/_heap.inc +35 -0
  25. data/lib/burn/tools/mac/cc65/asminc/apple2.inc +64 -0
  26. data/lib/burn/tools/mac/cc65/asminc/atari.inc +1175 -0
  27. data/lib/burn/tools/mac/cc65/asminc/atari.mac +59 -0
  28. data/lib/burn/tools/mac/cc65/asminc/atmos.inc +110 -0
  29. data/lib/burn/tools/mac/cc65/asminc/c128.inc +214 -0
  30. data/lib/burn/tools/mac/cc65/asminc/c16.inc +9 -0
  31. data/lib/burn/tools/mac/cc65/asminc/c64.inc +212 -0
  32. data/lib/burn/tools/mac/cc65/asminc/cbm.mac +50 -0
  33. data/lib/burn/tools/mac/cc65/asminc/cbm510.inc +182 -0
  34. data/lib/burn/tools/mac/cc65/asminc/cbm610.inc +110 -0
  35. data/lib/burn/tools/mac/cc65/asminc/cbm_filetype.inc +34 -0
  36. data/lib/burn/tools/mac/cc65/asminc/cpu.mac +24 -0
  37. data/lib/burn/tools/mac/cc65/asminc/ctype.inc +29 -0
  38. data/lib/burn/tools/mac/cc65/asminc/em-error.inc +49 -0
  39. data/lib/burn/tools/mac/cc65/asminc/em-kernel.inc +106 -0
  40. data/lib/burn/tools/mac/cc65/asminc/errno.inc +36 -0
  41. data/lib/burn/tools/mac/cc65/asminc/fcntl.inc +21 -0
  42. data/lib/burn/tools/mac/cc65/asminc/generic.mac +55 -0
  43. data/lib/burn/tools/mac/cc65/asminc/get_tv.inc +22 -0
  44. data/lib/burn/tools/mac/cc65/asminc/joy-error.inc +44 -0
  45. data/lib/burn/tools/mac/cc65/asminc/joy-kernel.inc +85 -0
  46. data/lib/burn/tools/mac/cc65/asminc/longbranch.mac +88 -0
  47. data/lib/burn/tools/mac/cc65/asminc/lynx.inc +279 -0
  48. data/lib/burn/tools/mac/cc65/asminc/modload.inc +78 -0
  49. data/lib/burn/tools/mac/cc65/asminc/mouse-kernel.inc +180 -0
  50. data/lib/burn/tools/mac/cc65/asminc/nes.inc +93 -0
  51. data/lib/burn/tools/mac/cc65/asminc/o65.inc +150 -0
  52. data/lib/burn/tools/mac/cc65/asminc/opcodes.inc +509 -0
  53. data/lib/burn/tools/mac/cc65/asminc/pet.inc +54 -0
  54. data/lib/burn/tools/mac/cc65/asminc/plus4.inc +86 -0
  55. data/lib/burn/tools/mac/cc65/asminc/ser-error.inc +54 -0
  56. data/lib/burn/tools/mac/cc65/asminc/ser-kernel.inc +162 -0
  57. data/lib/burn/tools/mac/cc65/asminc/signal.inc +57 -0
  58. data/lib/burn/tools/mac/cc65/asminc/smc.inc +245 -0
  59. data/lib/burn/tools/mac/cc65/asminc/stdio.inc +70 -0
  60. data/lib/burn/tools/mac/cc65/asminc/supervision.inc +76 -0
  61. data/lib/burn/tools/mac/cc65/asminc/tgi-error.inc +52 -0
  62. data/lib/burn/tools/mac/cc65/asminc/tgi-kernel.inc +234 -0
  63. data/lib/burn/tools/mac/cc65/asminc/tgi-vectorfont.inc +70 -0
  64. data/lib/burn/tools/mac/cc65/asminc/time.inc +59 -0
  65. data/lib/burn/tools/mac/cc65/asminc/utsname.inc +46 -0
  66. data/lib/burn/tools/mac/cc65/asminc/vic20.inc +75 -0
  67. data/lib/burn/tools/mac/cc65/asminc/zeropage.inc +26 -0
  68. data/lib/burn/tools/mac/cc65/bin/ca65 +0 -0
  69. data/lib/burn/tools/mac/cc65/bin/cc65 +0 -0
  70. data/lib/burn/tools/mac/cc65/bin/ld65 +0 -0
  71. data/lib/burn/tools/other/cc65/asminc/_file.inc +27 -0
  72. data/lib/burn/tools/other/cc65/asminc/_heap.inc +35 -0
  73. data/lib/burn/tools/other/cc65/asminc/apple2.inc +64 -0
  74. data/lib/burn/tools/other/cc65/asminc/atari.inc +1175 -0
  75. data/lib/burn/tools/other/cc65/asminc/atari.mac +59 -0
  76. data/lib/burn/tools/other/cc65/asminc/atmos.inc +110 -0
  77. data/lib/burn/tools/other/cc65/asminc/c128.inc +214 -0
  78. data/lib/burn/tools/other/cc65/asminc/c16.inc +9 -0
  79. data/lib/burn/tools/other/cc65/asminc/c64.inc +212 -0
  80. data/lib/burn/tools/other/cc65/asminc/cbm.mac +50 -0
  81. data/lib/burn/tools/other/cc65/asminc/cbm510.inc +182 -0
  82. data/lib/burn/tools/other/cc65/asminc/cbm610.inc +110 -0
  83. data/lib/burn/tools/other/cc65/asminc/cbm_filetype.inc +34 -0
  84. data/lib/burn/tools/other/cc65/asminc/cpu.mac +24 -0
  85. data/lib/burn/tools/other/cc65/asminc/ctype.inc +29 -0
  86. data/lib/burn/tools/other/cc65/asminc/em-error.inc +49 -0
  87. data/lib/burn/tools/other/cc65/asminc/em-kernel.inc +106 -0
  88. data/lib/burn/tools/other/cc65/asminc/errno.inc +36 -0
  89. data/lib/burn/tools/other/cc65/asminc/fcntl.inc +21 -0
  90. data/lib/burn/tools/other/cc65/asminc/generic.mac +55 -0
  91. data/lib/burn/tools/other/cc65/asminc/get_tv.inc +22 -0
  92. data/lib/burn/tools/other/cc65/asminc/joy-error.inc +44 -0
  93. data/lib/burn/tools/other/cc65/asminc/joy-kernel.inc +85 -0
  94. data/lib/burn/tools/other/cc65/asminc/longbranch.mac +88 -0
  95. data/lib/burn/tools/other/cc65/asminc/lynx.inc +279 -0
  96. data/lib/burn/tools/other/cc65/asminc/modload.inc +78 -0
  97. data/lib/burn/tools/other/cc65/asminc/mouse-kernel.inc +180 -0
  98. data/lib/burn/tools/other/cc65/asminc/nes.inc +93 -0
  99. data/lib/burn/tools/other/cc65/asminc/o65.inc +150 -0
  100. data/lib/burn/tools/other/cc65/asminc/opcodes.inc +509 -0
  101. data/lib/burn/tools/other/cc65/asminc/pet.inc +54 -0
  102. data/lib/burn/tools/other/cc65/asminc/plus4.inc +86 -0
  103. data/lib/burn/tools/other/cc65/asminc/ser-error.inc +54 -0
  104. data/lib/burn/tools/other/cc65/asminc/ser-kernel.inc +162 -0
  105. data/lib/burn/tools/other/cc65/asminc/signal.inc +57 -0
  106. data/lib/burn/tools/other/cc65/asminc/smc.inc +245 -0
  107. data/lib/burn/tools/other/cc65/asminc/stdio.inc +70 -0
  108. data/lib/burn/tools/other/cc65/asminc/supervision.inc +76 -0
  109. data/lib/burn/tools/other/cc65/asminc/tgi-error.inc +52 -0
  110. data/lib/burn/tools/other/cc65/asminc/tgi-kernel.inc +234 -0
  111. data/lib/burn/tools/other/cc65/asminc/tgi-vectorfont.inc +70 -0
  112. data/lib/burn/tools/other/cc65/asminc/time.inc +59 -0
  113. data/lib/burn/tools/other/cc65/asminc/utsname.inc +46 -0
  114. data/lib/burn/tools/other/cc65/asminc/vic20.inc +75 -0
  115. data/lib/burn/tools/other/cc65/asminc/zeropage.inc +26 -0
  116. data/lib/burn/tools/other/cc65/bin/ca65 +0 -0
  117. data/lib/burn/tools/other/cc65/bin/cc65 +0 -0
  118. data/lib/burn/tools/other/cc65/bin/ld65 +0 -0
  119. data/lib/burn/tools/win/cc65/asminc/_file.inc +27 -0
  120. data/lib/burn/tools/win/cc65/asminc/_heap.inc +35 -0
  121. data/lib/burn/tools/win/cc65/asminc/apple2.inc +64 -0
  122. data/lib/burn/tools/win/cc65/asminc/atari.inc +1101 -0
  123. data/lib/burn/tools/win/cc65/asminc/atmos.inc +31 -0
  124. data/lib/burn/tools/win/cc65/asminc/c128.inc +213 -0
  125. data/lib/burn/tools/win/cc65/asminc/c16.inc +9 -0
  126. data/lib/burn/tools/win/cc65/asminc/c64.inc +212 -0
  127. data/lib/burn/tools/win/cc65/asminc/cbm510.inc +182 -0
  128. data/lib/burn/tools/win/cc65/asminc/cbm610.inc +110 -0
  129. data/lib/burn/tools/win/cc65/asminc/ctype.inc +29 -0
  130. data/lib/burn/tools/win/cc65/asminc/em-error.inc +44 -0
  131. data/lib/burn/tools/win/cc65/asminc/em-kernel.inc +100 -0
  132. data/lib/burn/tools/win/cc65/asminc/errno.inc +36 -0
  133. data/lib/burn/tools/win/cc65/asminc/fcntl.inc +21 -0
  134. data/lib/burn/tools/win/cc65/asminc/get_tv.inc +22 -0
  135. data/lib/burn/tools/win/cc65/asminc/joy-error.inc +44 -0
  136. data/lib/burn/tools/win/cc65/asminc/joy-kernel.inc +85 -0
  137. data/lib/burn/tools/win/cc65/asminc/lynx.inc +273 -0
  138. data/lib/burn/tools/win/cc65/asminc/modload.inc +78 -0
  139. data/lib/burn/tools/win/cc65/asminc/mouse-kernel.inc +179 -0
  140. data/lib/burn/tools/win/cc65/asminc/nes.inc +93 -0
  141. data/lib/burn/tools/win/cc65/asminc/o65.inc +135 -0
  142. data/lib/burn/tools/win/cc65/asminc/pet.inc +45 -0
  143. data/lib/burn/tools/win/cc65/asminc/plus4.inc +87 -0
  144. data/lib/burn/tools/win/cc65/asminc/rs232.inc +19 -0
  145. data/lib/burn/tools/win/cc65/asminc/ser-error.inc +50 -0
  146. data/lib/burn/tools/win/cc65/asminc/ser-kernel.inc +161 -0
  147. data/lib/burn/tools/win/cc65/asminc/signal.inc +57 -0
  148. data/lib/burn/tools/win/cc65/asminc/stdio.inc +70 -0
  149. data/lib/burn/tools/win/cc65/asminc/supervision.inc +76 -0
  150. data/lib/burn/tools/win/cc65/asminc/tgi-error.inc +48 -0
  151. data/lib/burn/tools/win/cc65/asminc/tgi-kernel.inc +183 -0
  152. data/lib/burn/tools/win/cc65/asminc/tgi-mode.inc +48 -0
  153. data/lib/burn/tools/win/cc65/asminc/time.inc +59 -0
  154. data/lib/burn/tools/win/cc65/asminc/utsname.inc +46 -0
  155. data/lib/burn/tools/win/cc65/asminc/vic20.inc +77 -0
  156. data/lib/burn/tools/win/cc65/asminc/zeropage.inc +22 -0
  157. data/lib/burn/tools/win/cc65/bin/ca65.exe +0 -0
  158. data/lib/burn/tools/win/cc65/bin/cc65.exe +0 -0
  159. data/lib/burn/tools/win/cc65/bin/ld65.exe +0 -0
  160. data/lib/burn/util/os.rb +38 -0
  161. data/lib/burn/util/patternizer.rb +62 -0
  162. data/lib/burn/util/pxes.rb +180 -0
  163. data/lib/burn/util/server.rb +21 -0
  164. data/lib/burn/util.rb +4 -0
  165. data/lib/burn/version.rb +3 -0
  166. data/lib/burn/workspace_default/asset/crt0.s +260 -0
  167. data/lib/burn/workspace_default/asset/famitone.s +1031 -0
  168. data/lib/burn/workspace_default/asset/mus_instruments.s +50 -0
  169. data/lib/burn/workspace_default/asset/music.s +3 -0
  170. data/lib/burn/workspace_default/asset/nes.cfg +83 -0
  171. data/lib/burn/workspace_default/asset/neslib.h +213 -0
  172. data/lib/burn/workspace_default/asset/neslib.s +923 -0
  173. data/lib/burn/workspace_default/asset/runtime.lib +0 -0
  174. data/lib/burn/workspace_default/asset/sounds.s +143 -0
  175. data/lib/burn/workspace_default/asset/test.h +22 -0
  176. data/lib/burn/workspace_default/asset/tileset.chr +0 -0
  177. data/lib/burn/workspace_default/release/js/emulator.html +42 -0
  178. data/lib/burn/workspace_default/release/js/js/dynamicaudio-89ba58da476270a9b630.min.js +1 -0
  179. data/lib/burn/workspace_default/release/js/js/jquery-1.4.2.min.js +154 -0
  180. data/lib/burn/workspace_default/release/js/js/jsnes-4e7a7260aa.js +7149 -0
  181. data/lib/burn/workspace_default/release/js/swf/dynamicaudio.swf +0 -0
  182. data/lib/burn/workspace_default/scripts/compile.bat +30 -0
  183. data/lib/burn/workspace_default/scripts/compile.sh +30 -0
  184. data/lib/burn.rb +11 -0
  185. data/test/helper.rb +8 -0
  186. data/test/runner.rb +2 -0
  187. data/test/test_burn.rb +14 -0
  188. data/test/test_dsl.rb +22 -0
  189. data/test/test_pxes.rb +48 -0
  190. metadata +270 -0
@@ -0,0 +1,31 @@
1
+ ;
2
+ ; Oric atmos zeropage and ROM definitions
3
+ ;
4
+
5
+
6
+ ; ---------------------------------------------------------------------------
7
+ ; Zero page
8
+
9
+
10
+
11
+ ; ---------------------------------------------------------------------------
12
+ ; Low memory
13
+
14
+ CAPSLOCK := $20C
15
+ CURS_Y := $268
16
+ CURS_X := $269
17
+ STATUS := $26A
18
+ TIMER3 := $276
19
+ KEYBUF := $2DF
20
+
21
+
22
+ ; ---------------------------------------------------------------------------
23
+ ; ROM entries
24
+
25
+ PRINT := $F77C
26
+
27
+
28
+ ; ---------------------------------------------------------------------------
29
+ ; I/O
30
+
31
+ SCREEN := $BB80
@@ -0,0 +1,213 @@
1
+ ;
2
+ ; C64 generic definitions. Stolen from Elite128
3
+ ;
4
+
5
+
6
+ ; ---------------------------------------------------------------------------
7
+ ; Zero page, Commodore stuff
8
+
9
+ ST := $90 ; IEC status byte
10
+
11
+ TIME := $A0 ; 60HZ clock
12
+ FNAM_LEN := $B7 ; Length of filename
13
+ SECADR := $B9 ; Secondary address
14
+ DEVNUM := $BA ; Device number
15
+ FNAM := $BB ; Address of filename
16
+ FNAM_BANK := $C7 ; Bank for filename
17
+ KEY_COUNT := $D0 ; Number of keys in input buffer
18
+ FKEY_COUNT := $D1 ; Characters for function key
19
+ MODE := $D7 ; 40/80 column mode flag
20
+ CURS_X := $EC ; Cursor column
21
+ CURS_Y := $EB ; Cursor row
22
+ SCREEN_PTR := $E0 ; Pointer to current char in text screen
23
+ CRAM_PTR := $E2 ; Pointer to current char in color RAM
24
+
25
+ CHARCOLOR := $F1
26
+ RVS := $F3 ; Reverse output flag
27
+ SCROLL := $F8 ; Disable scrolling flag
28
+
29
+ BASIC_BUF := $200 ; Location of command-line
30
+ BASIC_BUF_LEN = 162 ; Maximum length of command-line
31
+
32
+ FETCH := $2A2 ; Fetch subroutine in RAM
33
+ FETVEC := $2AA ; Vector patch location for FETCH
34
+ STASH := $2AF ; Stash routine in RAM
35
+ STAVEC := $2B9 ; Vector patch location for STASH
36
+ PALFLAG := $A03 ; $FF=PAL, $00=NTSC
37
+ INIT_STATUS := $A04 ; Flag: Reset/NMI Status
38
+ FKEY_LEN := $1000 ; Function key lengths
39
+ FKEY_TEXT := $100A ; Function key texts
40
+
41
+ ; ---------------------------------------------------------------------------
42
+ ; Kernal routines
43
+
44
+ ; Direct entries
45
+ CURS_SET := $CD57
46
+ CURS_ON := $CD6F
47
+ CURS_OFF := $CD9F
48
+ CLRSCR := $C142
49
+ KBDREAD := $C006
50
+ NEWLINE := $C363
51
+ PRINT := $C322
52
+ NMIEXIT := $FF33
53
+ INDFET := $FF74
54
+
55
+ ; ---------------------------------------------------------------------------
56
+ ; Vectors
57
+
58
+ IRQVec := $0314
59
+ BRKVec := $0316
60
+ NMIVec := $0318
61
+ KeyStoreVec := $033C
62
+
63
+ ; ---------------------------------------------------------------------------
64
+ ; I/O: VIC
65
+
66
+ VIC := $D000
67
+ VIC_SPR0_X := $D000
68
+ VIC_SPR0_Y := $D001
69
+ VIC_SPR1_X := $D002
70
+ VIC_SPR1_Y := $D003
71
+ VIC_SPR2_X := $D004
72
+ VIC_SPR2_Y := $D005
73
+ VIC_SPR3_X := $D006
74
+ VIC_SPR3_Y := $D007
75
+ VIC_SPR4_X := $D008
76
+ VIC_SPR4_Y := $D009
77
+ VIC_SPR5_X := $D00A
78
+ VIC_SPR5_Y := $D00B
79
+ VIC_SPR6_X := $D00C
80
+ VIC_SPR6_Y := $D00D
81
+ VIC_SPR7_X := $D00E
82
+ VIC_SPR7_Y := $D00F
83
+ VIC_SPR_HI_X := $D010
84
+ VIC_SPR_ENA := $D015
85
+ VIC_SPR_EXP_Y := $D017
86
+ VIC_SPR_EXP_X := $D01D
87
+ VIC_SPR_MCOLOR := $D01C
88
+ VIC_SPR_BG_PRIO := $D01B
89
+
90
+ VIC_SPR_MCOLOR0 := $D025
91
+ VIC_SPR_MCOLOR1 := $D026
92
+
93
+ VIC_SPR0_COLOR := $D027
94
+ VIC_SPR1_COLOR := $D028
95
+ VIC_SPR2_COLOR := $D029
96
+ VIC_SPR3_COLOR := $D02A
97
+ VIC_SPR4_COLOR := $D02B
98
+ VIC_SPR5_COLOR := $D02C
99
+ VIC_SPR6_COLOR := $D02D
100
+ VIC_SPR7_COLOR := $D02E
101
+
102
+ VIC_CTRL1 := $D011
103
+ VIC_CTRL2 := $D016
104
+
105
+ VIC_HLINE := $D012
106
+
107
+ VIC_VIDEO_ADR := $D018
108
+
109
+ VIC_IRR := $D019 ; Interrupt request register
110
+ VIC_IMR := $D01A ; Interrupt mask register
111
+
112
+ VIC_BORDERCOLOR := $D020
113
+ VIC_BG_COLOR0 := $D021
114
+ VIC_BG_COLOR1 := $D022
115
+ VIC_BG_COLOR2 := $D023
116
+ VIC_BG_COLOR3 := $D024
117
+
118
+ ; 128 stuff:
119
+ VIC_KBD_128 := $D02F ; Extended kbd bits (visible in 64 mode)
120
+ VIC_CLK_128 := $D030 ; Clock rate register (visible in 64 mode)
121
+
122
+
123
+ ; ---------------------------------------------------------------------------
124
+ ; I/O: SID
125
+
126
+ SID := $D400
127
+ SID_S1Lo := $D400
128
+ SID_S1Hi := $D401
129
+ SID_PB1Lo := $D402
130
+ SID_PB1Hi := $D403
131
+ SID_Ctl1 := $D404
132
+ SID_AD1 := $D405
133
+ SID_SUR1 := $D406
134
+
135
+ SID_S2Lo := $D407
136
+ SID_S2Hi := $D408
137
+ SID_PB2Lo := $D409
138
+ SID_PB2Hi := $D40A
139
+ SID_Ctl2 := $D40B
140
+ SID_AD2 := $D40C
141
+ SID_SUR2 := $D40D
142
+
143
+ SID_S3Lo := $D40E
144
+ SID_S3Hi := $D40F
145
+ SID_PB3Lo := $D410
146
+ SID_PB3Hi := $D411
147
+ SID_Ctl3 := $D412
148
+ SID_AD3 := $D413
149
+ SID_SUR3 := $D414
150
+
151
+ SID_FltLo := $D415
152
+ SID_FltHi := $D416
153
+ SID_FltCtl := $D417
154
+ SID_Amp := $D418
155
+ SID_ADConv1 := $D419
156
+ SID_ADConv2 := $D41A
157
+ SID_Noise := $D41B
158
+ SID_Read3 := $D41C
159
+
160
+ ; ---------------------------------------------------------------------------
161
+ ; I/O: VDC (128 only)
162
+
163
+ VDC_INDEX := $D600
164
+ VDC_DATA := $D601
165
+
166
+ ; ---------------------------------------------------------------------------
167
+ ; I/O: CIAs
168
+
169
+ CIA1 := $DC00
170
+ CIA1_PRA := $DC00
171
+ CIA1_PRB := $DC01
172
+ CIA1_DDRA := $DC02
173
+ CIA1_DDRB := $DC03
174
+ CIA1_TOD10 := $DC08
175
+ CIA1_TODSEC := $DC09
176
+ CIA1_TODMIN := $DC0A
177
+ CIA1_TODHR := $DC0B
178
+ CIA1_ICR := $DC0D
179
+ CIA1_CRA := $DC0E
180
+ CIA1_CRB := $DC0F
181
+
182
+ CIA2 := $DD00
183
+ CIA2_PRA := $DD00
184
+ CIA2_PRB := $DD01
185
+ CIA2_DDRA := $DD02
186
+ CIA2_DDRB := $DD03
187
+ CIA2_TOD10 := $DD08
188
+ CIA2_TODSEC := $DD09
189
+ CIA2_TODMIN := $DD0A
190
+ CIA2_TODHR := $DD0B
191
+ CIA2_ICR := $DD0D
192
+ CIA2_CRA := $DD0E
193
+ CIA2_CRB := $DD0F
194
+
195
+ ; ---------------------------------------------------------------------------
196
+ ; I/O: MMU
197
+
198
+ MMU_CR := $FF00
199
+ MMU_CFG_CC65 := %00001110 ; Bank 0 with kernal ROM
200
+ MMU_CFG_RAM0 := %00111111 ; Bank 0 full RAM
201
+ MMU_CFG_RAM1 := %01111111 ; Bank 1 full RAM
202
+
203
+ ; ---------------------------------------------------------------------------
204
+ ; Super CPU
205
+
206
+ SCPU_VIC_Bank1 := $D075
207
+ SCPU_Slow := $D07A
208
+ SCPU_Fast := $D07B
209
+ SCPU_EnableRegs := $D07E
210
+ SCPU_DisableRegs:= $D07F
211
+ SCPU_Detect := $D0BC
212
+
213
+
@@ -0,0 +1,9 @@
1
+ ;
2
+ ; C16 generic definitions.
3
+ ;
4
+ ; The C16 and Plus/4 are identical, so just include the Plus/4 include file.
5
+
6
+
7
+ .include "plus4.inc"
8
+
9
+
@@ -0,0 +1,212 @@
1
+ ;
2
+ ; C64 generic definitions. Stolen from Elite128
3
+ ;
4
+
5
+
6
+ ; ---------------------------------------------------------------------------
7
+ ; Zero page, Commodore stuff
8
+
9
+ ST := $90 ; IEC status byte
10
+
11
+ TIME := $A0 ; 60 HZ clock
12
+ FNAM_LEN := $B7 ; Length of filename
13
+ SECADR := $B9 ; Secondary address
14
+ DEVNUM := $BA ; Device number
15
+ FNAM := $BB ; Pointer to filename
16
+ KEY_COUNT := $C6 ; Number of keys in input buffer
17
+ RVS := $C7 ; Reverse flag
18
+ CURS_FLAG := $CC ; 1 = cursor off
19
+ CURS_BLINK := $CD ; Blink counter
20
+ CURS_CHAR := $CE ; Character under the cursor
21
+ CURS_STATE := $CF ; Cursor blink state
22
+ SCREEN_PTR := $D1 ; Pointer to current char in text screen
23
+ CURS_X := $D3 ; Cursor column
24
+ CURS_Y := $D6 ; Cursor row
25
+ CRAM_PTR := $F3 ; Pointer to current char in color RAM
26
+
27
+ BASIC_BUF := $200 ; Location of command-line
28
+ BASIC_BUF_LEN = 89 ; Maximum length of command-line
29
+
30
+ CHARCOLOR := $286
31
+ CURS_COLOR := $287 ; Color under the cursor
32
+ PALFLAG := $2A6 ; $01 = PAL, $00 = NTSC
33
+
34
+
35
+ ; ---------------------------------------------------------------------------
36
+ ; Kernal routines
37
+
38
+ ; Direct entries
39
+ CLRSCR := $E544
40
+ KBDREAD := $E5B4
41
+ NMIEXIT := $FEBC
42
+
43
+ ; ---------------------------------------------------------------------------
44
+ ; Vector and other locations
45
+
46
+ IRQVec := $0314
47
+ BRKVec := $0316
48
+ NMIVec := $0318
49
+
50
+ ; ---------------------------------------------------------------------------
51
+ ; Screen size
52
+
53
+ XSIZE = 40
54
+ YSIZE = 25
55
+
56
+ ; ---------------------------------------------------------------------------
57
+ ; I/O: VIC
58
+
59
+ VIC := $D000
60
+ VIC_SPR0_X := $D000
61
+ VIC_SPR0_Y := $D001
62
+ VIC_SPR1_X := $D002
63
+ VIC_SPR1_Y := $D003
64
+ VIC_SPR2_X := $D004
65
+ VIC_SPR2_Y := $D005
66
+ VIC_SPR3_X := $D006
67
+ VIC_SPR3_Y := $D007
68
+ VIC_SPR4_X := $D008
69
+ VIC_SPR4_Y := $D009
70
+ VIC_SPR5_X := $D00A
71
+ VIC_SPR5_Y := $D00B
72
+ VIC_SPR6_X := $D00C
73
+ VIC_SPR6_Y := $D00D
74
+ VIC_SPR7_X := $D00E
75
+ VIC_SPR7_Y := $D00F
76
+ VIC_SPR_HI_X := $D010
77
+ VIC_SPR_ENA := $D015
78
+ VIC_SPR_EXP_Y := $D017
79
+ VIC_SPR_EXP_X := $D01D
80
+ VIC_SPR_MCOLOR := $D01C
81
+ VIC_SPR_BG_PRIO := $D01B
82
+
83
+ VIC_SPR_MCOLOR0 := $D025
84
+ VIC_SPR_MCOLOR1 := $D026
85
+
86
+ VIC_SPR0_COLOR := $D027
87
+ VIC_SPR1_COLOR := $D028
88
+ VIC_SPR2_COLOR := $D029
89
+ VIC_SPR3_COLOR := $D02A
90
+ VIC_SPR4_COLOR := $D02B
91
+ VIC_SPR5_COLOR := $D02C
92
+ VIC_SPR6_COLOR := $D02D
93
+ VIC_SPR7_COLOR := $D02E
94
+
95
+ VIC_CTRL1 := $D011
96
+ VIC_CTRL2 := $D016
97
+
98
+ VIC_HLINE := $D012
99
+
100
+ VIC_VIDEO_ADR := $D018
101
+
102
+ VIC_IRR := $D019 ; Interrupt request register
103
+ VIC_IMR := $D01A ; Interrupt mask register
104
+
105
+ VIC_BORDERCOLOR := $D020
106
+ VIC_BG_COLOR0 := $D021
107
+ VIC_BG_COLOR1 := $D022
108
+ VIC_BG_COLOR2 := $D023
109
+ VIC_BG_COLOR3 := $D024
110
+
111
+ ; 128 stuff:
112
+ VIC_KBD_128 := $D02F ; Extended kbd bits (visible in 64 mode)
113
+ VIC_CLK_128 := $D030 ; Clock rate register (visible in 64 mode)
114
+
115
+
116
+ ; ---------------------------------------------------------------------------
117
+ ; I/O: SID
118
+
119
+ SID := $D400
120
+ SID_S1Lo := $D400
121
+ SID_S1Hi := $D401
122
+ SID_PB1Lo := $D402
123
+ SID_PB1Hi := $D403
124
+ SID_Ctl1 := $D404
125
+ SID_AD1 := $D405
126
+ SID_SUR1 := $D406
127
+
128
+ SID_S2Lo := $D407
129
+ SID_S2Hi := $D408
130
+ SID_PB2Lo := $D409
131
+ SID_PB2Hi := $D40A
132
+ SID_Ctl2 := $D40B
133
+ SID_AD2 := $D40C
134
+ SID_SUR2 := $D40D
135
+
136
+ SID_S3Lo := $D40E
137
+ SID_S3Hi := $D40F
138
+ SID_PB3Lo := $D410
139
+ SID_PB3Hi := $D411
140
+ SID_Ctl3 := $D412
141
+ SID_AD3 := $D413
142
+ SID_SUR3 := $D414
143
+
144
+ SID_FltLo := $D415
145
+ SID_FltHi := $D416
146
+ SID_FltCtl := $D417
147
+ SID_Amp := $D418
148
+ SID_ADConv1 := $D419
149
+ SID_ADConv2 := $D41A
150
+ SID_Noise := $D41B
151
+ SID_Read3 := $D41C
152
+
153
+ ; ---------------------------------------------------------------------------
154
+ ; I/O: VDC (128 only)
155
+
156
+ VDC_INDEX := $D600
157
+ VDC_DATA := $D601
158
+
159
+ ; ---------------------------------------------------------------------------
160
+ ; I/O: CIAs
161
+
162
+ CIA1 := $DC00
163
+ CIA1_PRA := $DC00
164
+ CIA1_PRB := $DC01
165
+ CIA1_DDRA := $DC02
166
+ CIA1_DDRB := $DC03
167
+ CIA1_TOD10 := $DC08
168
+ CIA1_TODSEC := $DC09
169
+ CIA1_TODMIN := $DC0A
170
+ CIA1_TODHR := $DC0B
171
+ CIA1_ICR := $DC0D
172
+ CIA1_CRA := $DC0E
173
+ CIA1_CRB := $DC0F
174
+
175
+ CIA2 := $DD00
176
+ CIA2_PRA := $DD00
177
+ CIA2_PRB := $DD01
178
+ CIA2_DDRA := $DD02
179
+ CIA2_DDRB := $DD03
180
+ CIA2_TOD10 := $DD08
181
+ CIA2_TODSEC := $DD09
182
+ CIA2_TODMIN := $DD0A
183
+ CIA2_TODHR := $DD0B
184
+ CIA2_ICR := $DD0D
185
+ CIA2_CRA := $DD0E
186
+ CIA2_CRB := $DD0F
187
+
188
+ ; ---------------------------------------------------------------------------
189
+ ; Super CPU
190
+
191
+ SCPU_VIC_Bank1 := $D075
192
+ SCPU_Slow := $D07A
193
+ SCPU_Fast := $D07B
194
+ SCPU_EnableRegs := $D07E
195
+ SCPU_DisableRegs:= $D07F
196
+ SCPU_Detect := $D0BC
197
+
198
+
199
+ ; ---------------------------------------------------------------------------
200
+ ; Processor Port at $01
201
+
202
+ LORAM = $01 ; Enable the basic rom
203
+ HIRAM = $02 ; Enable the kernal rom
204
+ IOEN = $04 ; Enable I/O
205
+ CASSDATA = $08 ; Cassette data
206
+ CASSPLAY = $10 ; Cassette: Play
207
+ CASSMOT = $20 ; Cassette motor on
208
+ TP_FAST = $80 ; Switch Rossmoeller TurboProcess to fast mode
209
+
210
+ RAMONLY = $F8 ; (~(LORAM | HIRAM | IOEN)) & $FF
211
+
212
+
@@ -0,0 +1,182 @@
1
+ ;
2
+ ; Zero page variables and I/O definitions for the CBM 510
3
+ ;
4
+ ; Taken from a kernal disassembly done by myself in 2000/2001.
5
+ ;
6
+ ; Ullrich von Bassewitz, 13.09.2001
7
+
8
+
9
+ ;-----------------------------------------------------------------------------
10
+ ; Zeropage stuff
11
+
12
+ ExecReg = $00
13
+ IndReg = $01
14
+
15
+ ; ---------------------------------------------------------------------------
16
+ ; Screen size
17
+
18
+ XSIZE = 40
19
+ YSIZE = 25
20
+
21
+ ;-----------------------------------------------------------------------------
22
+ ; I/O Definitions
23
+
24
+ ; I/O $d800: VIC
25
+
26
+ VIC_SPR0_X = $00
27
+ VIC_SPR0_Y = $01
28
+ VIC_SPR1_X = $02
29
+ VIC_SPR1_Y = $03
30
+ VIC_SPR2_X = $04
31
+ VIC_SPR2_Y = $05
32
+ VIC_SPR3_X = $06
33
+ VIC_SPR3_Y = $07
34
+ VIC_SPR4_X = $08
35
+ VIC_SPR4_Y = $09
36
+ VIC_SPR5_X = $0A
37
+ VIC_SPR5_Y = $0B
38
+ VIC_SPR6_X = $0C
39
+ VIC_SPR6_Y = $0D
40
+ VIC_SPR7_X = $0E
41
+ VIC_SPR7_Y = $0F
42
+ VIC_SPR_HI_X = $10
43
+ VIC_SPR_ENA = $15
44
+ VIC_SPR_EXP_Y = $17
45
+ VIC_SPR_EXP_X = $1D
46
+ VIC_SPR_MCOLOR = $1C
47
+ VIC_SPR_BG_PRIO = $1B
48
+
49
+ VIC_SPR_MCOLOR0 = $25
50
+ VIC_SPR_MCOLOR1 = $26
51
+
52
+ VIC_SPR0_COLOR = $27
53
+ VIC_SPR1_COLOR = $28
54
+ VIC_SPR2_COLOR = $29
55
+ VIC_SPR3_COLOR = $2A
56
+ VIC_SPR4_COLOR = $2B
57
+ VIC_SPR5_COLOR = $2C
58
+ VIC_SPR6_COLOR = $2D
59
+ VIC_SPR7_COLOR = $2E
60
+
61
+ VIC_CTRL1 = $11
62
+ VIC_CTRL2 = $16
63
+
64
+ VIC_HLINE = $12
65
+
66
+ VIC_VIDEO_ADR = $18
67
+
68
+ VIC_IRR = $19 ; Interrupt request register
69
+ VIC_IMR = $1A ; Interrupt mask register
70
+
71
+ VIC_BORDERCOLOR = $20
72
+ VIC_BG_COLOR0 = $21
73
+ VIC_BG_COLOR1 = $22
74
+ VIC_BG_COLOR2 = $23
75
+ VIC_BG_COLOR3 = $24
76
+
77
+
78
+
79
+ ; I/O $da00: SID 6581
80
+
81
+ SID_S1Lo = $00
82
+ SID_S1Hi = $01
83
+ SID_PB1Lo = $02
84
+ SID_PB1Hi = $03
85
+ SID_Ctl1 = $04
86
+ SID_AD1 = $05
87
+ SID_SUR1 = $06
88
+
89
+ SID_S2Lo = $07
90
+ SID_S2Hi = $08
91
+ SID_PB2Lo = $09
92
+ SID_PB2Hi = $0A
93
+ SID_Ctl2 = $0B
94
+ SID_AD2 = $0C
95
+ SID_SUR2 = $0D
96
+
97
+ SID_S3Lo = $0E
98
+ SID_S3Hi = $0F
99
+ SID_PB3Lo = $10
100
+ SID_PB3Hi = $11
101
+ SID_Ctl3 = $12
102
+ SID_AD3 = $13
103
+ SID_SUR3 = $14
104
+
105
+ SID_FltLo = $15
106
+ SID_FltHi = $16
107
+ SID_FltCtl = $17
108
+ SID_Amp = $18
109
+ SID_ADConv1 = $19
110
+ SID_ADConv2 = $1A
111
+ SID_Noise = $1B
112
+ SID_Read3 = $1C
113
+
114
+
115
+ ; I/O $db00: CIA 6526 Inter Process Communication
116
+ ; I/O $dc00: CIA 6526
117
+
118
+ .struct CIA
119
+ PRA .byte
120
+ PRB .byte
121
+ DDRA .byte
122
+ DDRB .byte
123
+ .union
124
+ .struct
125
+ TALO .byte
126
+ TAHI .byte
127
+ .endstruct
128
+ TA .word
129
+ .endunion
130
+ .union
131
+ .struct
132
+ TBLO .byte
133
+ TBHI .byte
134
+ .endstruct
135
+ TB .word
136
+ .endunion
137
+ TOD10 .byte
138
+ TODSEC .byte
139
+ TODMIN .byte
140
+ TODHR .byte
141
+ SDR .byte
142
+ ICR .byte
143
+ CRA .byte
144
+ CRB .byte
145
+ .endstruct
146
+
147
+
148
+ ; I/O $dd00: ACIA 6551
149
+
150
+ .struct ACIA
151
+ DATA .byte
152
+ STATUS .byte
153
+ CMD .byte
154
+ CTRL .BYTE
155
+ .endstruct
156
+
157
+
158
+ ; I/O $de00: Triport #1 6525
159
+ ; I/O $df00: Triport #2 6525
160
+
161
+ .struct TPI
162
+ PRA .byte
163
+ PRB .byte
164
+ .union
165
+ PRC .byte
166
+ INT .byte
167
+ .endunion
168
+ DDRA .byte
169
+ DDRB .byte
170
+ .union
171
+ DDRC .byte
172
+ IMR .byte
173
+ .endunion
174
+ CR .byte
175
+ AIR .byte
176
+ .endstruct
177
+
178
+
179
+ ; Out video memory address
180
+
181
+ COLOR_RAM = $D400 ; System bank
182
+