********************************************
** TrackmoDOS v3.0 assembler include file **
**       by Emmanuel 'Poison' Marty       **
**         © Nova january of 1993         **
********************************************

 IFND MISC_TDOS_I
MISC_TDOS_I SET 1

*---------------- toolbox-call macro ---------------------*

CALLTDOS MACRO				; CALLTDOS FunctionName
 move.l 4.w,a6
 jsr _LVO\1(a6)
 ENDM

*------------- toolbox function offsets ------------------*

_LVOMemAvail	EQU -48			; see documentation
_LVOWaitDisk	EQU -44
_LVOCheckMark	EQU -40
_LVOPPFree	EQU -36
_LVOPPLoad	EQU -32
_LVOPPDepack	EQU -28
_LVOMemFree	EQU -24
_LVOMemAlloc	EQU -20
_LVOLoadSeg	EQU -16
_LVOLoadAlloc	EQU -12
_LVOLoad	EQU -8
_LVOFSize	EQU -4

*------------------ toolbox fields ----------------------*

	RSRESET
tb_sysmark	RS.L 1			; toolbox test mark (must be "tdos")
tb_diskdrives	RS.B 4			; connected diskdrives array
tb_activedrive	RS.B 1			; current drive for any disk operation
tb_pad		RS.B 1			; pad (no use, only realignment)
tb_lastlength	RS.L 1			; last length for loadalloc/loadseg
tb_diskerror	RS.W 1			; last disk error (see DE_XXX codes)
tb_totalchip	RS.L 1			; total connected chipram (in bytes)
tb_totalfast	RS.L 1			; total connected fastram (in bytes)
tb_agnustype	RS.B 1			; agnus type (see TB_XXX codes)
tb_denisetype	RS.B 1			; denise type (see TB_XXX codes)
tb_displaytype	RS.B 1			; display type (see TB_XXX codes)
tb_proctype	RS.B 1			; processor type (see TB_XXX codes)
tb_coproctype	RS.B 1			; coprocessor type (see TB_XXX codes)
tb_kickver	RS.B 1			; kickstart (ROM) version

*---------------------- memory --------------------------*

MEMF_ANY	EQU 0			; use any available memory
MEMF_PUBLIC	EQU 1			; public is ignored by this version
MEMF_CHIP	EQU 2			; use only chip memory
MEMF_FAST	EQU 4			; use only fast memory

*------------------- disk errors ------------------------*

DE_READERROR	EQU $0008		; hardware read error
DE_NODISK	EQU $0010		; no disk in drive
DE_NOTDOS	EQU $0018		; not a T-DOS disk
DE_FILENOTFOUND	EQU $0020		; requested file not found

*------------------- hardware info ----------------------*

TB_NORMALAGNUS	EQU $10			; agnus type = normal
TB_FATAGNUS	EQU $11			; agnus type = fat (1 MB chipram)
TB_SUPFATAGNUS	EQU $12			; agnus type = superfat (2 MB chipram)
TB_NORMALDENISE	EQU $20			; denise type = normal
TB_SUPERDENISE	EQU $21			; denise type = super (ECS or AGA)
TB_DISPLAYNTSC	EQU 0			; display type = NTSC (USA)
TB_DISPLAYPAL	EQU $FF			; display type = PAL (EUROPE)
TB_MC68000	EQU 0			; processor = MC68000 (normal)
TB_MC68010	EQU 1			; processor = MC68010
TB_MC68020	EQU 2			; processor = MC68020
TB_MC68030	EQU 3			; processor = MC68030
TB_MC68040	EQU 4			; processor = MC68040
TB_NOCOPROC	EQU 0			; no coprocessor
TB_COPROC	EQU $FF			; coprocessor connected (MC68881/82)

*----------------------- other --------------------------*

TB_TDOSMARK	EQU 'tdos'		; toolbox mark (must be at tb_sysmark)

ERR_DISKERR	EQU 0			; disk error (so look at tb_diskerr)
ERR_NOMEM	EQU -1			; not enough memory for operation
ERR_NOTSEG	EQU -2			; attempted to loadseg() a 'raw' file


 ENDC
