ELITE SERIES USER MANUAL

THEORY OF OPERATION

7.2.12. Direct Use of Disk Drives

It is often necessary to access the drives directly from assembly language, without the use of DOS. This is done using a section of 16 addresses that are latched toggles, interfacing directly to the hardware. There are eight two byte toggles that essentially represent pulling a TTL line high or low. Applications which could use direct access range from a user written operating system to DOS—independent utility programs. Tbe device address assignments are illustrated in the figure below.

The addresses are slot-dependent and the offsets are computed by multiplying the slot number by

16.This works well in hexadecimal where $n0 (with n as the slot number) can be added to the base address. To engage drive i in slot #6, add $60 to $C08A (device address assignment for engaging drive 1) for a result of $COBA. How- ever, for code that is not slot dependent use $CO8A,x (where the x register contains the value $n0).

In general, the addresses in the figure below need only be accessed with any valid 6502 com- mand. When reading and writing bytes, ensure the data is in the appropriate register. All the following engage Drive 1 (assume slot #6).

LDA $COEA

BIT $CO8A,x (where X-reg contains $60) CMP $C08A,X (where X-reg contains $60)

Page 7—18