mirror of
https://github.com/a2-4am/passport.git
synced 2024-12-22 19:30:50 +00:00
enable address checksum verification by default to simplify code and so converted DOS 3.2 disks get it
This commit is contained in:
parent
586cfb9473
commit
62917dfec9
@ -6,20 +6,19 @@
|
||||
;-------------------------------
|
||||
; Universal RWTS
|
||||
; a modified DOS 3.3-style RWTS that reads 16-sector (6-and-2 encoded) disks
|
||||
; - address prologue "D4 AA 96" or "D5 AA 96"
|
||||
; - address prologue $D4 $AA $96 or $D5 $AA $96
|
||||
; - verifies address field checksum
|
||||
; - any address epilogue
|
||||
; - data prologue "D5 AA AD"
|
||||
; - data prologue $D5 $AA $AD
|
||||
; - verifies data field checksum
|
||||
; - any data epilogue
|
||||
;
|
||||
; It verifies the data field checksum byte, but it ignores the address field
|
||||
; checksum. It waits longer than a normal RWTS to find an address prologue --
|
||||
; long enough that it will find the prologue even if there is only one sector
|
||||
; on a track.
|
||||
; - waits longer than a normal RWTS to find an address prologue (long enough
|
||||
; that it will find the prologue even if there is only one sector on a track)
|
||||
;
|
||||
; It must be loaded at $B800. It uses the standard RWTS entry point at $BD00.
|
||||
;
|
||||
; Write support has been disabled. Any attempt to pass $02 or $04 RWTS commands
|
||||
; will crash.
|
||||
; will crash. See note below on how to re-enable.
|
||||
;-------------------------------
|
||||
|
||||
universalrwts
|
||||
@ -47,7 +46,7 @@ universalrwts
|
||||
!byte $8C,$C0,$10,$FB,$4A,$C9,$6A,$D0,$EF,$BD,$8C,$C0,$10,$FB,$C9,$AA
|
||||
!byte $D0,$F2,$BD,$8C,$C0,$10,$FB,$C9,$96,$D0,$E7,$A0,$03,$A9,$00,$85
|
||||
!byte $27,$BD,$8C,$C0,$10,$FB,$2A,$85,$26,$BD,$8C,$C0,$10,$FB,$25,$26
|
||||
!byte $99,$2C,$00,$45,$27,$88,$10,$E7,$A8,$D0,$00,$BD,$8C,$C0,$10,$FB
|
||||
!byte $99,$2C,$00,$45,$27,$88,$10,$E7,$A8,$D0,$B7,$BD,$8C,$C0,$10,$FB
|
||||
!byte $C9,$00,$D0,$00,$EA,$BD,$8C,$C0,$10,$FB,$C9,$00,$D0,$00,$18,$60
|
||||
!byte $86,$2B,$85,$2A,$CD,$78,$04,$F0,$53,$A9,$00,$85,$26,$AD,$78,$04
|
||||
!byte $85,$27,$38,$E5,$2A,$F0,$33,$B0,$07,$49,$FF,$EE,$78,$04,$90,$05
|
||||
|
@ -244,7 +244,6 @@ Action
|
||||
jsr CreateRAMFile
|
||||
+ jsr ResetProgress
|
||||
jsr InitSectorMap
|
||||
jsr CopyUniversal
|
||||
lda #FALSE
|
||||
sta gTriedUniv
|
||||
sta gSaidWriting
|
||||
@ -265,6 +264,7 @@ Action
|
||||
sta TEXTTOP
|
||||
lda #s_reading
|
||||
jsr PrintByID
|
||||
jsr CopyUniversal
|
||||
jsr IgnoreAddressChecksum
|
||||
jsr ReadSector
|
||||
bcc +
|
||||
@ -485,10 +485,6 @@ StartWithUniv
|
||||
; note: execution falls through here
|
||||
|
||||
CopyUniversal
|
||||
lda #>EnforceAddressChecksum-1
|
||||
pha
|
||||
lda #<EnforceAddressChecksum-1
|
||||
pha
|
||||
lda #$B8
|
||||
CopyUniversalAnywhere
|
||||
sta universalrwts
|
||||
|
@ -106,9 +106,6 @@ PreReadSector
|
||||
|
||||
IgnoreAddressChecksum
|
||||
lda #$00
|
||||
!byte $2C ; hide next LDA
|
||||
EnforceAddressChecksum
|
||||
lda #$B7
|
||||
sta $B98A
|
||||
rts
|
||||
|
||||
|
@ -134,7 +134,7 @@ StringTable
|
||||
; can be set directly before calling PrintByID.
|
||||
;
|
||||
.header
|
||||
!text "Passport by 4am 2017-11-08",$00
|
||||
!text "Passport by 4am 2017-11-10",$00
|
||||
.mainmenu
|
||||
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
||||
!text " "
|
||||
|
Loading…
Reference in New Issue
Block a user