passport/src/universalrwts.a
2017-01-23 16:57:43 -08:00

293 lines
13 KiB
Plaintext
Executable File

;-------------------------------
; Universal RWTS
; Binary dump of a modified DOS 3.3-style RWTS
; that reads 16-sector (6-and-2 encoded) disks
; - address prologue "D4 AA 96", "D5 AA 96", or
; "D5" followed by a timing bit
; - any address epilogue
; - data prologue "D5 AA AD"
; - any data epilogue
;
; It verifies data field checksum byte, but it
; ignores the address field checksum. It waits
; significantly 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..$BFFF. It uses the
; standard RWTS entry point at $BD00.
;
; Write and format support have been removed.
; Any attempt to pass $02 or $04 RWTS commands
; will crash.
;-------------------------------
;;!align 255, 0 ;ACME bug ignores second parm
!if (* & 255) > 0 {
!fill 256-(* & 255), 0
}
universalrwts
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$a0,$00,$a2,$56,$ca,$30
!byte $fb,$b9,$00,$bb,$5e,$00,$bc,$2a
!byte $5e,$00,$bc,$2a,$91,$3e,$c8,$c4
!byte $26,$d0,$eb,$60,$a0,$20,$88,$f0
!byte $61,$bd,$8c,$c0,$10,$fb,$49,$d5
!byte $d0,$f4,$ea,$bd,$8c,$c0,$10,$fb
!byte $c9,$aa,$d0,$f2,$a0,$56,$bd,$8c
!byte $c0,$10,$fb,$c9,$ad,$d0,$e7,$a9
!byte $00,$88,$84,$26,$bc,$8c,$c0,$10
!byte $fb,$59,$00,$ba,$a4,$26,$99,$00
!byte $bc,$d0,$ee,$84,$26,$bc,$8c,$c0
!byte $10,$fb,$59,$00,$ba,$a4,$26,$99
!byte $00,$bb,$c8,$d0,$ee,$bc,$8c,$c0
!byte $10,$fb,$d9,$00,$ba,$d0,$13,$18
!byte $60,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$38,$60,$a0,$fc,$84,$26
!byte $c8,$d0,$04,$e6,$26,$f0,$f3,$bd
!byte $8c,$c0,$10,$fb,$4a,$c9,$6a,$d0
!byte $ef
_B959 !byte $bd
_B95A !byte $8c,$c0,$c9,$d5,$f0,$36
!byte $bd,$8c,$c0,$10,$fb,$c9,$aa,$d0
!byte $df,$bd,$8c,$c0,$10,$fb,$c9,$96
!byte $d0,$d6,$a0,$03,$a9,$00,$85,$27
!byte $bd,$8c,$c0,$10,$fb,$2a,$85,$26
!byte $bd,$8c,$c0,$10,$fb,$25,$26,$99
!byte $2c,$00,$45,$27,$88,$10,$e7,$a8
!byte $d0,$00,$18,$60,$38,$60,$8D,$9B
!byte $B9,$F0,$D7,$00,$00,$00,$18,$60
!byte $86,$2b,$85,$2a,$cd,$78,$04,$f0
!byte $53,$a9,$00,$85,$26,$ad,$78,$04
!byte $85,$27,$38,$e5,$2a,$f0,$33,$b0
!byte $07,$49,$ff,$ee,$78,$04,$90,$05
!byte $69,$fe,$ce,$78,$04,$c5,$26,$90
!byte $02,$a5,$26,$c9,$0c,$b0,$01,$a8
!byte $38,$20,$ee,$b9,$b9,$11,$ba,$20
!byte $00,$ba,$a5,$27,$18,$20,$f1,$b9
!byte $b9,$1d,$ba,$20,$00,$ba,$e6,$26
!byte $d0,$c3,$20,$00,$ba,$18,$ad,$78
!byte $04,$29,$03,$2a,$05,$2b,$aa,$bd
!byte $80,$c0,$a6,$2b,$60,$aa,$a0,$a0
nibtable !byte $a2,$11,$ca,$d0,$fd,$e6,$46,$d0
!byte $02,$e6,$47,$38,$e9,$01,$d0,$f0
!byte $60,$01,$30,$28,$24,$20,$1e,$1d
!byte $1c,$1c,$1c,$1c,$1c,$70,$2c,$26
!byte $22,$1f,$1e,$1d,$1c,$1c,$1c,$1c
!byte $1c,$96,$97,$9a,$9b,$9d,$9e,$9f
!byte $a6,$a7,$ab,$ac,$ad,$ae,$af,$b2
!byte $b3,$b4,$b5,$b6,$b7,$b9,$ba,$bb
!byte $bc,$bd,$be,$bf,$cb,$cd,$ce,$cf
!byte $d3,$d6,$d7,$d9,$da,$db,$dc,$dd
!byte $de,$df,$e5,$e6,$e7,$e9,$ea,$eb
!byte $ec,$ed,$ee,$ef,$f2,$f3,$f4,$f5
!byte $f6,$f7,$f9,$fa,$fb,$fc,$fd,$fe
!byte $ff,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
; these $FF bytes (at $BA80..$BA94) are used by the
; routine that checks whether a track is formatted
!byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
!byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
!byte $ff,$ff,$ff,$ff,$ff,$ff,$00,$01
!byte $98,$99,$02,$03,$9c,$04,$05,$06
!byte $a0,$a1,$a2,$a3,$a4,$a5,$07,$08
!byte $a8,$a9,$aa,$09,$0a,$0b,$0c,$0d
!byte $b0,$b1,$0e,$0f,$10,$11,$12,$13
!byte $b8,$14,$15,$16,$17,$18,$19,$1a
!byte $c0,$c1,$c2,$c3,$c4,$c5,$c6,$c7
!byte $c8,$c9,$ca,$1b,$cc,$1c,$1d,$1e
!byte $d0,$d1,$d2,$1f,$d4,$d5,$20,$21
!byte $d8,$22,$23,$24,$25,$26,$27,$28
!byte $e0,$e1,$e2,$e3,$e4,$29,$2a,$2b
!byte $e8,$2c,$2d,$2e,$2f,$30,$31,$32
!byte $f0,$f1,$33,$34,$35,$36,$37,$38
!byte $f8,$39,$3a,$3b,$3c,$3d,$3e
nibtableff
!byte $3f
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $84,$48,$85,$49,$a0,$02,$8c,$f8
!byte $06,$a0,$04,$8c,$f8,$04,$a0,$01
!byte $b1,$48,$aa,$a0,$0f,$d1,$48,$f0
!byte $1b,$8a,$48,$b1,$48,$aa,$68,$48
!byte $91,$48,$bd,$8e,$c0,$a0,$08,$bd
!byte $8c,$c0,$dd,$8c,$c0,$d0,$f6,$88
!byte $d0,$f8,$68,$aa,$bd,$8e,$c0,$bd
!byte $8c,$c0,$a0,$08,$bd,$8c,$c0,$48
!byte $68,$48,$68,$8e,$f8,$05,$dd,$8c
!byte $c0,$d0,$03,$88,$d0,$ee,$08,$bd
!byte $89,$c0,$a0,$06,$b1,$48,$99,$36
!byte $00,$c8,$c0,$0a,$d0,$f6,$a0,$03
!byte $b1,$3c,$85,$47,$a0,$02,$b1,$48
!byte $a0,$10,$d1,$48,$f0,$06,$91,$48
!byte $28,$a0,$00,$08,$6a,$90,$05,$bd
!byte $8a,$c0,$b0,$03,$bd,$8b,$c0,$66
!byte $35,$28,$08,$d0,$0b,$a0,$07,$20
!byte $00,$ba,$88,$d0,$fa,$ae,$f8,$05
!byte $a0,$04,$b1,$48,$20,$5a,$be,$28
!byte $d0,$11,$a4,$47,$10,$0d,$a0,$12
!byte $88,$d0,$fd,$e6,$46,$d0,$f7,$e6
!byte $47,$d0,$f3,$a0,$0c,$b1,$48,$f0
!byte $5a,$c9,$04,$f0,$58,$6a,$08,$b0
!byte $03,$20,$00,$b8,$a0,$30,$8c,$78
!byte $05,$ae,$f8,$05,$20,$44,$b9,$90
!byte $24,$ce,$78,$05,$10,$f3,$ad,$78
!byte $04,$48,$a9,$60,$20,$95,$be,$ce
!byte $f8,$06,$f0,$28,$a9,$04,$8d,$f8
!byte $04,$a9,$00,$20,$5a,$be,$68,$20
!byte $5a,$be,$4c,$bc,$bd,$a4,$2e,$cc
!byte $78,$04,$f0,$1c,$ad,$78,$04,$48
!byte $98,$20,$95,$be,$68,$ce,$f8,$04
!byte $d0,$e5,$f0,$ca,$68,$a9,$40,$28
!byte $4c,$48,$be,$f0,$39,$4c,$af,$be
!byte $a0,$03,$b1,$48,$48,$a5,$2f,$a0
!byte $0e,$91,$48,$68,$f0,$08,$c5,$2f
!byte $f0,$04,$a9,$20,$d0,$e1,$a0,$05
!byte $b1,$48,$a8,$b9,$b8,$bf,$c5,$2d
!byte $d0,$97,$28,$90,$1c,$20,$dc,$b8
!byte $08,$b0,$8e,$28,$a2,$00,$86,$26
!byte $20,$c2,$b8,$ae,$f8,$05,$18,$24
!byte $38,$a0,$0d,$91,$48,$bd,$88,$c0
!byte $60,$20,$2a,$b8,$90,$f0,$a9,$10
!byte $b0,$ee,$48,$a0,$01,$b1,$3c,$6a
!byte $68,$90,$08,$0a,$20,$6b,$be,$4e
!byte $78,$04,$60,$85,$2a,$20,$8e,$be
!byte $b9,$78,$04,$24,$35,$30,$03,$b9
!byte $f8,$04,$8d,$78,$04,$a5,$2a,$24
!byte $35,$30,$05,$99,$f8,$04,$10,$03
!byte $99,$78,$04,$4c,$a0,$b9,$8a,$4a
!byte $4a,$4a,$4a,$a8,$60,$48,$a0,$02
!byte $b1,$48,$6a,$66,$35,$20,$8e,$be
!byte $68,$0a,$24,$35,$30,$05,$99,$f8
!byte $04,$10,$03,$99,$78,$04,$60,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$0d,$0b,$09,$07,$05,$03,$01
!byte $0e,$0c,$0a,$08,$06,$04,$02,$0f
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00