mirror of
https://github.com/a2-4am/passport.git
synced 2024-05-28 21:41:27 +00:00
add support for Neosoft self-decrypting nibble count at BB29 [fixes Animal Photo Fun, Comparison Kitchen]
This commit is contained in:
parent
c525e8c708
commit
b250d98d23
|
@ -74,6 +74,7 @@ AnalyzeT00
|
||||||
!source "../patchers/t00_sve.a"
|
!source "../patchers/t00_sve.a"
|
||||||
!source "../patchers/t00_swordthrust.a"
|
!source "../patchers/t00_swordthrust.a"
|
||||||
!source "../patchers/t00_scottforesman_dos33.a"
|
!source "../patchers/t00_scottforesman_dos33.a"
|
||||||
|
!source "../patchers/t00_neosoft.a"
|
||||||
; ----- add new DOS 3.3 patchers above this line -----
|
; ----- add new DOS 3.3 patchers above this line -----
|
||||||
!source "../patchers/t00_nibtable.a" ; clobbers $2000..$2095 (AnalyzeT00 is decompressed into $2000)
|
!source "../patchers/t00_nibtable.a" ; clobbers $2000..$2095 (AnalyzeT00 is decompressed into $2000)
|
||||||
!source "../patchers/t00_rwts.a" ; must run after all other patchers that might modify RWTS code
|
!source "../patchers/t00_rwts.a" ; must run after all other patchers that might modify RWTS code
|
||||||
|
|
43
src/patchers/t00_neosoft.a
Normal file
43
src/patchers/t00_neosoft.a
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
;-------------------------------
|
||||||
|
; #T00NEOSOFT
|
||||||
|
; nibble count during early boot
|
||||||
|
;
|
||||||
|
; tested on
|
||||||
|
; - Comparison Kitchen (Neosoft/DLM)
|
||||||
|
; - Animal Photo Fun (Neosoft/DLM)
|
||||||
|
;-------------------------------
|
||||||
|
; gTrack = 0
|
||||||
|
; Caller found DOS 3.3 RWTS
|
||||||
|
|
||||||
|
lda #$01
|
||||||
|
ldx #$38
|
||||||
|
jsr compare3 ; if T00,S01,$38 ==
|
||||||
|
!byte $20,$90,$B7
|
||||||
|
bcs +
|
||||||
|
|
||||||
|
ldx #$90
|
||||||
|
jsr compare3 ; and T00,S01,$90 ==
|
||||||
|
!byte $20,$00,$BB
|
||||||
|
bcs +
|
||||||
|
|
||||||
|
lda #$05
|
||||||
|
ldx #$DA
|
||||||
|
jsr compare3 ; and T00,S05,$DA ==
|
||||||
|
!byte $F8,$55,$E2; XOR #$55 of $AD $00 $B7 (LDA $B700)
|
||||||
|
bcs +
|
||||||
|
|
||||||
|
ldx #$6C
|
||||||
|
jsr compare2 ; and T00,S05,$6C ==
|
||||||
|
!byte $D0,$55 ; XOR #$55 of $85 $00 (STA $00)
|
||||||
|
bcs + ; passport-test-suite/Animal Photo Fun.woz [C=0] matches
|
||||||
|
|
||||||
|
jsr PrintByID
|
||||||
|
!byte s_neosoft
|
||||||
|
|
||||||
|
jsr modify2 ; then set T00,S05,$6C ==
|
||||||
|
!byte $A5,$39 ; XOR #$55 of $F0 $6C (BEQ +6C)
|
||||||
|
|
||||||
|
ldx #$DA
|
||||||
|
jsr modify1
|
||||||
|
!byte $D8 ; XOR #$55 of $8D (STA)
|
||||||
|
+
|
|
@ -11,6 +11,8 @@
|
||||||
; - Percent 1 (Scott, Foresman and Company)
|
; - Percent 1 (Scott, Foresman and Company)
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
; gTrack = 0
|
; gTrack = 0
|
||||||
|
; Caller found DOS 3.3 RWTS
|
||||||
|
|
||||||
lda #$0B
|
lda #$0B
|
||||||
ldx #$15
|
ldx #$15
|
||||||
ldy #$06
|
ldy #$06
|
||||||
|
|
|
@ -216,6 +216,7 @@ StringTableLow ; must be kept in sync with constants in enid.a
|
||||||
!byte <.enlightenmentb0
|
!byte <.enlightenmentb0
|
||||||
!byte <.enlightenment
|
!byte <.enlightenment
|
||||||
!byte <.sfc
|
!byte <.sfc
|
||||||
|
!byte <.neosoft
|
||||||
|
|
||||||
StringTableHigh ; must be kept in sync with constants in enid.a
|
StringTableHigh ; must be kept in sync with constants in enid.a
|
||||||
!byte >.header
|
!byte >.header
|
||||||
|
@ -371,6 +372,7 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
||||||
!byte >.enlightenmentb0
|
!byte >.enlightenmentb0
|
||||||
!byte >.enlightenment
|
!byte >.enlightenment
|
||||||
!byte >.sfc
|
!byte >.sfc
|
||||||
|
!byte >.neosoft
|
||||||
|
|
||||||
.passport
|
.passport
|
||||||
!text "Passport ",$00
|
!text "Passport ",$00
|
||||||
|
@ -768,3 +770,5 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
||||||
!text "@",s_found,"flux timing @",s_protection,$8D,$00
|
!text "@",s_found,"flux timing @",s_protection,$8D,$00
|
||||||
.sfc
|
.sfc
|
||||||
!text "@",s_found,"SFC @",s_protectioncheck,$8D,$00
|
!text "@",s_found,"SFC @",s_protectioncheck,$8D,$00
|
||||||
|
.neosoft
|
||||||
|
!text "@",s_found,"Neosoft @",s_protectioncheck,$8D,$00
|
||||||
|
|
|
@ -154,3 +154,4 @@ s_pfs = $95
|
||||||
s_enlightenmentb0 = $96
|
s_enlightenmentb0 = $96
|
||||||
s_enlightenment = $97
|
s_enlightenment = $97
|
||||||
s_sfc = $98
|
s_sfc = $98
|
||||||
|
s_neosoft = $99
|
||||||
|
|
Loading…
Reference in New Issue
Block a user