******************************************************************************* * trackdisk.device.I Written by Readysoft. * Copyright 1992,1993,1994 RS. All rights reserved. 1992.02.23.-1994.05.18. * v2.0. ******************************************************************************* ******************************************************************************* * Macros ******************************************************************************* ;------------------------------------------------------------------------------ ; TrackDiskName Macro ;------------------------------------------------------------------------------ TRD.NAM MACRO DC.B 'trackdisk.device',0 EVEN ENDM ******************************************************************************* * Constant Definitions ******************************************************************************* ;------------------------------------------------------------------------------ ; Drive ;------------------------------------------------------------------------------ trd_NumUnits EQU 4 # of units trd_NumCyls EQU 82 # of cylinders trd_NumHeads EQU 2 # of heads trd_NumTracks EQU trd_NumCyls*trd_NumHeads # of tracks trd_NumSecs EQU 12 # of sectors per track trd_SecSize EQU 512 bytes per sector trd_TrackSize EQU trd_SecSize*trd_NumSecs bytes per track ;------------------------------------------------------------------------------ ; Buffers ;------------------------------------------------------------------------------ trd_DMABuffSize EQU $3200 size of DMA buffer trd_BuffSize EQU $1800 size of buffer ;------------------------------------------------------------------------------ ; Other ;------------------------------------------------------------------------------ trd_StepDelay EQU $aff cia delay ;------------------------------------------------------------------------------ ; Error Codes ;------------------------------------------------------------------------------ trd_er_OK EQU $00000000 all right trd_er_NoMem EQU $80070001 no memory for buffer trd_er_NoBuffer EQU $00070002 no DMA buffer trd_er_NoDisk EQU $00070003 no disk in drive trd_er_WrProt EQU $00070004 write protected trd_er_UnitNum EQU $00070005 bad unitnum trd_er_Seek EQU $00070006 invalid position trd_er_Verify EQU $00070007 verify error trd_er_Decoder EQU $00070008 unable to decode trd_er_UnDef EQU $8007ffff undefined error ******************************************************************************* * Varibles ******************************************************************************* RSRESET trd_HeadPos RS.W 1 head position trd_TrackIn RS.W 1 track in buffer trd_DMABuffer RS.L 1 $3200 byte DMA buffer trd_Buffer RS.L 1 $1800 byte buffer trd_Updated RS.B 1 0 if updated trd_NU RS.B 1 not used trd_SizeOf RS.B 0 ******************************************************************************* * Routine Offsets ******************************************************************************* RSRESET RS.B -6 trd_Init RS.B -6 trd_Format RS.B -6 trd_Motor RS.B -6 trd_ReadSector RS.B -6 trd_WriteSector RS.B -6 trd_Update RS.B -6 trd_Status RS.B -6