diff options
Diffstat (limited to 'v4.0/src/BIOS/MSBDATA.INC')
| -rw-r--r-- | v4.0/src/BIOS/MSBDATA.INC | 722 |
1 files changed, 722 insertions, 0 deletions
diff --git a/v4.0/src/BIOS/MSBDATA.INC b/v4.0/src/BIOS/MSBDATA.INC new file mode 100644 index 0000000..d0be320 --- /dev/null +++ b/v4.0/src/BIOS/MSBDATA.INC | |||
| @@ -0,0 +1,722 @@ | |||
| 1 | ;============================================================================== | ||
| 2 | ;REVISION HISTORY: | ||
| 3 | ;AN000 - New for DOS Version 3.4 - J.K. | ||
| 4 | ;AC000 - Changed for DOS Version 3.4 - J.K. | ||
| 5 | ;ANxxx - PTR, DCRs | ||
| 6 | ;============================================================================== | ||
| 7 | ;AN001 - d9 Double word MOV instruction for 80386 based machine. 7/1/87 J.K. | ||
| 8 | ;AN002 - d25 Change DASD ERP to that recommended by Storage Systems. 7/29/87 J.K. | ||
| 9 | ;AN003; d304 Boot record structure change for OS2 11/9/87 J.K. | ||
| 10 | ;============================================================================== | ||
| 11 | EXTRN INIT:NEAR | ||
| 12 | |||
| 13 | PUBLIC START$ | ||
| 14 | START$: | ||
| 15 | JMP INIT ;START$ PATCH BY INIT TO POINT TO | ||
| 16 | ;HDRIVE BPB | ||
| 17 | ; PUBLIC FORMAT_PATCH | ||
| 18 | ;FORMAT_PATCH: ;ARR 2.42 | ||
| 19 | ; JMP FMTSET ;MJB001 DISPATCH FOR CALL FROM FORMAT UTILITY | ||
| 20 | |||
| 21 | |||
| 22 | PATHSTART 001,BIO | ||
| 23 | |||
| 24 | ; DB 20 DUP (0) ;IBM WANTS SOME ZEROED AREA (DELETED) | ||
| 25 | |||
| 26 | |||
| 27 | ;HEADER DB "Ver 2.45" | ||
| 28 | ;-------------------------------------------------------------- | ||
| 29 | ; | ||
| 30 | ; COMMAND JUMP TABLES | ||
| 31 | ; | ||
| 32 | ; BEWARE - THESE TABLES OVERLAP SOMEWHAT! -C.P. | ||
| 33 | ; | ||
| 34 | ODD | ||
| 35 | DSKTBL LABEL BYTE | ||
| 36 | DB 24 ; THIS IS THE SIZE OF THE TABLE YUK!!!! | ||
| 37 | DW DSK$INIT | ||
| 38 | DW MEDIA$CHK | ||
| 39 | DW GET$BPB | ||
| 40 | DW CMDERR ;RS | ||
| 41 | DW DSK$READ | ||
| 42 | DW BUS$EXIT | ||
| 43 | DW EXIT | ||
| 44 | DW EXIT | ||
| 45 | DW DSK$WRIT | ||
| 46 | DW DSK$WRITV | ||
| 47 | DW EXIT ;ARR 2.41 | ||
| 48 | DW EXIT ;ARR 2.41 | ||
| 49 | DW CMDERR ;RS | ||
| 50 | |||
| 51 | PUBLIC TABLE_PATCH | ||
| 52 | TABLE_PATCH LABEL WORD ;ARR 2.42 | ||
| 53 | DW DSK$OPEN ;ARR 2.41 | ||
| 54 | DW DSK$CLOSE ;ARR 2.41 | ||
| 55 | DW DSK$REM ;ARR 2.41 | ||
| 56 | DW EXIT | ||
| 57 | DW EXIT | ||
| 58 | DW EXIT | ||
| 59 | DW GENERIC$IOCTL ; KGS 3.20 | ||
| 60 | DW EXIT | ||
| 61 | DW EXIT | ||
| 62 | DW EXIT | ||
| 63 | DW IOCTL$GETOWN ; RS 3.20 | ||
| 64 | DW IOCTL$SETOWN ; RE 3.20 | ||
| 65 | |||
| 66 | ODD | ||
| 67 | CONTBL LABEL BYTE | ||
| 68 | DB 10 | ||
| 69 | DW EXIT | ||
| 70 | DW EXIT | ||
| 71 | DW EXIT | ||
| 72 | DW CMDERR | ||
| 73 | DW CON$READ | ||
| 74 | DW CON$RDND | ||
| 75 | DW EXIT | ||
| 76 | DW CON$FLSH | ||
| 77 | DW CON$WRIT | ||
| 78 | DW CON$WRIT | ||
| 79 | DW EXIT ;ARR 2.41 | ||
| 80 | |||
| 81 | ; DW CMDERR ;J.K. 4/29/86 for CON$GENIOCTL support | ||
| 82 | ; DW CMDERR ;J.K. 4/29/86 | ||
| 83 | ; DW CMDERR ;J.K. 4/29/86 | ||
| 84 | ; DW CMDERR ;J.K. 4/29/86 | ||
| 85 | ; DW CMDERR ;J.K. 4/29/86 | ||
| 86 | ; DW CMDERR ;J.K. 4/29/86 | ||
| 87 | ; DW CMDERR ;J.K. 4/29/86 | ||
| 88 | ; DW CMDERR ;J.K. 4/29/86 | ||
| 89 | ; DW CON$GENIOCTL ;J.K. 4/29/86 | ||
| 90 | |||
| 91 | ODD | ||
| 92 | AUXTBL LABEL BYTE | ||
| 93 | DB 10 | ||
| 94 | DW EXIT | ||
| 95 | DW EXIT | ||
| 96 | DW EXIT | ||
| 97 | DW CMDERR | ||
| 98 | DW AUX$READ | ||
| 99 | DW AUX$RDND | ||
| 100 | DW EXIT | ||
| 101 | DW AUX$FLSH | ||
| 102 | DW AUX$WRIT | ||
| 103 | DW AUX$WRIT | ||
| 104 | DW AUX$WRST | ||
| 105 | |||
| 106 | ODD | ||
| 107 | TIMTBL LABEL BYTE | ||
| 108 | DB 9 | ||
| 109 | DW EXIT | ||
| 110 | DW EXIT | ||
| 111 | DW EXIT | ||
| 112 | DW CMDERR | ||
| 113 | DW TIM$READ | ||
| 114 | DW BUS$EXIT | ||
| 115 | DW EXIT | ||
| 116 | DW EXIT | ||
| 117 | DW TIM$WRIT | ||
| 118 | DW TIM$WRIT | ||
| 119 | |||
| 120 | ODD | ||
| 121 | PRNTBL LABEL BYTE | ||
| 122 | DB 24 | ||
| 123 | DW EXIT ;INIT | ||
| 124 | DW EXIT | ||
| 125 | DW EXIT | ||
| 126 | DW CMDERR | ||
| 127 | DW EXIT$ZER ;INDICATE ZERO CHARS READ | ||
| 128 | DW BUS$EXIT | ||
| 129 | DW EXIT | ||
| 130 | DW EXIT | ||
| 131 | DW PRN$WRIT | ||
| 132 | DW PRN$WRIT | ||
| 133 | DW PRN$STAT | ||
| 134 | DW EXIT | ||
| 135 | DW EXIT ;ARR 2.41 | ||
| 136 | DW EXIT ;ARR 2.41 | ||
| 137 | DW EXIT ;ARR 2.41 | ||
| 138 | DW EXIT ;ARR 2.41 | ||
| 139 | DW PRN$TILBUSY | ||
| 140 | DW EXIT ;RS 3.20 | ||
| 141 | DW EXIT ;RS 3.20 | ||
| 142 | DW PRN$GENIOCTL ;RS 3.20 | ||
| 143 | DW EXIT ;RS 3.20 | ||
| 144 | DW EXIT ;RS 3.20 | ||
| 145 | DW EXIT ;RS 3.20 | ||
| 146 | DW CMDERR ;RS 3.20 | ||
| 147 | DW CMDERR ;RS 3.20 | ||
| 148 | |||
| 149 | EVENB | ||
| 150 | PUBLIC OLD13 ;(MOVED HERE FROM IBMBIO2) | ||
| 151 | OLD13 label DWORD | ||
| 152 | db '5986' ;J.K. 11/7/86 Secrete Code for DOS 3.30 IBMBIO. | ||
| 153 | PUBLIC ORIG13 | ||
| 154 | ORIG13 label DWORD | ||
| 155 | db '21',0,0 ;J.K. 11/8/86 This is my employee serial # !!! | ||
| 156 | |||
| 157 | EVENB | ||
| 158 | PUBLIC PTRSAV | ||
| 159 | PTRSAV DD 0 | ||
| 160 | PUBLIC AUXBUF | ||
| 161 | AUXBUF DB 0,0,0,0 ;SET OF 1 BYTE BUFFERS FOR COM 1,2,3, AND 4 | ||
| 162 | |||
| 163 | EVENB | ||
| 164 | PUBLIC PREVOPER,NUMBER_OF_SEC | ||
| 165 | PREVOPER DW ? ; HOLDS INT 13 REQUEST (I.E. REGISTER AX). | ||
| 166 | NUMBER_OF_SEC DB ? ; HOLDS NUMBER OF SECTORS TO READ ON AN ECC ERROR | ||
| 167 | |||
| 168 | IF ($-CODE) GT 100H | ||
| 169 | %OUT VDISK BUFFER NOT CORRECTLY LOCATED | ||
| 170 | ELSE | ||
| 171 | ORG 100H | ||
| 172 | ENDIF | ||
| 173 | PUBLIC VDISK_AREA | ||
| 174 | VDISK_AREA DB 108 DUP(0) ;FOR USE BY VDISK | ||
| 175 | |||
| 176 | EVENB | ||
| 177 | ; WARNING!!! THESE ARE ADDRESSED TOGETHER IN GETDX | ||
| 178 | AUXNUM DB 0 ;WHICH AUX DEVICE WAS REQUESTED | ||
| 179 | DB 0 | ||
| 180 | |||
| 181 | EVENB | ||
| 182 | PUBLIC CONHEADER | ||
| 183 | CONHEADER LABEL WORD ;HEADER FOR DEVICE "CON" | ||
| 184 | DD AUXDEV2 | ||
| 185 | DW 1000000000010011B ;CON IN AND CON OUT + SPECIAL | ||
| 186 | DW STRATEGY | ||
| 187 | DW CON$IN | ||
| 188 | DB 'CON ' | ||
| 189 | |||
| 190 | EVENB | ||
| 191 | PUBLIC AUXDEV2 | ||
| 192 | AUXDEV2 LABEL WORD ;HEADER FOR DEVICE "AUX" | ||
| 193 | DD PRNDEV2 | ||
| 194 | DW 1000000000000000B | ||
| 195 | DW STRATEGY | ||
| 196 | DW AUX0$IN | ||
| 197 | DB 'AUX ' | ||
| 198 | |||
| 199 | EVENB | ||
| 200 | PUBLIC PRNDEV2 | ||
| 201 | PRNDEV2 LABEL WORD ;HEADER FOR DEVICE "PRN" | ||
| 202 | DD TIMDEV | ||
| 203 | DW CHARDEV + OUTTILBUSY + DEV320 | ||
| 204 | DW STRATEGY | ||
| 205 | DW PRN0$IN | ||
| 206 | DB 'PRN ' | ||
| 207 | |||
| 208 | EVENB | ||
| 209 | PUBLIC TIMDEV | ||
| 210 | TIMDEV LABEL WORD | ||
| 211 | DD DSKDEV | ||
| 212 | DW 1000000000001000B | ||
| 213 | DW STRATEGY | ||
| 214 | DW TIM$IN | ||
| 215 | DB 'CLOCK$ ' | ||
| 216 | |||
| 217 | EVENB | ||
| 218 | PUBLIC DSKDEV | ||
| 219 | DSKDEV LABEL WORD | ||
| 220 | DD COM1DEV | ||
| 221 | DW 0000100001000010B ;J.K.I1. 32 bit sector calculation | ||
| 222 | DW STRATEGY | ||
| 223 | DW DSK$IN | ||
| 224 | DRVMAX DB 4 | ||
| 225 | PUBLIC DRVMAX | ||
| 226 | |||
| 227 | PUBLIC STEP_DRV | ||
| 228 | STEP_DRV DB -2 ; ARR 2.20 LAST DRIVE ACCESSED | ||
| 229 | |||
| 230 | PUBLIC PHYS_DRV | ||
| 231 | PHYS_DRV DB 0 ; USED BY SETDRIVE FOR GETTING BDS FOR | ||
| 232 | ; LOGICAL DRIVE, OR PHYSICAL DRIVE. | ||
| 233 | PUBLIC FHAVE96 | ||
| 234 | FHAVE96 DB 0 ; FLAG TO INDICATE PRESENCE OF | ||
| 235 | ; 96TPI SUPPORT | ||
| 236 | PUBLIC SINGLE | ||
| 237 | SINGLE DB 0 ; USED TO DETECT SINGLE DRIVE SYSTEMS | ||
| 238 | |||
| 239 | PUBLIC FHAVEK09 | ||
| 240 | FHAVEK09 DB 0 ;INDICATES IF THIS IS A K09 OR NOT | ||
| 241 | ; USED BY CONSOLE DRIVER. | ||
| 242 | PUBLIC NEW_ROM | ||
| 243 | NEW_ROM DB 0 ;SET TO 1 IF WE HAVE A ROM THAT CAN | ||
| 244 | ; HANDLE STRANGE MEDIA LAYOUTS. | ||
| 245 | |||
| 246 | PUBLIC FSETOWNER | ||
| 247 | FSETOWNER DB ? ;=1 IF WE ARE SETTING THE OWNER OF A | ||
| 248 | ;DRIVE. (EXAMINED BY CHECKSINGLE). | ||
| 249 | public Secrete_Code | ||
| 250 | Secrete_Code dw 'jk' ;J.K. 11/7/86 Secrete code for DOS 3.30 IBMBIO. | ||
| 251 | |||
| 252 | EVENB | ||
| 253 | PUBLIC COM1DEV | ||
| 254 | COM1DEV LABEL WORD | ||
| 255 | DD LPT1DEV | ||
| 256 | DW 1000000000000000B | ||
| 257 | DW STRATEGY | ||
| 258 | DW AUX0$IN | ||
| 259 | DB 'COM1 ' | ||
| 260 | |||
| 261 | EVENB | ||
| 262 | PUBLIC LPT1DEV | ||
| 263 | LPT1DEV LABEL WORD | ||
| 264 | DD LPT2DEV | ||
| 265 | DW CHARDEV + OUTTILBUSY + DEV320 | ||
| 266 | DW STRATEGY | ||
| 267 | DW PRN1$IN | ||
| 268 | DB 'LPT1 ' | ||
| 269 | |||
| 270 | EVENB | ||
| 271 | PUBLIC LPT2DEV | ||
| 272 | LPT2DEV LABEL WORD | ||
| 273 | DD LPT3DEV | ||
| 274 | DW CHARDEV + OUTTILBUSY + DEV320 | ||
| 275 | DW STRATEGY | ||
| 276 | DW PRN2$IN | ||
| 277 | DB 'LPT2 ' | ||
| 278 | |||
| 279 | EVENB | ||
| 280 | PUBLIC LPT3DEV | ||
| 281 | LPT3DEV LABEL WORD | ||
| 282 | DD COM2DEV | ||
| 283 | DW CHARDEV + OUTTILBUSY + DEV320 | ||
| 284 | DW STRATEGY | ||
| 285 | DW PRN3$IN | ||
| 286 | DB 'LPT3 ' | ||
| 287 | |||
| 288 | EVENB | ||
| 289 | PUBLIC COM2DEV | ||
| 290 | COM2DEV LABEL WORD | ||
| 291 | DD COM3DEV | ||
| 292 | DW 1000000000000000B | ||
| 293 | DW STRATEGY | ||
| 294 | DW AUX1$IN | ||
| 295 | DB 'COM2 ' | ||
| 296 | |||
| 297 | EVENB | ||
| 298 | PUBLIC COM3DEV | ||
| 299 | COM3DEV LABEL WORD ;EDK | ||
| 300 | DD COM4DEV | ||
| 301 | DW 1000000000000000B | ||
| 302 | DW STRATEGY | ||
| 303 | DW AUX2$IN | ||
| 304 | DB 'COM3 ' | ||
| 305 | |||
| 306 | EVENB | ||
| 307 | PUBLIC COM4DEV | ||
| 308 | COM4DEV LABEL WORD ;EDK | ||
| 309 | DW -1,CODE | ||
| 310 | DW 1000000000000000B | ||
| 311 | DW STRATEGY | ||
| 312 | DW AUX3$IN | ||
| 313 | DB 'COM4 ' | ||
| 314 | |||
| 315 | ; HARD-WIRE THE LINK TO THE NEXT INT2F HANDLER. | ||
| 316 | EVENB | ||
| 317 | PUBLIC NEXT2F_13 | ||
| 318 | NEXT2F_13 LABEL WORD | ||
| 319 | EXTRN INT2F_DISK:FAR ;IBMBIO2 | ||
| 320 | DD INT2F_DISK | ||
| 321 | |||
| 322 | EVENB | ||
| 323 | PUBLIC START_BDS | ||
| 324 | START_BDS LABEL WORD | ||
| 325 | DD BDS1 ;START OF BDS LINKED LIST. | ||
| 326 | PUBLIC ACCESSCOUNT | ||
| 327 | ACCESSCOUNT DB 0 ; NUMBER OF TIMES MEDIA CHECK CALLED | ||
| 328 | PUBLIC TIM_DRV | ||
| 329 | TIM_DRV DB -1 ; TIME WHEN LAST DISK I/O PERFORMED | ||
| 330 | PUBLIC FLAGBITS | ||
| 331 | FLAGBITS DW 0 ; BITS TO SET IN FLAG FIELD WHEN DOING | ||
| 332 | ; A SET_CHANGED_DL | ||
| 333 | PUBLIC MEDBYT | ||
| 334 | MEDBYT DB ? | ||
| 335 | |||
| 336 | EVENB | ||
| 337 | PUBLIC WRTVERIFY | ||
| 338 | WRTVERIFY LABEL WORD | ||
| 339 | PUBLIC RFLAG | ||
| 340 | RFLAG DB ROMREAD ;2 FOR READ, 3 FOR WRITE | ||
| 341 | VERIFY DB 0 ;1 IF VERIFY AFTER WRITE | ||
| 342 | PUBLIC SECCNT | ||
| 343 | SECCNT DW 0 | ||
| 344 | PUBLIC HARDNUM | ||
| 345 | HARDNUM DB 99 ;LOGICAL DRIVE NUMBER OF FIRST HARDFILE | ||
| 346 | PUBLIC MOTORSTARTUP,SETTLECURRENT,SETTLESLOW | ||
| 347 | MOTORSTARTUP DB ? ; VALUE FROM TABLE | ||
| 348 | SETTLECURRENT DB ? ; VALUE FROM TABLE | ||
| 349 | SETTLESLOW DB ? ; SLOW SETTLE VALUE | ||
| 350 | |||
| 351 | NEXTSPEED DB ? ; VALUE OF SPEED TO BE USED | ||
| 352 | public save_head_sttl | ||
| 353 | Save_head_sttl db ? ;used by READ_SECTOR routine | ||
| 354 | |||
| 355 | PUBLIC EOT | ||
| 356 | EOT DB 9 | ||
| 357 | |||
| 358 | EVENB | ||
| 359 | PUBLIC DPT | ||
| 360 | DPT DD ? | ||
| 361 | |||
| 362 | ;KEEP THE NEXT TWO ITEMS CONTIGUOUS - SEE IOCTL_BLOCK FOR REASON | ||
| 363 | PUBLIC CURSEC,CURHD,CURTRK,SPSAV | ||
| 364 | CURSEC DB 0 ;CURRENT SECTOR | ||
| 365 | CURHD DB 0 ;CURRENT HEAD | ||
| 366 | CURTRK DW 0 ;CURRENT TRACK | ||
| 367 | SPSAV DW 0 ;SAVE THE STACK POINTER | ||
| 368 | |||
| 369 | ; THE FOLLOWING ARE USED FOR IOCTL FUNCTION CALLS | ||
| 370 | PUBLIC FORMT_EOT,HDNUM,TRKNUM,GAP_PATCH | ||
| 371 | FORMT_EOT DB 8 ; EOT USED FOR FORMAT | ||
| 372 | HDNUM DB 0 ; HEAD NUMBER | ||
| 373 | TRKNUM DW 0 ; TRACK BEING MANIPULATED | ||
| 374 | GAP_PATCH DB 50H ; FORMAT GAP PATCHED INTO DPT | ||
| 375 | |||
| 376 | ;DISK ERRORS RETURNED FROM THE IBM ROM | ||
| 377 | PUBLIC ERRIN | ||
| 378 | ERRIN LABEL BYTE | ||
| 379 | db 0cch ;AN002; Write Fault error | ||
| 380 | DB 80H ;NO RESPONSE | ||
| 381 | DB 40H ;SEEK FAILURE | ||
| 382 | DB 10H ;BAD CRC | ||
| 383 | DB 8 ;DMA OVERRUN | ||
| 384 | DB 6 ; MEDIA CHANGE | ||
| 385 | DB 4 ;SECTOR NOT FOUND | ||
| 386 | DB 3 ;WRITE ATTEMPT TO WRITE-PROTECT DISK | ||
| 387 | PUBLIC LSTERR | ||
| 388 | LSTERR DB 0 ;ALL OTHER ERRORS | ||
| 389 | |||
| 390 | ;RETURNED ERROR CODES CORRESPONDING TO ABOVE | ||
| 391 | PUBLIC ERROUT | ||
| 392 | ERROUT LABEL BYTE | ||
| 393 | db 10 ;AN002; Write Fault error | ||
| 394 | DB 2 ;NO RESPONSE | ||
| 395 | DB 6 ;SEEK FAILURE | ||
| 396 | DB 4 ;BAD CRC | ||
| 397 | DB 4 ;DMA OVERRUN | ||
| 398 | DB 15 ; INVALID MEDIA CHANGE | ||
| 399 | DB 8 ;SECTOR NOT FOUND | ||
| 400 | DB 0 ;WRITE ATTEMPT ON WRITE-PROTECT DISK | ||
| 401 | DB 12 ;GENERAL ERROR | ||
| 402 | PUBLIC NUMERR | ||
| 403 | NUMERR = ERROUT-ERRIN | ||
| 404 | |||
| 405 | ;------------------------------------------------------------- | ||
| 406 | |||
| 407 | ; READ IN BOOT SECTOR HERE, READ DONE IN READBOOT. | ||
| 408 | ; ALSO READ SECTOR FOR DMA CHECK FOR HARD DISK. | ||
| 409 | |||
| 410 | ;J.K. The buffer for a disk sector is going to be at a double word boundary | ||
| 411 | ; for 80386 machine. | ||
| 412 | |||
| 413 | IF ($-CODE) Mod 4 ;AN001; | ||
| 414 | Org ($-CODE)+4-(($-CODE) Mod 4) ;AN001; | ||
| 415 | ENDIF ;AN001; | ||
| 416 | |||
| 417 | PUBLIC DISKSECTOR | ||
| 418 | DiskSector DB 11 DUP(?) ; TAKE CARE OF 3 JUMP BYTES PLUS OEM NAME. | ||
| 419 | PUBLIC BPB_IN_SECTOR | ||
| 420 | Bpb_In_Sector DW ? | ||
| 421 | PUBLIC SECPERCLUSINSECTOR | ||
| 422 | SecPerClusInSector DB ? | ||
| 423 | DW ? | ||
| 424 | public NumberOfFats | ||
| 425 | NumberOfFats DB ? | ||
| 426 | DW ? | ||
| 427 | DW ? | ||
| 428 | PUBLIC MEDIABYTE | ||
| 429 | MediaByte DB ? | ||
| 430 | DW ? | ||
| 431 | DW ? | ||
| 432 | DW ? | ||
| 433 | DW ? | ||
| 434 | DW ? ;AN000; Extended Hidden sector (high) | ||
| 435 | DW ? ;AN000; Extended Total sector (low) | ||
| 436 | DW ? ;AN000; Extended Total sector (high) | ||
| 437 | db ? ;AN003; PHYDRV in boot record. | ||
| 438 | db ? ;AN003; CURRENT HEAD in boot record. | ||
| 439 | public Ext_Boot_Sig | ||
| 440 | Ext_Boot_Sig DB ? ;AN000; Extended Boot record sig. (=90h) | ||
| 441 | public Boot_Serial_L | ||
| 442 | Boot_Serial_L DW ? ;AN000; Boot volume serial number (Low) | ||
| 443 | public Boot_Serial_H | ||
| 444 | Boot_Serial_H DW ? ;AN000; Boot volume serial number (High) | ||
| 445 | public Boot_Volume_Label | ||
| 446 | Boot_Volume_Label DB 11 dup (' ') ;AN000; Volume label | ||
| 447 | public Boot_System_ID | ||
| 448 | Boot_System_ID DB 8 dup (' ') ;AN000; File system Id. | ||
| 449 | DB 512-($-DISKSECTOR) DUP (?) | ||
| 450 | |||
| 451 | ;********************************************************************* | ||
| 452 | ; "BDS" CONTAINS INFORMATION FOR EACH DRIVE IN THE SYSTEM. | ||
| 453 | ; VARIOUS VALUES ARE PATCHED WHENEVER ACTIONS ARE PERFORMED. | ||
| 454 | ; SECTORS/ALLOC. UNIT IN BPB INITIALLY SET TO -1 TO SIGNIFY THAT | ||
| 455 | ; THE BPB HAS NOT BEEN FILLED. LINK ALSO SET TO -1 TO SIGNIFY END | ||
| 456 | ; OF LIST. # OF CYLINDERS IN MAXPARMS INITIALIZED TO -1 TO INDICATE | ||
| 457 | ; THAT THE PARAMETERS HAVE NOT BEEN SET. | ||
| 458 | ; | ||
| 459 | EVENB | ||
| 460 | BDS1 LABEL WORD | ||
| 461 | DD BDS2 ;LINK TO NEXT STRUCTURE | ||
| 462 | DB 0 ;INT 13 DRIVE NUMBER | ||
| 463 | DB 0 ;LOGICAL DRIVE LETTER | ||
| 464 | PUBLIC FDRIVE1 | ||
| 465 | FDRIVE1 DW 512 ;PHYSICAL SECTOR SIZE IN BYTES | ||
| 466 | DB -1 ;SECTORS/ALLOCATION UNIT | ||
| 467 | DW 1 ;RESERVED SECTORS FOR DOS | ||
| 468 | DB 2 ;NO. ALLOCATION TABLES | ||
| 469 | DW 64 ;NUMBER DIRECTORY ENTRIES | ||
| 470 | DW 9*40 ;NUMBER SECTORS (AT 512 BYTES EA.) | ||
| 471 | DB 00000000B ;MEDIA DESCRIPTOR, INITIALLY 00H. | ||
| 472 | DW 2 ;NUMBER OF FAT SECTORS | ||
| 473 | DW 9 ;SECTOR LIMIT | ||
| 474 | DW 1 ;HEAD LIMIT | ||
| 475 | DW 0 ;HIDDEN SECTOR COUNT (low word) | ||
| 476 | dw 0 ;J.K. Hidden sector (high) | ||
| 477 | dw 0 ;J.K. Number sectors (low) | ||
| 478 | dw 0 ;J.K. Number sectors (high) | ||
| 479 | DB 0 ; TRUE => LARGE FATS | ||
| 480 | OPCNT1 DW 0 ;OPEN REF. COUNT | ||
| 481 | |||
| 482 | DB 3 ;FORM FACTOR | ||
| 483 | FLAGS1 DW 0020H ;VARIOUS FLAGS | ||
| 484 | ; DB 9 DUP (0) ;RESERVED FOR FUTURE USE | ||
| 485 | DW 40 ; NUMBER OF CYLINDERS | ||
| 486 | ; RECOMMENDED BPB FOR DRIVE. | ||
| 487 | RECBPB1 DW 512 ;BYTES PER SECTOR | ||
| 488 | DB 1 ;SECTORS/ALLOCATION UNIT | ||
| 489 | DW 1 ;RESERVED SECTORS FOR DOS | ||
| 490 | DB 2 ;NO. ALLOCATION TABLES | ||
| 491 | DW 0E0H ;NUMBER DIRECTORY ENTRIES | ||
| 492 | DW 9*40 ;NUMBER SECTORS (AT 512 BYTES EA.) | ||
| 493 | DB 0F0H ;MEDIA DESCRIPTOR, INITIALLY F0H. | ||
| 494 | DW 2 ;NUMBER OF FAT SECTORS | ||
| 495 | DW 9 ;SECTOR LIMIT | ||
| 496 | DW 2 ;HEAD LIMIT | ||
| 497 | DW 0 ;HIDDEN SECTOR COUNT(low) | ||
| 498 | dw 0 ;J.K. Hidden sector count (high) | ||
| 499 | dw 0 ;J.K. Number sectors (low) | ||
| 500 | dw 0 ;J.K. Number sectors (high) | ||
| 501 | DB 6 DUP (?) | ||
| 502 | TRACK1 DB -1 ;LAST TRACK ACCESSED ON THIS DRIVE | ||
| 503 | TIM_LO1 DW -1 ;KEEP THESE TWO CONTIGUOUS (?) | ||
| 504 | TIM_HI1 DW -1 | ||
| 505 | VOLID1 DB "NO NAME ",0 ;VOLUME ID FOR THIS DISK | ||
| 506 | VOLSER1 dd 0 ;Current volume serial number from Boot record | ||
| 507 | SYSID1 db "FAT12 ",0 ;Current file system id from Boot record | ||
| 508 | |||
| 509 | EVENB | ||
| 510 | BDS2 LABEL WORD | ||
| 511 | DD BDS3 ;LINK TO NEXT STRUCTURE | ||
| 512 | DB 0 ;INT 13 DRIVE NUMBER | ||
| 513 | DB 0 ;LOGICAL DRIVE LETTER | ||
| 514 | PUBLIC FDRIVE2 | ||
| 515 | FDRIVE2 DW 512 ;PHYSICAL SECTOR SIZE IN BYTES | ||
| 516 | DB -1 ;SECTORS/ALLOCATION UNIT | ||
| 517 | DW 1 ;RESERVED SECTORS FOR DOS | ||
| 518 | DB 2 ;NO. ALLOCATION TABLES | ||
| 519 | DW 64 ;NUMBER DIRECTORY ENTRIES | ||
| 520 | DW 9*40 ;NUMBER SECTORS (AT 512 BYTES EA.) | ||
| 521 | DB 00000000B ;MEDIA DESCRIPTOR, INITIALLY 00H. | ||
| 522 | DW 2 ;NUMBER OF FAT SECTORS | ||
| 523 | DW 9 ;SECTOR LIMIT | ||
| 524 | DW 1 ;HEAD LIMIT | ||
| 525 | DW 0 ;HIDDEN SECTOR COUNT (low word) | ||
| 526 | dw 0 ;J.K. Hidden sector (high) | ||
| 527 | dw 0 ;J.K. Number sectors (low) | ||
| 528 | dw 0 ;J.K. Number sectors (high) | ||
| 529 | DB 0 ; TRUE => LARGE FATS | ||
| 530 | OPCNT2 DW 0 ;OPEN REF. COUNT | ||
| 531 | DB 3 ;FORM FACTOR | ||
| 532 | FLAGS2 DW 0020H ;VARIOUS FLAGS | ||
| 533 | ; DB 9 DUP (0) ;RESERVED FOR FUTURE USE | ||
| 534 | DW 40 ; NUMBER OF CYLINDERS | ||
| 535 | ; RECOMMENDED BPB FOR DRIVE. | ||
| 536 | RECBPB2 DW 512 ;BYTES PER SECTOR | ||
| 537 | DB 1 ;SECTORS/ALLOCATION UNIT | ||
| 538 | DW 1 ;RESERVED SECTORS FOR DOS | ||
| 539 | DB 2 ;NO. ALLOCATION TABLES | ||
| 540 | DW 0E0H ;NUMBER DIRECTORY ENTRIES | ||
| 541 | DW 9*40 ;NUMBER SECTORS (AT 512 BYTES EA.) | ||
| 542 | DB 0F0H ;MEDIA DESCRIPTOR, INITIALLY F0H. | ||
| 543 | DW 2 ;NUMBER OF FAT SECTORS | ||
| 544 | DW 9 ;SECTOR LIMIT | ||
| 545 | DW 2 ;HEAD LIMIT | ||
| 546 | DW 0 ;HIDDEN SECTOR COUNT(low) | ||
| 547 | dw 0 ;J.K. Hidden sector count (high) | ||
| 548 | dw 0 ;J.K. Number sectors (low) | ||
| 549 | dw 0 ;J.K. Number sectors (high) | ||
| 550 | DB 6 DUP (?) | ||
| 551 | TRACK2 DB -1 ;LAST TRACK ACCESSED ON THIS DRIVE | ||
| 552 | TIM_LO2 DW -1 ;KEEP THESE TWO CONTIGUOUS (?) | ||
| 553 | TIM_HI2 DW -1 | ||
| 554 | VOLID2 DB "NO NAME ",0 ;VOLUME ID FOR THIS DISK | ||
| 555 | VOLSER2 dd 0 ;Current volume serial number from Boot record | ||
| 556 | SYSID2 db "FAT12 ",0 ;Current file system id from Boot record | ||
| 557 | |||
| 558 | EVENB | ||
| 559 | BDS3 LABEL WORD | ||
| 560 | DD BDS4 ;LINK TO NEXT STRUCTURE | ||
| 561 | DB 0 ;INT 13 DRIVE NUMBER | ||
| 562 | DB 0 ;LOGICAL DRIVE LETTER | ||
| 563 | PUBLIC FDRIVE3 | ||
| 564 | FDRIVE3 DW 512 ;PHYSICAL SECTOR SIZE IN BYTES | ||
| 565 | DB -1 ;SECTORS/ALLOCATION UNIT | ||
| 566 | DW 1 ;RESERVED SECTORS FOR DOS | ||
| 567 | DB 2 ;NO. ALLOCATION TABLES | ||
| 568 | DW 64 ;NUMBER DIRECTORY ENTRIES | ||
| 569 | DW 9*40 ;NUMBER SECTORS (AT 512 BYTES EA.) | ||
| 570 | DB 00000000B ;MEDIA DESCRIPTOR, INITIALLY 00H. | ||
| 571 | DW 2 ;NUMBER OF FAT SECTORS | ||
| 572 | DW 9 ;SECTOR LIMIT | ||
| 573 | DW 1 ;HEAD LIMIT | ||
| 574 | DW 0 ;HIDDEN SECTOR COUNT (low word) | ||
| 575 | dw 0 ;J.K. Hidden sector (high) | ||
| 576 | dw 0 ;J.K. Number sectors (low) | ||
| 577 | dw 0 ;J.K. Number sectors (high) | ||
| 578 | DB 0 ; TRUE => LARGE FATS | ||
| 579 | OPCNT3 DW 0 ;OPEN REF. COUNT | ||
| 580 | DB 3 ;FORM FACTOR | ||
| 581 | FLAGS3 DW 0020H ;VARIOUS FLAGS | ||
| 582 | ; DB 9 DUP (0) ;RESERVED FOR FUTURE USE | ||
| 583 | DW 40 ; NUMBER OF CYLINDERS | ||
| 584 | ; RECOMMENDED BPB FOR DRIVE. | ||
| 585 | RECBPB3 DW 512 ;BYTES PER SECTOR | ||
| 586 | DB 1 ;SECTORS/ALLOCATION UNIT | ||
| 587 | DW 1 ;RESERVED SECTORS FOR DOS | ||
| 588 | DB 2 ;NO. ALLOCATION TABLES | ||
| 589 | DW 0E0H ;NUMBER DIRECTORY ENTRIES | ||
| 590 | DW 9*40 ;NUMBER SECTORS (AT 512 BYTES EA.) | ||
| 591 | DB 0F0H ;MEDIA DESCRIPTOR, INITIALLY F0H. | ||
| 592 | DW 2 ;NUMBER OF FAT SECTORS | ||
| 593 | DW 9 ;SECTOR LIMIT | ||
| 594 | DW 2 ;HEAD LIMIT | ||
| 595 | DW 0 ;HIDDEN SECTOR COUNT(low) | ||
| 596 | dw 0 ;J.K. Hidden sector count (high) | ||
| 597 | dw 0 ;J.K. Number sectors (low) | ||
| 598 | dw 0 ;J.K. Number sectors (high) | ||
| 599 | DB 6 DUP (?) | ||
| 600 | TRACK3 DB -1 ;LAST TRACK ACCESSED ON THIS DRIVE | ||
| 601 | TIM_LO3 DW -1 ;KEEP THESE TWO CONTIGUOUS (?) | ||
| 602 | TIM_HI3 DW -1 | ||
| 603 | VOLID3 DB "NO NAME ",0 ;VOLUME ID FOR THIS DISK | ||
| 604 | VOLSER3 dd 0 ;Current volume serial number from Boot record | ||
| 605 | SYSID3 db "FAT12 ",0 ;Current file system id from Boot record | ||
| 606 | |||
| 607 | EVENB | ||
| 608 | BDS4 LABEL WORD | ||
| 609 | DW -1 ;LINK TO NEXT STRUCTURE | ||
| 610 | DW CODE | ||
| 611 | DB 0 ;INT 13 DRIVE NUMBER | ||
| 612 | DB 0 ;LOGICAL DRIVE LETTER | ||
| 613 | PUBLIC FDRIVE4 | ||
| 614 | FDRIVE4 DW 512 ;PHYSICAL SECTOR SIZE IN BYTES | ||
| 615 | DB -1 ;SECTORS/ALLOCATION UNIT | ||
| 616 | DW 1 ;RESERVED SECTORS FOR DOS | ||
| 617 | DB 2 ;NO. ALLOCATION TABLES | ||
| 618 | DW 64 ;NUMBER DIRECTORY ENTRIES | ||
| 619 | DW 9*40 ;NUMBER SECTORS (AT 512 BYTES EA.) | ||
| 620 | DB 00000000B ;MEDIA DESCRIPTOR, INITIALLY 00H. | ||
| 621 | DW 2 ;NUMBER OF FAT SECTORS | ||
| 622 | DW 9 ;SECTOR LIMIT | ||
| 623 | DW 1 ;HEAD LIMIT | ||
| 624 | DW 0 ;HIDDEN SECTOR COUNT (low word) | ||
| 625 | dw 0 ;J.K. Hidden sector (high) | ||
| 626 | dw 0 ;J.K. Number sectors (low) | ||
| 627 | dw 0 ;J.K. Number sectors (high) | ||
| 628 | DB 0 ; TRUE => LARGE FATS | ||
| 629 | OPCNT4 DW 0 ;OPEN REF. COUNT | ||
| 630 | DB 3 ;FORM FACTOR | ||
| 631 | FLAGS4 DW 0020H ;VARIOUS FLAGS | ||
| 632 | ; DB 9 DUP (0) ;RESERVED FOR FUTURE USE | ||
| 633 | DW 40 ; NUMBER OF CYLINDERS | ||
| 634 | ; RECOMMENDED BPB FOR DRIVE. | ||
| 635 | RECBPB4 DW 512 ;BYTES PER SECTOR | ||
| 636 | DB 1 ;SECTORS/ALLOCATION UNIT | ||
| 637 | DW 1 ;RESERVED SECTORS FOR DOS | ||
| 638 | DB 2 ;NO. ALLOCATION TABLES | ||
| 639 | DW 0E0H ;NUMBER DIRECTORY ENTRIES | ||
| 640 | DW 9*40 ;NUMBER SECTORS (AT 512 BYTES EA.) | ||
| 641 | DB 0F0H ;MEDIA DESCRIPTOR, INITIALLY F0H. | ||
| 642 | DW 2 ;NUMBER OF FAT SECTORS | ||
| 643 | DW 9 ;SECTOR LIMIT | ||
| 644 | DW 2 ;HEAD LIMIT | ||
| 645 | DW 0 ;HIDDEN SECTOR COUNT(low) | ||
| 646 | dw 0 ;J.K. Hidden sector count (high) | ||
| 647 | dw 0 ;J.K. Number sectors (low) | ||
| 648 | dw 0 ;J.K. Number sectors (high) | ||
| 649 | DB 6 DUP (?) | ||
| 650 | TRACK4 DB -1 ;LAST TRACK ACCESSED ON THIS DRIVE | ||
| 651 | TIM_LO4 DW -1 ;KEEP THESE TWO CONTIGUOUS (?) | ||
| 652 | TIM_HI4 DW -1 | ||
| 653 | VOLID4 DB "NO NAME ",0 ;VOLUME ID FOR THIS DISK | ||
| 654 | VOLSER4 dd 0 ;Current volume serial number from Boot record | ||
| 655 | SYSID4 db "FAT12 ",0 ;Current file system id from Boot record | ||
| 656 | |||
| 657 | BPBTYPE STRUC | ||
| 658 | SPF DB ? | ||
| 659 | SPT DB ? | ||
| 660 | CDIRE DB ? | ||
| 661 | CSEC DW ? | ||
| 662 | SPA DB ? | ||
| 663 | CHEAD DB ? | ||
| 664 | BPBTYPE ENDS | ||
| 665 | PUBLIC SM92 | ||
| 666 | SM92 BPBTYPE <3,9,70H,2*9*80,2,2> | ||
| 667 | |||
| 668 | ;----------------------------------------------- | ||
| 669 | ; | ||
| 670 | ; C O N - CONSOLE DEVICE DRIVER | ||
| 671 | ; | ||
| 672 | PUBLIC ALTAH | ||
| 673 | ALTAH DB 0 ;SPECIAL KEY HANDLING | ||
| 674 | public KEYRD_Func | ||
| 675 | KEYRD_Func DB 0 ;AN000; Default is conventional keyboard read | ||
| 676 | public KEYSTS_Func | ||
| 677 | KEYSTS_Func DB 1 ;AN000; Defualt if conventional keyboard status check. | ||
| 678 | |||
| 679 | ; PUBLIC SAV_SC_INFO ;J.K. 4/29/86 FOR CON$GENIOCTL | ||
| 680 | ; PUBLIC SAV_SC_MODE | ||
| 681 | ; PUBLIC SAV_SC_COLORS | ||
| 682 | ; PUBLIC SAV_SC_WIDTH | ||
| 683 | ; PUBLIC SAV_SC_LENGTH | ||
| 684 | ;SAV_SC_INFO LABEL BYTE | ||
| 685 | ;SAV_SC_MODE DB 0 | ||
| 686 | ;SAV_SC_COLORS DW 0 | ||
| 687 | ;SAV_SC_WIDTH DW 0 | ||
| 688 | ;SAV_SC_LENGTH DW 0 ;J.K. 4/29/86 FOR CON$GENIOCTL | ||
| 689 | |||
| 690 | ;------------------------------------------------------------- | ||
| 691 | ; | ||
| 692 | ; P R N - PRINTER DEVICE | ||
| 693 | ; | ||
| 694 | PUBLIC PRINTDEV | ||
| 695 | PRINTDEV DB 0 ; INDEX INTO ABOVE ARRAY | ||
| 696 | |||
| 697 | ; THE FOLLOWING VARIABLE CAN BE MODIFIED VIA IOCTL SUB-FUNCTION 16. IN THIS | ||
| 698 | ; WAY, THE WAIT CAN BE SET TO SUIT THE SPEED OF THE PARTICULAR PRINTER BEING | ||
| 699 | ; USED. ONE FOR EACH PRINTER DEVICE. | ||
| 700 | |||
| 701 | EVENB | ||
| 702 | PUBLIC WAIT_COUNT | ||
| 703 | WAIT_COUNT DW 4 DUP (50H) ; ARRAY OF RETRY COUNTS FOR PRINTER | ||
| 704 | |||
| 705 | EVENB | ||
| 706 | PUBLIC DAYCNT | ||
| 707 | DAYCNT DW 0 | ||
| 708 | |||
| 709 | |||
| 710 | IF iTEST ;Testing Mode for IBMBIO. | ||
| 711 | PUBLIC NUMBUF | ||
| 712 | NUMBUF DB 5 DUP (?) | ||
| 713 | PUBLIC DIGITS | ||
| 714 | DIGITS DB "0123456789ABCDEF" | ||
| 715 | PUBLIC FTESTBITS | ||
| 716 | ;FTESTBITS DW FTESTDISK+FTESTINIT | ||
| 717 | FTESTBITS DW fTestDISK | ||
| 718 | ;ftestbits dw ftestclock | ||
| 719 | ENDIF | ||
| 720 | |||
| 721 | PATHEND 001,BIO | ||
| 722 | \ No newline at end of file | ||