LREG_TAB
10F4
M7
LABEL
BYTE
;
TABLE
OF
MODE
SETS
10F4
2C
28
20 29
2A 2E
DB
2CH,28H,2DH,29H,2AH,2EH,IEH,29H
IE
29
Memory Interrupt
Hex
12
(MEMORY _SIZE_DET)
1841
1841
1841 IE
1842
E8
085C
R
1845
Al
0013
R
1848
IF
1849
CF
184A
; - - - I
NT
12
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--
MEMORLS
I ZCDET
THIS
ROUTINE
DETERMINES
THE
AMOUNT
OF
MEMORY
IN
THE
SYSTEM
AS
REPRESENTED
BY
MEMORLSIZE
WORD.
THE
MEMORLSIZE
WORD
IS
SET
BY
POST
WHEN
IT
HAS
DETERMINED
HOW
MUCH
MEMORY
IS
USABLE.
IT
IS
SET
IN
lK
INCREMENTS
ON
8K
BYTE
BOUNDRIES
INPUT
NO
REGISTERS
OUTPUT
(AX)
=
NUMBER
OF
CONTIGUOUS
lK
BLOCKS
OF
MEMORY
;
ORG
AS
DETERMINED
BY
THE
POWER
ON
SELF
TEST
ROUTINE
ASSUME
OS:
DATA
OF841H
ORG
01841H
MEMORLSIZE_DET
PROC
FAR
PUSH
OS
CALL
DDS
MOV
AX,MEMORLSlZE
POP
OS
IRET
MEMORLSIZE_DET
ENDP
SAVE
SEGMENT
GET
VALUE
RECOVER
SEGMENT
RETURN
TO
CALLER
Equipment Interrupt
Hex
11
(EQUIPMENT)
;---
INT
11
-----------------------------------------------------
EQUIPMENT
DETERMINATION
INPUT
OUTPUT
THIS
ROUTINE
ATEMPTS
TO
DETERMINE
WHAT
OPTIONAL
DEVICES
ARE
ATTACHED
TO
THE
SYSTEM.
NO
REGISTERS
THE
EQUIPJLAG
VARIABLE
IS
SET
DURING
THE
POWER
ON
DIAGNOSTICS
USING
THE
FOLLOWING
HARDWARE
ASSUMPTIONS:
PORT
3FA
=
INTERRUPT
ID
REGISTER
OF
8250
BITS
7-3
ARE
ALWAYS
0
PORT
378
=
OUTPUT
PORT
OF
PRINTER
--
8255
PORT
THAT
CAN
BE
READ
AS
WELL
AS
WRITTEN
(AX)
IS
SET,
BIT SIGNIFICANT,
TO
INDICATE
ATTACHED
1/0
BIT
15,14
=
NUMBER
OF
PRINTERS
ATTACHED
BIT
13
=
INTERNAL
MODEM
INSTALLED
BIT
12
=
GAME
1/0
ATTACHED
BIT
11,10,9
=
NUMBER
OF
SERIAL
COMM
DEVICES
ATTACHED
BIT 8
UNUSED
BIT
7,6
=
NUMBER
OF
DISKETTE
DRIVES
00=1,
01=2
BIT
5,4
=
INITIAL
VIDEO
MODE
00
UNUS
ED
01
-
40X25
BW
USING
COLOR
CARD
2-232 ROM BIOS