; JMPS D2INIT1 ;Load the sector relocation tables ; SIGNON2 DB 'Disk 2 / ' ;Hard disk (Disk 2) separator ID if D2M10 DB 'M10 unit #0 A: B:' ;with 10 Mbytes included if DISK2X DB CR,LF,0,' ---- ' DB 'M10 unit #1 C: D:' ;unit 1 allocation endif endif if D2M20 DB 'M20 unit #0 A: B: C:' ;with 20 Mbytes included if DISK2X DB CR,LF,0,' ---- ' DB 'M20 unit #1 D: E: F:' ;unit 1 allocation endif endif if D2F20B DB 'F20B unit #0 A: B: C:' ;with 20 Mbytes included if DISK2X DB CR,LF,0,' ---- ' DB 'F20B unit #1 D: E: F:' ;unit 1 allocation endif endif if D2M26 DB 'M26 unit #0 A: B: C: D:' ;with 26 Mbytes included if DISK2X DB CR,LF,0,' ---- ' DB 'M26 unit #1 E: F: G: H:' ;unit 1 allocation endif endif if D2F40B DB 'F40B unit #0 A: B: C: D: E:' ;with 40 Mbytes included endif DB CR,LF,0 DB 0,0,0 ; ; Load up the sector relocation tables for the hard disk systems. D2INIT1:MOV BX,offset SIGNON2 ;Show Disk 2 present, beginning initialization CALL PRINT PUSH BX ;Save pointer to second unit message MOV SAVSEC,(D2@SCNT-1)*8 ;Get relocation table from last sector MOV SEKTRK,0 ;Always from cylinder 0 MOV DMASEG,CS ;Use code segment for DMA MOV DMAADR,offset RELTBL0 ;Set DMA to relocation table storage MOV CL,D2UNIT0 ;Get Unit #0 ID MOV DL,1 ;Specify previously selected CALL SELDSK ;Set the current active drive specification CALL READ ; and read last sector at Cylinder 0, Head 0 POP BX if DISK2X ;Second unit active CALL PRINT ;Show second unit present, initializing PUSH BX ;Save pointer to next unit message MOV DMAADR,offset RELTBL1 ;Set DMA to relocation table storage MOV CL,D2UNIT1 MOV DL,1 ;Specify previously selected CALL SELDSK ;Set the current active drive specification CALL READ ; and read sector at Cylinder 0, Head 0 POP BX endif if DISK2Y ;Third unit active CALL PRINT ;Show third unit present, initializing PUSH BX ;Save pointer to next unit message MOV DMAADR,offset RELTBL2 ;Set DMA to relocation table storage MOV CL,D2UNIT2 MOV DL,1 ;Specify previously selected CALL SELDSK ;Set the current active drive specification CALL READ ; and read sector at Cylinder 0, Head 0 POP BX endif if DISK2Z ;Fourth unit active CALL PRINT ;Show fourth unit present, initializing MOV DMAADR,offset RELTBL3 ;Set DMA to relocation table storage MOV CL,D2UNIT3 MOV DL,1 ;Specify previously selected CALL SELDSK ;Set the current active drive specification CALL READ ; and read sector at Cylinder 0, Head 0 endif