Low Level API

+3DOS Low Level API

The following are the floppy disk driver routines. The unit number is 0…3 for the uPD765A. On the +3, unit 0 is drive A: and unit 1 is drive B:, or optionally, both A: and B: may be mapped onto unit 0. Units 2 and 3 are not used.

With the exception of DD_INTERFACE, none of these routines may be called if the floppy disk interface is not present.

All routines assume that interrupts are enabled on entry, and will still be enabled on exit.


DD_INTERFACE

Check for the disk drive interface

DD_INIT

Initialise the disk driver

DD_SETUP

Setup disk parameters

DD_SET_RETRY

Set try/retry count

DD_READ_SECTOR

Read a sector

DD_WRITE_SECTOR

Write a sector

DD_CHECK_SECTOR

Check a sector

DD_FORMAT

Format a track

DD_READ_ID

Read a sector identifier

DD_TEST_UNSUITABLE

Check disk is suitable to write to

DD_LOGIN

Log in a new disk

DD_SEL_FORMAT

Select a standard format

DD_ASK_1

Check to see if unit 1 is present

DD_DRIVE_STATUS

Check drive status

DD_EQUIPMENT

Ask what type of drive

DD_ENCODE

Set copy protection encode routine

DD_L_XDPB

Initialise XDPB for a given format

DD_L_DPB

Initialise DPB for a given format

DD_L_SEEK

Seek to required track

DD_L_READ

Low level uPD765A read command

DD_L_WRITE

Low level uPD765A write command

DD_L_ON_MOTOR

Turn on motor

DD_L_T_OFF_MOTOR

Start motor off timeout

DD_L_OFF_MOTOR

Turn off motor

Last modified November 24, 2021: Low level operations (11836cf)