Blame | Last modification | View Log | Download | RSS feed
; LDT.INC
.IFNDEF __LDT_INC__
__LDT_INC__ .SET 1
.LIST on
;---------------------------------------------------------------------------
; Logical Drive Table (LDT) -- page 0 offset's
;---------------------------------------------------------------------------
STRUCT LDT
ldt_fg1 .DB ; logical volume flag's
; <7>: device ready (fdc drive or ata device)
; <6>: if=1->HD/CF else->FD
; <1:0>: phisycal device number
ldt_fg2 .DB ; <7>: valid volume (fat volume or cbm disk)
; <6>: if=1->FAT else->CBM (FD only)
; <5>: disk format checked
; <1:0>: disk format (fdc only)
ldt_root .DW ; lba of root dir
ldt_fat1 .DW ; lba of fat1 table
ldt_fat2 .DW ; lba of fat2 table
ldt_cls .DW ; lba of first data cluster
ldt_max .DW ; max usable cluster + 1
ldt_rent .DW ; root dir. max. entries
ldt_cent .DW ; max. entries in dir. cluster
ldt_eoc .DW ; end of cluster chain marker
ldt_free .DW ; count of free cluster's
ldt_nxt .DW ; next free cluster
ldt_fsiz .DW ; fat table size
ldt_csiz .DB ; cluster size (1,2,4,8,16,32,64)
ldt_cshf .DB ; cluster shift (0,1,2,3,4,5,6)
ldt_rsiz .DB ; root dir. size (sector's)
ldt_mcls .DB ; mask for clust. module: 00,01,03,07,0F,1F,3F
ldt_cdlp .DW ; current working dir list pointer
ldt_cdcls .DW ; current working dir start cluster
ldt_cdlvl .DB ; current working dir level count
ldt_ptype .DB
ldt_pstart .LWORD
ldt_psize .LWORD
ldt_fp .EQU ldt_pstart ; fat table buffer long pointer
ldt_fbuf .EQU ldt_pstart+3 ; fat table: x-mem base bank/dma buffer
ldt_pbr .EQU ldt_psize ; long pointer to PBR cache buffer
ldt_fmt .EQU ldt_psize+3
ESTRUCT LDT
.ENDIF