diff options
Diffstat (limited to 'v4.0/src/BIOS/BIOSTRUC.INC')
| -rw-r--r-- | v4.0/src/BIOS/BIOSTRUC.INC | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/v4.0/src/BIOS/BIOSTRUC.INC b/v4.0/src/BIOS/BIOSTRUC.INC new file mode 100644 index 0000000..f131e11 --- /dev/null +++ b/v4.0/src/BIOS/BIOSTRUC.INC | |||
| @@ -0,0 +1,103 @@ | |||
| 1 | %OUT BIOSTRUC.INC... | ||
| 2 | ; SCCSID = @(#)BIOSTRUC.INC 1.0 86/09/30 | ||
| 3 | ; ROM BIOS CALL PACKET STRUCTURES | ||
| 4 | |||
| 5 | ;******************************* | ||
| 6 | ;System Service call ( Int 15h ) | ||
| 7 | ;******************************* | ||
| 8 | ;Function AH = 0C0h, Return system configuration | ||
| 9 | ;For PC and PCJR on return: | ||
| 10 | ; (AH) = 80h | ||
| 11 | ; (CY) = 1 | ||
| 12 | ;For PCXT, PC PORTABLE and PCAT on return: | ||
| 13 | ; (AH) = 86h | ||
| 14 | ; (CY) = 1 | ||
| 15 | ;For all others: | ||
| 16 | ; (AH) = 0 | ||
| 17 | ; (CY) = 0 | ||
| 18 | ; (ES:BX) = pointer to system descriptor vector in ROS | ||
| 19 | ; System descriptor : | ||
| 20 | ; DW xxxx length of descriptor in bytes, | ||
| 21 | ; minimum length = 8 | ||
| 22 | ; DB xx model byte | ||
| 23 | ; 0FFh = PC | ||
| 24 | ; 0FEh = PC/XT, Portable | ||
| 25 | ; 0FDh = PC/JR | ||
| 26 | ; 0FCh = PC/AT, 6Mhz PC/AT, | ||
| 27 | ; 6Mhz PC/AT running coprocessor(?), | ||
| 28 | ; PS/2 Model 50, 50 z | ||
| 29 | ; 0FAh = PS/2 Model 25, 30 | ||
| 30 | ; 0F9h = PC Convertible | ||
| 31 | ; 0F8h = PS/2 Model 80 | ||
| 32 | ; 0F7h = Nova | ||
| 33 | ; 0E0 thru 0EFh = reserved | ||
| 34 | ; | ||
| 35 | ; DB xx secondary model byte | ||
| 36 | ; 000h = PC1 | ||
| 37 | ; 000h = PC/XT, Portable | ||
| 38 | ; 000h = PC/JR | ||
| 39 | ; 000h = PC/AT | ||
| 40 | ; 001h = 6Mhz PC/AT | ||
| 41 | ; 003h = 6Mhz PC/AT running coprocessor(?) | ||
| 42 | ; 004h = PS/2 Model 50, 50z | ||
| 43 | ; 001h = PS/2 Model 25 | ||
| 44 | ; 000h = PC Convertible | ||
| 45 | ; 000h = PS/2 Model 80 | ||
| 46 | ; 000h = Nova | ||
| 47 | ; | ||
| 48 | ; DB xx bios revision level | ||
| 49 | ; 00 for first release, subsequent release | ||
| 50 | ; of code with same model byte and | ||
| 51 | ; secondary model byte require revison level | ||
| 52 | ; to increase by one. | ||
| 53 | ; | ||
| 54 | ; DB xx feature information byte 1 | ||
| 55 | ; X0000000 = 1, bios use DMA channel 3 | ||
| 56 | ; = 0, DMA channel 3 not used | ||
| 57 | ; | ||
| 58 | ; 0X000000 = 1, 2nd Interrupt chip present | ||
| 59 | ; = 0, 2nd Interrupt chip not present | ||
| 60 | ; | ||
| 61 | ; 00X00000 = 1, Real Time Clock present | ||
| 62 | ; = 0, Real Time Clock not present | ||
| 63 | ; | ||
| 64 | ; 000X0000 = 1, Keyboard escape sequence(INT15h) | ||
| 65 | ; called in keyboard interrupt | ||
| 66 | ; (Int 09h). | ||
| 67 | ; = 0, Keyboard escape sequence not | ||
| 68 | ; called. | ||
| 69 | ; 0000XXXX reserved | ||
| 70 | ; | ||
| 71 | ; DB xx feature information byte 2 - reserved | ||
| 72 | ; | ||
| 73 | ; DB xx feature information byte 2 - reserved | ||
| 74 | ; | ||
| 75 | ; DB xx feature information byte 2 - reserved | ||
| 76 | ; | ||
| 77 | ; DB xx feature information byte 2 - reserved | ||
| 78 | ; | ||
| 79 | |||
| 80 | BIOS_SYSTEM_DESCRIPTOR struc | ||
| 81 | bios_SD_leng dw ? | ||
| 82 | bios_SD_modelbyte db ? | ||
| 83 | bios_SD_scnd_modelbyte db ? | ||
| 84 | db ? | ||
| 85 | bios_SD_featurebyte1 db ? | ||
| 86 | db 4 dup (?) | ||
| 87 | BIOS_SYSTEM_DESCRIPTOR ends | ||
| 88 | |||
| 89 | ;FeatureByte1 bit map equates | ||
| 90 | DMAchannel3 equ 10000000b | ||
| 91 | ScndIntController equ 01000000b | ||
| 92 | RealTimeClock equ 00100000b | ||
| 93 | KeyEscapeSeq equ 00010000b | ||
| 94 | ; | ||
| 95 | ;Model Byte | ||
| 96 | MDL_PC1 EQU 0FFH | ||
| 97 | MDL_XT EQU 0FEH | ||
| 98 | MDL_JR EQU 0FDH | ||
| 99 | MDL_AT EQU 0FCH | ||
| 100 | MDL_CONVERT EQU 0F9H | ||
| 101 | |||
| 102 | mdl_ps2_30 equ 0fah | ||
| 103 | mdl_ps2_80 equ 0f8h | ||