PC Ephemera

Tony Duell ard at p850ug1.demon.co.uk
Thu Oct 27 14:32:23 CDT 2005

> 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.


More information about the cctech mailing list