You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
; 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
|
|
|