convert Goonies demo, save 78kb

This commit is contained in:
Peter Ferrie 2022-05-05 10:52:06 -07:00
parent f3d9b8797b
commit c62201653c
18 changed files with 87 additions and 15 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

@ -38,21 +38,7 @@ FIREBUG=Type(06),AuxType(0200),Access(C3)
FLIP.OUT=Type(06),AuxType(0300),Access(C3)
GALAXIAN=Type(06),AuxType(0300),Access(C3)
GAMMA.GOBLINS=Type(06),AuxType(B000),Access(C3)
THE.GOONIES=Type(06),AuxType(1000),Access(C3)
GOONIES.1=Type(F1),AuxType(4C63),Access(C3)
GOONIES.2=Type(F1),AuxType(4C63),Access(C3)
GOONIES.3=Type(F1),AuxType(4C63),Access(C3)
GOONIES.4=Type(F1),AuxType(4C63),Access(C3)
GOONIES.5=Type(F1),AuxType(4C63),Access(C3)
GOONIES.6=Type(F1),AuxType(4C63),Access(C3)
GOONIES.7=Type(F1),AuxType(4C63),Access(C3)
GOONIES.A=Type(F1),AuxType(5997),Access(C3)
GOONIES.B=Type(F1),AuxType(6006),Access(C3)
GOONIES.C=Type(F1),AuxType(5F69),Access(C3)
GOONIES.D=Type(F1),AuxType(5A2D),Access(C3)
GOONIES.E=Type(F1),AuxType(6219),Access(C3)
GOONIES.F=Type(F1),AuxType(5D88),Access(C3)
GOONIES.J=Type(F1),AuxType(0800),Access(C3)
THE.GOONIES=Type(06),AuxType(0300),Access(C3)
GUMBALL=Type(06),AuxType(0210),Access(C3)
HARD.HAT.MACK=Type(06),AuxType(0200),Access(C3)
HIGH.RISE=Type(06),AuxType(0300),Access(C3)

67
src/demo/the.goonies.a Normal file
View File

@ -0,0 +1,67 @@
;license:MIT
;(c) 2022 by qkumba
!cpu 6502
!to "res/DEMO/THE.GOONIES",plain
*=$300
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+USES_TEXT_PAGE_2
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
+LOAD_FILE_KEEP_DIR the_goonies, the_goonies_dir_e-the_goonies_dir_b
lda #$60
sta $1045
jsr $1000 ; decompress
ldx #$2C
stx $6BF
ldx #$60
stx $60C
stx $622
ldx #6
stx $583
jsr $55C ; load next part
lda #$4C
sta $406F
ldx #0
stx $4070
inx
stx $4071
lda #$2C
sta $4039
+DISABLE_ACCEL
jsr $4000 ; title
jsr $60F ; load level
ldx #0
stx $87D
stx $12C4
stx $12CC
inx
stx $87E
stx $12C5
stx $12CD
stx $A0D
lda #$4C
sta $12CB
lda #$D0
sta $83AF
sta $832A
sta $8330
sta $8379
sta $8391
jmp $800
the_goonies
!byte the_goonies_e-the_goonies_b
the_goonies_b
the_goonies_dir_b
!text "X/THE.GOONIES"
the_goonies_dir_e
!text "/THE.GOONIES"
the_goonies_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}

View File

@ -456,6 +456,25 @@
sta iCurBlockLo
}
; load an external file by pathname
; set path to new directory
; LC RAM 2 MUST BE BANKED IN
!macro LOAD_FILE_KEEP_DIR .filepath, .dirlen {
ldx #0 ; read to main memory
stx ldrhi
stx ldrlo
+LDADDR .filepath
jsr iLoadFileDirect
ldx #.dirlen
stx $BFD0
- lda .filepath,x
sta $BFD0,x
dex
bne -
}
; Macros for demo launchers that need to check whether they should run
; on the current machine. Exit demo if the requirements are not met.
!macro GAME_REQUIRES_JOYSTICK {