burn 0.1.0
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/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,27 @@
|
|
|
1
|
+
;
|
|
2
|
+
; _file.inc
|
|
3
|
+
;
|
|
4
|
+
; (C) Copyright 2002 Ullrich von Bassewitz (uz@cc65.org)
|
|
5
|
+
;
|
|
6
|
+
|
|
7
|
+
; Assembler include file that makes the constants and structures in _file.h
|
|
8
|
+
; available for asm code.
|
|
9
|
+
|
|
10
|
+
; Struct _FILE
|
|
11
|
+
.struct _FILE
|
|
12
|
+
f_fd .byte
|
|
13
|
+
f_flags .byte
|
|
14
|
+
f_pushback .byte
|
|
15
|
+
.endstruct
|
|
16
|
+
|
|
17
|
+
; Flags field
|
|
18
|
+
_FCLOSED = $00
|
|
19
|
+
_FOPEN = $01
|
|
20
|
+
_FEOF = $02
|
|
21
|
+
_FERROR = $04
|
|
22
|
+
_FPUSHBACK = $08
|
|
23
|
+
|
|
24
|
+
; File table
|
|
25
|
+
.global __filetab
|
|
26
|
+
|
|
27
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
;
|
|
2
|
+
; _heap.inc
|
|
3
|
+
;
|
|
4
|
+
; (c) Copyright 2003, Ullrich von Bassewitz (uz@cc65.org)
|
|
5
|
+
;
|
|
6
|
+
|
|
7
|
+
; Assembler include file that makes the constants and structures in _heap.h
|
|
8
|
+
; available for asm code.
|
|
9
|
+
|
|
10
|
+
; Struct freeblock
|
|
11
|
+
; NOTE: For performance reasons, the asm code often uses increment/decrement
|
|
12
|
+
; operators to access other offsets, so just changing offsets here will
|
|
13
|
+
; probably not work.
|
|
14
|
+
.struct freeblock
|
|
15
|
+
size .word
|
|
16
|
+
next .addr
|
|
17
|
+
prev .addr
|
|
18
|
+
.endstruct
|
|
19
|
+
|
|
20
|
+
; Struct usedblock
|
|
21
|
+
; See notes above
|
|
22
|
+
.struct usedblock
|
|
23
|
+
size .word
|
|
24
|
+
start .addr
|
|
25
|
+
.endstruct
|
|
26
|
+
|
|
27
|
+
HEAP_MIN_BLOCKSIZE = .sizeof (freeblock) ; Minimum size of an allocated block
|
|
28
|
+
HEAP_ADMIN_SPACE = .sizeof (usedblock) ; Additional space for used bock
|
|
29
|
+
|
|
30
|
+
; Variables
|
|
31
|
+
.global __heaporg
|
|
32
|
+
.global __heapptr
|
|
33
|
+
.global __heapend
|
|
34
|
+
.global __heapfirst
|
|
35
|
+
.global __heaplast
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
|
|
2
|
+
;-----------------------------------------------------------------------------
|
|
3
|
+
; Zero page stuff
|
|
4
|
+
|
|
5
|
+
WNDLFT := $20 ; Text window left
|
|
6
|
+
WNDWDTH := $21 ; Text window width
|
|
7
|
+
WNDTOP := $22 ; Text window top
|
|
8
|
+
WNDBTM := $23 ; Text window bottom+1
|
|
9
|
+
CH := $24 ; Cursor horizontal position
|
|
10
|
+
CV := $25 ; Cursor vertical position
|
|
11
|
+
BASL := $28 ; Text base address low
|
|
12
|
+
BASH := $29 ; Text base address high
|
|
13
|
+
INVFLG := $32 ; Normal/inverse(/flash)
|
|
14
|
+
PROMPT := $33 ; Used by GETLN
|
|
15
|
+
RNDL := $4E ; Random counter low
|
|
16
|
+
RNDH := $4F ; Random counter high
|
|
17
|
+
HIMEM := $73 ; Highest available memory address+1
|
|
18
|
+
|
|
19
|
+
;-----------------------------------------------------------------------------
|
|
20
|
+
; Vectors
|
|
21
|
+
|
|
22
|
+
DOSWARM := $03D0 ; DOS warmstart vector
|
|
23
|
+
BRKVec := $03F0 ; Break vector
|
|
24
|
+
SOFTEV := $03F2 ; Vector for warm start
|
|
25
|
+
PWREDUP := $03F4 ; This must be = EOR #$A5 of SOFTEV+1
|
|
26
|
+
|
|
27
|
+
;-----------------------------------------------------------------------------
|
|
28
|
+
; Hardware
|
|
29
|
+
|
|
30
|
+
; Keyboard input
|
|
31
|
+
KBD := $C000 ; Read keyboard
|
|
32
|
+
KBDSTRB := $C010 ; Clear keyboard strobe
|
|
33
|
+
|
|
34
|
+
; 80 column video switches
|
|
35
|
+
CLR80COL:= $C000 ; Disable 80 column store
|
|
36
|
+
SET80COL:= $C001 ; Enable 80 column store
|
|
37
|
+
RD80COL := $C018 ; >127 if 80 column store enabled
|
|
38
|
+
RD80VID := $C01F ; >127 if 80 column video enabled
|
|
39
|
+
|
|
40
|
+
; Character set switches
|
|
41
|
+
CLRALTCHAR := $C00E ; Normal Apple II char set
|
|
42
|
+
SETALTCHAR := $C00F ; Norm/inv LC, no flash
|
|
43
|
+
ALTCHARSET := $C01E ; >127 if alt charset switched in
|
|
44
|
+
|
|
45
|
+
; Language card switches
|
|
46
|
+
RDLCBNK2:= $C011 ; >127 if LC bank 2 in use
|
|
47
|
+
RDLCRAM := $C012 ; >127 if LC is read enabled
|
|
48
|
+
ROMIN := $C081 ; Swap in D000-FFFF ROM
|
|
49
|
+
LCBANK2 := $C083 ; Swap in LC bank 2
|
|
50
|
+
LCBANK1 := $C08B ; Swap in LC bank 1
|
|
51
|
+
|
|
52
|
+
; Video mode switches
|
|
53
|
+
TXTCLR := $C050 ; Display graphics
|
|
54
|
+
TXTSET := $C051 ; Display text
|
|
55
|
+
MIXCLR := $C052 ; Disable 4 lines of text
|
|
56
|
+
MIXSET := $C053 ; Enable 4 lines of text
|
|
57
|
+
LOWSCR := $C054 ; Page 1
|
|
58
|
+
HISCR := $C055 ; Page 2
|
|
59
|
+
LORES := $C056 ; Lores graphics
|
|
60
|
+
HIRES := $C057 ; Hires graphics
|
|
61
|
+
|
|
62
|
+
; Game controller
|
|
63
|
+
BUTN0 := $C061 ; Open-Apple Key
|
|
64
|
+
BUTN1 := $C062 ; Closed-Apple Key
|