45h 3 24bit Filepos in CHARs, or 16bit Filesize if non-ASCII file
48h 2 Checksum accross [05h..47h]
== Disk Parameter Header (DPH) for Drive A/B ==
00h 2 XLT Skew Factor Translation (physical-to-logical sector) (not used)
02h 2 TRACK Current Track (misused as DIRNUM by AMSDOS)
04h 2 SECTOR Current Sector
06h 2 DIRNUM Current Directory Number
08h 2 DIRBUF Pointer to Directory Buffer (A930h)
0Ah 2 DPB Pointer to DPB/XDPB (A890h/A8D0h for Drive A/B) Drive Param Block
0Ch 2 CSV Pointer to CSA (A8A9h/A8E9h for Drive A/B) Checksums
0Eh 2 ALV Pointer to ALT (A8B9h/A8F9h for Drive A/B) Allocation Table
== XDPB - Extended Disk Parameter Block (DPB,CSA,ALT) for Drive A/B ==
29h 23 ALT Block Allocation Table (23x8bit = 184bit) (only 180bit used)
== Disk Parameter Header (DPH) for Drive A/B == 00h 2 XLT Skew Factor Translation (physical-to-logical sector) (not used) 02h 2 TRACK Current Track (misused as DIRNUM by AMSDOS) 04h 2 SECTOR Current Sector 06h 2 DIRNUM Current Directory Number 08h 2 DIRBUF Pointer to Directory Buffer (A930h) 0Ah 2 DPB Pointer to DPB/XDPB (A890h/A8D0h for Drive A/B) Drive Param Block 0Ch 2 CSV Pointer to CSA (A8A9h/A8E9h for Drive A/B) Checksums 0Eh 2 ALV Pointer to ALT (A8B9h/A8F9h for Drive A/B) Allocation Table == Finding the XDPB for a drive ==
The 2 byte pointer at &BE40 points to a list of DPH structures, 1 per drive, listed in order.