only run rwtsswapmecc patcher on relevant MECC disks

This commit is contained in:
4am 2017-05-05 14:21:03 -04:00
parent 907bc0fa8c
commit 1e9e4870af
3 changed files with 15 additions and 7 deletions

View File

@ -8,7 +8,8 @@
!zone {
IDBootloader
;
; reset all per-disk globals
; Reset all per-disk globals.
; These are used as filters later so irrelevant patchers can be skipped.
;
lda #FALSE
sta gIsBoot0
@ -20,6 +21,7 @@ IDBootloader
sta gIsProtDOS
sta gIsEA
sta gIsEEEF
sta gIsMECCFastloader
lda #$00
sta gLastTrack
;
@ -80,6 +82,8 @@ IDBootloader
;
+ jsr IDMECC
bcs .notmecc
lda #TRUE
sta gIsMECCFastloader
lda #s_mecc
jsr PrintByID
jsr CopyUniversal

View File

@ -708,11 +708,11 @@ _applyToAll
!source "patchers/prodosrwts.a" ; gIsProDOS only
!source "patchers/prodos6a.a" ; gIsProDOS only
!source "patchers/prodosmecc.a" ; gIsProDOS only
!source "patchers/rwtsswapmecc.a"
!source "patchers/rwtsswapmecc.a" ; gIsMECCFastloader only
!source "patchers/protecteddos.a" ; gIsProtDOS only
!source "patchers/fbff.a"
!source "patchers/sierra.a"
!source "patchers/corrupter.a"
!source "patchers/corrupter.a" ; T13 only
!source "patchers/ea.a" ; gIsEA only (+gIsBoot0 for DOS titles)
!source "patchers/gamco.a" ; gIsEEEF only
!source "patchers/optimum.a" ; gIsOptimum only
@ -802,6 +802,10 @@ gIsOptimum
!byte FALSE ; 0=true, 1=false
; reset before each operation
; set in IDBootloader() after reading T00,S00
gIsMECCFastloader
!byte FALSE ; 0=true, 1=false
; reset before each operation
; set in IDBootloader() after reading T00,S00
gOnAClearDayYouCanReadForever
!byte FALSE ; 0=true, 1=false
; retry reads with a captured RWTS forever,

View File

@ -1,12 +1,12 @@
;-------------------------------
; #RWTSSWAPMECC
; post-boot RWTS swapper in MECC
; disks
; TODO might be able to gate this on MECC fastloader
; (I think it's only used on Dataquest disks)
; fastloader disks
;-------------------------------
!zone {
_rwtsswapmecc
lda gIsMECCFastloader
bne .exit
ldy #$11
jsr SearchTrack
!byte $0A