60 lines
1.4 KiB
PHP
60 lines
1.4 KiB
PHP
|
; MSBDATA.INC
|
|||
|
;
|
|||
|
; This file defines some locations in the BIOS data segment that are
|
|||
|
; accessed by code outside the BIOS, e.g. by the DOS and by the ROMDOS
|
|||
|
; loader.
|
|||
|
;
|
|||
|
|
|||
|
|
|||
|
ifndef In_Bios ; if we're actually running in the BIOS,
|
|||
|
; ; then our segment is already open and
|
|||
|
; ; we'll actually generate code
|
|||
|
|
|||
|
ifndef NEC_98
|
|||
|
Bdata segment at 70h
|
|||
|
assume cs:Bdata
|
|||
|
org 3 ; fixed location in Bios_Data segment
|
|||
|
else ;NEC_98
|
|||
|
Bdata segment at 60h
|
|||
|
assume cs:Bdata
|
|||
|
org 23h ; fixed location in Bios_Data segment
|
|||
|
endif ;NEC_98
|
|||
|
int_2f = 0 ; define dummy so msbdata will assemble
|
|||
|
|
|||
|
endif
|
|||
|
|
|||
|
public dosdatasg
|
|||
|
DosDataSg dw 0 ; Let DOS find it's data segment through here
|
|||
|
; Note: this value is set by the ROMDOS loader
|
|||
|
; to tell where the DOS data and init code
|
|||
|
; has been loaded into RAM
|
|||
|
|
|||
|
|
|||
|
; dos's int 2f handler will exit via a jump through here. This is
|
|||
|
; how the BIOS hooks int2f
|
|||
|
|
|||
|
public bios_i2f ; M012
|
|||
|
bios_i2f proc far
|
|||
|
; jmp int_2f ; assembler won't generate forward
|
|||
|
; ; reference to a far label
|
|||
|
db 0eah
|
|||
|
dd int_2f ; generate manual far jump
|
|||
|
bios_i2f endp
|
|||
|
|
|||
|
public romstartaddr
|
|||
|
romstartaddr dw 0 ; The start address for the romfind routines
|
|||
|
; is obtained from here (70:A)
|
|||
|
|
|||
|
; This is a byte used for special key handling in the resident
|
|||
|
; console device driver. It must be here so that it can be included
|
|||
|
; in the WIN386 instance table (in INC\LMSTUB.ASM).
|
|||
|
|
|||
|
public altah
|
|||
|
|
|||
|
altah db 0 ;special key handling
|
|||
|
|
|||
|
|
|||
|
ifndef In_Bios
|
|||
|
Bdata ends
|
|||
|
endif
|
|||
|
|