Where can I find programming information on the
cassette interface? low-level
info?
In the IBM Personal Computer Technical Reference Manual, of course.
How low-level do you want. The spec for the BIOS-level interface seems to
be :
Int 15h
On entry, request type is in AH, as follows
AH=0 : turn motor on
AH=1 : turn motor off
AH=2 : Read Tape Block. Read CX bytes into memory starting at ES:BX.
Return actuall number of bytes read in DX. Return status in AH
AH=3 : Write tape block. Write CX bytes to cassette starting at ES:BX.
Return status in AH
Status (note, carry is set on any error)
AH=0 : No errors
AH=1 : CRC error in read block
AH=2 : No data transsitions
AH=4 : No leader
AH=80 : Invalid command
There's a lot more, including descriptions of the tape waveformas and the
block format, but I'll only type all this in if you need it.
-tony