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.
- data/README.md +59 -12
- data/lib/burn/cli.rb +25 -5
- data/lib/burn/generator/assembly_music.rb +1 -1
- data/lib/burn/tools/mac.tar.gz +0 -0
- data/lib/burn/tools/make_exec.sh +4 -0
- data/lib/burn/tools/other.tar.gz +0 -0
- data/lib/burn/tools/src.tar.gz +0 -0
- data/lib/burn/tools/win.tar.gz +0 -0
- data/lib/burn/tools/workspace_default.tar.gz +0 -0
- data/lib/burn/util/unpack.rb +11 -0
- data/lib/burn/util.rb +2 -1
- data/lib/burn/version.rb +1 -1
- data/lib/burn.rb +2 -0
- metadata +25 -157
- data/lib/burn/tools/mac/cc65/asminc/_file.inc +0 -27
- data/lib/burn/tools/mac/cc65/asminc/_heap.inc +0 -35
- data/lib/burn/tools/mac/cc65/asminc/apple2.inc +0 -64
- data/lib/burn/tools/mac/cc65/asminc/atari.inc +0 -1175
- data/lib/burn/tools/mac/cc65/asminc/atari.mac +0 -59
- data/lib/burn/tools/mac/cc65/asminc/atmos.inc +0 -110
- data/lib/burn/tools/mac/cc65/asminc/c128.inc +0 -214
- data/lib/burn/tools/mac/cc65/asminc/c16.inc +0 -9
- data/lib/burn/tools/mac/cc65/asminc/c64.inc +0 -212
- data/lib/burn/tools/mac/cc65/asminc/cbm.mac +0 -50
- data/lib/burn/tools/mac/cc65/asminc/cbm510.inc +0 -182
- data/lib/burn/tools/mac/cc65/asminc/cbm610.inc +0 -110
- data/lib/burn/tools/mac/cc65/asminc/cbm_filetype.inc +0 -34
- data/lib/burn/tools/mac/cc65/asminc/cpu.mac +0 -24
- data/lib/burn/tools/mac/cc65/asminc/ctype.inc +0 -29
- data/lib/burn/tools/mac/cc65/asminc/em-error.inc +0 -49
- data/lib/burn/tools/mac/cc65/asminc/em-kernel.inc +0 -106
- data/lib/burn/tools/mac/cc65/asminc/errno.inc +0 -36
- data/lib/burn/tools/mac/cc65/asminc/fcntl.inc +0 -21
- data/lib/burn/tools/mac/cc65/asminc/generic.mac +0 -55
- data/lib/burn/tools/mac/cc65/asminc/get_tv.inc +0 -22
- data/lib/burn/tools/mac/cc65/asminc/joy-error.inc +0 -44
- data/lib/burn/tools/mac/cc65/asminc/joy-kernel.inc +0 -85
- data/lib/burn/tools/mac/cc65/asminc/longbranch.mac +0 -88
- data/lib/burn/tools/mac/cc65/asminc/lynx.inc +0 -279
- data/lib/burn/tools/mac/cc65/asminc/modload.inc +0 -78
- data/lib/burn/tools/mac/cc65/asminc/mouse-kernel.inc +0 -180
- data/lib/burn/tools/mac/cc65/asminc/nes.inc +0 -93
- data/lib/burn/tools/mac/cc65/asminc/o65.inc +0 -150
- data/lib/burn/tools/mac/cc65/asminc/opcodes.inc +0 -509
- data/lib/burn/tools/mac/cc65/asminc/pet.inc +0 -54
- data/lib/burn/tools/mac/cc65/asminc/plus4.inc +0 -86
- data/lib/burn/tools/mac/cc65/asminc/ser-error.inc +0 -54
- data/lib/burn/tools/mac/cc65/asminc/ser-kernel.inc +0 -162
- data/lib/burn/tools/mac/cc65/asminc/signal.inc +0 -57
- data/lib/burn/tools/mac/cc65/asminc/smc.inc +0 -245
- data/lib/burn/tools/mac/cc65/asminc/stdio.inc +0 -70
- data/lib/burn/tools/mac/cc65/asminc/supervision.inc +0 -76
- data/lib/burn/tools/mac/cc65/asminc/tgi-error.inc +0 -52
- data/lib/burn/tools/mac/cc65/asminc/tgi-kernel.inc +0 -234
- data/lib/burn/tools/mac/cc65/asminc/tgi-vectorfont.inc +0 -70
- data/lib/burn/tools/mac/cc65/asminc/time.inc +0 -59
- data/lib/burn/tools/mac/cc65/asminc/utsname.inc +0 -46
- data/lib/burn/tools/mac/cc65/asminc/vic20.inc +0 -75
- data/lib/burn/tools/mac/cc65/asminc/zeropage.inc +0 -26
- 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 +0 -27
- data/lib/burn/tools/other/cc65/asminc/_heap.inc +0 -35
- data/lib/burn/tools/other/cc65/asminc/apple2.inc +0 -64
- data/lib/burn/tools/other/cc65/asminc/atari.inc +0 -1175
- data/lib/burn/tools/other/cc65/asminc/atari.mac +0 -59
- data/lib/burn/tools/other/cc65/asminc/atmos.inc +0 -110
- data/lib/burn/tools/other/cc65/asminc/c128.inc +0 -214
- data/lib/burn/tools/other/cc65/asminc/c16.inc +0 -9
- data/lib/burn/tools/other/cc65/asminc/c64.inc +0 -212
- data/lib/burn/tools/other/cc65/asminc/cbm.mac +0 -50
- data/lib/burn/tools/other/cc65/asminc/cbm510.inc +0 -182
- data/lib/burn/tools/other/cc65/asminc/cbm610.inc +0 -110
- data/lib/burn/tools/other/cc65/asminc/cbm_filetype.inc +0 -34
- data/lib/burn/tools/other/cc65/asminc/cpu.mac +0 -24
- data/lib/burn/tools/other/cc65/asminc/ctype.inc +0 -29
- data/lib/burn/tools/other/cc65/asminc/em-error.inc +0 -49
- data/lib/burn/tools/other/cc65/asminc/em-kernel.inc +0 -106
- data/lib/burn/tools/other/cc65/asminc/errno.inc +0 -36
- data/lib/burn/tools/other/cc65/asminc/fcntl.inc +0 -21
- data/lib/burn/tools/other/cc65/asminc/generic.mac +0 -55
- data/lib/burn/tools/other/cc65/asminc/get_tv.inc +0 -22
- data/lib/burn/tools/other/cc65/asminc/joy-error.inc +0 -44
- data/lib/burn/tools/other/cc65/asminc/joy-kernel.inc +0 -85
- data/lib/burn/tools/other/cc65/asminc/longbranch.mac +0 -88
- data/lib/burn/tools/other/cc65/asminc/lynx.inc +0 -279
- data/lib/burn/tools/other/cc65/asminc/modload.inc +0 -78
- data/lib/burn/tools/other/cc65/asminc/mouse-kernel.inc +0 -180
- data/lib/burn/tools/other/cc65/asminc/nes.inc +0 -93
- data/lib/burn/tools/other/cc65/asminc/o65.inc +0 -150
- data/lib/burn/tools/other/cc65/asminc/opcodes.inc +0 -509
- data/lib/burn/tools/other/cc65/asminc/pet.inc +0 -54
- data/lib/burn/tools/other/cc65/asminc/plus4.inc +0 -86
- data/lib/burn/tools/other/cc65/asminc/ser-error.inc +0 -54
- data/lib/burn/tools/other/cc65/asminc/ser-kernel.inc +0 -162
- data/lib/burn/tools/other/cc65/asminc/signal.inc +0 -57
- data/lib/burn/tools/other/cc65/asminc/smc.inc +0 -245
- data/lib/burn/tools/other/cc65/asminc/stdio.inc +0 -70
- data/lib/burn/tools/other/cc65/asminc/supervision.inc +0 -76
- data/lib/burn/tools/other/cc65/asminc/tgi-error.inc +0 -52
- data/lib/burn/tools/other/cc65/asminc/tgi-kernel.inc +0 -234
- data/lib/burn/tools/other/cc65/asminc/tgi-vectorfont.inc +0 -70
- data/lib/burn/tools/other/cc65/asminc/time.inc +0 -59
- data/lib/burn/tools/other/cc65/asminc/utsname.inc +0 -46
- data/lib/burn/tools/other/cc65/asminc/vic20.inc +0 -75
- data/lib/burn/tools/other/cc65/asminc/zeropage.inc +0 -26
- 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 +0 -27
- data/lib/burn/tools/win/cc65/asminc/_heap.inc +0 -35
- data/lib/burn/tools/win/cc65/asminc/apple2.inc +0 -64
- data/lib/burn/tools/win/cc65/asminc/atari.inc +0 -1101
- data/lib/burn/tools/win/cc65/asminc/atmos.inc +0 -31
- data/lib/burn/tools/win/cc65/asminc/c128.inc +0 -213
- data/lib/burn/tools/win/cc65/asminc/c16.inc +0 -9
- data/lib/burn/tools/win/cc65/asminc/c64.inc +0 -212
- data/lib/burn/tools/win/cc65/asminc/cbm510.inc +0 -182
- data/lib/burn/tools/win/cc65/asminc/cbm610.inc +0 -110
- data/lib/burn/tools/win/cc65/asminc/ctype.inc +0 -29
- data/lib/burn/tools/win/cc65/asminc/em-error.inc +0 -44
- data/lib/burn/tools/win/cc65/asminc/em-kernel.inc +0 -100
- data/lib/burn/tools/win/cc65/asminc/errno.inc +0 -36
- data/lib/burn/tools/win/cc65/asminc/fcntl.inc +0 -21
- data/lib/burn/tools/win/cc65/asminc/get_tv.inc +0 -22
- data/lib/burn/tools/win/cc65/asminc/joy-error.inc +0 -44
- data/lib/burn/tools/win/cc65/asminc/joy-kernel.inc +0 -85
- data/lib/burn/tools/win/cc65/asminc/lynx.inc +0 -273
- data/lib/burn/tools/win/cc65/asminc/modload.inc +0 -78
- data/lib/burn/tools/win/cc65/asminc/mouse-kernel.inc +0 -179
- data/lib/burn/tools/win/cc65/asminc/nes.inc +0 -93
- data/lib/burn/tools/win/cc65/asminc/o65.inc +0 -135
- data/lib/burn/tools/win/cc65/asminc/pet.inc +0 -45
- data/lib/burn/tools/win/cc65/asminc/plus4.inc +0 -87
- data/lib/burn/tools/win/cc65/asminc/rs232.inc +0 -19
- data/lib/burn/tools/win/cc65/asminc/ser-error.inc +0 -50
- data/lib/burn/tools/win/cc65/asminc/ser-kernel.inc +0 -161
- data/lib/burn/tools/win/cc65/asminc/signal.inc +0 -57
- data/lib/burn/tools/win/cc65/asminc/stdio.inc +0 -70
- data/lib/burn/tools/win/cc65/asminc/supervision.inc +0 -76
- data/lib/burn/tools/win/cc65/asminc/tgi-error.inc +0 -48
- data/lib/burn/tools/win/cc65/asminc/tgi-kernel.inc +0 -183
- data/lib/burn/tools/win/cc65/asminc/tgi-mode.inc +0 -48
- data/lib/burn/tools/win/cc65/asminc/time.inc +0 -59
- data/lib/burn/tools/win/cc65/asminc/utsname.inc +0 -46
- data/lib/burn/tools/win/cc65/asminc/vic20.inc +0 -77
- data/lib/burn/tools/win/cc65/asminc/zeropage.inc +0 -22
- 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/workspace_default/asset/crt0.s +0 -260
- data/lib/burn/workspace_default/asset/famitone.s +0 -1031
- data/lib/burn/workspace_default/asset/mus_instruments.s +0 -50
- data/lib/burn/workspace_default/asset/music.s +0 -3
- data/lib/burn/workspace_default/asset/nes.cfg +0 -83
- data/lib/burn/workspace_default/asset/neslib.h +0 -213
- data/lib/burn/workspace_default/asset/neslib.s +0 -923
- data/lib/burn/workspace_default/asset/runtime.lib +0 -0
- data/lib/burn/workspace_default/asset/sounds.s +0 -143
- data/lib/burn/workspace_default/asset/test.h +0 -22
- data/lib/burn/workspace_default/asset/tileset.chr +0 -0
- data/lib/burn/workspace_default/release/js/emulator.html +0 -42
- data/lib/burn/workspace_default/release/js/js/dynamicaudio-89ba58da476270a9b630.min.js +0 -1
- data/lib/burn/workspace_default/release/js/js/jquery-1.4.2.min.js +0 -154
- data/lib/burn/workspace_default/release/js/js/jsnes-4e7a7260aa.js +0 -7149
- data/lib/burn/workspace_default/release/js/swf/dynamicaudio.swf +0 -0
- data/lib/burn/workspace_default/scripts/compile.bat +0 -30
- data/lib/burn/workspace_default/scripts/compile.sh +0 -30
@@ -1,59 +0,0 @@
|
|
1
|
-
; Convert characters to screen codes
|
2
|
-
|
3
|
-
; Helper macro that converts and outputs one character
|
4
|
-
.macro _scrcode char
|
5
|
-
.if (char >= 0) .and (char <= 31)
|
6
|
-
.byte (char + 64)
|
7
|
-
.elseif (char >= 32) .and (char <= 95)
|
8
|
-
.byte (char - 32)
|
9
|
-
.elseif (char >= 96) .and (char <= 127)
|
10
|
-
.byte char
|
11
|
-
.elseif (char >= 128) .and (char <= 159)
|
12
|
-
.byte (char + 64)
|
13
|
-
.elseif (char >= 160) .and (char <= 223)
|
14
|
-
.byte (char - 32)
|
15
|
-
.elseif (char >= 224) .and (char <= 255)
|
16
|
-
.byte char
|
17
|
-
.else
|
18
|
-
.error "scrcode: Character constant out of range"
|
19
|
-
.endif
|
20
|
-
.endmacro
|
21
|
-
|
22
|
-
.macro scrcode arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
23
|
-
|
24
|
-
; Bail out if next argument is empty
|
25
|
-
.if .blank (arg1)
|
26
|
-
.exitmacro
|
27
|
-
.endif
|
28
|
-
|
29
|
-
; Check for a string
|
30
|
-
.if .match ({arg1}, "")
|
31
|
-
|
32
|
-
; Walk over all string chars
|
33
|
-
.repeat .strlen (arg1), i
|
34
|
-
_scrcode {.strat (arg1, i)}
|
35
|
-
.endrepeat
|
36
|
-
|
37
|
-
; Check for a number
|
38
|
-
.elseif .match (.left (1, {arg1}), 0)
|
39
|
-
|
40
|
-
; Just output the number
|
41
|
-
_scrcode arg1
|
42
|
-
|
43
|
-
; Check for a character
|
44
|
-
.elseif .match (.left (1, {arg1}), 'a')
|
45
|
-
|
46
|
-
; Just output the character
|
47
|
-
_scrcode arg1
|
48
|
-
|
49
|
-
; Anything else is an error
|
50
|
-
.else
|
51
|
-
|
52
|
-
.error "scrcode: invalid argument type"
|
53
|
-
|
54
|
-
.endif
|
55
|
-
|
56
|
-
; Call the macro recursively with the remaining args
|
57
|
-
scrcode arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
58
|
-
.endmacro
|
59
|
-
|
@@ -1,110 +0,0 @@
|
|
1
|
-
;
|
2
|
-
; Oric Atmos definitions
|
3
|
-
; BASIC 1.1 addresses
|
4
|
-
;
|
5
|
-
|
6
|
-
|
7
|
-
; ---------------------------------------------------------------------------
|
8
|
-
; Constants
|
9
|
-
|
10
|
-
SCREEN_XSIZE = 40 ; screen columns
|
11
|
-
SCREEN_YSIZE = 28 ; screen rows
|
12
|
-
|
13
|
-
FUNCTKEY = $A5
|
14
|
-
|
15
|
-
FNAME_LEN = 16 ; maximum length of file-name
|
16
|
-
|
17
|
-
|
18
|
-
; ---------------------------------------------------------------------------
|
19
|
-
; Zero page
|
20
|
-
|
21
|
-
SCRPTR := $12
|
22
|
-
BASIC_BUF := $35
|
23
|
-
CHARGOT := $E8
|
24
|
-
TXTPTR := $E9
|
25
|
-
|
26
|
-
|
27
|
-
; ---------------------------------------------------------------------------
|
28
|
-
; Low memory
|
29
|
-
|
30
|
-
MODEKEY := $0209
|
31
|
-
CAPSLOCK := $020C ; $7F = not locked, $FF = locked
|
32
|
-
PATTERN := $0213
|
33
|
-
IRQVec := $0245 ; "fast" interrupt vector
|
34
|
-
JOINFLAG := $025A ; 0 = don't joiu, $4A = join BASIC programs
|
35
|
-
VERIFYFLAG := $025B ; 0 = load, 1 = verify
|
36
|
-
CURS_Y := $0268
|
37
|
-
CURS_X := $0269
|
38
|
-
STATUS := $026A
|
39
|
-
BACKGRND := $026B
|
40
|
-
FOREGRND := $026C
|
41
|
-
TIMER3 := $0276
|
42
|
-
CFILE_NAME := $027F
|
43
|
-
CFOUND_NAME := $0293
|
44
|
-
FILESTART := $02A9
|
45
|
-
FILEEND := $02AB
|
46
|
-
AUTORUN := $02AD ; $00 = only load, $C7 = autorun
|
47
|
-
LANGFLAG := $02AE ; $00 = BASIC, $80 = machine code
|
48
|
-
LOADERR := $02B1
|
49
|
-
KEYBUF := $02DF
|
50
|
-
PARMERR := $02E0
|
51
|
-
PARAM1 := $02E1 ; & $02E2
|
52
|
-
PARAM2 := $02E3 ; & $02E4
|
53
|
-
PARAM3 := $02E5 ; & $02E6
|
54
|
-
BANGVEC := $02F5
|
55
|
-
|
56
|
-
|
57
|
-
; ---------------------------------------------------------------------------
|
58
|
-
; I/O locations
|
59
|
-
|
60
|
-
; 6522
|
61
|
-
.struct VIA ; Versatile Interface Adapter
|
62
|
-
.res $0300
|
63
|
-
PRB .byte ; Port Register B
|
64
|
-
PRA .byte ; Port Register A
|
65
|
-
DDRB .byte ; Data Direction Register B
|
66
|
-
DDRA .byte ; Data Direction Register A
|
67
|
-
T1 .word ; Timer 1
|
68
|
-
T1L .word ; Timer 1 Latch
|
69
|
-
T2 .word ; Timer 2
|
70
|
-
SR .byte ; Shift Register
|
71
|
-
ACR .byte ; Auxiliary Control Register
|
72
|
-
PCR .byte ; Peripheral Control Register
|
73
|
-
IFR .byte ; Interrupt Flags Register
|
74
|
-
IER .byte ; Interrupt Enable Register
|
75
|
-
PRA2 .byte ; Port Register A without handshaking
|
76
|
-
.endstruct
|
77
|
-
|
78
|
-
; 6551
|
79
|
-
.struct ACIA ; Asynchronous Communications Interface Adapter
|
80
|
-
.res $031C
|
81
|
-
DATA .byte
|
82
|
-
STATUS .byte
|
83
|
-
CMD .byte ; Command register
|
84
|
-
CTRL .byte ; Control register
|
85
|
-
.endstruct
|
86
|
-
|
87
|
-
SCREEN := $BB80
|
88
|
-
|
89
|
-
|
90
|
-
; ---------------------------------------------------------------------------
|
91
|
-
; ROM entries
|
92
|
-
|
93
|
-
TEXT := $EC21
|
94
|
-
HIRES := $EC33
|
95
|
-
CURSET := $F0C8
|
96
|
-
CURMOV := $F0FD
|
97
|
-
DRAW := $F110
|
98
|
-
CHAR := $F12D
|
99
|
-
POINT := $F1C8
|
100
|
-
PAPER := $F204
|
101
|
-
INK := $F210
|
102
|
-
PRINT := $F77C
|
103
|
-
|
104
|
-
; Sound Effects
|
105
|
-
PING := $FA9F
|
106
|
-
SHOOT := $FAB5
|
107
|
-
EXPLODE := $FACB
|
108
|
-
ZAP := $FAE1
|
109
|
-
TICK := $FB14
|
110
|
-
TOCK := $FB2A
|
@@ -1,214 +0,0 @@
|
|
1
|
-
;
|
2
|
-
; C128 generic definitions. Stolen from Elite128
|
3
|
-
;
|
4
|
-
|
5
|
-
|
6
|
-
; ---------------------------------------------------------------------------
|
7
|
-
; Zero page, Commodore stuff
|
8
|
-
|
9
|
-
TIME := $A0 ; 60HZ clock
|
10
|
-
FNAM_LEN := $B7 ; Length of filename
|
11
|
-
SECADR := $B9 ; Secondary address
|
12
|
-
DEVNUM := $BA ; Device number
|
13
|
-
FNAM := $BB ; Address of filename
|
14
|
-
FNAM_BANK := $C7 ; Bank for filename
|
15
|
-
KEY_COUNT := $D0 ; Number of keys in input buffer
|
16
|
-
FKEY_COUNT := $D1 ; Characters for function key
|
17
|
-
MODE := $D7 ; 40/80 column mode flag
|
18
|
-
CURS_X := $EC ; Cursor column
|
19
|
-
CURS_Y := $EB ; Cursor row
|
20
|
-
SCREEN_PTR := $E0 ; Pointer to current char in text screen
|
21
|
-
CRAM_PTR := $E2 ; Pointer to current char in color RAM
|
22
|
-
|
23
|
-
CHARCOLOR := $F1
|
24
|
-
RVS := $F3 ; Reverse output flag
|
25
|
-
SCROLL := $F8 ; Disable scrolling flag
|
26
|
-
|
27
|
-
BASIC_BUF := $200 ; Location of command-line
|
28
|
-
BASIC_BUF_LEN = 162 ; Maximum length of command-line
|
29
|
-
|
30
|
-
FETCH := $2A2 ; Fetch subroutine in RAM
|
31
|
-
FETVEC := $2AA ; Vector patch location for FETCH
|
32
|
-
STASH := $2AF ; Stash routine in RAM
|
33
|
-
STAVEC := $2B9 ; Vector patch location for STASH
|
34
|
-
PALFLAG := $A03 ; $FF=PAL, $00=NTSC
|
35
|
-
INIT_STATUS := $A04 ; Flags: Reset/Restore initiation status
|
36
|
-
FKEY_LEN := $1000 ; Function key lengths
|
37
|
-
FKEY_TEXT := $100A ; Function key texts
|
38
|
-
|
39
|
-
; ---------------------------------------------------------------------------
|
40
|
-
; Kernal routines
|
41
|
-
|
42
|
-
; Direct entries
|
43
|
-
CURS_SET := $CD57
|
44
|
-
CURS_ON := $CD6F
|
45
|
-
CURS_OFF := $CD9F
|
46
|
-
CLRSCR := $C142
|
47
|
-
KBDREAD := $C006
|
48
|
-
NEWLINE := $C363
|
49
|
-
PRINT := $C322
|
50
|
-
NMIEXIT := $FF33
|
51
|
-
INDFET := $FF74
|
52
|
-
|
53
|
-
; ---------------------------------------------------------------------------
|
54
|
-
; Vectors
|
55
|
-
|
56
|
-
IRQVec := $0314
|
57
|
-
BRKVec := $0316
|
58
|
-
NMIVec := $0318
|
59
|
-
KeyStoreVec := $033C
|
60
|
-
|
61
|
-
; ---------------------------------------------------------------------------
|
62
|
-
; I/O: VIC
|
63
|
-
|
64
|
-
VIC := $D000
|
65
|
-
VIC_SPR0_X := $D000
|
66
|
-
VIC_SPR0_Y := $D001
|
67
|
-
VIC_SPR1_X := $D002
|
68
|
-
VIC_SPR1_Y := $D003
|
69
|
-
VIC_SPR2_X := $D004
|
70
|
-
VIC_SPR2_Y := $D005
|
71
|
-
VIC_SPR3_X := $D006
|
72
|
-
VIC_SPR3_Y := $D007
|
73
|
-
VIC_SPR4_X := $D008
|
74
|
-
VIC_SPR4_Y := $D009
|
75
|
-
VIC_SPR5_X := $D00A
|
76
|
-
VIC_SPR5_Y := $D00B
|
77
|
-
VIC_SPR6_X := $D00C
|
78
|
-
VIC_SPR6_Y := $D00D
|
79
|
-
VIC_SPR7_X := $D00E
|
80
|
-
VIC_SPR7_Y := $D00F
|
81
|
-
VIC_SPR_HI_X := $D010
|
82
|
-
VIC_SPR_ENA := $D015
|
83
|
-
VIC_SPR_EXP_Y := $D017
|
84
|
-
VIC_SPR_EXP_X := $D01D
|
85
|
-
VIC_SPR_MCOLOR := $D01C
|
86
|
-
VIC_SPR_BG_PRIO := $D01B
|
87
|
-
|
88
|
-
VIC_SPR_MCOLOR0 := $D025
|
89
|
-
VIC_SPR_MCOLOR1 := $D026
|
90
|
-
|
91
|
-
VIC_SPR0_COLOR := $D027
|
92
|
-
VIC_SPR1_COLOR := $D028
|
93
|
-
VIC_SPR2_COLOR := $D029
|
94
|
-
VIC_SPR3_COLOR := $D02A
|
95
|
-
VIC_SPR4_COLOR := $D02B
|
96
|
-
VIC_SPR5_COLOR := $D02C
|
97
|
-
VIC_SPR6_COLOR := $D02D
|
98
|
-
VIC_SPR7_COLOR := $D02E
|
99
|
-
|
100
|
-
VIC_CTRL1 := $D011
|
101
|
-
VIC_CTRL2 := $D016
|
102
|
-
|
103
|
-
VIC_HLINE := $D012
|
104
|
-
|
105
|
-
VIC_LPEN_X := $D013
|
106
|
-
VIC_LPEN_Y := $D014
|
107
|
-
|
108
|
-
VIC_VIDEO_ADR := $D018
|
109
|
-
|
110
|
-
VIC_IRR := $D019 ; Interrupt request register
|
111
|
-
VIC_IMR := $D01A ; Interrupt mask register
|
112
|
-
|
113
|
-
VIC_BORDERCOLOR := $D020
|
114
|
-
VIC_BG_COLOR0 := $D021
|
115
|
-
VIC_BG_COLOR1 := $D022
|
116
|
-
VIC_BG_COLOR2 := $D023
|
117
|
-
VIC_BG_COLOR3 := $D024
|
118
|
-
|
119
|
-
; 128 stuff:
|
120
|
-
VIC_KBD_128 := $D02F ; Extended kbd bits (visible in 64 mode)
|
121
|
-
VIC_CLK_128 := $D030 ; Clock rate register (visible in 64 mode)
|
122
|
-
|
123
|
-
|
124
|
-
; ---------------------------------------------------------------------------
|
125
|
-
; I/O: SID
|
126
|
-
|
127
|
-
SID := $D400
|
128
|
-
SID_S1Lo := $D400
|
129
|
-
SID_S1Hi := $D401
|
130
|
-
SID_PB1Lo := $D402
|
131
|
-
SID_PB1Hi := $D403
|
132
|
-
SID_Ctl1 := $D404
|
133
|
-
SID_AD1 := $D405
|
134
|
-
SID_SUR1 := $D406
|
135
|
-
|
136
|
-
SID_S2Lo := $D407
|
137
|
-
SID_S2Hi := $D408
|
138
|
-
SID_PB2Lo := $D409
|
139
|
-
SID_PB2Hi := $D40A
|
140
|
-
SID_Ctl2 := $D40B
|
141
|
-
SID_AD2 := $D40C
|
142
|
-
SID_SUR2 := $D40D
|
143
|
-
|
144
|
-
SID_S3Lo := $D40E
|
145
|
-
SID_S3Hi := $D40F
|
146
|
-
SID_PB3Lo := $D410
|
147
|
-
SID_PB3Hi := $D411
|
148
|
-
SID_Ctl3 := $D412
|
149
|
-
SID_AD3 := $D413
|
150
|
-
SID_SUR3 := $D414
|
151
|
-
|
152
|
-
SID_FltLo := $D415
|
153
|
-
SID_FltHi := $D416
|
154
|
-
SID_FltCtl := $D417
|
155
|
-
SID_Amp := $D418
|
156
|
-
SID_ADConv1 := $D419
|
157
|
-
SID_ADConv2 := $D41A
|
158
|
-
SID_Noise := $D41B
|
159
|
-
SID_Read3 := $D41C
|
160
|
-
|
161
|
-
; ---------------------------------------------------------------------------
|
162
|
-
; I/O: VDC (128 only)
|
163
|
-
|
164
|
-
VDC_INDEX := $D600
|
165
|
-
VDC_DATA := $D601
|
166
|
-
|
167
|
-
; ---------------------------------------------------------------------------
|
168
|
-
; I/O: CIAs
|
169
|
-
|
170
|
-
CIA1 := $DC00
|
171
|
-
CIA1_PRA := $DC00
|
172
|
-
CIA1_PRB := $DC01
|
173
|
-
CIA1_DDRA := $DC02
|
174
|
-
CIA1_DDRB := $DC03
|
175
|
-
CIA1_TOD10 := $DC08
|
176
|
-
CIA1_TODSEC := $DC09
|
177
|
-
CIA1_TODMIN := $DC0A
|
178
|
-
CIA1_TODHR := $DC0B
|
179
|
-
CIA1_ICR := $DC0D
|
180
|
-
CIA1_CRA := $DC0E
|
181
|
-
CIA1_CRB := $DC0F
|
182
|
-
|
183
|
-
CIA2 := $DD00
|
184
|
-
CIA2_PRA := $DD00
|
185
|
-
CIA2_PRB := $DD01
|
186
|
-
CIA2_DDRA := $DD02
|
187
|
-
CIA2_DDRB := $DD03
|
188
|
-
CIA2_TOD10 := $DD08
|
189
|
-
CIA2_TODSEC := $DD09
|
190
|
-
CIA2_TODMIN := $DD0A
|
191
|
-
CIA2_TODHR := $DD0B
|
192
|
-
CIA2_ICR := $DD0D
|
193
|
-
CIA2_CRA := $DD0E
|
194
|
-
CIA2_CRB := $DD0F
|
195
|
-
|
196
|
-
; ---------------------------------------------------------------------------
|
197
|
-
; I/O: MMU
|
198
|
-
|
199
|
-
MMU_CR := $FF00
|
200
|
-
MMU_CFG_CC65 := %00001110 ; Bank 0 with kernal ROM
|
201
|
-
MMU_CFG_RAM0 := %00111111 ; Bank 0 full RAM
|
202
|
-
MMU_CFG_RAM1 := %01111111 ; Bank 1 full RAM
|
203
|
-
MMU_CFG_RAM2 := %10111111 ; Bank 2 full RAM
|
204
|
-
MMU_CFG_RAM3 := %11111111 ; Bank 3 full RAM
|
205
|
-
|
206
|
-
; ---------------------------------------------------------------------------
|
207
|
-
; Super CPU
|
208
|
-
|
209
|
-
SCPU_VIC_Bank1 := $D075
|
210
|
-
SCPU_Slow := $D07A
|
211
|
-
SCPU_Fast := $D07B
|
212
|
-
SCPU_EnableRegs := $D07E
|
213
|
-
SCPU_DisableRegs:= $D07F
|
214
|
-
SCPU_Detect := $D0BC
|
@@ -1,212 +0,0 @@
|
|
1
|
-
;
|
2
|
-
; C64 generic definitions. Stolen from Elite128
|
3
|
-
;
|
4
|
-
|
5
|
-
|
6
|
-
; ---------------------------------------------------------------------------
|
7
|
-
; Zero page, Commodore stuff
|
8
|
-
|
9
|
-
TIME := $A0 ; 60 HZ clock
|
10
|
-
FNAM_LEN := $B7 ; Length of filename
|
11
|
-
SECADR := $B9 ; Secondary address
|
12
|
-
DEVNUM := $BA ; Device number
|
13
|
-
FNAM := $BB ; Pointer to filename
|
14
|
-
KEY_COUNT := $C6 ; Number of keys in input buffer
|
15
|
-
RVS := $C7 ; Reverse flag
|
16
|
-
CURS_FLAG := $CC ; 1 = cursor off
|
17
|
-
CURS_BLINK := $CD ; Blink counter
|
18
|
-
CURS_CHAR := $CE ; Character under the cursor
|
19
|
-
CURS_STATE := $CF ; Cursor blink state
|
20
|
-
SCREEN_PTR := $D1 ; Pointer to current char in text screen
|
21
|
-
CURS_X := $D3 ; Cursor column
|
22
|
-
CURS_Y := $D6 ; Cursor row
|
23
|
-
CRAM_PTR := $F3 ; Pointer to current char in color RAM
|
24
|
-
|
25
|
-
BASIC_BUF := $200 ; Location of command-line
|
26
|
-
BASIC_BUF_LEN = 89 ; Maximum length of command-line
|
27
|
-
|
28
|
-
CHARCOLOR := $286
|
29
|
-
CURS_COLOR := $287 ; Color under the cursor
|
30
|
-
PALFLAG := $2A6 ; $01 = PAL, $00 = NTSC
|
31
|
-
|
32
|
-
|
33
|
-
; ---------------------------------------------------------------------------
|
34
|
-
; Kernal routines
|
35
|
-
|
36
|
-
; Direct entries
|
37
|
-
CLRSCR := $E544
|
38
|
-
KBDREAD := $E5B4
|
39
|
-
NMIEXIT := $FEBC
|
40
|
-
|
41
|
-
; ---------------------------------------------------------------------------
|
42
|
-
; Vector and other locations
|
43
|
-
|
44
|
-
IRQVec := $0314
|
45
|
-
BRKVec := $0316
|
46
|
-
NMIVec := $0318
|
47
|
-
|
48
|
-
; ---------------------------------------------------------------------------
|
49
|
-
; Screen size
|
50
|
-
|
51
|
-
XSIZE = 40
|
52
|
-
YSIZE = 25
|
53
|
-
|
54
|
-
; ---------------------------------------------------------------------------
|
55
|
-
; I/O: VIC
|
56
|
-
|
57
|
-
VIC := $D000
|
58
|
-
VIC_SPR0_X := $D000
|
59
|
-
VIC_SPR0_Y := $D001
|
60
|
-
VIC_SPR1_X := $D002
|
61
|
-
VIC_SPR1_Y := $D003
|
62
|
-
VIC_SPR2_X := $D004
|
63
|
-
VIC_SPR2_Y := $D005
|
64
|
-
VIC_SPR3_X := $D006
|
65
|
-
VIC_SPR3_Y := $D007
|
66
|
-
VIC_SPR4_X := $D008
|
67
|
-
VIC_SPR4_Y := $D009
|
68
|
-
VIC_SPR5_X := $D00A
|
69
|
-
VIC_SPR5_Y := $D00B
|
70
|
-
VIC_SPR6_X := $D00C
|
71
|
-
VIC_SPR6_Y := $D00D
|
72
|
-
VIC_SPR7_X := $D00E
|
73
|
-
VIC_SPR7_Y := $D00F
|
74
|
-
VIC_SPR_HI_X := $D010
|
75
|
-
VIC_SPR_ENA := $D015
|
76
|
-
VIC_SPR_EXP_Y := $D017
|
77
|
-
VIC_SPR_EXP_X := $D01D
|
78
|
-
VIC_SPR_MCOLOR := $D01C
|
79
|
-
VIC_SPR_BG_PRIO := $D01B
|
80
|
-
|
81
|
-
VIC_SPR_MCOLOR0 := $D025
|
82
|
-
VIC_SPR_MCOLOR1 := $D026
|
83
|
-
|
84
|
-
VIC_SPR0_COLOR := $D027
|
85
|
-
VIC_SPR1_COLOR := $D028
|
86
|
-
VIC_SPR2_COLOR := $D029
|
87
|
-
VIC_SPR3_COLOR := $D02A
|
88
|
-
VIC_SPR4_COLOR := $D02B
|
89
|
-
VIC_SPR5_COLOR := $D02C
|
90
|
-
VIC_SPR6_COLOR := $D02D
|
91
|
-
VIC_SPR7_COLOR := $D02E
|
92
|
-
|
93
|
-
VIC_CTRL1 := $D011
|
94
|
-
VIC_CTRL2 := $D016
|
95
|
-
|
96
|
-
VIC_HLINE := $D012
|
97
|
-
|
98
|
-
VIC_LPEN_X := $D013
|
99
|
-
VIC_LPEN_Y := $D014
|
100
|
-
|
101
|
-
VIC_VIDEO_ADR := $D018
|
102
|
-
|
103
|
-
VIC_IRR := $D019 ; Interrupt request register
|
104
|
-
VIC_IMR := $D01A ; Interrupt mask register
|
105
|
-
|
106
|
-
VIC_BORDERCOLOR := $D020
|
107
|
-
VIC_BG_COLOR0 := $D021
|
108
|
-
VIC_BG_COLOR1 := $D022
|
109
|
-
VIC_BG_COLOR2 := $D023
|
110
|
-
VIC_BG_COLOR3 := $D024
|
111
|
-
|
112
|
-
; 128 stuff:
|
113
|
-
VIC_KBD_128 := $D02F ; Extended kbd bits (visible in 64 mode)
|
114
|
-
VIC_CLK_128 := $D030 ; Clock rate register (visible in 64 mode)
|
115
|
-
|
116
|
-
|
117
|
-
; ---------------------------------------------------------------------------
|
118
|
-
; I/O: SID
|
119
|
-
|
120
|
-
SID := $D400
|
121
|
-
SID_S1Lo := $D400
|
122
|
-
SID_S1Hi := $D401
|
123
|
-
SID_PB1Lo := $D402
|
124
|
-
SID_PB1Hi := $D403
|
125
|
-
SID_Ctl1 := $D404
|
126
|
-
SID_AD1 := $D405
|
127
|
-
SID_SUR1 := $D406
|
128
|
-
|
129
|
-
SID_S2Lo := $D407
|
130
|
-
SID_S2Hi := $D408
|
131
|
-
SID_PB2Lo := $D409
|
132
|
-
SID_PB2Hi := $D40A
|
133
|
-
SID_Ctl2 := $D40B
|
134
|
-
SID_AD2 := $D40C
|
135
|
-
SID_SUR2 := $D40D
|
136
|
-
|
137
|
-
SID_S3Lo := $D40E
|
138
|
-
SID_S3Hi := $D40F
|
139
|
-
SID_PB3Lo := $D410
|
140
|
-
SID_PB3Hi := $D411
|
141
|
-
SID_Ctl3 := $D412
|
142
|
-
SID_AD3 := $D413
|
143
|
-
SID_SUR3 := $D414
|
144
|
-
|
145
|
-
SID_FltLo := $D415
|
146
|
-
SID_FltHi := $D416
|
147
|
-
SID_FltCtl := $D417
|
148
|
-
SID_Amp := $D418
|
149
|
-
SID_ADConv1 := $D419
|
150
|
-
SID_ADConv2 := $D41A
|
151
|
-
SID_Noise := $D41B
|
152
|
-
SID_Read3 := $D41C
|
153
|
-
|
154
|
-
; ---------------------------------------------------------------------------
|
155
|
-
; I/O: VDC (128 only)
|
156
|
-
|
157
|
-
VDC_INDEX := $D600
|
158
|
-
VDC_DATA := $D601
|
159
|
-
|
160
|
-
; ---------------------------------------------------------------------------
|
161
|
-
; I/O: CIAs
|
162
|
-
|
163
|
-
CIA1 := $DC00
|
164
|
-
CIA1_PRA := $DC00
|
165
|
-
CIA1_PRB := $DC01
|
166
|
-
CIA1_DDRA := $DC02
|
167
|
-
CIA1_DDRB := $DC03
|
168
|
-
CIA1_TOD10 := $DC08
|
169
|
-
CIA1_TODSEC := $DC09
|
170
|
-
CIA1_TODMIN := $DC0A
|
171
|
-
CIA1_TODHR := $DC0B
|
172
|
-
CIA1_ICR := $DC0D
|
173
|
-
CIA1_CRA := $DC0E
|
174
|
-
CIA1_CRB := $DC0F
|
175
|
-
|
176
|
-
CIA2 := $DD00
|
177
|
-
CIA2_PRA := $DD00
|
178
|
-
CIA2_PRB := $DD01
|
179
|
-
CIA2_DDRA := $DD02
|
180
|
-
CIA2_DDRB := $DD03
|
181
|
-
CIA2_TOD10 := $DD08
|
182
|
-
CIA2_TODSEC := $DD09
|
183
|
-
CIA2_TODMIN := $DD0A
|
184
|
-
CIA2_TODHR := $DD0B
|
185
|
-
CIA2_ICR := $DD0D
|
186
|
-
CIA2_CRA := $DD0E
|
187
|
-
CIA2_CRB := $DD0F
|
188
|
-
|
189
|
-
; ---------------------------------------------------------------------------
|
190
|
-
; Super CPU
|
191
|
-
|
192
|
-
SCPU_VIC_Bank1 := $D075
|
193
|
-
SCPU_Slow := $D07A
|
194
|
-
SCPU_Fast := $D07B
|
195
|
-
SCPU_EnableRegs := $D07E
|
196
|
-
SCPU_DisableRegs:= $D07F
|
197
|
-
SCPU_Detect := $D0BC
|
198
|
-
|
199
|
-
|
200
|
-
; ---------------------------------------------------------------------------
|
201
|
-
; Processor Port at $01
|
202
|
-
|
203
|
-
LORAM = $01 ; Enable the basic rom
|
204
|
-
HIRAM = $02 ; Enable the kernal rom
|
205
|
-
IOEN = $04 ; Enable I/O
|
206
|
-
CASSDATA = $08 ; Cassette data
|
207
|
-
CASSPLAY = $10 ; Cassette: Play
|
208
|
-
CASSMOT = $20 ; Cassette motor on
|
209
|
-
TP_FAST = $80 ; Switch Rossmoeller TurboProcess to fast mode
|
210
|
-
|
211
|
-
RAMONLY = $F8 ; (~(LORAM | HIRAM | IOEN)) & $FF
|
212
|
-
|
@@ -1,50 +0,0 @@
|
|
1
|
-
; Convert characters to screen codes
|
2
|
-
|
3
|
-
; Helper macro that converts and outputs one character
|
4
|
-
.macro _scrcode char
|
5
|
-
.if (char < 256)
|
6
|
-
.byte <(.strat ("h@dbdlhh", char >> 5) << 4) ^ char
|
7
|
-
.else
|
8
|
-
.error "scrcode: Character constant out of range"
|
9
|
-
.endif
|
10
|
-
.endmacro
|
11
|
-
|
12
|
-
.macro scrcode arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
13
|
-
|
14
|
-
; Bail out if next argument is empty
|
15
|
-
.if .blank ({arg1})
|
16
|
-
.exitmacro
|
17
|
-
.endif
|
18
|
-
|
19
|
-
; Check for a string
|
20
|
-
.if .match ({arg1}, "")
|
21
|
-
|
22
|
-
; Walk over all string chars
|
23
|
-
.repeat .strlen (arg1), i
|
24
|
-
_scrcode {.strat (arg1, i)}
|
25
|
-
.endrepeat
|
26
|
-
|
27
|
-
; Check for a number
|
28
|
-
.elseif .match (.left (1, {arg1}), 0)
|
29
|
-
|
30
|
-
; Just output the number
|
31
|
-
_scrcode arg1
|
32
|
-
|
33
|
-
; Check for a character
|
34
|
-
.elseif .match (.left (1, {arg1}), 'a')
|
35
|
-
|
36
|
-
; Just output the character
|
37
|
-
_scrcode arg1
|
38
|
-
|
39
|
-
; Anything else is an error
|
40
|
-
.else
|
41
|
-
|
42
|
-
.error "scrcode: invalid argument type"
|
43
|
-
|
44
|
-
.endif
|
45
|
-
|
46
|
-
; Call the macro recursively with the remaining args
|
47
|
-
scrcode arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9
|
48
|
-
.endmacro
|
49
|
-
|
50
|
-
|