mirror of
https://github.com/a2-4am/passport.git
synced 2025-02-07 11:30:25 +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_swordthrust.a"
|
||||
!source "../patchers/t00_scottforesman_dos33.a"
|
||||
!source "../patchers/t00_neosoft.a"
|
||||
; ----- 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_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)
|
||||
;-------------------------------
|
||||
; gTrack = 0
|
||||
; Caller found DOS 3.3 RWTS
|
||||
|
||||
lda #$0B
|
||||
ldx #$15
|
||||
ldy #$06
|
||||
|
@ -216,6 +216,7 @@ StringTableLow ; must be kept in sync with constants in enid.a
|
||||
!byte <.enlightenmentb0
|
||||
!byte <.enlightenment
|
||||
!byte <.sfc
|
||||
!byte <.neosoft
|
||||
|
||||
StringTableHigh ; must be kept in sync with constants in enid.a
|
||||
!byte >.header
|
||||
@ -371,6 +372,7 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
||||
!byte >.enlightenmentb0
|
||||
!byte >.enlightenment
|
||||
!byte >.sfc
|
||||
!byte >.neosoft
|
||||
|
||||
.passport
|
||||
!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
|
||||
.sfc
|
||||
!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_enlightenment = $97
|
||||
s_sfc = $98
|
||||
s_neosoft = $99
|
||||
|
Loading…
x
Reference in New Issue
Block a user