add Genius 3 to the collection

This commit is contained in:
Peter Ferrie 2020-12-07 21:45:54 -08:00
parent 106c8be67a
commit 98a41f8bd8
6 changed files with 55 additions and 1 deletions

View File

@ -121,6 +121,7 @@
0001,GENETIC.DRIFT 0001,GENETIC.DRIFT
0001,GENIUS 0001,GENIUS
0001,GENIUS.2 0001,GENIUS.2
0001,GENIUS.3
1000,GHOSTBUSTERS 1000,GHOSTBUSTERS
0001,G.I.JOE 0001,G.I.JOE
0001,GOLD.RUSH 0001,GOLD.RUSH

BIN
res/TITLE.HGR/GENIUS.3 Normal file

Binary file not shown.

View File

@ -113,6 +113,7 @@ GENESIS=Type(06),AuxType(4000),Access(C3)
GENETIC.DRIFT=Type(06),AuxType(4000),Access(C3) GENETIC.DRIFT=Type(06),AuxType(4000),Access(C3)
GENIUS=Type(06),AuxType(4000),Access(C3) GENIUS=Type(06),AuxType(4000),Access(C3)
GENIUS.2=Type(06),AuxType(4000),Access(C3) GENIUS.2=Type(06),AuxType(4000),Access(C3)
GENIUS.3=Type(06),AuxType(4000),Access(C3)
GHOSTBUSTERS=Type(06),AuxType(4000),Access(C3) GHOSTBUSTERS=Type(06),AuxType(4000),Access(C3)
GOLD.RUSH=Type(06),AuxType(4000),Access(C3) GOLD.RUSH=Type(06),AuxType(4000),Access(C3)
GORGON=Type(06),AuxType(4000),Access(C3) GORGON=Type(06),AuxType(4000),Access(C3)

Binary file not shown.

View File

@ -6,7 +6,7 @@
; YE OLDE GRAND UNIFIED MEMORY MAP ; YE OLDE GRAND UNIFIED MEMORY MAP
; ;
; LC RAM BANK 1 ; LC RAM BANK 1
; D000..E908 - persistent data structures (gGlobalPrefsStore, gGamesListStore) ; D000..E917 - persistent data structures (gGlobalPrefsStore, gGamesListStore)
; E92D..FFF1 - main program code ; E92D..FFF1 - main program code
; FFF2..FFF9 - API functions and global constants available for main program ; FFF2..FFF9 - API functions and global constants available for main program
; code, prelaunchers, transition effects, &c. ; code, prelaunchers, transition effects, &c.

52
src/prelaunch/genius.3.a Normal file
View File

@ -0,0 +1,52 @@
;license:MIT
;(c) 2020 by qkumba
!cpu 6502
!to "build/PRELAUNCH/GENIUS.3",plain
*=$106
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$60
sta $9CD
jsr $800 ; decompress
+GET_MACHINE_STATUS
and #CHEATS_ENABLED
pha
lda #$60
sta $95E2
lda #<callback1
sta $9684
lda #>callback1
sta $9685
jsr $9592
pla
beq +
dec $1A89 ; patch - don't decrease lives
dec $1AA1 ; patch - don't increase lives
+
+DISABLE_ACCEL
inc $9d ; game relies on it
jmp $95E5
callback1
lda #$4C
sta $D7D5
lda #<callback2
sta $D7D6
lda #>callback2
sta $D7D7
jmp $D7C2
callback2
sec
sbc #7
cmp #2
bcc +
jmp $D7E2
+ jmp $D7D9
!if * > $1C0 {
!error "code is too large, ends at ", *
}