INPUT
INPUT
SOURCE
(B
I
OS
FOR
THE
I
BM
PERSONAL COMPUTER
XT)
1 1
108/82
5-167
I
NTERRUPTS
BACK
ON
SAVE
SEGMENT
REGISTER
GET
THE
CURRENT
SETT
I NGS
RECOVER SEGMENT
RETURN TO
CALLER
I
NTERRUPTS
BACK
ON
SA
VE SEGMENT
GET
VALUE
RECOVER SEGMENT
RETURN TO
CALLER
; CARRY
INDICATOR=1
FAR
AH,86H
2
ENDP
OF859H
PROC
FAR
ENDP
CS:CODE,DS:DATA
OF84DH
PROC
FAR
DS
DDS
AX,EQUIP
FLAG
DS -
DS
DDS
AX
,MEMORY
SIZE
DS -
PC-XT System BIOS
(11/08/82)
ORG
CASSETTE
10
STC
MOV
RET
CASSETTE_IO
ASSUME
ORG
EQUIPMENT
STI
PUSH
CALL
MOV
POP
IRET
EQUIPMENT
;---
INT
11
-----------------------------------------------------
; EQU I PMENT DETERM I NA T I
ON
:
; TH I S ROUT I NE
ATTEMPTS
TO DETERM I NE WHAT OPT
10NAL
DEVICES
ARE
ATTACHED
TO
THE
SYSTEM.
NO
REG I STERS
THE
EQU I P
FLAG
V
AR
I
ABLE
I S
SET
DUR I
NG
THE
POWER
ON
D I AGNOST I CS US I
NG
THE
FOLLOW I
NG
HARDWARE ASSUMPT
IONS:
PORT
60
=
LOW
ORDER
BYTE
OF EQUPMENT
PORT
3FA
=
INTERRUPT
ID
REGISTER
OF
8250
BITS
7-3
ARE ALWAYS 0
PORT
378
=
OUTPUT
PORT OF PR
INTER
- -
8255
PORT
THAT
CAN
BE
READ
AS
WELL AS
WR
I
TTEN
OUTPUT
(AX)
IS
SET,
BIT
SIGNIFICANT,
TO
INDICATE
ATTACHED
I/O
BIT
15,14
= NUMBER OF
PRINTERS
ATTACHED
BIT
I 3 NOT USED
BIT
12
= GAME
1/0
ATTACHED
BIT
11,10,9
= NUMBER OF
RS232
CARDS
ATTACHED
BIT
8 UNUSED
BIT
7,6
= NUMBER OF
DISKETTE
DR
I VES
00=1, 01=2,
10=3,
11=4
ONLY
IF
BIT
0 = 1
BIT
5,4
= I N I
TI
AL
V I DEO MODE
00
- UNUSED
01 -
40X25
BW
US I
NG
COLOR CARD
10
-
80X25
BW
US I
NG
COLOR CARD
I I -
80X25
BW
US I
NG
BW
CARD
BIT
3,2
=
PLANAR
RAM
SIZE
(00=16K,OI=32K,10=48K,I1=64K)
B
IT
I NOT USED
BIT
0 =
IPL
FROM
DISKETTE
--
THIS
BIT
INDICATES
THAT
THERE
ARE
DISKETTE
DR
I VES
ON
THE
SYSTEM
NO
OTHER REG I
SlERS
AFFECTED
OUTPUT
(AX)
= NUMBER OF
CONTI
GUOUS 1K
BLOCKS
OF MEMORY
NO
REG I
STERS
THE MEMORY
SIZE
VAR I
ABLE
I S
SET
DUR I
NG
POWER
ON
D I AGNOST I CS
ACCORD I
NG-TO
THE
FOLLOW I
NG
HARDWARE ASSUMPT
IONS:
PORT
60
BITS
3,2
=
00
-
16K
BASE
RAM
01 -
32K
BASE
RAM
10
-
48K
BASE
RAM
1 1 -
64K
BASE
RAM
PORT
62
BITS
3-0
INDICATE
AMOUNT OF
1/0
RAM
IN
32K
INCREMENTS
E.G.,
0000
-
NO
RAM
IN
1/0
CHANNEL
0010
-
64K
RAM
IN
1/0
CHANNEL,
ETC.
; -
--
I
NT
15
- -
------
----
-------------
---
-----------------
--------
----
----
DUMMY
CASSETTE
10
ROUT I
NE-RETURNS
'I
NVALI
D
CMD'
I F
THE
ROUT I NE
IS:
I S EVER
CALLED
BY
ACC I DENT
(AH=86H,
CARRY
FLAG=
1)
;
---
I
NT
12
------------------------------------------------------------
;
MEMORY
SIZE
DET
;
TH
I S ROUT I NE DETERM I NES
THE
AMOUNT OF MEMORY I N
THE
SYSTEM
; AS
REPRESENTED
BY
THE
SW
I TCHES
ON
THE
PLANAR.
NOTE
THAT
THE
; SYSTEM
MAY NOT
BE
ABLE
TO
USE
1/0
MEMORY
UNLESS
THERE
IS
A
FULL
; COMPLEMENT OF
64K
BYTES
ON
THE
PLANAR.
ASSUME
CS:CODE,DS:DATA
ORG
OF841H
MEMORY
SIZE
DET
PROC
-
STI-
PUSH
CALL
MOV
POP
IRET
MEMORY
_S
I
ZE_DET
ENDP
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
LINE
F859
F859
F859
F9
F85A
B486
F85C
CA0200
LOC
OBJECT
F84D
F84D
F84D
FB
F84E
IE
F84F
E80702
F852
AI
1000
F855
IF
F856
CF
F841
F841
F841
FB
F842
IE
F843
E81302
F846
A I
1300
F849
IF
F84A
CF