mirror of
https://github.com/a2-4am/passport.git
synced 2024-05-28 21:41:27 +00:00
support for Earthware reverse RWTS swapper [fixes Black Belt, Zoo Master, Star Search]
This commit is contained in:
parent
d86614f81b
commit
fb2df8a26c
24
README.md
24
README.md
|
@ -379,6 +379,14 @@ IN THE SOFTWARE.
|
|||
## History
|
||||
|
||||
Development (unreleased)
|
||||
- Target can be a hard disk, which will
|
||||
save an autonumbered .DSK file in
|
||||
PASSPORT subdirectory (thanks qkumba)
|
||||
- If the log scrolls off the screen,
|
||||
you can scroll back with arrows
|
||||
(thanks qkumba)
|
||||
- NEW: patchers/earthware.a (Black
|
||||
Belt, Zoo Master)
|
||||
- NEW: patchers/tsr.a (Dawn Patrol,
|
||||
Dungeon, Theseus and the Minotaur)
|
||||
- NEW: patchers/datasoft2.a (Canyon
|
||||
|
@ -390,6 +398,12 @@ Development (unreleased)
|
|||
DataQuest Composer)
|
||||
- NEW: patchers/rwtsswapmecc2.a (Word
|
||||
Wizards v1.0)
|
||||
- NEW: patchers/b4bbbasic.a (SocMate
|
||||
Analogies Games)
|
||||
- NEW: patchers/jsrb6cc.a (Kidwriter)
|
||||
- NEW: patchers/mastery.a (Mastery
|
||||
Arithmetic Games)
|
||||
- NEW: patchers/leisure.a (Clue, RISK)
|
||||
- IMPROVED: patches/mecc.a to erase
|
||||
site license information from final
|
||||
generation of MECC disks (by qkumba)
|
||||
|
@ -398,10 +412,16 @@ Development (unreleased)
|
|||
- IMPROVED: patchers/prodosmecc.a
|
||||
(fixes Miner's Cave)
|
||||
- IMPROVED: patchers/rwtslog.a (fixes
|
||||
La Guillotine)
|
||||
La Guillotine, GATO v1.3)
|
||||
- IMPROVED: patchers/ssi.a (fixes
|
||||
Sixgun Shootout)
|
||||
- IMPROVED: id/d5d5f7.a (fixes Trivia
|
||||
Fever)
|
||||
- IMPROVED: patchers/bb03.a (fixes
|
||||
The Desecration, Depreciation Log)
|
||||
- "BB00 protection" renamed to its
|
||||
marketing name "Lock-It-Up"
|
||||
- update Passport disk to ProDOS 2.4.2
|
||||
- Update Passport disk to ProDOS 2.4.2
|
||||
- Matching updates to the
|
||||
[Passport test suite](https://github.com/a2-4am/passport-test-suite)
|
||||
|
||||
|
|
|
@ -324,6 +324,31 @@ _Inspect1a
|
|||
lda #>gTrack ; Passport's gTrack instead
|
||||
sta $B77A
|
||||
;
|
||||
; Check for Earthware reverse RWTS swapper
|
||||
; (need to pre-swap RWTS then swap it back at T02,S04)
|
||||
;
|
||||
+ lda jCallRWTS+2
|
||||
sec
|
||||
sbc #$07
|
||||
ldx #$89
|
||||
ldy #$0E
|
||||
jsr CompareMemory
|
||||
!byte $BD,$8C,$C0
|
||||
!byte $10,$FB
|
||||
!byte $C9,$AD
|
||||
!byte $D0,$13
|
||||
!byte WILDCARD,WILDCARD
|
||||
!byte $9D,$8D,$C0
|
||||
bcs +
|
||||
lda #$BD
|
||||
sta $B8F6
|
||||
lda #$8C
|
||||
sta $B8F7
|
||||
lda #$C0
|
||||
sta $B8F8
|
||||
lda #kSectorCustomEarthware
|
||||
sta T02S04
|
||||
;
|
||||
; good to go
|
||||
;
|
||||
+ jmp ADStyle ; use this RWTS to read the disk
|
||||
|
|
|
@ -116,6 +116,7 @@ AnalyzeT00
|
|||
!source "../patchers/jmpb500.a"
|
||||
!source "../patchers/mastery.a"
|
||||
!source "../patchers/jsrb6cc.a"
|
||||
!source "../patchers/earthware.a"
|
||||
|
||||
;add only above this line
|
||||
|
||||
|
|
30
src/patchers/earthware.a
Normal file
30
src/patchers/earthware.a
Normal file
|
@ -0,0 +1,30 @@
|
|||
;-------------------------------
|
||||
; #EARTHWARE
|
||||
; reverse RWTS swapper requires
|
||||
; timing bits for DOS sectors but
|
||||
; not others
|
||||
;
|
||||
; tested on
|
||||
; - Black Belt (Earthware Computer Services)
|
||||
; - Zoo Master (Earthware Computer Services)
|
||||
; - Star Search (Earthware Computer Services)
|
||||
;-------------------------------
|
||||
EARTHWARE
|
||||
lda gIsBoot0
|
||||
bne @exit
|
||||
|
||||
lda #$02
|
||||
ldx #$F6
|
||||
ldy #$03
|
||||
jsr compare
|
||||
!byte $4C,$89,$B6
|
||||
bcs @exit
|
||||
sta gDisplayBytes
|
||||
pha
|
||||
lda #s_bytrack
|
||||
jsr PrintByID
|
||||
pla
|
||||
ldy #$03
|
||||
jsr modify
|
||||
!byte $BD,$8C,$C0
|
||||
@exit
|
10
src/rwts.a
10
src/rwts.a
|
@ -101,6 +101,8 @@ PreReadSector
|
|||
beq IgnoreAddressChecksum
|
||||
cmp #kSectorCustomDOS32B4BB
|
||||
beq @b4bb
|
||||
cmp #kSectorCustomEarthware
|
||||
beq @earthware
|
||||
rts
|
||||
@reset
|
||||
jsr CopyUniversal
|
||||
|
@ -119,6 +121,14 @@ PreReadSector
|
|||
ldx #$ED
|
||||
@b stx $FFB2
|
||||
rts
|
||||
@earthware
|
||||
ldx #$4C
|
||||
stx $B8F6
|
||||
ldx #$89
|
||||
stx $B8F7
|
||||
ldx #$B6
|
||||
stx $B8F8
|
||||
rts
|
||||
|
||||
IgnoreAddressChecksum
|
||||
; out: A,Y preserved
|
||||
|
|
|
@ -34,6 +34,7 @@ kSectorCustomLast = $D0
|
|||
kSectorResetAdaptiveRWTS = $C0 ; will accept any epilogue on next sector, then remember it
|
||||
kSectorIgnoreAddressChecksum = $C1 ; will ignore address field checksum
|
||||
kSectorCustomDOS32B4BB = $C2 ; DOS 3.2 / JMP B4BB RWTS swapper
|
||||
kSectorCustomEarthware = $C3 ; Earthware reverse RWTS swapper
|
||||
;-------------------------------
|
||||
InitSectorMapWithIgnore
|
||||
lda #kSectorOptional
|
||||
|
|
|
@ -344,7 +344,7 @@ StringTableHigh
|
|||
.passport
|
||||
!text "Passport ",$00
|
||||
.header
|
||||
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2021-04-21",$00
|
||||
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2021-04-28",$00
|
||||
.bar9
|
||||
!text "_________",$00
|
||||
.bar18
|
||||
|
|
Loading…
Reference in New Issue
Block a user