burn 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +621 -0
- data/README.md +467 -0
- data/Rakefile +1 -0
- data/bin/burn +14 -0
- data/lib/burn/builder.rb +65 -0
- data/lib/burn/cli.rb +187 -0
- data/lib/burn/debug.rb +25 -0
- data/lib/burn/dsl/channel_stream.rb +105 -0
- data/lib/burn/dsl/declare.rb +42 -0
- data/lib/burn/dsl/dsl_base.rb +31 -0
- data/lib/burn/dsl/music.rb +36 -0
- data/lib/burn/dsl/note.rb +125 -0
- data/lib/burn/dsl/scene.rb +278 -0
- data/lib/burn/dsl/sound.rb +30 -0
- data/lib/burn/dsl/sound_effect.rb +91 -0
- data/lib/burn/dsl.rb +8 -0
- data/lib/burn/generator/assembly_music.rb +47 -0
- data/lib/burn/generator/assembly_sound_effect.rb +33 -0
- data/lib/burn/generator/c_source.rb +54 -0
- data/lib/burn/generator/template/mus_template.s +49 -0
- data/lib/burn/generator/template/template.c +88 -0
- data/lib/burn/generator.rb +3 -0
- data/lib/burn/tools/mac/cc65/asminc/_file.inc +27 -0
- data/lib/burn/tools/mac/cc65/asminc/_heap.inc +35 -0
- data/lib/burn/tools/mac/cc65/asminc/apple2.inc +64 -0
- data/lib/burn/tools/mac/cc65/asminc/atari.inc +1175 -0
- data/lib/burn/tools/mac/cc65/asminc/atari.mac +59 -0
- data/lib/burn/tools/mac/cc65/asminc/atmos.inc +110 -0
- data/lib/burn/tools/mac/cc65/asminc/c128.inc +214 -0
- data/lib/burn/tools/mac/cc65/asminc/c16.inc +9 -0
- data/lib/burn/tools/mac/cc65/asminc/c64.inc +212 -0
- data/lib/burn/tools/mac/cc65/asminc/cbm.mac +50 -0
- data/lib/burn/tools/mac/cc65/asminc/cbm510.inc +182 -0
- data/lib/burn/tools/mac/cc65/asminc/cbm610.inc +110 -0
- data/lib/burn/tools/mac/cc65/asminc/cbm_filetype.inc +34 -0
- data/lib/burn/tools/mac/cc65/asminc/cpu.mac +24 -0
- data/lib/burn/tools/mac/cc65/asminc/ctype.inc +29 -0
- data/lib/burn/tools/mac/cc65/asminc/em-error.inc +49 -0
- data/lib/burn/tools/mac/cc65/asminc/em-kernel.inc +106 -0
- data/lib/burn/tools/mac/cc65/asminc/errno.inc +36 -0
- data/lib/burn/tools/mac/cc65/asminc/fcntl.inc +21 -0
- data/lib/burn/tools/mac/cc65/asminc/generic.mac +55 -0
- data/lib/burn/tools/mac/cc65/asminc/get_tv.inc +22 -0
- data/lib/burn/tools/mac/cc65/asminc/joy-error.inc +44 -0
- data/lib/burn/tools/mac/cc65/asminc/joy-kernel.inc +85 -0
- data/lib/burn/tools/mac/cc65/asminc/longbranch.mac +88 -0
- data/lib/burn/tools/mac/cc65/asminc/lynx.inc +279 -0
- data/lib/burn/tools/mac/cc65/asminc/modload.inc +78 -0
- data/lib/burn/tools/mac/cc65/asminc/mouse-kernel.inc +180 -0
- data/lib/burn/tools/mac/cc65/asminc/nes.inc +93 -0
- data/lib/burn/tools/mac/cc65/asminc/o65.inc +150 -0
- data/lib/burn/tools/mac/cc65/asminc/opcodes.inc +509 -0
- data/lib/burn/tools/mac/cc65/asminc/pet.inc +54 -0
- data/lib/burn/tools/mac/cc65/asminc/plus4.inc +86 -0
- data/lib/burn/tools/mac/cc65/asminc/ser-error.inc +54 -0
- data/lib/burn/tools/mac/cc65/asminc/ser-kernel.inc +162 -0
- data/lib/burn/tools/mac/cc65/asminc/signal.inc +57 -0
- data/lib/burn/tools/mac/cc65/asminc/smc.inc +245 -0
- data/lib/burn/tools/mac/cc65/asminc/stdio.inc +70 -0
- data/lib/burn/tools/mac/cc65/asminc/supervision.inc +76 -0
- data/lib/burn/tools/mac/cc65/asminc/tgi-error.inc +52 -0
- data/lib/burn/tools/mac/cc65/asminc/tgi-kernel.inc +234 -0
- data/lib/burn/tools/mac/cc65/asminc/tgi-vectorfont.inc +70 -0
- data/lib/burn/tools/mac/cc65/asminc/time.inc +59 -0
- data/lib/burn/tools/mac/cc65/asminc/utsname.inc +46 -0
- data/lib/burn/tools/mac/cc65/asminc/vic20.inc +75 -0
- data/lib/burn/tools/mac/cc65/asminc/zeropage.inc +26 -0
- data/lib/burn/tools/mac/cc65/bin/ca65 +0 -0
- data/lib/burn/tools/mac/cc65/bin/cc65 +0 -0
- data/lib/burn/tools/mac/cc65/bin/ld65 +0 -0
- data/lib/burn/tools/other/cc65/asminc/_file.inc +27 -0
- data/lib/burn/tools/other/cc65/asminc/_heap.inc +35 -0
- data/lib/burn/tools/other/cc65/asminc/apple2.inc +64 -0
- data/lib/burn/tools/other/cc65/asminc/atari.inc +1175 -0
- data/lib/burn/tools/other/cc65/asminc/atari.mac +59 -0
- data/lib/burn/tools/other/cc65/asminc/atmos.inc +110 -0
- data/lib/burn/tools/other/cc65/asminc/c128.inc +214 -0
- data/lib/burn/tools/other/cc65/asminc/c16.inc +9 -0
- data/lib/burn/tools/other/cc65/asminc/c64.inc +212 -0
- data/lib/burn/tools/other/cc65/asminc/cbm.mac +50 -0
- data/lib/burn/tools/other/cc65/asminc/cbm510.inc +182 -0
- data/lib/burn/tools/other/cc65/asminc/cbm610.inc +110 -0
- data/lib/burn/tools/other/cc65/asminc/cbm_filetype.inc +34 -0
- data/lib/burn/tools/other/cc65/asminc/cpu.mac +24 -0
- data/lib/burn/tools/other/cc65/asminc/ctype.inc +29 -0
- data/lib/burn/tools/other/cc65/asminc/em-error.inc +49 -0
- data/lib/burn/tools/other/cc65/asminc/em-kernel.inc +106 -0
- data/lib/burn/tools/other/cc65/asminc/errno.inc +36 -0
- data/lib/burn/tools/other/cc65/asminc/fcntl.inc +21 -0
- data/lib/burn/tools/other/cc65/asminc/generic.mac +55 -0
- data/lib/burn/tools/other/cc65/asminc/get_tv.inc +22 -0
- data/lib/burn/tools/other/cc65/asminc/joy-error.inc +44 -0
- data/lib/burn/tools/other/cc65/asminc/joy-kernel.inc +85 -0
- data/lib/burn/tools/other/cc65/asminc/longbranch.mac +88 -0
- data/lib/burn/tools/other/cc65/asminc/lynx.inc +279 -0
- data/lib/burn/tools/other/cc65/asminc/modload.inc +78 -0
- data/lib/burn/tools/other/cc65/asminc/mouse-kernel.inc +180 -0
- data/lib/burn/tools/other/cc65/asminc/nes.inc +93 -0
- data/lib/burn/tools/other/cc65/asminc/o65.inc +150 -0
- data/lib/burn/tools/other/cc65/asminc/opcodes.inc +509 -0
- data/lib/burn/tools/other/cc65/asminc/pet.inc +54 -0
- data/lib/burn/tools/other/cc65/asminc/plus4.inc +86 -0
- data/lib/burn/tools/other/cc65/asminc/ser-error.inc +54 -0
- data/lib/burn/tools/other/cc65/asminc/ser-kernel.inc +162 -0
- data/lib/burn/tools/other/cc65/asminc/signal.inc +57 -0
- data/lib/burn/tools/other/cc65/asminc/smc.inc +245 -0
- data/lib/burn/tools/other/cc65/asminc/stdio.inc +70 -0
- data/lib/burn/tools/other/cc65/asminc/supervision.inc +76 -0
- data/lib/burn/tools/other/cc65/asminc/tgi-error.inc +52 -0
- data/lib/burn/tools/other/cc65/asminc/tgi-kernel.inc +234 -0
- data/lib/burn/tools/other/cc65/asminc/tgi-vectorfont.inc +70 -0
- data/lib/burn/tools/other/cc65/asminc/time.inc +59 -0
- data/lib/burn/tools/other/cc65/asminc/utsname.inc +46 -0
- data/lib/burn/tools/other/cc65/asminc/vic20.inc +75 -0
- data/lib/burn/tools/other/cc65/asminc/zeropage.inc +26 -0
- data/lib/burn/tools/other/cc65/bin/ca65 +0 -0
- data/lib/burn/tools/other/cc65/bin/cc65 +0 -0
- data/lib/burn/tools/other/cc65/bin/ld65 +0 -0
- data/lib/burn/tools/win/cc65/asminc/_file.inc +27 -0
- data/lib/burn/tools/win/cc65/asminc/_heap.inc +35 -0
- data/lib/burn/tools/win/cc65/asminc/apple2.inc +64 -0
- data/lib/burn/tools/win/cc65/asminc/atari.inc +1101 -0
- data/lib/burn/tools/win/cc65/asminc/atmos.inc +31 -0
- data/lib/burn/tools/win/cc65/asminc/c128.inc +213 -0
- data/lib/burn/tools/win/cc65/asminc/c16.inc +9 -0
- data/lib/burn/tools/win/cc65/asminc/c64.inc +212 -0
- data/lib/burn/tools/win/cc65/asminc/cbm510.inc +182 -0
- data/lib/burn/tools/win/cc65/asminc/cbm610.inc +110 -0
- data/lib/burn/tools/win/cc65/asminc/ctype.inc +29 -0
- data/lib/burn/tools/win/cc65/asminc/em-error.inc +44 -0
- data/lib/burn/tools/win/cc65/asminc/em-kernel.inc +100 -0
- data/lib/burn/tools/win/cc65/asminc/errno.inc +36 -0
- data/lib/burn/tools/win/cc65/asminc/fcntl.inc +21 -0
- data/lib/burn/tools/win/cc65/asminc/get_tv.inc +22 -0
- data/lib/burn/tools/win/cc65/asminc/joy-error.inc +44 -0
- data/lib/burn/tools/win/cc65/asminc/joy-kernel.inc +85 -0
- data/lib/burn/tools/win/cc65/asminc/lynx.inc +273 -0
- data/lib/burn/tools/win/cc65/asminc/modload.inc +78 -0
- data/lib/burn/tools/win/cc65/asminc/mouse-kernel.inc +179 -0
- data/lib/burn/tools/win/cc65/asminc/nes.inc +93 -0
- data/lib/burn/tools/win/cc65/asminc/o65.inc +135 -0
- data/lib/burn/tools/win/cc65/asminc/pet.inc +45 -0
- data/lib/burn/tools/win/cc65/asminc/plus4.inc +87 -0
- data/lib/burn/tools/win/cc65/asminc/rs232.inc +19 -0
- data/lib/burn/tools/win/cc65/asminc/ser-error.inc +50 -0
- data/lib/burn/tools/win/cc65/asminc/ser-kernel.inc +161 -0
- data/lib/burn/tools/win/cc65/asminc/signal.inc +57 -0
- data/lib/burn/tools/win/cc65/asminc/stdio.inc +70 -0
- data/lib/burn/tools/win/cc65/asminc/supervision.inc +76 -0
- data/lib/burn/tools/win/cc65/asminc/tgi-error.inc +48 -0
- data/lib/burn/tools/win/cc65/asminc/tgi-kernel.inc +183 -0
- data/lib/burn/tools/win/cc65/asminc/tgi-mode.inc +48 -0
- data/lib/burn/tools/win/cc65/asminc/time.inc +59 -0
- data/lib/burn/tools/win/cc65/asminc/utsname.inc +46 -0
- data/lib/burn/tools/win/cc65/asminc/vic20.inc +77 -0
- data/lib/burn/tools/win/cc65/asminc/zeropage.inc +22 -0
- data/lib/burn/tools/win/cc65/bin/ca65.exe +0 -0
- data/lib/burn/tools/win/cc65/bin/cc65.exe +0 -0
- data/lib/burn/tools/win/cc65/bin/ld65.exe +0 -0
- data/lib/burn/util/os.rb +38 -0
- data/lib/burn/util/patternizer.rb +62 -0
- data/lib/burn/util/pxes.rb +180 -0
- data/lib/burn/util/server.rb +21 -0
- data/lib/burn/util.rb +4 -0
- data/lib/burn/version.rb +3 -0
- data/lib/burn/workspace_default/asset/crt0.s +260 -0
- data/lib/burn/workspace_default/asset/famitone.s +1031 -0
- data/lib/burn/workspace_default/asset/mus_instruments.s +50 -0
- data/lib/burn/workspace_default/asset/music.s +3 -0
- data/lib/burn/workspace_default/asset/nes.cfg +83 -0
- data/lib/burn/workspace_default/asset/neslib.h +213 -0
- data/lib/burn/workspace_default/asset/neslib.s +923 -0
- data/lib/burn/workspace_default/asset/runtime.lib +0 -0
- data/lib/burn/workspace_default/asset/sounds.s +143 -0
- data/lib/burn/workspace_default/asset/test.h +22 -0
- data/lib/burn/workspace_default/asset/tileset.chr +0 -0
- data/lib/burn/workspace_default/release/js/emulator.html +42 -0
- data/lib/burn/workspace_default/release/js/js/dynamicaudio-89ba58da476270a9b630.min.js +1 -0
- data/lib/burn/workspace_default/release/js/js/jquery-1.4.2.min.js +154 -0
- data/lib/burn/workspace_default/release/js/js/jsnes-4e7a7260aa.js +7149 -0
- data/lib/burn/workspace_default/release/js/swf/dynamicaudio.swf +0 -0
- data/lib/burn/workspace_default/scripts/compile.bat +30 -0
- data/lib/burn/workspace_default/scripts/compile.sh +30 -0
- data/lib/burn.rb +11 -0
- data/test/helper.rb +8 -0
- data/test/runner.rb +2 -0
- data/test/test_burn.rb +14 -0
- data/test/test_dsl.rb +22 -0
- data/test/test_pxes.rb +48 -0
- 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,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
|
+
|