buncha demo launchers (#411)

* Add files via upload

* Delete BATTLEZONE.1

* Delete BUZZARD.BAIT.1

* Delete CRIME.WAVE.1

* Delete GAMMA.GOBLINS.1

* Delete NIGHTMARE.1

* Delete ROBOTRON.1

* Delete SPACE.EGGS.1

* Add files via upload
This commit is contained in:
frankmilliron 2021-10-31 09:39:38 -07:00 committed by GitHub
parent d10ac32ad4
commit a141ad7b5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 491 additions and 11 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -10,10 +10,9 @@ AQUATRON=Type(06),AuxType(BD00),Access(C3)
AXIS.ASSASSIN=Type(06),AuxType(0300),Access(C3) AXIS.ASSASSIN=Type(06),AuxType(0300),Access(C3)
AXIS.ASSASSIN.1=Type(F1),AuxType(0000),Access(C3) AXIS.ASSASSIN.1=Type(F1),AuxType(0000),Access(C3)
BATTLEZONE=Type(06),AuxType(0300),Access(C3) BATTLEZONE=Type(06),AuxType(0300),Access(C3)
BATTLEZONE.1=Type(F1),AuxType(0000),Access(C3)
BEER.RUN=Type(06),AuxType(0300),Access(C3) BEER.RUN=Type(06),AuxType(0300),Access(C3)
BELLHOP=Type(06),AuxType(3FFD),Access(C3) BELLHOP=Type(06),AuxType(3FFD),Access(C3)
BB=Type(06),AuxType(1FFD),Access(C3) BB=Type(06),AuxType(0300),Access(C3)
BOLO=Type(06),AuxType(0300),Access(C3) BOLO=Type(06),AuxType(0300),Access(C3)
BK=Type(06),AuxType(0300),Access(C3) BK=Type(06),AuxType(0300),Access(C3)
BU=Type(06),AuxType(3E97),Access(C3) BU=Type(06),AuxType(3E97),Access(C3)
@ -23,7 +22,6 @@ BURGERTIME.3=Type(F1),AuxType(2000),Access(C3)
BURGERTIME.4=Type(F1),AuxType(0C00),Access(C3) BURGERTIME.4=Type(F1),AuxType(0C00),Access(C3)
BURGERTIME.5=Type(F1),AuxType(6000),Access(C3) BURGERTIME.5=Type(F1),AuxType(6000),Access(C3)
BUZZARD.BAIT=Type(06),AuxType(0300),Access(C3) BUZZARD.BAIT=Type(06),AuxType(0300),Access(C3)
BUZZARD.BAIT.1=Type(F1),AuxType(0000),Access(C3)
CB=Type(06),AuxType(3000),Access(C3) CB=Type(06),AuxType(3000),Access(C3)
CANNONBALL.BL.1=Type(F1),AuxType(0000),Access(C3) CANNONBALL.BL.1=Type(F1),AuxType(0000),Access(C3)
CEILING.ZERO=Type(06),AuxType(0300),Access(C3) CEILING.ZERO=Type(06),AuxType(0300),Access(C3)
@ -41,8 +39,7 @@ CIDER.SPIDER.9=Type(F1),AuxType(0000),Access(C3)
CIDER.SPIDER.Z=Type(F1),AuxType(0000),Access(C3) CIDER.SPIDER.Z=Type(F1),AuxType(0000),Access(C3)
CONAN=Type(06),AuxType(0300),Access(C3) CONAN=Type(06),AuxType(0300),Access(C3)
CONAN.1=Type(F1),AuxType(0000),Access(C3) CONAN.1=Type(F1),AuxType(0000),Access(C3)
CRIME.WAVE=Type(06),AuxType(3000),Access(C3) CRIME.WAVE=Type(06),AuxType(BE00),Access(C3)
CRIME.WAVE.1=Type(F1),AuxType(0000),Access(C3)
CYCLOD=Type(06),AuxType(0300),Access(C3) CYCLOD=Type(06),AuxType(0300),Access(C3)
DIG.DUG=Type(06),AuxType(0300),Access(C3) DIG.DUG=Type(06),AuxType(0300),Access(C3)
DINO.EGGS=Type(06),AuxType(0300),Access(C3) DINO.EGGS=Type(06),AuxType(0300),Access(C3)
@ -54,8 +51,7 @@ FIREBIRD=Type(06),AuxType(0300),Access(C3)
FIREBIRD.1=Type(F1),AuxType(0000),Access(C3) FIREBIRD.1=Type(F1),AuxType(0000),Access(C3)
FIREBUG=Type(06),AuxType(0200),Access(C3) FIREBUG=Type(06),AuxType(0200),Access(C3)
FLIP.OUT=Type(06),AuxType(0300),Access(C3) FLIP.OUT=Type(06),AuxType(0300),Access(C3)
GAMMA.GOBLINS=Type(06),AuxType(0300),Access(C3) GAMMA.GOBLINS=Type(06),AuxType(B000),Access(C3)
GAMMA.GOBLINS.1=Type(F1),AuxType(0000),Access(C3)
THE.GOONIES=Type(06),AuxType(1000),Access(C3) THE.GOONIES=Type(06),AuxType(1000),Access(C3)
GOONIES.1=Type(F1),AuxType(4C63),Access(C3) GOONIES.1=Type(F1),AuxType(4C63),Access(C3)
GOONIES.2=Type(F1),AuxType(4C63),Access(C3) GOONIES.2=Type(F1),AuxType(4C63),Access(C3)
@ -105,7 +101,6 @@ MC=Type(06),AuxType(3FE7),Access(C3)
MOON.PATROL=Type(06),AuxType(0200),Access(C3) MOON.PATROL=Type(06),AuxType(0200),Access(C3)
NIGHT.STALKER=Type(06),AuxType(A000),Access(C3) NIGHT.STALKER=Type(06),AuxType(A000),Access(C3)
NI=Type(06),AuxType(0300),Access(C3) NI=Type(06),AuxType(0300),Access(C3)
NIGHTMARE.1=Type(F1),AuxType(0000),Access(C3)
N.O.R.A.D=Type(06),AuxType(0300),Access(C3) N.O.R.A.D=Type(06),AuxType(0300),Access(C3)
NORAD.1=Type(F1),AuxType(0000),Access(C3) NORAD.1=Type(F1),AuxType(0000),Access(C3)
NIBBLER=Type(06),AuxType(0300),Access(C3) NIBBLER=Type(06),AuxType(0300),Access(C3)
@ -122,8 +117,7 @@ PHASER.FIRE.1=Type(F1),AuxType(0000),Access(C3)
POOYAN=Type(06),AuxType(0300),Access(C3) POOYAN=Type(06),AuxType(0300),Access(C3)
REPTON=Type(06),AuxType(0300),Access(C3) REPTON=Type(06),AuxType(0300),Access(C3)
REPTON.1=Type(F1),AuxType(0000),Access(C3) REPTON.1=Type(F1),AuxType(0000),Access(C3)
ROBOTRON.2084=Type(06),AuxType(3000),Access(C3) ROBOTRON.2084=Type(06),AuxType(BF70),Access(C3)
ROBOTRON.1=Type(F1),AuxType(0000),Access(C3)
SAMMY.LIGHTFOOT=Type(06),AuxType(0300),Access(C3) SAMMY.LIGHTFOOT=Type(06),AuxType(0300),Access(C3)
SAMMY.1=Type(F1),AuxType(0000),Access(C3) SAMMY.1=Type(F1),AuxType(0000),Access(C3)
SAMMY.2=Type(F1),AuxType(0000),Access(C3) SAMMY.2=Type(F1),AuxType(0000),Access(C3)
@ -137,7 +131,6 @@ SNAKE.BYTE=Type(06),AuxType(0300),Access(C3)
SNAKE.BYTE.1=Type(F1),AuxType(0000),Access(C3) SNAKE.BYTE.1=Type(F1),AuxType(0000),Access(C3)
SNEAKERS=Type(06),AuxType(0300),Access(C3) SNEAKERS=Type(06),AuxType(0300),Access(C3)
SPACE.EGGS=Type(06),AuxType(0300),Access(C3) SPACE.EGGS=Type(06),AuxType(0300),Access(C3)
SPACE.EGGS.1=Type(F1),AuxType(0000),Access(C3)
SPACE.QUARKS=Type(06),AuxType(B000),Access(C3) SPACE.QUARKS=Type(06),AuxType(B000),Access(C3)
SPARE.CHANGE=Type(06),AuxType(2700),Access(C3) SPARE.CHANGE=Type(06),AuxType(2700),Access(C3)
SPARE.CHANGE.A=Type(F1),AuxType(8E00),Access(C3) SPARE.CHANGE.A=Type(F1),AuxType(8E00),Access(C3)

86
src/demo/battlezone.a Normal file
View File

@ -0,0 +1,86 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/BATTLEZONE",plain
*=$300
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT title, $00
+READ_ROM_NO_WRITE
lda #$60
sta $201e
jsr $2000 ; decompress
lda #0
sta $0811
lda #1
sta $0816 ; reset vector patch
lda #$EA
sta $1632
sta $1632+1
sta $1632+2 ; disable clearing keyboard strobe
lda #$4C
sta $0872
sta $161A
sta $7661
sta $766C
sta $7693
sta $0B6A
sta $73A7
sta $168F+4
lda #0
sta $0872+1
sta $161A+1
sta $7661+1
sta $766C+1
sta $7693+1
sta $0B6A+1
sta $73A7+1
sta $168F+5
lda #1
sta $0872+2
sta $161A+2
sta $7661+2
sta $766C+2
sta $7693+2
sta $0B6A+2
sta $73A7+2
sta $168F+6
lda #$C9
sta $168F
lda #$FF
sta $168F+1
lda #$F0
sta $168F+2
lda #$16
sta $168F+3 ; set exits
lda #$D0
sta $7733
sta $774D
sta $78B8
sta $78BB
sta $7815
sta $5180
sta $5576
sta $0B8E ; disable sound
+DISABLE_ACCEL
jmp $810
title !byte x_e-x_b
x_b !text "X/BATTLEZONE/BATTLEZONE"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

View File

@ -0,0 +1,69 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/BB",plain
*=$300
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT title, $00
lda #$60
sta $0813
jsr $0800 ; decompress
lda #$60
sta $363F
jsr $3600 ; memory move
lda #0
sta $0A01
lda #$2C
sta $0A05
lda #$A4
sta $0A09 ; reset vector patch
lda #$2C
sta $0C3E
sta $0C45
sta $0C48 ; skip inputs
lda #$4C
sta $15CC
sta $0ED2
sta $159A
lda #0
sta $15CC+1
sta $0ED2+1
sta $159A+1
lda #1
sta $15CC+2
sta $0ED2+2
sta $159A+2 ; set exits
lda #$D0
sta $170F
sta $0B61
sta $0B80
sta $0B9C
sta $0BBB
sta $1604
sta $1628
sta $1647
sta $0A95
sta $0AD4 ; disable sound
+DISABLE_ACCEL
jmp $0A00
title !byte x_e-x_b
x_b !text "X/BB/BB"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

48
src/demo/buzzard.bait.a Normal file
View File

@ -0,0 +1,48 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/BUZZARD.BAIT",plain
*=$300
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT title, $00
lda #$60
sta $0827
jsr $0800 ; decompress
lda #$4C
sta $1067
sta $1B31
sta $7A6B
sta $80DD
sta $81FE
lda #0
sta $1067+1
sta $1B31+1
sta $7A6B+1
sta $80DD+1
sta $81FE+1
lda #1
sta $1067+2
sta $1B31+2
sta $7A6B+2
sta $80DD+2
sta $81FE+2 ; set exits
+DISABLE_ACCEL
jmp $8000
title !byte x_e-x_b
x_b !text "X/BUZZARD.BAIT/BUZZARD.BAIT"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

53
src/demo/crime.wave.a Normal file
View File

@ -0,0 +1,53 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/CRIME.WAVE",plain
*=$BE00
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
;+LOAD_FILE_KEEP_DIR
ldx #0 ; read to main memory
stx ldrhi
stx ldrlo
+LDADDR title
jsr iLoadFileDirect
ldx #13-1 ; we also need to copy the length byte
- lda newpath,x
sta $BFD0,x
dex
bpl -
lda #$60
sta $244B
jsr $2400 ; decompress
ldx #15-1
- lda patch, x
sta $9B7E, x
dex
bpl - ; exit on keypress or after 3 demo cycles
+DISABLE_ACCEL
jmp $0800
patch !byte $4C,$84,$9B,$4C,$00,$01,$CE,$8C,$9B,$F0,$F8,$4C,$48,$9B,$03
newpath
!byte 12
!text "X/CRIME.WAVE"
title !byte x_e-x_b
x_b !text "X/CRIME.WAVE/CRIME.WAVE"
x_e
!if * > $BEFF {
!error "code is too large, ends at ", *
}

48
src/demo/gamma.goblins.a Normal file
View File

@ -0,0 +1,48 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/GAMMA.GOBLINS",plain
*=$B000
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT title, $00
lda #$60
sta $2034
jsr $2000 ; decompress
+RESET_VECTOR $100
lda #$4C
sta $5B9A
sta $7ECC
sta $50CB
sta $50B5
lda #0
sta $5B9A+1
sta $7ECC+1
sta $50CB+1
sta $50B5+1
lda #1
sta $5B9A+2
sta $7ECC+2
sta $50CB+2
sta $50B5+2 ; set exits
+DISABLE_ACCEL
lda #$00
tay
jmp $2035
title !byte x_e-x_b
x_b !text "X/GAMMA.GOBLINS/GAMMA.GOBLINS"
x_e
!if * > $BFFF {
!error "code is too large, ends at ", *
}

67
src/demo/nightmare.a Normal file
View File

@ -0,0 +1,67 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/NI",plain
*=$300
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
;+LOAD_FILE_KEEP_DIR
ldx #0 ; read to main memory
stx ldrhi
stx ldrlo
+LDADDR title
jsr iLoadFileDirect
ldx #5-1 ; we also need to copy the length byte
- lda newpath,x
sta $BFD0,x
dex
bpl -
lda #$60
sta $404B
jsr $4000 ; decompress
lda #$4C
sta $8C24
sta $8C35
sta $1669
lda #0
sta $8C24+1
sta $8C35+1
lda #1
sta $8C24+2
sta $8C35+2 ; set exits
lda #<(count+1)
sta $1669+1
lda #>(count+1)
sta $1669+2 ; decrement custom counter after demo cycle and eventually exit
+DISABLE_ACCEL
jmp $1206
count !byte $03
dec count
beq +
jmp $128E
+ jmp $100
newpath
!byte 4
!text "X/NI"
title !byte x_e-x_b
x_b !text "X/NI/NI"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

51
src/demo/robotron.a Normal file
View File

@ -0,0 +1,51 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/ROBOTRON.2084",plain
*=$BF70
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT title, $00
lda #<callback
sta $141D+1
lda #>callback
sta $141D+2
jmp $1400 ; decompress
callback +RESET_VECTOR $100
ldx #6-1
- lda patch, x
sta $4542, x
dex
bpl - ; exit on keypress
lda #$4C
sta $453A
lda #$42
sta $453A+1
lda #$45
sta $453A+2 ; exit at end of demo cycle
lda #$D0
sta $053B ; disable sound
+DISABLE_ACCEL
jmp $4015
patch !byte $AD,$88,$C0,$6C,$FC,$FF
title !byte x_e-x_b
x_b !text "X/ROBOTRON.2084/ROBOTRON.2084"
x_e
!if * > $BFFF {
!error "code is too large, ends at ", *
}

65
src/demo/space.eggs.a Normal file
View File

@ -0,0 +1,65 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/SPACE.EGGS",plain
*=$300
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT title, $00
+NEW_RESET_VECTOR $280
lda #$60
sta $2056
jsr $2000 ; decompress
lda #$EA
sta $4821
sta $4821+1
sta $4821+2
sta $4821+3
sta $4821+4
sta $4821+5 ; avoid clobbering stack
lda #$AD
sta $4B00
lda #0
sta $4B00+1
lda #$C0
sta $4B00+2 ; change button press detection to keypress detection
lda #$4C
sta $4B06
lda #0
sta $4B06+1
lda #1
sta $4B06+2 ; exit on keypress
ldx #11-1
- lda patch, x
sta $4BD6, x
dex
bpl - ; decrement custom counter after demo cycle and eventually exit
lda #$02
sta $4BFF ; initialize custom counter
+DISABLE_ACCEL
jmp $4880
patch !byte $CE,$FF,$4B,$10,$03,$4C,$00,$01,$4C,$B0,$4B
title !byte x_e-x_b
x_b !text "X/SPACE.EGGS/SPACE.EGGS"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}