passport/src/universalrwts.a

293 lines
12 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