NEW: patchers/trillium (fixes Rendezvous with Rama, Fahrenheit 451)

This commit is contained in:
4am 2018-01-04 15:02:27 -05:00
parent d8a60b1ba4
commit 1c5fdcfed3
6 changed files with 56 additions and 3 deletions

View File

@ -53,6 +53,11 @@ FIRSTFILTER
!byte FALSE ; 0=true, 1=false
; reset before each operation
; set in patchers/f7f6
;gIsTrillium
!byte FALSE ; 0=true, 1=false
; reset before each operation
; set in patchers/trillium
; used to avoid an expensive search
;gIsF7F6
!byte FALSE ; 0=true, 1=false
; reset before each operation

View File

@ -84,7 +84,8 @@ gIsDatasoft = gIsLaureate-$01 ; byte
gIsSierra = gIsDatasoft-$01 ; byte
gIsSierra13 = gIsSierra-$01 ; byte
gIsF7F6 = gIsSierra13-$01 ; byte
gForceDiskVol = gIsF7F6-$01 ; byte
gIsTrillium = gIsF7F6-$01 ; byte
gForceDiskVol = gIsTrillium-$01 ; byte
;LASTFILTER ; add new gIs* above this line
gOnAClearDayYouCanReadForever = gForceDiskVol-$01 ; byte
@ -147,7 +148,11 @@ ConstructStandardDelivery = jConstructStandardDelivery
!warn "gAdventureInternational=",gAdventureInternational
!warn "gIsLaureate=",gIsLaureate
!warn "gIsDatasoft=",gIsDatasoft
!warn "gIsSierra=",gIsSierra
!warn "gIsSierra13=",gIsSierra13
!warn "gIsF7F6=",gIsF7F6
!warn "gIsTrillium=",gIsTrillium
!warn "gForceDiskVol=",gIsForceDiskVol
!warn "gOnAClearDayYouCanReadForever=",gOnAClearDayYouCanReadForever
!warn "gUsingRAMDisk=",gUsingRAMDisk
!warn "gRAMDiskRef=",gRAMDiskRef

View File

@ -758,6 +758,7 @@ _applyToAll
!source "patchers/sierra13.a" ; gIsDOS32 only
!source "patchers/ssprot.a" ; gIsF7F6 only
!source "patchers/f7f6.a" ; gIsF7F6 only
!source "patchers/trillium.a" ; gIsTrillium only
lda gPatchCount
beq .nopatches

38
src/patchers/trillium.a Normal file
View File

@ -0,0 +1,38 @@
;-------------------------------
; #TRILLIUM
;
; tested on
; Rendezvous with Rama rev. 2
; Fahrenheit 451 rev. 2
;-------------------------------
!zone {
lda gIsTrillium
beq .search
lda gTrack
cmp #$11
bne .exit
lda #$0F
ldx #$31
ldy #$03
jsr compare
!byte $C9,$CF,$A0
bcs .exit
lda #TRUE
sta gIsTrillium
bcc .exit
.search ldy #$09
jsr SearchTrack
!byte $20,$30,$E0; JSR $E030
!byte $AD,$83,$C0; LDA $C083
!byte $AD,$83,$C0; LDA $C083
bcs .exit
sta gDisplayBytes
pha
lda #s_trillium
jsr PrintByID
pla
ldy #$01
jsr modify
!byte $2C ; BIT
.exit
}

View File

@ -112,6 +112,7 @@ StringTable
!word .origin
!word .volumename
!word .dinkeydos
!word .trillium
;
; Text can contain substitution strings, which
; are replaced by current values at runtime. Each
@ -137,7 +138,7 @@ StringTable
; can be set directly before calling PrintByID.
;
.header
!text "Passport by 4am 2018-01-03",$00
!text "Passport by 4am 2018-01-04",$00
.mainmenu
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
!text " "
@ -428,4 +429,6 @@ StringTable
!text "T%t,S%0 Volume name is ",$00
.dinkeydos
!text "T00,S0B Found Dinkey-DOS",$8D,$00
.trillium
!text "T%t,S%0 Found Trillium protection check",$8D,$00
}

View File

@ -100,4 +100,5 @@ s_muse = $5E
s_origin = $5F
s_volumename = $60
s_dinkeydos = $61
STRINGCOUNT = $62
s_trillium = $62
STRINGCOUNT = $63