You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

61 lines
2.4 KiB

;
;==================================================================================================
; IDE DISK DRIVER - DATA
;==================================================================================================
;
IDE_SLICETRKS .EQU 65 ; TRACKS PER SLICE
IDE_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB)
IDE_SLICESIZE .EQU ((IDE_SLICETRKS * IDE_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB)
IDE_NUMSLICES .EQU IDECAPACITY / IDE_SLICESIZE ; TOTAL SLICES IN DEVICE
IDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0
IDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1
IDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2
IDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3
;
.DB DIODEV_IDE + 0
IDEDPH0 .DW 0000,0000
.DW 0000,0000
.DW DIRBF,DPB_HD
.DW IDECSV0,IDEALV0
.DB "LU" ; LOGICAL UNIT ENHANCEMENT SIGNATURE
IDE0_SLICE .DW IDE0_SLICEDEF ; CURRENTLY ACTIVE SLICE
.DW IDE_NUMSLICES ; NUMBER OF SLICES AVAILABLE
;
.DB DIODEV_IDE + 0
IDEDPH1 .DW 0000,0000
.DW 0000,0000
.DW DIRBF,DPB_HD
.DW IDECSV1,IDEALV1
.DB "LU" ; LOGICAL UNIT ENHANCEMENT SIGNATURE
IDE1_SLICE .DW IDE1_SLICEDEF ; CURRENTLY ACTIVE SLICE
.DW IDE_NUMSLICES ; NUMBER OF SLICES AVAILABLE
;
.DB DIODEV_IDE + 0
IDEDPH2 .DW 0000,0000
.DW 0000,0000
.DW DIRBF,DPB_HD
.DW IDECSV2,IDEALV2
.DB "LU" ; LOGICAL UNIT ENHANCEMENT SIGNATURE
IDE2_SLICE .DW IDE2_SLICEDEF ; CURRENTLY ACTIVE SLICE
.DW IDE_NUMSLICES ; NUMBER OF SLICES AVAILABLE
;
.DB DIODEV_IDE + 0
IDEDPH3 .DW 0000,0000
.DW 0000,0000
.DW DIRBF,DPB_HD
.DW IDECSV3,IDEALV3
.DB "LU" ; LOGICAL UNIT ENHANCEMENT SIGNATURE
IDE3_SLICE .DW IDE3_SLICEDEF ; CURRENTLY ACTIVE SLICE
.DW IDE_NUMSLICES ; NUMBER OF SLICES AVAILABLE
;
IDECKS .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA
IDEALS .EQU 256 ; ALS: BLKS / 8 = 2048 / 8 = 256 (ROUNDED UP)
;
IDECSV0: .FILL IDECKS ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE
IDEALV0: .FILL IDEALS ; MAX OF 2048 DATA BLOCKS
IDECSV1: .FILL IDECKS ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE
IDEALV1: .FILL IDEALS ; MAX OF 2048 DATA BLOCKS
IDECSV2: .FILL IDECKS ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE
IDEALV2: .FILL IDEALS ; MAX OF 2048 DATA BLOCKS
IDECSV3: .FILL IDECKS ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE
IDEALV3: .FILL IDEALS ; MAX OF 2048 DATA BLOCKS