new demo launchers (#401)

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Delete CYCLOD.1

* Delete DIG.DUG.1

* Delete PLASMANIA.1

* Delete STAR.BLAZER.1
This commit is contained in:
frankmilliron 2021-10-26 17:11:02 -07:00 committed by GitHub
parent f77fe9ff59
commit 35509c7666
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 481 additions and 33 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

@ -16,7 +16,7 @@ BEER.RUN=Type(06),AuxType(0300),Access(C3)
BEER.RUN.1=Type(F1),AuxType(0000),Access(C3)
BELLHOP=Type(06),AuxType(3FFD),Access(C3)
BB=Type(06),AuxType(1FFD),Access(C3)
BOLO=Type(06),AuxType(10E5),Access(C3)
BOLO=Type(06),AuxType(0300),Access(C3)
BK=Type(06),AuxType(0300),Access(C3)
BU=Type(06),AuxType(3E97),Access(C3)
BURGERTIME.1=Type(F1),AuxType(A402),Access(C3)
@ -46,9 +46,7 @@ CONAN.1=Type(F1),AuxType(0000),Access(C3)
CRIME.WAVE=Type(06),AuxType(3000),Access(C3)
CRIME.WAVE.1=Type(F1),AuxType(0000),Access(C3)
CYCLOD=Type(06),AuxType(0300),Access(C3)
CYCLOD.1=Type(F1),AuxType(0000),Access(C3)
DIG.DUG=Type(06),AuxType(0300),Access(C3)
DIG.DUG.1=Type(F1),AuxType(0000),Access(C3)
DINO.EGGS=Type(06),AuxType(0300),Access(C3)
DINO.EGGS.1=Type(F1),AuxType(0000),Access(C3)
DUNG.BEETLES=Type(06),AuxType(0300),Access(C3)
@ -57,7 +55,7 @@ FALCONS=Type(06),AuxType(0300),Access(C3)
FALCONS.1=Type(F1),AuxType(0000),Access(C3)
FIREBIRD=Type(06),AuxType(0300),Access(C3)
FIREBIRD.1=Type(F1),AuxType(0000),Access(C3)
FIREBUG=Type(06),AuxType(0800),Access(C3)
FIREBUG=Type(06),AuxType(0200),Access(C3)
FLIP.OUT=Type(06),AuxType(0BF4),Access(C3)
GAMMA.GOBLINS=Type(06),AuxType(0300),Access(C3)
GAMMA.GOBLINS.1=Type(F1),AuxType(0000),Access(C3)
@ -82,7 +80,7 @@ GUMBALL.B=Type(F1),AuxType(0800),Access(C3)
GUMBALL.F=Type(F1),AuxType(6000),Access(C3)
GUMBALL.I=Type(F1),AuxType(0800),Access(C3)
GUMBALL.M=Type(F1),AuxType(6000),Access(C3)
HARD.HAT.MACK=Type(06),AuxType(0800),Access(C3)
HARD.HAT.MACK=Type(06),AuxType(0200),Access(C3)
HIGH.RISE=Type(06),AuxType(3FCB),Access(C3)
JUNGLE.HUNT=Type(06),AuxType(0300),Access(C3)
JUNGLE.HUNT.1=Type(F1),AuxType(0000),Access(C3)
@ -116,14 +114,13 @@ N.O.R.A.D=Type(06),AuxType(0300),Access(C3)
NORAD.1=Type(F1),AuxType(0000),Access(C3)
NIBBLER=Type(06),AuxType(0900),Access(C3)
OM=Type(06),AuxType(08FD),Access(C3)
PACMAN=Type(06),AuxType(0F18),Access(C3)
PACMAN=Type(06),AuxType(0300),Access(C3)
PEST.PATROL=Type(06),AuxType(0800),Access(C3)
PM=Type(06),AuxType(0300),Access(C3)
PIEMAN.1=Type(F1),AuxType(0000),Access(C3)
PIEMAN.HI=Type(F1),AuxType(0000),Access(C3)
PITFALL.II=Type(06),AuxType(08E5),Access(C3)
PLASMANIA=Type(06),AuxType(0300),Access(C3)
PLASMANIA.1=Type(F1),AuxType(0000),Access(C3)
PLASMANIA=Type(06),AuxType(0200),Access(C3)
PHASER.FIRE=Type(06),AuxType(9200),Access(C3)
PHASER.FIRE.1=Type(F1),AuxType(0000),Access(C3)
POOYAN=Type(06),AuxType(0300),Access(C3)
@ -168,7 +165,6 @@ SPIDER.RAID.1=Type(F1),AuxType(0000),Access(C3)
SPY.HUNTER=Type(06),AuxType(0B87),Access(C3)
SD=Type(06),AuxType(3FF1),Access(C3)
STAR.BLAZER=Type(06),AuxType(0300),Access(C3)
STAR.BLAZER.1=Type(F1),AuxType(0000),Access(C3)
STARGATE=Type(06),AuxType(0300),Access(C3)
STARGATE.1=Type(F1),AuxType(0000),Access(C3)
STELLAR.7=Type(06),AuxType(0300),Access(C3)

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2021 by Frank M.
;(c) 2021 by Frank M./qkumba
!cpu 6502
!to "res/DEMO/ALIEN.TYPHOON",plain
@ -10,7 +10,7 @@
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT alien_typhoon, $00 ; $4710
+LOAD_FILE_AT title, $00
lda #$61
sta $471C
@ -47,13 +47,13 @@
sta $8FEF+2
sta $92B1+2 ; set exits
jsr DisableAccelerator
+READ_ROM_NO_WRITE
+DISABLE_ACCEL
jmp $8F98
alien_typhoon
!byte 29
!text "X/ALIEN.TYPHOON/ALIEN.TYPHOON"
title !byte x_e-x_b
x_b !text "X/ALIEN.TYPHOON/ALIEN.TYPHOON"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *

View File

@ -10,7 +10,7 @@
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT aquatron, $00 ; $59C2
+LOAD_FILE_AT title, $00
+READ_ROM_NO_WRITE
lda #>(callback - 1)
@ -36,14 +36,13 @@ callback
sta $7E43
sta $7EA0 ; disable sound
+READ_RAM2_WRITE_RAM2
jsr DisableAccelerator
+READ_ROM_NO_WRITE
+DISABLE_ACCEL
jmp $400
aquatron
!byte 19
!text "X/AQUATRON/AQUATRON"
title !byte x_e-x_b
x_b !text "X/AQUATRON/AQUATRON"
x_e
!if * > $1F0 {
!error "code is too large, ends at ", *

48
src/demo/bolo.a Normal file
View File

@ -0,0 +1,48 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/BOLO",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 $8034
jsr $4ab0 ; decompress and show title
lda #$4C
sta $129A
sta $15F8
sta $5D8A ; (later moved to $7D8A)
lda #0
sta $129A+1
sta $15F8+1
sta $5D8A+1
lda #1
sta $129A+2
sta $15F8+2
sta $5D8A+2 ; set exits
lda #$D0
sta $4E7A ; (later moved to $6E7A)
sta $4F96 ; (later moved to $6F96)
sta $6735 ; (later moved to $8735) disable sound
+DISABLE_ACCEL
jmp $1100
title !byte x_e-x_b
x_b !text "X/BOLO/BOLO"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

48
src/demo/cyclod.a Normal file
View File

@ -0,0 +1,48 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/CYCLOD",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 $202A
jsr $2000 ; decompress
ldx #6-1
- lda patch, x
sta $7381, x
sta $8B20, x
dex
bpl - ; exit on keypress
lda #$4C
sta $89EF
lda #0
sta $89EF+1
lda #1
sta $89EF+2 ; exit at end of demo cycle
lda #$D0
sta $7CED ; disable sound
+DISABLE_ACCEL
jmp $8EA6
title !byte x_e-x_b
x_b !text "X/CYCLOD/CYCLOD"
x_e
patch !byte $10,$03,$4C,$00,$01,$EA
!if * > $3F0 {
!error "code is too large, ends at ", *
}

44
src/demo/dig.dug.a Normal file
View File

@ -0,0 +1,44 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/DIG.DUG",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 $826
jsr $800 ; decompress
lda #$4C
sta $A12E
sta $A3AE
sta $A3D4
lda #0
sta $A12E+1
sta $A3D4+1
lda #1
sta $A12E+2
sta $A3D4+2 ; set exits
lda #$B9
sta $A3AE+1
lda #$A3
sta $A3AE+2 ; skip title screen and input selection
+DISABLE_ACCEL
jmp $8000
title !byte x_e-x_b
x_b !text "X/DIG.DUG/DIG.DUG"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

59
src/demo/firebug.a Normal file
View File

@ -0,0 +1,59 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/FIREBUG",plain
*=$200
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT title, $00
lda #$2C
sta $2070 ; don't load "RECORD" (demo doesn't show high scores)
lda #$60
sta $2076
jsr $2000 ; decompress
lda #0
sta $83E
lda #1
sta $849 ; reset vector fix
lda #$4C
sta $1105
sta $151A
sta $5EA5
sta $5F3B
sta $5F46
lda #0
sta $1105+1
sta $151A+1
sta $5EA5+1
sta $5F3B+1
sta $5F46+1
lda #1
sta $1105+2
sta $151A+2
sta $5EA5+2
sta $5F3B+2 ; exit on keypress
sta $5F46+2 ; exit at end of demo cycle
lda #$54
sta $086F ; disable sound
+DISABLE_ACCEL
jmp $810
title !byte x_e-x_b
x_b !text "X/FIREBUG/FIREBUG"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

72
src/demo/hard.hat.mack.a Normal file
View File

@ -0,0 +1,72 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/HARD.HAT.MACK",plain
*=$200
!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 #<patcher
sta $9431
lda #>patcher
sta $942E
jsr $4856 ; decompress
patcher rts
lda #1
sta $2218 ; reset vector patch
lda #$60
sta $BF7
sta $72B9
lda #$4C
sta $0BD0
sta $0C82
lda #0
sta $0BD0+1
sta $0C82+1
lda #1
sta $0BD0+2
sta $0C82+2 ; exit on keypress
lda #$D0
sta $5E4E ; disable sound
lda #$20
sta $7249
lda #6
sta $7249+1
lda #1
sta $7249+2 ; exit at end of demo cycle
ldx #13-1
- lda patch, x
sta $106, x
dex
bpl - ; new code for exit at end patch
+DISABLE_ACCEL
lda #$07
pha
lda #$FF
pha
rts
title !byte x_e-x_b
x_b !text "X/HARD.HAT.MACK/HARD.HAT.MACK"
x_e
patch !byte $8D,$10,$72,$8D,$13,$72,$8D,$14,$72,$EE,$14,$72,$60
!if * > $3F0 {
!error "code is too large, ends at ", *
}

View File

@ -10,7 +10,7 @@
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT moon_patrol, $800
+LOAD_FILE_AT title, $800
+READ_ROM_NO_WRITE
lda #$60
@ -31,30 +31,28 @@
sta $2A95+2
sta $2A7E+2
sta $0C31+2
sta $2E80+2 ; exit on keypress/end of demo
sta $2E80+2 ; exit on keypress/end of demo
lda #$A2
sta $0996
lda #$FF
sta $0996+1
lda #$9A
sta $0996+2 ; prevent stack pointer from overwriting $100
sta $0996+2 ; prevent stack pointer from overwriting $100
ldx #26-1
- lda patch, x
sta $2726, x
dex
bpl - ; exit on keypress during title screen
bpl - ; exit on keypress during title screen
+READ_RAM2_WRITE_RAM2
jsr DisableAccelerator
+READ_ROM_NO_WRITE
+DISABLE_ACCEL
jmp $919
moon_patrol
!byte 25
!text "X/MOON.PATROL/MOON.PATROL"
title !byte x_e-x_b
x_b !text "X/MOON.PATROL/MOON.PATROL"
x_e
patch !byte $20,$B8,$0A,$2C,$10,$C0,$A2,$41,$A9,$FF,$20,$A8,$FC,$AD,$00,$C0,$10,$05,$4C,$00,$01,$EA,$EA,$CA,$D0,$EE

65
src/demo/pacman.a Normal file
View File

@ -0,0 +1,65 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/PACMAN",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
+NEW_RESET_VECTOR $280
lda #$60
sta $813
jsr $800 ; decompress
lda #$80
sta $103F
lda #2
sta $104A ; reset vector patch
lda #$4C
sta $18A6 ; (later moved to $48A6)
sta $027C
sta $22F9 ; (later moved to $52F9)
sta $3F7C ; (later moved to $6F7C)
sta $5C0B ; (later moved to $8C0B)
lda #0
sta $027C+1
sta $22F9+1
sta $3F7C+1
sta $5C0B+1
lda #1
sta $027C+2
sta $22F9+2
sta $3F7C+2
sta $5C0B+2
lda #$CD
sta $18A6+1
lda #$48
sta $18A6+2
lda #$30
sta $22F1 ; (later moved to $52F1)
lda #6
sta $22F1+1
lda #$EA
sta $22F1+2
sta $22F1+3 ; set exits
+DISABLE_ACCEL
jmp $1000
title !byte x_e-x_b
x_b !text "X/PACMAN/PACMAN"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

62
src/demo/plasmania.a Normal file
View File

@ -0,0 +1,62 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/PLASMANIA",plain
*=$200
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
+LOAD_FILE_AT title, $00
lda #>(callback-1)
sta $84E
lda #<(callback-1)
sta $851
lda #$60
sta $853 ; skip loading PLASMANIA.SND
jmp $800
callback
lda #$2C
sta $7352 ; silence voice
lda #$4C
sta $609C
sta $6139
sta $614C
sta $65B7
sta $8C31
sta $8C5B
lda #0
sta $609C+1
sta $6139+1
sta $614C+1
sta $65B7+1
sta $8C31+1
sta $8C5B+1
sta $87BE
sta $87CC
sta $8AEE
sta $8B89
sta $8B91
sta $8C21 ; disable sound
lda #1
sta $609C+2
sta $6139+2
sta $614C+2
sta $65B7+2
sta $8C31+2
sta $8C5B+2 ; set exits
jmp $6000
title !byte x_e-x_b
x_b !text "X/PLASMANIA/PLASMANIA"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

57
src/demo/star.blazer.a Normal file
View File

@ -0,0 +1,57 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/STAR.BLAZER",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 $722A
sta $725D
jsr $4A58 ; decompress
+DISABLE_ACCEL
jsr $4400
+ENABLE_ACCEL
jsr $B4C6 ; decompress
lda #$4C
sta $17DB
sta $1760
sta $17AD
sta $1705
lda #0
sta $17DB+1
sta $1760+1
sta $17AD+1
lda #1
sta $17DB+2
sta $1760+2
sta $17AD+2 ; set exits
lda #<(count + 1)
sta $1705+1
lda #>(count + 1)
sta $1705+2 ; decrement custom counter after demo cycle and eventually exit
+DISABLE_ACCEL
jmp ($20)
count !byte $03
dec count
bpl +
jmp $100
+ jmp $1750
title !byte x_e-x_b
x_b !text "X/STAR.BLAZER/STAR.BLAZER"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}