IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF) IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

classiccomputers.info
from classiccomputers.info More from this publisher
25.03.2015 Views

LaC OBJ LINE SOURCE 0004 0002: 0001 0018 11 0080 0040 OOZO 0010 0008 0019 ?? OOlA ???? ODIC ???? ODIE (16 ???'?) 003E 0045 0046 0038 0010 003A 002A 0036 0052 0053 003E ?? 0080 003f ?? 0040 ?? 0025 0041 ?? 0080 0040 0020 0010 0009 0008 0004 0003 0002 0001 0042 (7 ?? J 78 eTL_SHIFT EOU 04H ; CONTROL SHIFT KEY DEPRESSED 79 lEfT_SHIFT EOU 02H ; lEFT SHIFT KEY DEPRESSED 80 RIGHT_SHIFT EOU O1H ; RIGHT SHIFT KEY DEPRESSED 81 82 DB ; SECOND BYTE OF KEYBOARD STATUS 83 INS_SHIFT 84 EOU 80H ; INSERT KEY IS DEPRESSED 85 CAPS_SHIFT EOU 40H ; CAPS LOCK KEY IS DEPRESSED 8. HUH_SHIFT EOU 20H ; NUN LOCK KEY IS DEPRESSED 87 SCROLL_SHIFT EOU IOH SCROLL LOCK KEY IS DEPRESSEO 88 HOLD_STATE EOU 08H SUSPEND KEY HAS BEEN TOGGLED 89 90 ALT_INPUT DB STORAGE fOR ALTERNATE KEYPAD ENTRY 91 BUFFER_HEAD OW POINTER TO HEAD Of KEYBOARD BUFFER .2 BUFFER_TAIL OW POINTER TO TAIL OF KEYBOARD BUFFER 93 KB_BUFFER OW 16 Dupe? I j ROOM FOR 15 ENTRIES 94 KB_BUFFER_EHO LABEL WORD .5 96 j------ HEAD = TAIL INDICATES THAT THE BUFFER IS EMPTY .7 •• •• 98 NUMJEY EOU SCAN CODE FOR NUMBER LOCK SCROLL_KEY EOU 70 SCROLL LOCK KEY 100 ALTJEY EOU 5. ALTERNATE SHIFT KEY SCAN COOE 101 CTL_KEY EOU 2. SCAN CODE FOR CONTROL KEY 102 CAPS_KEY EOU 58 SCAN CODE FOR SHIFT LOCK 103 LEFT_KEY EOU 42 SCAN CODE FOR LEFT SHIFT 104 RIGHTJEY EOU 54 SCAN COOE FOR RIGHT SHIFT 105 INS_KEY EOU 82 SCAN CODE FOR UlSERT KEY 10. DEL_KEY EOU 83 SCAN CODE FOR DELETE KEY 107 108 j -------------------------------------------­ 109 j DISKETTE DATA AREAS 110 j -------------------------------------------­ 111 DB ; DRIVE RECALIBRATION STATUS 112 BIT 3-0 = DRIVE 3-0 NEEDS RECAL BEFORE 113 NEXT SEEK IF BIT IS = 0 114 INTJLAG EOU oaOH ; INTERRUPT OCCURRt:NCE FLAG 115 MOTOR_STATUS DB ; MOTOR STATUS 11. BIT 3-0 = DRIVE 3-0 IS CURRENTLY R\..INI'IIHG 117 I BIT 7 = CURRENT OPERATION IS A WRITE. REQUIRES DEU.Y 118 ttOTOR_COUNT DB ; TIME OUT COUNTER fOR DRIVE TURN OFF MOTOR_WAIT EQU 37 ; TWO SECONDS OF COUNTS FOR I1OTOR TURN OFF "' 120 121 122 DISKETTE_STATUS DB j SINGLE BYTE OF RETURN CooE INFO FOR STATUS 123 TIME_OUT EQU 80H ; ATTACHMENl rAILED TO RESPOND 124 BAD_SEEK EQU 40H ; SEEK OPERATION FAILED 125 BAD_NEC EQU 20H ; NEe CONTROLLER HAS FAILED 12' BAD_CRC EQU IOH j BAD CRC ON DISKETTE READ 127 DMA_BOUNDARY EqU 09H ; ATTEMPT TO DMA ACROSS 64K BOUNDARY 128 BAD_DMA EQU 08H ; DMA OVERRUN ON OPERATION 12' RECORD_NOTJND EQU 04H I REQUESTED SECTOR NOT FOUND 130 WRITE_PROTECT EQU OJH I WRITE ATTEMPTED ON WRITE PROT DISK 131 BAO ADDR_HARK EQU 02H ADDRESS MARK HOT FOUND 132 BAD_CHO EQU O1H BAD COMNAND PASSED TO DISKETTE I/O 133 134 DB 7 DUP(?) ; STATUS BYTES FROM NEC 135 0049 ?? 004A ???? 004C ???? 004E ???? ~ 0050 (8 ????I 0060 ???? 0062 ?? 0063 ?1?1 0065 ?? 0066 ?? 0067 '???? 0069 ???? 136 j -------------------------------------------­ 137 ; VIDEO DISPLAY DATA AREA 138 ; -------------------------------------------­ 139 CRT_MODE DB ; CURRENT CRT HOOE 140 CRT_COLS OW ; HUMBER OF COLUMNS ON SCREEN 141 CRT_LEN ow j LENGTH OF REGEN IN BYTES 142 CRT_START OW STARTING ADDRESS IN REGEN BUFFER 143 CURSOR_POSN ow 8 DUP{?) ; CURSOR FOR EACH OF UP TO a PAGES 144 CURSOR MODE OW CURRENT CURSOR MODE SETTING 145 ACTIVE_PAGE DB CURRENT PAGE BEING DISPLAYED 14. ADDR_684S OW BASE ADDRESS FOR ACTIVE DISPLAY CARD 147 CRT_MODE SET DB CURRENT SETTING Of 1liE 3X8 REGISTER 14B CRT_PALLETTE DB ; CURRENT PALLETTE SETTING COLOR CARD 14, 150 ; -------------------------------------------­ 151 ; CASSETTE DATA AREA 152 j-------------------------------------------­ 153 OW ;TIME COUNT AT DATA EDGE 154 ow JCRC REGISTER A-3

LOC OBJ LINE SOURCE 0068 ?! 155 De ;LAST INPUT VALUE 156 157 1----------------------------________________ 158 ; TIMER DATA AR€A 159 -----------------___________________________ Ot6C ?1!'! 160 TlI1ER_LOW 0" j lOW WORD OF TIMER COUHT 006£ ???? 161 TIMER_HIGH ow ; HIGH WORD OF TIMER COUNT 0070 ?! 162 TINER_OFL De ; TIMER HAS ROllED OVER SINCE LAST READ 163 ;COUNTS.SEC lOU 18 16' ,COUNTS.NIH EQU 1092: 165 iCOUtlTS_HOUR lOU 65543 166 ; COUNTS_DA.Y EOU 1513040 = 1800BOH 167 168 i -------------------------________________• __ 169 ; SYSTEM DATA AREA 170 ; ---- - ----------_____________________________ 0071 ?? 171 BIOS_BREAK DB ; BIT 7 = 1 IF BREAK HY HAS BEEN DEPRESSED 0072 ???? 172 RESET_FLAG OW ; WORD = 1234H IF KEYBOARD RESET UNDERWAY 173 OATA WOS 174 175 ; -----~-':' _:.•.---._____________________________ 176 J EXTRA DATA AREA 177 1-------------------------------------------­ '0050 178 XXDATA SEGMENT AT 50H O~OO 11 179 STATUS_BYTE DB 18. XXOATA ENDS 181 18Z ; -------------------------------------------­ 183 J VIDEO DISPUY BUFFER 184 ; ----------- --- - - - - - - - ----------------------­ 8800 18S VIDEO_RAM SEGMENT AT OBaOOH '0000 186 REGEN LABEL BYTt 0000 187 REGENW LABEL WORD (1000 (16}84 ??) 188 DB 1638't DUPl?) 189 ENIlS 190 i -----------------------------------------­ 191 ; ROM RESIDENT CODE 19' ; ---------------------- ------------------- -­ fOOD 193 CODE SEGMENT AT OFOOOH 0000 (51344 111 19. DB 57344 DUP(?) j FI LL LOWEST 56K , 195 :EOOO 35373030303531 196 08 '5700051 CDPR. IBM 1981' I COPYRIGHT NOTICE 20434F50522E20 49424020313938 31 197 198 ; -------------------------------------------­ 199 j INITIAL RELIA8ILITY TESTS -- PHASE 1 200 ; --- - - - - - - --- - ------- -- - - - -- - ---------------­ 201 ASSUME CS:COOE,SS:COOE,ES:ABSO,OS:DATA 202 ; -------------------------------------------­ 203 DATA DEfINITIONS 2.04 J - - ------------------ -------- ------------- --­ E016 D8EO 205 Cl 0" Cll • RETURN ADDRESS E016 EDEI '06 C' 0" C" i PETlmtl ADDRESS FOR DUMMY STACK 207 ; ----------------------- ---------------- - ---­ lOS 209 OF STORGAGE. THIS SUBROUTINE PERFORMS A READ/WRITE STOOAGE TEST ON A 16K 8LOCK 210 ;ENTRY REQUIREMEtHS: 211 ES = ADDPESS OF STORAGE SEGt!EHT eEING TESTED 21Z Z13 OS = ADDRESS OF STORAGE SEGMENT BEING TESTED \oIHEH EHlERltIG AT STGTST_CHT. CX MUST BE LOADED WITH THE BYTE COUNT. Z14 .EXIT PARAtlETERS: ZIS ZERO HAG =

LaC OBJ LINE SOURCE<br />

0004<br />

0002:<br />

0001<br />

0018 11<br />

0080<br />

0040<br />

OOZO<br />

0010<br />

0008<br />

0019 ?? <br />

OOlA ???? <br />

ODIC ???? <br />

ODIE (16 ???'?) <br />

003E<br />

0045<br />

0046<br />

0038<br />

0010<br />

003A<br />

002A<br />

0036<br />

0052<br />

0053<br />

003E ??<br />

0080<br />

003f ??<br />

0040 ??<br />

0025<br />

0041 ??<br />

0080<br />

0040<br />

0020<br />

0010<br />

0009<br />

0008<br />

0004<br />

0003<br />

0002<br />

0001<br />

0042 (7 ?? J<br />

78 eTL_SHIFT EOU 04H ; CONTROL SHIFT KEY DEPRESSED <br />

79 lEfT_SHIFT EOU 02H ; lEFT SHIFT KEY DEPRESSED <br />

80 RIGHT_SHIFT EOU O1H ; RIGHT SHIFT KEY DEPRESSED <br />

81 <br />

82 DB ; SECOND BYTE OF KEYBOARD STATUS <br />

83 <br />

INS_SHIFT 84 EOU 80H ; INSERT KEY IS DEPRESSED <br />

85 CAPS_SHIFT EOU 40H ; CAPS LOCK KEY IS DEPRESSED <br />

8. HUH_SHIFT EOU 20H ; NUN LOCK KEY IS DEPRESSED <br />

87 SCROLL_SHIFT EOU IOH SCROLL LOCK KEY IS DEPRESSEO <br />

88 HOLD_STATE EOU 08H SUSPEND KEY HAS BEEN TOGGLED <br />

89 <br />

90 ALT_INPUT DB STORAGE fOR ALTERNATE KEYPAD ENTRY <br />

91 BUFFER_HEAD OW POINTER TO HEAD Of KEYBOARD BUFFER <br />

.2 BUFFER_TAIL OW POINTER TO TAIL OF KEYBOARD BUFFER <br />

93 KB_BUFFER OW 16 Dupe? I j ROOM FOR 15 ENTRIES <br />

94 KB_BUFFER_EHO LABEL WORD <br />

.5<br />

96 j------ HEAD = TAIL INDICATES THAT THE BUFFER IS EMPTY<br />

.7<br />

••<br />

••<br />

98 NUMJEY EOU SCAN CODE FOR NUMBER LOCK<br />

SCROLL_KEY EOU 70 SCROLL LOCK KEY<br />

100 ALTJEY EOU 5. ALTERNATE SHIFT KEY SCAN COOE<br />

101 CTL_KEY EOU 2. SCAN CODE FOR CONTROL KEY<br />

102 CAPS_KEY EOU 58 SCAN CODE FOR SHIFT LOCK<br />

103 LEFT_KEY EOU 42 SCAN CODE FOR LEFT SHIFT<br />

104 RIGHTJEY EOU 54 SCAN COOE FOR RIGHT SHIFT<br />

105 INS_KEY EOU 82 SCAN CODE FOR UlSERT KEY<br />

10. DEL_KEY EOU 83 SCAN CODE FOR DELETE KEY<br />

107<br />

108 j -------------------------------------------­<br />

109 j DISKETTE DATA AREAS<br />

110 j -------------------------------------------­<br />

111 DB ; DRIVE RECALIBRATION STATUS<br />

112 BIT 3-0 = DRIVE 3-0 NEEDS RECAL BEFORE<br />

113 NEXT SEEK IF BIT IS = 0<br />

114 INTJLAG EOU oaOH ; INTERRUPT OCCURRt:NCE FLAG<br />

115 MOTOR_STATUS DB ; MOTOR STATUS<br />

11. BIT 3-0 = DRIVE 3-0 IS CURRENTLY R\..INI'IIHG<br />

117 I BIT 7 = CURRENT OPERATION IS A WRITE. REQUIRES DEU.Y<br />

118 ttOTOR_COUNT DB ; TIME OUT COUNTER fOR DRIVE TURN OFF<br />

MOTOR_WAIT EQU 37 ; TWO SECONDS OF COUNTS FOR I1OTOR TURN OFF <br />

"' 120 <br />

121<br />

122 DISKETTE_STATUS DB j SINGLE BYTE OF RETURN CooE INFO FOR STATUS<br />

123 TIME_OUT EQU 80H ; ATTACHMENl rAILED TO RESPOND<br />

124 BAD_SEEK EQU 40H ; SEEK OPERATION FAILED<br />

125 BAD_NEC EQU 20H ; NEe CONTROLLER HAS FAILED<br />

12' BAD_CRC EQU IOH j BAD CRC ON DISKETTE READ<br />

127 DMA_BOUNDARY EqU 09H ; ATTEMPT TO DMA ACROSS 64K BOUNDARY<br />

128 BAD_DMA EQU 08H ; DMA OVERRUN ON OPERATION<br />

12' RECORD_NOTJND EQU 04H I REQUESTED SECTOR NOT FOUND<br />

130 WRITE_PROTECT EQU OJH I WRITE ATTEMPTED ON WRITE PROT DISK<br />

131 BAO ADDR_HARK EQU 02H ADDRESS MARK HOT FOUND<br />

132 BAD_CHO EQU O1H BAD COMNAND PASSED TO DISKETTE I/O<br />

133<br />

134 DB 7 DUP(?) ; STATUS BYTES FROM NEC<br />

135<br />

0049 ??<br />

004A ????<br />

004C ????<br />

004E ????<br />

~ 0050 (8 ????I<br />

0060 ????<br />

0062 ??<br />

0063 ?1?1<br />

0065 ??<br />

0066 ??<br />

0067 '????<br />

0069 ????<br />

136 j -------------------------------------------­<br />

137 ; VIDEO DISPLAY DATA AREA<br />

138 ; -------------------------------------------­<br />

139 CRT_MODE DB ; CURRENT CRT HOOE<br />

140 CRT_COLS OW ; HUMBER OF COLUMNS ON SCREEN<br />

141 CRT_LEN ow j LENGTH OF REGEN IN BYTES<br />

142 CRT_START OW STARTING ADDRESS IN REGEN BUFFER<br />

143 CURSOR_POSN ow 8 DUP{?) ; CURSOR FOR EACH OF UP TO a PAGES<br />

144 CURSOR MODE OW CURRENT CURSOR MODE SETTING<br />

145 ACTIVE_PAGE DB CURRENT PAGE BEING DISPLAYED<br />

14. ADDR_684S OW BASE ADDRESS FOR ACTIVE DISPLAY CARD<br />

147 CRT_MODE SET DB CURRENT SETTING Of 1liE 3X8 REGISTER<br />

14B CRT_PALLETTE DB ; CURRENT PALLETTE SETTING COLOR CARD<br />

14,<br />

150 ; -------------------------------------------­<br />

151 ; CASSETTE DATA AREA<br />

152 j-------------------------------------------­<br />

153 OW ;TIME COUNT AT DATA EDGE<br />

154 ow JCRC REGISTER<br />

A-3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!