diff options
Diffstat (limited to '')
-rw-r--r-- | private/mvdm/dos/v86/doskrnl/bios/biostruc.inc | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/private/mvdm/dos/v86/doskrnl/bios/biostruc.inc b/private/mvdm/dos/v86/doskrnl/bios/biostruc.inc new file mode 100644 index 000000000..5afb16ac9 --- /dev/null +++ b/private/mvdm/dos/v86/doskrnl/bios/biostruc.inc @@ -0,0 +1,101 @@ +; rom bios call packet structures + +;******************************* +;system service call ( int 15h ) +;******************************* +;function ah = 0c0h, return system configuration +;for pc and pcjr on return: +; (ah) = 80h +; (cy) = 1 +;for pcxt, pc portable and pcat on return: +; (ah) = 86h +; (cy) = 1 +;for all others: +; (ah) = 0 +; (cy) = 0 +; (es:bx) = pointer to system descriptor vector in ros +; system descriptor : +; dw xxxx length of descriptor in bytes, +; minimum length = 8 +; db xx model byte +; 0ffh = pc +; 0feh = pc/xt, portable +; 0fdh = pc/jr +; 0fch = pc/at, 6mhz pc/at, +; 6mhz pc/at running coprocessor(?), +; ps/2 model 50, 50 z +; 0fah = ps/2 model 25, 30 +; 0f9h = pc convertible +; 0f8h = ps/2 model 80 +; 0f7h = nova +; 0e0 thru 0efh = reserved +; +; db xx secondary model byte +; 000h = pc1 +; 000h = pc/xt, portable +; 000h = pc/jr +; 000h = pc/at +; 001h = 6mhz pc/at +; 003h = 6mhz pc/at running coprocessor(?) +; 004h = ps/2 model 50, 50z +; 001h = ps/2 model 25 +; 000h = pc convertible +; 000h = ps/2 model 80 +; 000h = nova +; +; db xx bios revision level +; 00 for first release, subsequent release +; of code with same model byte and +; secondary model byte require revison level +; to increase by one. +; +; db xx feature information byte 1 +; x0000000 = 1, bios use dma channel 3 +; = 0, dma channel 3 not used +; +; 0x000000 = 1, 2nd interrupt chip present +; = 0, 2nd interrupt chip not present +; +; 00x00000 = 1, real time clock present +; = 0, real time clock not present +; +; 000x0000 = 1, keyboard escape sequence(int15h) +; called in keyboard interrupt +; (int 09h). +; = 0, keyboard escape sequence not +; called. +; 0000xxxx reserved +; +; db xx feature information byte 2 - reserved +; +; db xx feature information byte 2 - reserved +; +; db xx feature information byte 2 - reserved +; +; db xx feature information byte 2 - reserved +; + +bios_system_descriptor struc +bios_sd_leng dw ? +bios_sd_modelbyte db ? +bios_sd_scnd_modelbyte db ? + db ? +bios_sd_featurebyte1 db ? + db 4 dup (?) +bios_system_descriptor ends + +;featurebyte1 bit map equates +dmachannel3 equ 10000000b +scndintcontroller equ 01000000b +realtimeclock equ 00100000b +keyescapeseq equ 00010000b +; +;model byte +mdl_pc1 equ 0ffh +mdl_xt equ 0feh +mdl_jr equ 0fdh +mdl_at equ 0fch +mdl_convert equ 0f9h + +mdl_ps2_30 equ 0fah +mdl_ps2_80 equ 0f8h |