diff --git a/res/DEMO/AQUATRON b/res/DEMO/AQUATRON index a8d7eecca..f920d8340 100755 Binary files a/res/DEMO/AQUATRON and b/res/DEMO/AQUATRON differ diff --git a/res/DEMO/BEER.RUN b/res/DEMO/BEER.RUN index b973bc4d4..b45643d79 100755 Binary files a/res/DEMO/BEER.RUN and b/res/DEMO/BEER.RUN differ diff --git a/res/DEMO/BEER.RUN.1 b/res/DEMO/BEER.RUN.1 deleted file mode 100755 index e9d09ed68..000000000 Binary files a/res/DEMO/BEER.RUN.1 and /dev/null differ diff --git a/res/DEMO/LAZER.SILK b/res/DEMO/LAZER.SILK index 68d6da7e8..eedd90a26 100755 Binary files a/res/DEMO/LAZER.SILK and b/res/DEMO/LAZER.SILK differ diff --git a/res/DEMO/LAZER.SILK.1 b/res/DEMO/LAZER.SILK.1 deleted file mode 100755 index 016aef375..000000000 Binary files a/res/DEMO/LAZER.SILK.1 and /dev/null differ diff --git a/res/DEMO/PITFALL.II b/res/DEMO/PITFALL.II index 3b2a893d9..151203d25 100755 Binary files a/res/DEMO/PITFALL.II and b/res/DEMO/PITFALL.II differ diff --git a/res/DEMO/TUNNEL.TERROR b/res/DEMO/TUNNEL.TERROR index b71214bc6..b47c07ba2 100755 Binary files a/res/DEMO/TUNNEL.TERROR and b/res/DEMO/TUNNEL.TERROR differ diff --git a/res/DEMO/TUNNEL.TERROR.1 b/res/DEMO/TUNNEL.TERROR.1 deleted file mode 100644 index 6cab6a788..000000000 Binary files a/res/DEMO/TUNNEL.TERROR.1 and /dev/null differ diff --git a/res/DEMO/_FileInformation.txt b/res/DEMO/_FileInformation.txt index 112738c8a..ef4851728 100644 --- a/res/DEMO/_FileInformation.txt +++ b/res/DEMO/_FileInformation.txt @@ -6,13 +6,12 @@ ALIEN.DOWNPOUR=Type(06),AuxType(0300),Access(C3) ALIEN.MUNCHIES=Type(06),AuxType(0300),Access(C3) ALIEN.MUNCH.1=Type(F1),AuxType(0000),Access(C3) ALIEN.TYPHOON=Type(06),AuxType(0300),Access(C3) -AQUATRON=Type(06),AuxType(0120),Access(C3) +AQUATRON=Type(06),AuxType(BD00),Access(C3) AXIS.ASSASSIN=Type(06),AuxType(0300),Access(C3) AXIS.ASSASSIN.1=Type(F1),AuxType(0000),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.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(0300),Access(C3) @@ -98,7 +97,6 @@ LADY.TUT.1=Type(F1),AuxType(0000),Access(C3) LASER.BOUNCE=Type(06),AuxType(0300),Access(C3) LASER.BOUNCE.1=Type(F1),AuxType(0000),Access(C3) LAZER.SILK=Type(06),AuxType(0300),Access(C3) -LAZER.SILK.1=Type(F1),AuxType(0000),Access(C3) LODE.RUNNER=Type(06),AuxType(1F00),Access(C3) LODE.RUNNER.1=Type(F1),AuxType(0000),Access(C3) LODE.RUNNER.M=Type(F1),AuxType(0000),Access(C3) @@ -117,7 +115,7 @@ PEST.PATROL=Type(06),AuxType(0300),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) +PITFALL.II=Type(06),AuxType(0300),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) @@ -168,8 +166,7 @@ STELLAR.7.1=Type(F1),AuxType(0000),Access(C3) THUNDERBOMBS=Type(06),AuxType(2000),Access(C3) THUNDER.1=Type(F1),AuxType(0000),Access(C3) TB=Type(06),AuxType(0300),Access(C3) -TUNNEL.TERROR=Type(06),AuxType(4600),Access(C3) -TUNNEL.TERROR.1=Type(F1),AuxType(0000),Access(C3) +TUNNEL.TERROR=Type(06),AuxType(BD00),Access(C3) WARP.DESTROYER=Type(06),AuxType(0300),Access(C3) WARP.DESTROY.1=Type(F1),AuxType(0000),Access(C3) WAVY.NAVY=Type(06),AuxType(0300),Access(C3) diff --git a/src/demo/aquatron.a b/src/demo/aquatron.a index ed3d048af..d4779a107 100644 --- a/src/demo/aquatron.a +++ b/src/demo/aquatron.a @@ -3,7 +3,7 @@ !cpu 6502 !to "res/DEMO/AQUATRON",plain -*=$120 +*=$BD00 !source "src/constants.a" ; no code in these !source "src/macros.a" @@ -44,6 +44,6 @@ title !byte x_e-x_b x_b !text "X/AQUATRON/AQUATRON" x_e -!if * > $1F0 { +!if * > $BEFF { !error "code is too large, ends at ", * } diff --git a/src/demo/beer.run.a b/src/demo/beer.run.a new file mode 100644 index 000000000..8c6015ef9 --- /dev/null +++ b/src/demo/beer.run.a @@ -0,0 +1,77 @@ +;license:MIT +;(c) 2021 by Frank M. + +!cpu 6502 +!to "res/DEMO/BEER.RUN",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 #11-1 ; we also need to copy the length byte +- lda newpath,x + sta $BFD0,x + dex + bpl - + + lda #$60 + sta $2065 + jsr $2000 ; decompress1 + + lda #$60 + sta $BB2C + jsr $BB00 ; decompress2 + + lda #$4C + sta $419C + sta $6C62 + sta $4085 + sta $4088 + lda #0 + sta $419C+1 + sta $6C62+1 + sta $4085+1 + lda #1 + sta $419C+2 + sta $6C62+2 + sta $4085+2 ; set exits + + lda #<(count+1) + sta $4088+1 + lda #>(count+1) + sta $4088+2 ; decrement custom counter after demo cycle and eventually exit + + lda #$D0 + sta $67D1 ; disable sound + + +DISABLE_ACCEL + + jmp $4000 + +count !byte $03 + dec count + bpl + + jmp $100 ++ jmp $40C8 + +newpath + !byte 10 + !text "X/BEER.RUN" + +title !byte x_e-x_b +x_b !text "X/BEER.RUN/BEER.RUN" +x_e + +!if * > $3F0 { + !error "code is too large, ends at ", * +} diff --git a/src/demo/lazer.silk.a b/src/demo/lazer.silk.a new file mode 100644 index 000000000..c8c431214 --- /dev/null +++ b/src/demo/lazer.silk.a @@ -0,0 +1,63 @@ +;license:MIT +;(c) 2021 by Frank M. + +!cpu 6502 +!to "res/DEMO/LAZER.SILK",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 $404B + jsr $4000 ; decompress + + lda #$4C + sta $14D5 + sta $14E5 + sta $1125 + sta $16E8 + sta $0C3D + sta $0C5B + sta $0D04 + lda #0 + sta $14D5+1 + sta $14E5+1 + sta $1125+1 + sta $16E8+1 + sta $0C3D+1 + sta $0C5B+1 + sta $0D04+1 + lda #1 + sta $14D5+2 + sta $14E5+2 + sta $1125+2 + sta $16E8+2 + sta $0C3D+2 + sta $0C5B+2 + sta $0D04+2 ; set exits + + lda #$1F + sta $0D01 ; reduce time spent on final screen + + lda #$D0 + sta $7EE8 + sta $1077 + sta $1159 + sta $1549 ; disable sound + + +DISABLE_ACCEL + + jmp ($0020) + +title !byte x_e-x_b +x_b !text "X/LAZER.SILK/LAZER.SILK" +x_e + +!if * > $3F0 { + !error "code is too large, ends at ", * +} diff --git a/src/demo/pitfall.ii.a b/src/demo/pitfall.ii.a new file mode 100644 index 000000000..f1bbb348c --- /dev/null +++ b/src/demo/pitfall.ii.a @@ -0,0 +1,76 @@ +;license:MIT +;(c) 2021 by Frank M. + +!cpu 6502 +!to "res/DEMO/PITFALL.II",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 $3D34 + jsr $0800 ; decompress + + +RESET_VECTOR reset + lda #$4C + sta $2DF5 + sta $2E06 + lda #callback1 + sta $2DF7 + lda #callback2 + sta $2E08 + + +DISABLE_ACCEL + + jmp $6000 ;612A copies pages 2E & 2F to AE & AF for final location + +reset + +READ_RAM2_NO_WRITE + jmp ($FFFC) + +callback1 + sec + sbc #8 + cmp #2 + bcc + +- jmp $AE0A ++ jmp $ADF9 + +callback2 + ldx #6-1 +p1 lda patch, x + sta $6055, x + sta $AB43, x + dex + bpl p1 ; set demo exits + + lda #$BF + sta $6021 ; reduce time before demo starts + + lda #$D0 + sta $6299 ; don't lose keypress on return + + sec + sbc #8 + cmp #2 + bcs - + jmp $AE21 + +patch !byte $AD,$88,$C0,$6C,$FC,$FF + +title !byte x_e-x_b +x_b !text "X/PITFALL.II/PITFALL.II" +x_e + +!if * > $3F0 { + !error "code is too large, ends at ", * +} diff --git a/src/demo/tunnel.terror.a b/src/demo/tunnel.terror.a new file mode 100644 index 000000000..bc1427db2 --- /dev/null +++ b/src/demo/tunnel.terror.a @@ -0,0 +1,78 @@ +;license:MIT +;(c) 2021 by Frank M. + +!cpu 6502 +!to "res/DEMO/TUNNEL.TERROR",plain +*=$BD00 + + !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 #1 ; reset vector fix + sta $6E13 ; to $3F3 + lda #$A4 + sta $6E15 ; to $3F4 (doesn't change $3F2) + + lda #$60 + sta $4026 + jsr $4000 ; decompress and show title + + lda #$4C + sta $0EFE + sta $06A4 + sta $AD10 + sta $0E66 + sta $1315+2 + lda #0 + sta $0EFE+1 + sta $06A4+1 + sta $AD10+1 + sta $0E66+1 + sta $1315+3 + sta $0F5D+1 + sta $0F72+1 + lda #1 + sta $0EFE+2 + sta $06A4+2 + sta $AD10+2 + sta $0E66+2 + sta $1315+4 ; set exits + + lda #$10 + sta $1315 + lda #$1B + sta $1315+1 + + lda #$A9 + sta $0F5D + sta $0F72 + lda #$EA + sta $0F5D+2 + sta $0F72+2 + + lda #$AD + sta $8434 + sta $8441 + lda #$30 + sta $8434+1 + sta $8441+1 + lda #$D0 + sta $8434+2 + sta $8441+2 ; disable sound + + +DISABLE_ACCEL + + jmp $E00 + +title !byte x_e-x_b +x_b !text "X/TUNNEL.TERROR/TUNNEL.TERROR" +x_e + +!if * > $BFD0 { + !error "code is too large, ends at ", * +}