From 1e9e4870af813dbbde9a6e710b3a4c00800b4088 Mon Sep 17 00:00:00 2001 From: 4am Date: Fri, 5 May 2017 14:21:03 -0400 Subject: [PATCH] only run rwtsswapmecc patcher on relevant MECC disks --- src/id/inspect0.a | 6 +++++- src/passport.a | 8 ++++++-- src/patchers/rwtsswapmecc.a | 8 ++++---- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/id/inspect0.a b/src/id/inspect0.a index 0abe18a..368e81d 100755 --- a/src/id/inspect0.a +++ b/src/id/inspect0.a @@ -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 diff --git a/src/passport.a b/src/passport.a index db81e80..82a86f5 100755 --- a/src/passport.a +++ b/src/passport.a @@ -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, diff --git a/src/patchers/rwtsswapmecc.a b/src/patchers/rwtsswapmecc.a index 9e3667d..33d2040 100755 --- a/src/patchers/rwtsswapmecc.a +++ b/src/patchers/rwtsswapmecc.a @@ -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