mirror of
https://github.com/a2-4am/passport.git
synced 2025-01-10 09:29:44 +00:00
add support for MECC data diskette RWTS swapper
fixes Word Wizards v1.0
This commit is contained in:
parent
cbc5812a52
commit
9fd7e03572
@ -64,6 +64,10 @@
|
||||
; set in IDBootloader() after reading T00,S00
|
||||
|
||||
FIRSTFILTER
|
||||
;gPossibleMECCSwapper
|
||||
!byte FALSE ; 0=true, 1=false
|
||||
; reset before each operation
|
||||
; set in TraceDOS33c() after tracing DOS 3.3-shaped RWTS
|
||||
;gIsTSR
|
||||
!byte FALSE ; 0=true, 1=false
|
||||
; reset before each operation
|
||||
|
@ -103,9 +103,10 @@ gIsHolle = gIsMUSERWTS-$01 ; byte
|
||||
gIsPhoenix = gIsHolle-$01 ; byte
|
||||
gIsDiversi = gIsPhoenix-$01 ; byte
|
||||
gIsTSR = gIsDiversi-$01 ; byte
|
||||
gPossibleMECCSwapper = gIsTSR-$01 ; byte
|
||||
;LASTFILTER ; add new gIs* above this line
|
||||
;gIsInfocom18 is a special case whose ID is not in the regular inspection path
|
||||
gIsInfocom18 = gIsTSR-$01 ; byte
|
||||
gIsInfocom18 = gPossibleMECCSwapper-$01 ; byte
|
||||
;gIs13Sector is a special case whose ID is not in the regular inspection path
|
||||
gIs13Sector = gIsInfocom18-$01 ; byte
|
||||
;gMECCFastloadType is a special case integer whose default value cannot be #FALSE
|
||||
@ -181,6 +182,7 @@ ConstructStandardDelivery = jConstructStandardDelivery
|
||||
!warn "gIsPhoenix=",gIsPhoenix
|
||||
!warn "gIsDiversi=",gIsDiversi
|
||||
!warn "gIsTSR=",gIsTSR
|
||||
!warn "gPossibleMECCSwpper",gPossibleMECCSwapper
|
||||
!warn "gIsRDOS13=",gIsRDOS13
|
||||
!warn "gIsInfocom18=",gIsInfocom18
|
||||
!warn "gIs13Sector=",gIs13Sector
|
||||
|
@ -216,6 +216,18 @@ _Inspect1a
|
||||
lda #TRUE
|
||||
sta gIsPhoenix
|
||||
;
|
||||
; Check for MECC DOS loaded in lower memory
|
||||
; (sets flag for a specific patcher)
|
||||
;
|
||||
+ lda $08FE
|
||||
cmp #$36
|
||||
bne +
|
||||
lda $371A
|
||||
cmp #$0D
|
||||
bne +
|
||||
lda #TRUE
|
||||
sta gPossibleMECCSwapper
|
||||
;
|
||||
; Turn off drive recalibration
|
||||
;
|
||||
+ lda jCallRWTS+2; check for code at $BDD2
|
||||
|
@ -793,6 +793,7 @@ _applyToAll
|
||||
!source "patchers/memory.config.a" ; gIsProDOS only
|
||||
!source "patchers/origin.a" ; gIsProDOS only
|
||||
!source "patchers/rwtsswapmecc.a" ; gMECCFastloadType only
|
||||
!source "patchers/rwtsswapmecc2.a" ; gPossibleMECCSwapper only
|
||||
!source "patchers/rwtsswappenguin.a" ; T01 only
|
||||
!source "patchers/protecteddos.a" ; gIsProtDOS only
|
||||
!source "patchers/fbff.a"
|
||||
|
29
src/patchers/rwtsswapmecc2.a
Normal file
29
src/patchers/rwtsswapmecc2.a
Normal file
@ -0,0 +1,29 @@
|
||||
;-------------------------------
|
||||
; #RWTSSWAPMECC2
|
||||
; post-boot RWTS swapper in MECC
|
||||
; DOS disks
|
||||
;-------------------------------
|
||||
!zone {
|
||||
bit gMode ; nothing to do here in verify-only mode
|
||||
bpl .exit
|
||||
lda gPossibleMECCSwapper
|
||||
beq .exit
|
||||
|
||||
ldy #$08
|
||||
jsr SearchTrack
|
||||
!byte $A9,$AA
|
||||
!byte $2C
|
||||
!byte $A9,$D5
|
||||
!byte $8D,$7A,$BC
|
||||
bcs .exit ; passport-test-suite/Word Wizards v1.0.woz [C=0] matches
|
||||
sta gDisplayBytes
|
||||
inx
|
||||
inx
|
||||
inx
|
||||
inx
|
||||
inx
|
||||
ldy #$01
|
||||
jsr modify
|
||||
!byte $60
|
||||
.exit
|
||||
}
|
@ -284,7 +284,7 @@ StringTableHigh
|
||||
; can be set directly before calling PrintByID.
|
||||
;
|
||||
.header
|
||||
!text "Passport by 4am 2021-02-10",$00
|
||||
!text "Passport by 4am 2021-02-23",$00
|
||||
.mainmenu
|
||||
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
||||
!text " "
|
||||
|
Loading…
x
Reference in New Issue
Block a user