summaryrefslogtreecommitdiff
path: root/v4.0/src/BIOS/BIOSTRUC.INC
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/BIOS/BIOSTRUC.INC')
-rw-r--r--v4.0/src/BIOS/BIOSTRUC.INC103
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
80BIOS_SYSTEM_DESCRIPTOR struc
81bios_SD_leng dw ?
82bios_SD_modelbyte db ?
83bios_SD_scnd_modelbyte db ?
84 db ?
85bios_SD_featurebyte1 db ?
86 db 4 dup (?)
87BIOS_SYSTEM_DESCRIPTOR ends
88
89;FeatureByte1 bit map equates
90DMAchannel3 equ 10000000b
91ScndIntController equ 01000000b
92RealTimeClock equ 00100000b
93KeyEscapeSeq equ 00010000b
94;
95;Model Byte
96MDL_PC1 EQU 0FFH
97MDL_XT EQU 0FEH
98MDL_JR EQU 0FDH
99MDL_AT EQU 0FCH
100MDL_CONVERT EQU 0F9H
101
102mdl_ps2_30 equ 0fah
103mdl_ps2_80 equ 0f8h