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