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,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,9 +0,0 @@
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
-
@@ -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
-