This commit is contained in:
4am 2021-10-31 19:26:06 -04:00
commit 418d828b04
28 changed files with 337 additions and 26 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.

Binary file not shown.

View File

@ -15,12 +15,7 @@ BELLHOP=Type(06),AuxType(3FFD),Access(C3)
BB=Type(06),AuxType(0300),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)
BURGERTIME.2=Type(F1),AuxType(6400),Access(C3)
BURGERTIME.3=Type(F1),AuxType(2000),Access(C3)
BURGERTIME.4=Type(F1),AuxType(0C00),Access(C3)
BURGERTIME.5=Type(F1),AuxType(6000),Access(C3)
BU=Type(06),AuxType(0300),Access(C3)
BUZZARD.BAIT=Type(06),AuxType(0300),Access(C3)
CB=Type(06),AuxType(3000),Access(C3)
CANNONBALL.BL.1=Type(F1),AuxType(0000),Access(C3)
@ -45,7 +40,6 @@ DIG.DUG=Type(06),AuxType(0300),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)
DUNG.BEETLES.1=Type(F1),AuxType(0000),Access(C3)
FALCONS=Type(06),AuxType(B000),Access(C3)
FIREBIRD=Type(06),AuxType(0300),Access(C3)
FIREBIRD.1=Type(F1),AuxType(0000),Access(C3)
@ -74,7 +68,7 @@ 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(0200),Access(C3)
HIGH.RISE=Type(06),AuxType(3FCB),Access(C3)
HIGH.RISE=Type(06),AuxType(0300),Access(C3)
JUNGLE.HUNT=Type(06),AuxType(0300),Access(C3)
JUNGLE.HUNT.1=Type(F1),AuxType(0000),Access(C3)
JUNGLE.HUNT.A=Type(F1),AuxType(7700),Access(C3)
@ -164,4 +158,3 @@ 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)
VINDICATOR=Type(06),AuxType(0300),Access(C3)
VINDICATOR.1=Type(F1),AuxType(0000),Access(C3)

88
src/demo/burgertime.a Normal file
View File

@ -0,0 +1,88 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/BU",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 $3ec9
sta $3f09
jsr $3e97 ; decompress
jsr DisableAccelerator
+READ_ROM_NO_WRITE
lda #$4C
sta $653F
lda #$8D
sta $653F+1
lda #$65
sta $653F+2 ; skip joystick/keyboard selection
lda #$b1
sta $646b
jsr $6400
+ENABLE_ACCEL
jsr $811
lda #0
sta $A30A
lda #1
sta $A30F ; reset vector patch
lda #$4C
sta $9FD3
sta $9FCF
sta $A497 ; set exits
lda #0
sta $9FD3+1
sta $9FCF+1
sta $A497+1
sta $A15B
sta $A16A
sta $A17B
sta $A1D0 ; disable sound
lda #1
sta $9FD3+2
sta $9FCF+2
sta $A497+2
+DISABLE_ACCEL
jmp $a300
newpath
!byte 4
!text "X/BU"
title !byte x_e-x_b
x_b !text "X/BU/BU"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

66
src/demo/dung.beetles.a Normal file
View File

@ -0,0 +1,66 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/DUNG.BEETLES",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 $603A
jsr $6000 ; decompress
lda #1
sta $083E ; reset vector patch
lda #$4C
sta $847
lda #0
sta $848
lda #$96 ; patch $847 - JMP ($3F2)
sta $849 ; to JMP $9600
lda #$60
sta $847
jsr $800 ; memory move
ldx #6-1
- lda patch, x
sta $9B93, x
dex
bpl - ; disable button support on title screen
lda #$4C
sta $9B7D
sta $97D5
lda #0
sta $9B7D+1
sta $97D5+1
lda #1
sta $9B7D+2
sta $97D5+2 ; set exits
lda #$D0
sta $1C17
sta $12CE
sta $9B4D
sta $9B56 ; disable sound
+DISABLE_ACCEL
jmp $9600
patch !byte $A9,$01,$EA,$EA,$EA,$EA
title !byte x_e-x_b
x_b !text "X/DUNG.BEETLES/DUNG.BEETLES"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

View File

@ -16,7 +16,7 @@
sta $2034
jsr $2000 ; decompress
+RESET_VECTOR $100
+RESET_AND_IRQ_VECTOR $100
lda #$4C
sta $5B9A

44
src/demo/high.rise.a Normal file
View File

@ -0,0 +1,44 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/HIGH.RISE",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 $0836
jsr $0800 ; decompress
lda #$2C
sta $44AA
sta $44AD
sta $44B0 ; reset vector fix
lda #$4C
sta $455D
sta $4695
lda #0
sta $455D+1
sta $4695+1
lda #1
sta $455D+2
sta $4695+2 ; set exits
+DISABLE_ACCEL
jmp $449A
title !byte x_e-x_b
x_b !text "X/HIGH.RISE/HIGH.RISE"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

View File

@ -10,7 +10,13 @@
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT title, $00
;+LOAD_FILE_KEEP_DIR
ldx #0 ; read to main memory
stx ldrhi
stx ldrlo
+LDADDR title
jsr iLoadFileDirect
lda #<callback
sta $141D+1
@ -18,29 +24,31 @@
sta $141D+2
jmp $1400 ; decompress
callback +RESET_VECTOR $100
callback +RESET_AND_IRQ_VECTOR $100
ldx #6-1
- lda patch, x
- lda patch1, 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
ldx #3-1
- lda patch2, x
sta $453A, x
dex
bpl - ; exit at end of demo cycle
lda #$D0
sta $053B ; disable sound
+DISABLE_ACCEL
jsr DisableAccelerator
+READ_ROM_NO_WRITE
jmp $4015
patch !byte $AD,$88,$C0,$6C,$FC,$FF
patch1 !byte $AD,$88,$C0,$6C,$FC,$FF
patch2 !byte $4C,$42,$45
title !byte x_e-x_b
x_b !text "X/ROBOTRON.2084/ROBOTRON.2084"

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2021 by qkumba
;(c) 2021 by qkumba/Frank M.
!cpu 6502
!to "res/DEMO/SPACE.QUARKS",plain
@ -11,10 +11,20 @@
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_AT space_quarks, $00
lda #0
sta $40B4 ; (moved to $3F2) reset fix
sta $40C0 ; (moved to $3FE) IRQ fix
lda #1
sta $40B4+1
sta $40C0+1
lda #$A4
sta $40B4+2
lda #$4C
sta $3EC9
jsr $3E65 ; decompress/set reset vector
+RESET_AND_IRQ_VECTOR $100
jsr $3E65 ; decompress
lda #$EA
sta $1C38
sta $1C39

View File

@ -34,15 +34,17 @@
sta $0905+1
sta $51C7+1
sta $51D2+1
sta $47F2
sta $47F2 ; fix reset (moved to $3F2/$3F3/$3F4)
sta $47FE ; fix IRQ (moved to $3FE/$3FF)
lda #1
sta $0933+4
sta $0905+2
sta $51C7+2
sta $51D2+2 ; set exits
sta $47F2+1
sta $47FE+1
lda #$A4
sta $47F4+2 ; reset vector fix (moved to $3F2/$3F4)
sta $47F2+2 ; fix reset checksum
lda #$D0
sta $153B

View File

@ -37,6 +37,7 @@
sta $0F5D+1
sta $0F72+1
lda #1
sta $03FF ; fix IRQ
sta $0EFE+2
sta $06A4+2
sta $AD10+2

70
src/demo/vindicator.a Normal file
View File

@ -0,0 +1,70 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/VINDICATOR",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 #13-1 ; we also need to copy the length byte
- lda newpath,x
sta $BFD0,x
dex
bpl -
lda #$60
sta $1867
jsr $180F ; decompress
+NEW_RESET_VECTOR $BFF0
lda #$F0
sta $4001
lda #$BF
sta $400F ; reset vector fix
lda #$60 ; annunciator fix - kills Gizmo/joyport support
sta $5B77 ; but fixes ][+ 80-col softswitch
sta $5B43 ; and //c+ coloring
lda #$4C
sta $56D9
sta $4902
lda #0
sta $56D9+1
sta $4902+1
lda #1
sta $56D9+2
sta $4902+2 ; set exits
lda #$D0
sta $441F
sta $5E25
sta $5DDC ; disable sound
+DISABLE_ACCEL
jmp $4000
newpath
!byte 12
!text "X/VINDICATOR"
title !byte x_e-x_b
x_b !text "X/VINDICATOR/VINDICATOR"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

27
src/prelaunch/high.rise.a Normal file
View File

@ -0,0 +1,27 @@
;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "build/PRELAUNCH.INDEXED/HIGH.RISE",plain
*=$106
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$60
sta $0836
jsr $0800 ; decompress
lda #$2C
sta $44AA
sta $44AD
sta $44B0 ; reset vector fix
+DISABLE_ACCEL
jmp $449A
!if * > $1C0 {
!error "code is too large, ends at ", *
}

View File

@ -19,8 +19,10 @@
lda #0
sta $47F2
sta $47FE
lda #1
sta $47F3
sta $47FF ; IRQ vector (moved to $3FE/F)
lda #$A4
sta $47F4 ; reset vector (moved to $3F2/3/4)