bejiitas_wrath

XT, AT and PS/2 I/O port addresses.

Dec 4th, 2023 (edited)
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 382.67 KB | Software | 0 0
  1. LIST PORT Release 55 Last change 28sep97
  2. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 Ralf Brown
  3. [This file originally by Wim Osterholt <wim@djo.wtm.tudelft.nl>,
  4. though it has grown considerably since.]
  5.  
  6. XT, AT and PS/2 I/O port addresses
  7.  
  8. Do NOT consider this information to be complete and accurate. If you want
  9. to do hardware programming ALWAYS check the appropriate data sheets (but
  10. even they are sometimes in error!). Be aware that erroneous port programming
  11. can put your data or even your hardware at risk.
  12.  
  13. There are a number of memory-mapped addresses in use for I/O; see MEMORY.LST
  14. for details on memory-mapped I/O.
  15.  
  16. --------!---Note-----------------------------
  17. Note: the port description format is:
  18.  
  19. PPPPw RW description
  20.  
  21. where: PPPP is the four-digit hex port number
  22. w is blank for byte-size port, 'w' for word, and 'd' for dword
  23. R is blank or dash if not readable, 'r' if sometimes readable,
  24. 'R' if "always" readable, '?' if readability unknown
  25. W is blank or dash if not writable, 'w' if sometimes writable,
  26. 'W' if "always" writable, '?' if writability unknown
  27. ----------P0000001F--------------------------
  28. PORT 0000-001F - DMA 1 - FIRST DIRECT MEMORY ACCESS CONTROLLER (8237)
  29. SeeAlso: PORT 0080h-008Fh"DMA",PORT 00C0h-00DFh
  30.  
  31. 0000 R- DMA channel 0 current address byte 0, then byte 1
  32. 0000 -W DMA channel 0 base address byte 0, then byte 1
  33. 0001 RW DMA channel 0 word count byte 0, then byte 1
  34. 0002 R- DMA channel 1 current address byte 0, then byte 1
  35. 0002 -W DMA channel 1 base address byte 0, then byte 1
  36. 0003 RW DMA channel 1 word count byte 0, then byte 1
  37. 0004 R- DMA channel 2 current address byte 0, then byte 1
  38. 0004 -W DMA channel 2 base address byte 0, then byte 1
  39. 0005 RW DMA channel 2 word count byte 0, then byte 1
  40. 0006 R- DMA channel 3 current address byte 0, then byte 1
  41. 0006 -W DMA channel 3 base address byte 0, then byte 1
  42. 0007 RW DMA channel 3 word count byte 0, then byte 1
  43.  
  44. 0008 R- DMA channel 0-3 status register (see #P001)
  45. 0008 -W DMA channel 0-3 command register (see #P002)
  46. 0009 -W DMA channel 0-3 write request register (see #P003)
  47. 000A RW DMA channel 0-3 mask register (see #P004)
  48. 000B -W DMA channel 0-3 mode register (see #P005)
  49.  
  50. 000C -W DMA channel 0-3 clear byte pointer flip-flop register
  51. any write clears LSB/MSB flip-flop of address and counter registers
  52. 000D R- DMA channel 0-3 temporary register
  53. 000D -W DMA channel 0-3 master clear register
  54. any write causes reset of 8237
  55. 000E -W DMA channel 0-3 clear mask register
  56. any write clears masks for all channels
  57. 000F rW DMA channel 0-3 write mask register (see #P006)
  58. Notes: the temporary register is used as holding register in memory-to-memory
  59. DMA transfers; it holds the last transferred byte
  60. channel 2 is used by the floppy disk controller
  61. on the IBM PC/XT channel 0 was used for the memory refresh and
  62. channel 3 was used by the hard disk controller
  63. command and request registers do not exist on a PS/2 DMA controller
  64.  
  65. Bitfields for DMA channel 0-3 status register:
  66. Bit(s) Description (Table P001)
  67. 7 channel 3 request active
  68. 6 channel 2 request active
  69. 5 channel 1 request active
  70. 4 channel 0 request active
  71. 3 channel terminal count on channel 3
  72. 2 channel terminal count on channel 2
  73. 1 channel terminal count on channel 1
  74. 0 channel terminal count on channel 0
  75. SeeAlso: #P002,#P125
  76.  
  77. Bitfields for DMA channel 0-3 command register:
  78. Bit(s) Description (Table P002)
  79. 7 DACK sense active high
  80. 6 DREQ sense active high
  81. 5 =1 extended write selection
  82. =0 late write selection
  83. 4 rotating priority instead of fixed priority
  84. 3 compressed timing (two clocks instead of four per transfer)
  85. =1 normal timing (default)
  86. =0 compressed timing
  87. 2 =1 enable controller
  88. =0 enable memory-to-memory
  89. 1-0 channel number
  90. SeeAlso: #P001,#P004,#P005,#P126
  91.  
  92. Bitfields for DMA channel 0-3 request register:
  93. Bit(s) Description (Table P003)
  94. 7-3 reserved (0)
  95. 2 =0 clear request bit
  96. =1 set request bit
  97. 1-0 channel number
  98. 00 channel 0 select
  99. 01 channel 1 select
  100. 10 channel 2 select
  101. 11 channel 3 select
  102. SeeAlso: #P004
  103.  
  104. Bitfields for DMA channel 0-3 mask register:
  105. Bit(s) Description (Table P004)
  106. 7-3 reserved (0)
  107. 2 =0 clear mask bit
  108. =1 set mask bit
  109. 1-0 channel number
  110. 00 channel 0 select
  111. 01 channel 1 select
  112. 10 channel 2 select
  113. 11 channel 3 select
  114. SeeAlso: #P001,#P002,#P003,#P128
  115.  
  116. Bitfields for DMA channel 0-3 mode register:
  117. Bit(s) Description (Table P005)
  118. 7-6 transfer mode
  119. 00 demand mode
  120. 01 single mode
  121. 10 block mode
  122. 11 cascade mode
  123. 5 direction
  124. =0 address increment select
  125. =1 address decrement select
  126. 3-2 operation
  127. 00 verify operation
  128. 01 write to memory
  129. 10 read from memory
  130. 11 reserved
  131. 1-0 channel number
  132. 00 channel 0 select
  133. 01 channel 1 select
  134. 10 channel 2 select
  135. 11 channel 3 select
  136. SeeAlso: #P002,#P129
  137.  
  138. Bitfields for DMA channel 0-3 write mask register:
  139. Bit(s) Description (Table P006)
  140. 7-4 reserved
  141. 3 channel 3 mask bit
  142. 2 channel 2 mask bit
  143. 1 channel 1 mask bit
  144. 0 channel 0 mask bit
  145. Note: each mask bit is automatically set when the corresponding channel
  146. reaches terminal count or an extenal EOP sigmal is received
  147. SeeAlso: #P004,#P130
  148. ----------P0010001F--------------------------
  149. PORT 0010-001F - DMA CONTROLLER (8237) ON PS/2 MODEL 60 & 80
  150. SeeAlso: PORT 0000h-001Fh,PORT 0080h-008Fh"DMA",PORT 00C0h-00DFh
  151.  
  152. 0018 -W extended function register (see #P007)
  153. 001A -W extended function execute register
  154.  
  155. Bitfields for DMA extended function register:
  156. Bit(s) Description (Table P007)
  157. 7-4 function code (see #P008)
  158. 3 reserved (0)
  159. 2-0 channel number
  160. 000 channel 0 select
  161. 001 channel 1 select
  162. 010 channel 2 select
  163. 011 channel 3 select
  164. 100 channel 4 select
  165. 101 channel 5 select
  166. 110 channel 6 select
  167. 111 channel 7 select
  168.  
  169. (Table P008)
  170. Values for DMA extended function codes (data go to/from PORT 001Ah):
  171. Value Description Parameters Results
  172. 00h current address register - CA0,CA1
  173. 02h write address - A0,A1,P
  174. 03h read address A0,A1,P -
  175. 04h write word count register C0,C1 -
  176. 05h read word count register - C0,C1
  177. 06h read status register - S
  178. 07h mode register - M
  179. 09h mask channel - -
  180. 0Ah unmask channel - -
  181. 0Dh master clear - -
  182. Note: CA0/CA1 LSB/MSB of the current address register
  183. A0/A1 LSB/MSB of the base address register
  184. P DMA page address
  185. C0/C1 LSB/MSB of the word count register
  186. S status register value (see #P001, #P125)
  187. M mode register value (see #P005, #P129)
  188. first, the extended function register is written, then the extended
  189. function register execute register is read/written if the function
  190. being executing requires
  191.  
  192. Bitfields for DMA extended mode register:
  193. Bit(s) Description (Table P009)
  194. 7 reserved (0)
  195. 6 =0 8-bit transfer
  196. =1 16-bit transfer
  197. 5-4 reserved (0)
  198. 3 transfer type
  199. =0 read from memory
  200. =1 write to memory
  201. 2 =0 disable memory write
  202. =1 enable memory write
  203. 1 reserved (0)
  204. 0 address select
  205. =0 use 0 as base address
  206. =1 use a value from base address register
  207. Note: the IBM PS/2 model 80 technical reference doesn't seem to mention this
  208. register's address
  209. ----------P0020003F--------------------------
  210. PORT 0020-003F - PIC 1 - PROGRAMMABLE INTERRUPT CONTROLLER (8259A)
  211. SeeAlso: PORT 00A0h-00AFh"PIC 2",INT 08"IRQ0",INT 0F"IRQ7"
  212.  
  213. 0020 -W PIC initialization command word ICW1 (see #P010)
  214. 0020 -W PIC output control word OCW2 (see #P015)
  215. 0020 -W PIC output control word OCW3 (see #P016)
  216. 0020 R- PIC interrupt request/in-service registers after OCW3
  217. request register:
  218. bit 7-0 = 0 no active request for the corresponding int. line
  219. = 1 active request for corresponding interrupt line
  220. in-service register:
  221. bit 7-0 = 0 corresponding line not currently being serviced
  222. = 1 corresponding int. line currently being serviced
  223.  
  224. 0021 -W PIC ICW2,ICW3,ICW4 immed after ICW1 to 0020 (see #P011,#P012,#P013)
  225. 0021 RW PIC master interrupt mask register OCW1 (see #P014)
  226.  
  227. Bitfields for PIC initialization command word ICW1:
  228. Bit(s) Description (Table P010)
  229. 7-5 0 (only used in 8080/8085 mode)
  230. 4 ICW1 is being issued
  231. 3 (LTIM)
  232. =0 edge triggered mode
  233. =1 level triggered mode
  234. 2 interrupt vector size
  235. =0 successive interrupt vectors use 8 bytes (8080/8085)
  236. =1 successive interrupt vectors use 4 bytes (80x86)
  237. 1 (SNGL)
  238. =0 cascade mode
  239. =1 single mode, no ICW3 needed
  240. 0 ICW4 needed
  241. SeeAlso: #P011,#P012,#P013
  242.  
  243. Bitfields for PIC initialization command word ICW2:
  244. Bit(s) Description (Table P011)
  245. 7-3 address lines A0-A3 of base vector address for PIC
  246. 2-0 reserved
  247. SeeAlso: #P010,#P012,#P013
  248.  
  249. Bitfields for PIC initialization command word ICW3:
  250. Bit(s) Description (Table P012)
  251. 7-0 =0 slave controller not attached to corresponding interrupt pin
  252. =1 slave controller attached to corresponding interrupt pin
  253. SeeAlso: #P010,#P011,#P013
  254.  
  255. Bitfields for PIC initialization command word ICW4:
  256. Bit(s) Description (Table P013)
  257. 7-5 reserved (0)
  258. 4 running in special fully-nested mode
  259. 3-2 mode
  260. 0x nonbuffered mode
  261. 10 buffered mode/slave
  262. 11 buffered mode/master
  263. 1 Auto EOI
  264. 0 =0 8085 mode
  265. =1 8086/8088 mode
  266. SeeAlso: #P010,#P011,#P012
  267.  
  268. Bitfields for PIC output control word OCW1:
  269. Bit(s) Description (Table P014)
  270. 7 disable IRQ7 (parallel printer interrupt)
  271. 6 disable IRQ6 (diskette interrupt)
  272. 5 disable IRQ5 (fixed disk interrupt)
  273. 4 disable IRQ4 (serial port 1 interrupt)
  274. 3 disable IRQ3 (serial port 2 interrupt)
  275. 2 disable IRQ2 (video interrupt)
  276. 1 disable IRQ1 (keyboard, mouse, RTC interrupt)
  277. 0 disable IRQ0 (timer interrupt)
  278. SeeAlso: #P015,#P016,#P124
  279.  
  280. Bitfields for PIC output control word OCW2:
  281. Bit(s) Description (Table P015)
  282. 7-5 operation
  283. 000 rotate in auto EOI mode (clear)
  284. 001 (WORD_A) nonspecific EOI
  285. 010 (WORD_H) no operation
  286. 011 (WORD_B) specific EOI
  287. 100 (WORD_F) rotate in auto EOI mode (set)
  288. 101 (WORD_C) rotate on nonspecific EOI command
  289. 110 (WORD_E) set priority command
  290. 111 (WORD_D) rotate on specific EOI command
  291. 4-3 reserved (00 - signals OCW2)
  292. 2-0 interrupt request to which the command applies
  293. (only used by WORD_B, WORD_D, and WORD_E)
  294. SeeAlso: #P014,#P016
  295.  
  296. Bitfields for PIC output control word OCW3:
  297. Bit(s) Description (Table P016)
  298. 7 reserved (0)
  299. 6-5 special mask
  300. 0x no operation
  301. 10 reset special mask
  302. 11 set special mask mode
  303. 4-3 reserved (01 - signals OCW3)
  304. 2 poll command
  305. 1-0 function
  306. 0x no operation
  307. 10 read interrupt request register on next read from PORT 0020h
  308. 11 read interrupt in-service register on next read from PORT 0020h
  309. Note: the special mask mode permits all other interrupts (even those with
  310. lower priority) to be processed while an interrupt is already in
  311. service, but will not re-issue an interrupt for a particular IRQ
  312. while it remains in service
  313. SeeAlso: #P014,#P015
  314. ----------P00220023--------------------------
  315. PORT 0022-0023 - CHIP SET DATA
  316. Note: These two ports are used by numerous chipsets. Various chipsets are
  317. detailed below.
  318.  
  319. 0022 -W index for accesses to data port
  320. 0023 RW chip set data
  321. ----------P00220023--------------------------
  322. PORT 0022-0023 - Cyrix Cx486SLC/DLC PROCESSOR - CACHE CONFIGURATION REGISTERS
  323. SeeAlso: PORT 0022h"5x86",PORT 0022h"6x86"
  324.  
  325. 0022 -W index for accesses to next port (see #P017)
  326. 0023 RW cache configuration register array (indexed by PORT 0022h)
  327. Note: the index must be written to PORT 0022h before every access
  328. to PORT 0023h; out-of-sequence accesses or index values
  329. not supported by the processor generate external I/O cycles
  330.  
  331. (Table P017)
  332. Values for Cyrix Cx486SLC/DLC Cache Configuration register number:
  333. C0h CR0 (see #P019)
  334. C1h CR1 (see #P020)
  335. C4h non-cacheable region 1, start address bits 31-24
  336. C5h non-cacheable region 1, start address bits 23-16
  337. C6h non-cacheable region 1, start addr 15-12, size (low nibble) (see #P018)
  338. C7h non-cacheable region 2, start address bits 31-24
  339. C8h non-cacheable region 2, start address bits 23-16
  340. C9h non-cacheable region 2, start addr 15-12, size (low nibble) (see #P018)
  341. CAh non-cacheable region 3, start address bits 31-24
  342. CBh non-cacheable region 3, start address bits 23-16
  343. CCh non-cacheable region 3, start addr 15-12, size (low nibble) (see #P018)
  344. CDh non-cacheable region 4, start address bits 31-24
  345. CEh non-cacheable region 4, start address bits 23-16
  346. CFh non-cacheable region 4, start addr 15-12, size (low nibble) (see #P018)
  347. SeeAlso: #P023,#P021
  348.  
  349. (Table P018)
  350. Values for Cyrix Cx486SLC/DLC non-cacheable region sizes:
  351. 00h disabled
  352. 01h 4K
  353. 02h 8K
  354. 03h 16K
  355. 04h 32K
  356. 05h 64K
  357. 06h 128K
  358. 07h 256K
  359. 08h 512K
  360. 09h 1M
  361. 0Ah 2M
  362. 0Bh 4M
  363. 0Ch 8M
  364. 0Dh 16M
  365. 0Eh 32M
  366. 0Fh 4G
  367. SeeAlso: #P017
  368.  
  369. Bitfields for Cyrix Cx486SLC/DLC Configuration Register 0:
  370. Bit(s) Description (Table P019)
  371. 0 "NC0" first 64K of each 1M noncacheable in real/V86
  372. 1 "NC1" 640K-1M noncacheable
  373. 2 "A20M" enables A20M# input pin
  374. 3 "KEN" enables KEN# input pin
  375. 4 "FLUSH" enables FLUSH input pin
  376. 5 "BARB" enables internal cache flushing on bus holds
  377. 6 "C0" cache direct-mapped instead of 2-way associative
  378. 7 "SUSPEND" enables SUSP# input and SUSPA# output pins
  379. SeeAlso: #P017,#P020,#P032
  380.  
  381. Bitfields for Cyrix Cx486SLC/DLC Configuration Register 1:
  382. Bit(s) Description (Table P020)
  383. 0 "RPL" enables output pins RPLSET and RPLVAL#
  384. SeeAlso: #P017,#P019,#P024
  385. ----------P00220023--------------------------
  386. PORT 0022-0023 - Cyrix 486S2/D2/DX/DX2/DX4 PROCESSOR - CONFIGURATION REGISTERS
  387. SeeAlso: PORT 0022h"Cx486SLC",PORT 0022h"5x86",PORT 0022h"6x86"
  388.  
  389. 0022 -W index for accesses to next port (see #P021)
  390. 0023 RW cache configuration register array (indexed by PORT 0022h)
  391. Note: the index must be written to PORT 0022h before every access
  392. to PORT 0023h; out-of-sequence accesses or index values
  393. not supported by the processor generate external I/O cycles
  394.  
  395. (Table P021)
  396. Values for Cyrix 486S2/D2/DX/DX2/DX4 configuration register number:
  397. C2h CR2 (see #P025)
  398. C3h CR3 (see #P026)
  399. CDh SMM region, start address bits 31-24
  400. CEh SMM region, start address bits 23-16
  401. CFh SMM region, start addr 15-12, size (low nibble) (see #P018)
  402. FEh R Device Identification #0 (see #P022)
  403. CPU device ID
  404. FFh R Device Identification #1
  405. bits 3-0: revision
  406. bits 7-4: stepping
  407. SeeAlso: #P017,#P023,#P031
  408.  
  409. (Table P022)
  410. Values for Cyrix device identification:
  411. (#0 /#1)
  412. 00h Cx486SLC
  413. 01h Cx486DlC
  414. 02h Cx486SLC2
  415. 03h Cx486DLC2
  416. 04h Cx486SRx
  417. 05h Cx486DRx
  418. 06h Cx486SRx2
  419. 07h Cx486DRx2
  420. 10h Cx486S (B-step)
  421. 11h Cx486S2 (B-step)
  422. 12h Cx486Se (B-step)
  423. 13h Cx486S2e (B-step)
  424. 1Ah/05h Cx486DX-40
  425. 1Bh/08h Cx486DX2-50
  426. 1Bh/0Bh Cx486DX2-66
  427. 1Bh/31h Cx486DX2-v80
  428. 1Fh/36h Cx486DX4-v100
  429. 28h 5x86 1xs
  430. 29h 5x86 2xs
  431. 2Ah 5x86 1xp
  432. 2Bh 5x86 2xp
  433. 2Ch 5x86 4xs
  434. 2Dh 5x86 3xs
  435. 2Eh 5x86 4xp
  436. 2Fh 5x86 3xp
  437. 30h 6x86 1xs
  438. 31h 6x86 2xs
  439. 32h 6x86 1xp
  440. 33h 6x86 2xp
  441. 34h 6x86 4xs
  442. 35h 6x86 3xs
  443. 36h 6x86 4xp
  444. 37h 6x86 3xp
  445. Note: #0 is the value in configuration register FEh, while #1 is the value
  446. in configuration register FFh
  447. SeeAlso: #P021
  448. ----------P00220023--------------------------
  449. PORT 0022-0023 - Cyrix 5x86 PROCESSOR - CONFIGURATION CONTROL REGISTERS
  450. SeeAlso: PORT 0022h"Cx486SLC",PORT 0022h"486S2",PORT 0022h"6x86"
  451.  
  452. 0022 -W index for accesses to next port (see #P023)
  453. 0023 RW configuration control register array (indexed by PORT 0022h)
  454. Note: the index must be written to PORT 0022h before every access
  455. to PORT 0023h; out-of-sequence accesses or index values
  456. not supported by the processor generate external I/O cycles
  457.  
  458. (Table P023)
  459. Values for Cyrix 5x86 configuration registers:
  460. 20h Performance Control (see #P028)
  461. C1h Configuration Control #1 (CCR1) (see #P024)
  462. C2h Configuration Control #2 (CCR2) (see #P025)
  463. C3h Configuration Control #3 (CCR3) (see #P026)
  464. CDh System Memory Management address region #0 (smar0) (see #P029)
  465. CEh System Memory Management address region #1 (smar1)
  466. CFh System Memory Management address region #2 (smar2)
  467. E8h Configuration Control Register 4
  468. F0h Power Management (see #P030)
  469. FEh R Device Identification #0 (see #P022)
  470. CPU device ID
  471. FFh R Device Identification #1
  472. bits 3-0: revision
  473. bits 7-4: stepping
  474. SeeAlso: #P017,#P021,#P031
  475.  
  476. Bitfields for Cyrix 5x86,6x86 Configuration Control Register 1 (CCR1):
  477. Bit(s) Description (Table P024)
  478. 0 reserved
  479. 1 enable SMM pins
  480. 2 system management memory access
  481. 3 main memory access
  482. 4 (6x86) no LOCK during bus cycles
  483. 6-5 reserved
  484. 7 (6x86) use address region 3 as SMM space
  485. Note: bits 1,2,7 may only be written when CCR3 bit 0 is enabled
  486. SeeAlso: #P020,#P025,#P026,#P027
  487.  
  488. Bitfields for Cyrix 5x86,6x86 Configuration Control Register 2 (CCR2):
  489. Bit(s) Description (Table P025)
  490. 0 reserved
  491. 1 enable write-back cache interface pins
  492. 2 lock NW bit
  493. 3 suspend on HLT instruction
  494. 4 write-through region 1
  495. 5 reserved
  496. 6 enable burst write cycles
  497. 7 enable suspend pins
  498. SeeAlso: #P024,#P026,#P027
  499.  
  500. Bitfields for Cyrix 5x86,6x86 Configuration Control Register 3 (CCR3):
  501. Bit(s) Description (Table P026)
  502. 0 SMM register lock (can only be cleared in SMM mode or by CPU reset)
  503. 1 NMI enable
  504. 2 linear address burst cycles (5x86,6x86 only)
  505. =0 Pentium-compatible
  506. =1 linear sequencing
  507. 3 SMM mode (5x86 only)
  508. =0 486SL
  509. =1 Cyrix
  510. 7-4 map enable (5x86,6x86 only)
  511. 0000 only allow access to configuration registers C0h-CFh,FEh,FFh
  512. 0001 enable access to all configuration registers
  513. SeeAlso: #P024,#P025,#P027,#P028,#P030
  514.  
  515. Bitfields for Cyrix 5x86,6x86 Configuration Control Register 4 (CCR4):
  516. Bit(s) Description (Table P027)
  517. 2-0 I/O recovery time (000 = none, else 2^N clocks)
  518. 3 enable memory-read bypassing (5x86 only)
  519. 4 enable directory table entry cache
  520. 6-5 reserved
  521. 7 enable CPUID instruction (stepping 1+ and Cx6x86)
  522. Note: this register is only accessible when bits 7-4 of CCR3 are 0001
  523. SeeAlso: #P024,#P025,#P026
  524.  
  525. Bitfields for Cyrix 5x86 Performance Control register:
  526. Bit(s) Description (Table P028)
  527. 0 return stack enabled (speculatively execute code after current CALL)
  528. 1 branch-target buffer enabled
  529. 2 loop enable
  530. 6-3 reserved (0)
  531. 7 load-store serialization enabled
  532. (memory reads and writes may be reorganized into optimum order)
  533. Note: this register is only accessible when bits 7-4 of CCR3 are 0001
  534. SeeAlso: #P030,#P024
  535.  
  536. Bitfields for Cyrix 5x86 SMM Address Region register:
  537. Bit(s) Description (Table P029)
  538. 3-0 block size
  539. 23-4 starting address
  540.  
  541. Bitfields for Cyrix 5x86 Power Management register:
  542. Bit(s) Description (Table P030)
  543. 1-0 core clock to bus clock ratio
  544. 00 1:1
  545. 01 2:1
  546. 10 reserved
  547. 11 3:1
  548. 2 CPU running at half bus speed, ignore bits 1-0
  549. Note: this register is only accessible when bits 7-4 of CCR3 are 0001
  550. ----------P00220023--------------------------
  551. PORT 0022-0023 - Cyrix 6x86 PROCESSOR - CONFIGURATION CONTROL REGISTERS
  552. SeeAlso: PORT 0022h"Cx486",PORT 0022h"5x86"
  553.  
  554. 0022 -W index for accesses to next port (see #P023)
  555. 0023 RW configuration control register array (indexed by PORT 0022h)
  556. Note: the index must be written to PORT 0022h before every access
  557. to PORT 0023h; out-of-sequence accesses or index values
  558. not supported by the processor generate external I/O cycles
  559.  
  560. (Table P031)
  561. Values for Cyrix 6x86 configuration registers:
  562. C0h Configuration Control Register 0 (CCR0) (see #P032)
  563. C1h Configuration Control #1 (CCR1) (see #P024)
  564. C2h Configuration Control #2 (CCR2) (see #P025)
  565. C3h Configuration Control #3 (CCR3) (see #P026)
  566. C4h Address region 0 (bits 31-24)
  567. C5h Address region 0 (bits 23-16)
  568. C6h Address region 0 (bits 15-12 and size)
  569. C7h Address region 1 (bits 31-24)
  570. C8h Address region 1 (bits 23-16)
  571. C9h Address region 1 (bits 15-12 and size)
  572. CAh Address region 2 (bits 31-24)
  573. CBh Address region 2 (bits 23-16)
  574. CCh Address region 2 (bits 15-12 and size)
  575. CDh Address region 3 (bits 31-24)
  576. CEh Address region 3 (bits 23-16)
  577. CFh Address region 3 (bits 15-12 and size)
  578. D0h Address region 4 (bits 31-24)
  579. D1h Address region 4 (bits 23-16)
  580. D2h Address region 4 (bits 15-12 and size)
  581. D3h Address region 5 (bits 31-24)
  582. D4h Address region 5 (bits 23-16)
  583. D5h Address region 5 (bits 15-12 and size)
  584. D6h Address region 6 (bits 31-24)
  585. D7h Address region 6 (bits 23-16)
  586. D8h Address region 6 (bits 15-12 and size)
  587. D9h Address region 7 (bits 31-24)
  588. DAh Address region 7 (bits 23-16)
  589. DBh Address region 7 (bits 15-12 and size)
  590. DCh Region Control 0
  591. DDh Region Control 1
  592. DEh Region Control 2
  593. DFh Region Control 3
  594. E0h Region Control 4
  595. E1h Region Control 5
  596. E2h Region Control 6
  597. E3h Region Control 7
  598. E8h Configuration Control Register 4 (see #P027)
  599. E9h Configuration Control Register 5 (see #P033)
  600. FEh R Device Identification #0 (see #P022)
  601. CPU device ID
  602. FFh R Device Identification #1
  603. bits 3-0: revision
  604. bits 7-4: stepping
  605. SeeAlso: #P017,#P023
  606.  
  607. Bitfields for Cyrix 6x86 Configuration Control Register 0:
  608. Bit(s) Description (Table P032)
  609. 7-2 ???
  610. 1 address region 640K-1M is noncacheable
  611. 0 ???
  612. SeeAlso: #P019
  613.  
  614. Bitfields for Cyrix 6x86 Configuration Control Register 5:
  615. Bit(s) Description (Table P033)
  616. 7-6 reserved
  617. 5 enable all address-region registers (control registers C4h-DBh)
  618. 4 assert LBA# pin on all accesses to 640K-1M
  619. 3-1 reserved
  620. 0 allocate new cache lines only on read misses
  621. SeeAlso: #P032,#P027,#P031
  622. --------X-P00220023--------------------------
  623. PORT 0022-0023 - Intel 82358DT 'Mongoose' EISA CHIPSET - 82359 DRAM CONTROLLER
  624. Notes: this chip uses a chip ID of 01
  625. the LIM register herein use a chip ID of 1A
  626. Index: Intel 82351
  627.  
  628. 0022 -W index for accesses to data port (see #P035,#P036,#P037)
  629. 0023 RW chip set data
  630.  
  631. (Table P034)
  632. Values for Intel 82351/82359 chip ID:
  633. 01h 82359 DRAM controller, general registers
  634. 02h 82351 EISA local I/O support
  635. A1h 82359 DRAM controller, EMS registers
  636. FFh no chip accessible (default)
  637. SeeAlso: #P035,#P036,#P037
  638.  
  639. (Table P035)
  640. Values for 82359 DRAM controller general register index:
  641. 00h DRAM bank 0 type
  642. bit 7 unknown
  643. bit 6-4 000 DRAM in bank 0 (standard)
  644. 001 bank 1
  645. 010 bank 2
  646. 011 bank 3
  647. 100 banks 0,1
  648. 101 banks 2,3
  649. 110 banks 0,1,2,3
  650. 111 empty (standard for 1,2,3)
  651. bit 3-2 unknown
  652. bit 1-0 00 64K chips used
  653. 01 256K
  654. 10 1M
  655. 11 4M
  656. 01h DRAM bank 1 type
  657. 02h DRAM bank 2 type
  658. 03h DRAM bank 3 type
  659. 04h DRAM speed detection/selection
  660. 05h DRAM interleave control
  661. 06h RAS line mode
  662. 07h cache-enable selection
  663. 08h mode register A (DRAM, cache)
  664. 09h mode register B (cache, burst modes, BIOS size)
  665. 0Ah mode register C (concurrency control, burst/cycle speed)
  666. 10h host timing
  667. 11h host-system delay timing
  668. 12h system timing
  669. 13h DRAM row precharge time
  670. 14h DRAM row timing
  671. 15h DRAM column timing
  672. 16h CAS pulse width
  673. 17h CAS-to-MDS delay
  674. 21h chip ID register -- selects which chip responds on these ports
  675. (see #P034)
  676. 28h-2Ch parity-error trap address
  677. 30h page hit cycle length (read)
  678. 31h page miss cycle length (read)
  679. 32h row miss cycle length (read)
  680. 33h page hit cycle length (write)
  681. 34h page miss cycle length (write)
  682. 35h row miss cycle length (write)
  683. 40h memory enable 00000h-7FFFFh
  684. 41h memory enable 80000h-9FFFFh
  685. 42h memory enable A0000h-AFFFFh
  686. 43h memory enable B0000h-BFFFFh
  687. 44h memory enable C0000h-CFFFFh
  688. 45h memory enable D0000h-DFFFFh
  689. 46h memory enable E0000h-EFFFFh
  690. 47h memory enable F0000h-FFFFFh
  691. 4Eh remap 80000h-FFFFFh to extended memory
  692. 50h-53h programmable attribute map 1
  693. 54h-57h programmable attribute map 2
  694. 58h-5Bh programmable attribute map 3
  695. 5Ch-5Fh programmable attribute map 4
  696. 83h-84h split address register (address bits A31-A20)
  697. 85h cache control
  698. 8Bh system throttle
  699. 8Ch host throttle
  700. 8Dh host memory throttle watchdog
  701. 8Eh host system throttle
  702. 8Fh host system throttle watchdog
  703. 90h RAM enable
  704. 91h RAM disable
  705. 92h-93h elapsed-time registers
  706. 94h-95h host memory ownership request
  707. 96h-97h system memory ownership request
  708. 98h-99h host memory ownership
  709. 9Ah-9Bh system bus ownership
  710. 9Ch-9Dh host system bus request
  711. 9Eh-9Fh memory ownership transfer
  712. SeeAlso: #P036,#P037
  713.  
  714. (Table P036)
  715. Values for Intel 82359 DRAM controller EMS register index:
  716. 00h EMS cotnrol
  717. 21h chip ID register -- selects which chip responds on these ports
  718. (see #P034)
  719. 80h-8Fh EMS page registers, pages 0-7
  720. SeeAlso: #P035,#P037
  721.  
  722. (Table P037)
  723. Values for Intel 82351 EISA Local I/O register index:
  724. 21h chip ID register -- selects which chip responds on these ports
  725. (see #P034)
  726. C0h peripheral enable register A
  727. C1h peripheral enable register B
  728. C2h parallel configuration register
  729. C3h serial configuration register A
  730. C4h floppy disk controller configuration register
  731. C5h serial configuration register B
  732. C6h COM3 port address (low)
  733. C7h COM3 port address (high)
  734. C8h COM4 port address (low)
  735. C9h COM4 port address (high)
  736. D0h-D3h general chip select lines 0-3 (mask registers)
  737. D4h-D7h general chip select line addresses 0-3 (low bytes)
  738. D8h-DBh general chip select line addresses 0-3 (high bytes)
  739. DCh extended CMOS RAM page port address (low)
  740. DDh extended CMOS RAM page port address (high)
  741. DFh extended CMOS RAM access select address (high byte)
  742. E8h-EBh EISA ID configuration registers (reflect at PORT 0C80h)
  743. SeeAlso: #P035,#P036
  744. --------X-P00220023--------------------------
  745. PORT 0022-0023 - Intel 82374EB/SB EISA CHIPSET
  746. Index: Intel 82374EB;Intel 82374SB
  747.  
  748. 0022 -W index for accesses to data port (see #P038)
  749. 0023 RW chip set data
  750.  
  751. (Table P038)
  752. Values for Intel 82374 register index:
  753. 02h ESC identification register
  754. (82374 will only respond to ports 0022h and 0023h after an 0Fh
  755. is written to this register)
  756. !!!29047604.pdf pg. 36
  757. 08h revision ID register
  758. 40h mode select
  759. 42h BIOS Chip Select A
  760. 43h BIOS Chip Select B
  761. 4Dh EISA clock divisor
  762. 4Eh peripheral Chip Select A
  763. 4Fh peripheral Chip Select B
  764. 50h-53h EISA ID registers
  765. 57h scatter/gather relocate base address (see also #0871)
  766. (specifies bits 15-0 if S/G port addresses [low byte always 10h-3Fh])
  767. 59h APIC base address relocation
  768. 60h-63h PCI IRQn# route control (see also #0872)
  769. 64h general-purpose chip select low address 0
  770. 65h general-purpose chip select high address 0
  771. 66h general-purpose chip select mask register 0
  772. 68h general-purpose chip select low address 1
  773. 69h general-purpose chip select high address 1
  774. 6Ah general-purpose chip select mask register 1
  775. 6Ch general-purpose chip select low address 2
  776. 6Dh general-purpose chip select high address 2
  777. 6Eh general-purpose chip select mask register 2
  778. 6Fh general-purpose peripheral X-Bus control
  779. ---SB only---
  780. 70h PCI/APIC control
  781. 88h test control
  782. A2h-A3h SMI enable
  783. A4h-A7h System Event Enable
  784. A8h Fast-Off timer
  785. AAh-ABh SMI Request
  786. ACh Clock Scale STPCLK# low timer
  787. AEh Clock Scale STPCLK# high timer
  788. ----------P00220023--------------------------
  789. PORT 0022-0023 - CHIPSET FROM ETEC CHEETAH ET6000 (SINGLE CHIP)
  790.  
  791. 0022 RW chip set data
  792. 0023 ?W index for accesses to data port (see #P039)
  793.  
  794. (Table P039)
  795. Values for Etec Cheetah ET6000 chip set register index:
  796. 10h system configuration register (see #P040)
  797. 11h cache configuration & non-cacheable block size register (see #P041)
  798. 12h non-cacheable block address register
  799. bit 7-1 non-cacheable address, A25-A19
  800. bit 0 reserved
  801. 13h DRAM bank & type configuration register (see #P042)
  802. 14h DRAM configuration register (see #P043)
  803. 15h shadow RAM configuration register (see #P044)
  804.  
  805. Bitfields for Etec Cheetah ET6000 system configuration register:
  806. Bit(s) Description (Table P040)
  807. 7-6 00 turbo/non-turbo
  808. 01 local device supported
  809. 10 suspend mode
  810. 11 illegal
  811. 5 reserved
  812. 4 refresh selection
  813. 0 = AT type refresh
  814. 1 = concurrent refresh
  815. 3 slow refresh 95mSec enabled
  816. 2 fast reset delay
  817. 0 = do not use delay
  818. 1 = wait for 2mSec delay
  819. 1 wait for HALT after KBDRST
  820. 0 RAM at A0000-BFFFF
  821. 0 = AT bus cycle
  822. 1 = local bus cycle
  823. SeeAlso: #P039
  824.  
  825. Bitfields for Etec Cheetah ET6000 cache configuration register:
  826. Bit(s) Description (Table P041)
  827. 7-5 000 disabled
  828. 001 512K
  829. 010 1M
  830. 011 2M
  831. 100 4M
  832. 101 8M
  833. 110 16M
  834. 111 32M
  835. 4 DRAM banks
  836. 0 = 2-bank DRAM
  837. 1 = 4-bank DRAM
  838. 3-0 reserved
  839. SeeAlso: #P039
  840.  
  841. Bitfields for Etec Cheetah ET6000 DRAM bank & type configuration register:
  842. Bit(s) Description (Table P042)
  843. 7-6 bank 3 DRAM type
  844. 00 none
  845. 01 256K
  846. 10 1M
  847. 11 4M
  848. 5-4 bank 2 DRAM type
  849. 3-2 bank 1 DRAM type
  850. 1-0 bank 0 DRAM type
  851. SeeAlso: #P039
  852.  
  853. Bitfields for Etec Cheetah ET6000 DRAM configuration register:
  854. Bit(s) Description (Table P043)
  855. 7 on-board memory range 15M to 16M disabled
  856. 6 on-board memory range 512K-640K disabled
  857. 5 ROM chip select at C0000-DFFFF enabled
  858. 4 RAS to CAS time
  859. 0 = 1 SYSCLCK, not for R0WS
  860. 1 = 2 SYSCLCK
  861. 3 RAS precharge time
  862. 0 = 1.5 SYSCLCK
  863. 1 = 2.5 SYSCLCK
  864. 2-1 read cycle wait state
  865. 00 = 0 wait state
  866. 01 = 1 ws
  867. 10 = 2 ws
  868. 11 = 3 ws
  869. 0 write cycle wait state
  870. 0 = 0 ws
  871. 1 = 1 ws
  872. SeeAlso: #P039
  873.  
  874. Bitfields for Etec Cheetah ET6000 shadow RAM configuration register:
  875. Bit(s) Description (Table P044)
  876. 7 shadow at C0000-FFFFF
  877. 0 = non-cacheable
  878. 1 = cacheable and cache-write-proteced
  879. 6 access ROM/RAM at F0000-FFFFF
  880. 0 = read from ROM, write to RAM
  881. 1 = read from shadow, write is protected
  882. 5 access ROM/RAM at E0000-EFFFF
  883. 0 = access on-board ROM, AT bus cycle
  884. 1 = access shadow E0000-EFFFF enabled
  885. 4 RAM at E0000-EFFFF is read-only
  886. 3 access ROM/RAM at D0000-DFFFF
  887. 0 = access on-board ROM, AT bus cycle
  888. 1 = access shadow D0000-DFFFF enabled
  889. 2 RAM at D0000-DFFFF is read-only
  890. 1 access ROM/RAM at C0000-CFFFF
  891. 0 = access on-board ROM, AT bus cycle
  892. 1 = access shadow C0000-CFFFF enabled
  893. 0 RAM at C0000-CFFFF is read-only
  894. SeeAlso: #P039
  895. ----------P00220023--------------------------
  896. PORT 0022-0023 - Hewlett-Packard Hornet chipset (HP 100LX/200LX)
  897.  
  898. 0022 RW index for accesses to data port (see Table P189)
  899. 0023 RW chip set data
  900.  
  901. (Table P045)
  902. Values for HP Hornet chipset register index:
  903. 1Eh buzzer volume/clock oscillator speed
  904. bit 7-6: buzzer volume
  905. bit 5-4: system oscillator speed
  906. 00: 10.738636MHz
  907. 01: 15.836773MHz(HP 100/200LX has oscillator with this speed)
  908. 10: 21.477272MHz
  909. 11: 31.673550MHz
  910. 21h display timing???
  911. 23h LCD contrast (see INT15h AH=62h)
  912. valid values: 00h-1fh (1fh is the darkest)
  913. 51h power adapter status
  914. bit 7-1: ???
  915. bit 0: power adapter status(0=inactive/1=active)
  916. 52h nicad charge status
  917. bit 7-3: ???
  918. bit 2: battery charging status(0=???/1=slow charge)
  919. bit 1-0: ???
  920. 53h nicad charge status
  921. bit 7-1: ???
  922. bit 0: battery charging status(0=???/1=fast charge)
  923. 80h memory wait for internal ROM
  924. valid values: 00h-07h
  925. 81h memory wait for internal RAM
  926. valid values: 00h-03h
  927. 82h memory wait for external RAM
  928. valid values: 00h-0fh
  929. 87h battery status???
  930. ----------P00220023--------------------------
  931. PORT 0022-0023 - OPTi 82C206 chipset - CONFIGURATION REGISTERS
  932. Note: many other OPTi chipsets integrate the functionality of the 82C206, and
  933. thus support the 82C206's configuration register (e.g. the
  934. 82C558 from the Viper chipset)
  935.  
  936. 0022 ?W index for accesses to data port (set to 01h)
  937. 0023 RW chip set data
  938.  
  939. Bitfields for OPTi 82C206 configuration register 01h:
  940. Bit(s) Description (Table P046)
  941. 7-6 82C206 wait states
  942. 00 1 SYSCLK
  943. 01 2 SYSCLKs
  944. 10 3 SYSCLKs
  945. 11 4 SYSCLKs (default)
  946. 5-4 number of wait states for 16-bit DMA cycles
  947. 00 1 wait state (default)
  948. 01 2 wait states
  949. 10 3 wait states
  950. 11 4 wait states
  951. 3-2 number of wait states for 8-bit DMA cycles
  952. 00 1 wait state (default)
  953. 01 2 wait states
  954. 10 3 wait states
  955. 11 4 wait states
  956. 1 enable early DMAMEMR#
  957. 0 DMA speed
  958. 0 SYSCLK/2
  959. 1 SYSCLK
  960. ----------P00220024--------------------------
  961. PORT 0022-0024 - CHIPSET FROM PICO POWER, UMC or PCChips
  962.  
  963. 0022 ?W index for accesses to data port
  964. 0024 RW chip set data
  965. ----------P00220024--------------------------
  966. PORT 0022-0024 - OPTi 82C281/282/283 CHIPSETS - CONFIGURATION REGISTERS
  967. Note: every access to PORT 0024h must be preceded by a write to PORT 0022h,
  968. even if the same register is being accessed a second time
  969. SeeAlso: PORT 0022h"82C206"
  970.  
  971. 0022 ?W index for accesses to data port (see #P047)
  972. 0024 RW chip set data
  973.  
  974. (Table P047)
  975. Values for OPTi 82C281/82C282/82C283 configuration register index:
  976. 10h DRAM configuration register (see #P048)
  977. 11h Shadow RAM control register (see #P049)
  978. 12h Shadow RAM control register 2 (see #P050)
  979. 13h Shadow RAM control register 3 (see #P051)
  980. 14h miscellaneous control register (see #P052)
  981. 15h cache control register (see #P053)
  982. 16h cache control register 2 (see #P054)
  983.  
  984. Bitfields for OPTi 82C281/282/283 DRAM configuration register:
  985. Bit(s) Description (Table P048)
  986. 7-6 82C281/2 revision number (read-only)
  987. 7 82C283 revision (0 = A, 1 = B)
  988. 6 82C283A: reserved
  989. 82C283B: DRAM is pipelined
  990. 5 local DRAM read wait states
  991. 82C281/2: 0=one, 1=two 82C283: 0=none, 1=one
  992. 4 local DRAM write wait states
  993. 82C281/2: 0=one, 1=two 82C283: 0=none, 1=one
  994. 3-0 local DRAM memory configuration
  995. (val) Bank0 Bank1 Bank2 Bank3
  996. 0001 256K 256K 256K 256K
  997. 0010 256K 256K 1M -
  998. 0011 256K 256K 1M 1M
  999. 0100 256K 256K 4M -
  1000. 0101 1M - - -
  1001. 0110 1M 1M - -
  1002. 0111 1M 1M 1M -
  1003. 1000 1M 1M 1M 1M
  1004. 1001 1M 4M - -
  1005. 1010 1M 1M 4M -
  1006. 1011 4M 4M - -
  1007. 1100 4M - - - (82C283B only)
  1008. 1111 256K 256K - -
  1009. SeeAlso: #P047
  1010.  
  1011. Bitfields for OPTi 82C281 shadow RAM control register:
  1012. Bit(s) Description (Table P049)
  1013. 7 BIOS ROM F000-FFFF shadowing
  1014. 0 read-only from shadow RAM
  1015. 1 read from ROM, write to shadow RAM
  1016. 6 adapter ROM at E000-EFFF
  1017. 0 disable shadow RAM
  1018. 1 shadow RAM selectively enabled by configuration register 12h
  1019. (see #P050)
  1020. 5 adapter ROM at D000-DFFF
  1021. 0 disable shadow RAM
  1022. 1 shadow RAM selectively enabled by configuration register 12h
  1023. 4 adapter ROM at C000-CFFF
  1024. 0 disable shadow RAM
  1025. 1 shadow RAM selectively enabled by configuration register 13h
  1026. (see #P051)
  1027. 3 shadow RAM Copy Enable control (C000-EFFF)
  1028. 0 write to expansion bus
  1029. 1 write to local DRAM
  1030. 2 shadow RAM E000-EFFF writeability
  1031. 0 read/write
  1032. 1 read-only
  1033. 1 shadow RAM D000-DFFF writeability
  1034. 0 read/write
  1035. 1 read-only
  1036. 0 shadow RAM C000-CFFF writeability
  1037. 0 read/write
  1038. 1 read-only
  1039. SeeAlso: #P047,#P050
  1040.  
  1041. Bitfields for OPTi 82C281 shadow RAM control register 2:
  1042. Bit(s) Description (Table P050)
  1043. 7 enable EC00-EFFF
  1044. 6 enable E800-EBFF
  1045. 5 enable E400-E7FF
  1046. 4 enable E000-E3FF
  1047. 3 enable DC00-DFFF
  1048. 2 enable D800-DBFF
  1049. 1 enable D400-D7FF
  1050. 0 enable D000-D3FF
  1051. Note: bits 7-4 are only in effect when register 11h bit 6 is set; bits 3-0
  1052. are only in effect when register 11h bit 5 is set
  1053. SeeAlso: #P047,#P049,#P051
  1054.  
  1055. Bitfields for OPTi 82C281 shadow RAM control register 3:
  1056. Bit(s) Description (Table P051)
  1057. 7 enable CC00-CFFF
  1058. 6 enable C800-CBFF
  1059. 5 enable C400-C7FF
  1060. 4 enable C000-C3FF
  1061. 3-0 unused shadow RAM remap address; supplies bits 23-20 of
  1062. address at which to map A000-BFFFF and D000-EFFF is not used
  1063. for shadowing (except if this field is set to 0, the remapping
  1064. is disabled)
  1065. SeeAlso: #P047,#P049,#P050
  1066.  
  1067. Bitfields for OPTi 82C281 miscellaneous control register:
  1068. Bit(s) Description (Table P052)
  1069. 7 allow F0000-F0FFF to be written even while F0000-FFFFF is
  1070. write-protected ("Zenith mode")
  1071. 6 keyboard reset control
  1072. =1 HLT must be executed before 82C281 generates CPU reset from
  1073. keyboard controller Reset command
  1074. 5 master byte swap enable
  1075. 4 82C281/2: fast NMI request
  1076. 82C283A: reserved (0)
  1077. 82C283B: ATCLK setting (=0 from register 14h bit 0; =1 CLK/8)
  1078. 3 82C281/2/3A: reserved
  1079. 82C283B: on-board DRAM parity error enable
  1080. 2 enable slow refresh mode
  1081. (every 95.5 us (281/282) or 63.6 us (283) instead of 15.9 us)
  1082. 1 enable turbo switch function
  1083. 0 clock select
  1084. =0 ATCLK2 = CPUCLK2 / 6
  1085. =1 ATCLK2 = CPUCLK2 / 4
  1086. SeeAlso: #P047
  1087.  
  1088. Bitfields for OPTi 82C281/82C282 cache control register:
  1089. Bit(s) Description (Table P053)
  1090. 7 enable cache
  1091. 6 reserved (0)
  1092. 5 enable posted write (82C281 only)
  1093. 4 ALL accesses are non-cacheable
  1094. 3 reserved (0)
  1095. 2-0 non-cacheable region size (see also #P054)
  1096. 000 64K
  1097. 001 128K
  1098. ...
  1099. 101 4M
  1100. 110 8M
  1101. 111 disabled
  1102. SeeAlso: #P047,#P054
  1103.  
  1104. Bitfields for OPTi 82C281/82C282 cache control register 2:
  1105. Bit(s) Description (Table P054)
  1106. 7-0 starting address bits 23-16 of non-cacheable region
  1107. Note: the specified starting address must be a multiple of the region size
  1108. SeeAlso: #P047,#P053
  1109. ----------P00220024--------------------------
  1110. PORT 0022-0024 - OPTi 82C291/82C295 CHIPSETS - CONFIGURATION REGISTERS
  1111. Note: every access to PORT 0024h must be preceded by a write to PORT 0022h,
  1112. even if the same register is being accessed a second time
  1113. SeeAlso: PORT 0022h"82C206"
  1114.  
  1115. 0022 ?W index for accesses to data port (see #P055)
  1116. 0024 RW chip set data
  1117.  
  1118. (Table P055)
  1119. Values for OPTi 82C291/82C295 configuration register index:
  1120. 20h Revision/AT Bus configuration register (see #P056)
  1121. 21h System Control register (see #P)
  1122. 22h DRAM configuration register (see #P)
  1123. 23h ROM Chip Select Control register (see #P)
  1124. 24h Shadow RAM control register E (see #P)
  1125. 25h Shadow RAM control register D (see #P)
  1126. 26h Shadow RAM control register C (see #P)
  1127. 27h Shadow RAM Write Protect/Remap Area (see #P)
  1128. 28h Cache Control register (see #P)
  1129. 29h Cacheable Upper Bound register (see #P)
  1130. 2Ah Non-Cacheable Segments register 1 (see #P)
  1131. 2Bh Non-Cacheable Segments register 2 (see #P)
  1132. 2Ch Non-Cacheable Segments register 3 (see #P)
  1133.  
  1134. Bitfields for OPTi 82C291/82C295 AT Bus configuration register:
  1135. Bit(s) Description (Table P056)
  1136. 7-6 82C291/295 revision (read-only)
  1137. 5-4 back-to-back I/O recovery time
  1138. 00-11 = 3-6 ATCLKs between I/O accesses
  1139. 3 enable slow refresh mode
  1140. 2 enable hidden refresh
  1141. 1-0 AT clock selection
  1142. 00 ATCLK = CLK2 / 10
  1143. 01 ATCLK = CLK2 / 8
  1144. 10 ATCLK = CLK2 / 6
  1145. 11 ATCLK = CLK2 / 4
  1146. SeeAlso: #P055
  1147.  
  1148. Bitfields for OPTi 82C291/82C295 System Control register:
  1149. Bit(s) Description (Table P057)
  1150. 7 AT bus master byte swap enabled
  1151. 6 !!!db011_10.pdf p.20
  1152. SeeAlso: #P055
  1153. ----------P00220024--------------------------
  1154. PORT 0022-0024 - OPTi 82C381/82C382 CHIPSETS - CONFIGURATION REGISTERS
  1155. Note: every access to PORT 0024h must be preceded by a write to PORT 0022h,
  1156. even if the same register is being accessed a second time
  1157. SeeAlso: PORT 0022h"82C206"
  1158.  
  1159. 0022 ?W index for accesses to data port (see #P058)
  1160. 0024 RW chip set data
  1161.  
  1162. (Table P058)
  1163. Values for OPTi 82C381/82C382 configuration register index:
  1164. 00h clock selects (see #P059)
  1165. 01h reset control (see #P060)
  1166. 10h remapping address (see #P061)
  1167. 11h shadow RAM (see #P062)
  1168. 12h memory enable (see #P063)
  1169. 13h bank configuration (see #P064)
  1170. 14h DRAM configuration (see #P065)
  1171. 15h video adapter shadow (see #P066)
  1172. 16h fast GateA20 (see #P067)
  1173. 17h cache configuration (see #P068)
  1174. 18h non-cacheable block 1 size (see #P069)
  1175. 19h non-cacheable block 1 address (see #P070)
  1176. 1Ah non-cacheable block 2 size (see #P069)
  1177. 1Bh non-cacheable block 2 address (see #P070)
  1178. 1Ch cacheable area (see #P071)
  1179. Note: registers 00h and 01h address the 82C381, the remaining registers
  1180. address the 82C382
  1181.  
  1182. Bitfields for OPTi 82C381/82C382 clock selects:
  1183. Bit(s) Description (Table P059)
  1184. 7-6 cache controller enable
  1185. 00 cache controller disabled (default)
  1186. 01 cache controller disabled; PPCS#, SPCS#, NPCS# signals are
  1187. active if selected
  1188. 10 external cache controller installed
  1189. 11 on-chip cache controller installed
  1190. 5 hot CPU reset (low->high transition generates reset)
  1191. 4 enable ATCLK stretch
  1192. 3 turbo clock
  1193. =0 CLKIN is CPU clock
  1194. =1 HIGH pin selected clock (HIGH=0: CLKIN, HIGH=1: ICLK)
  1195. 2-1 ICLK clock select
  1196. 00 CLKIN/4 (default)
  1197. 01 CLKIN/3
  1198. 10 CLKIN/2
  1199. 11 reserved
  1200. 0 master byte swap enable (default = 0)
  1201. SeeAlso: #P058,#P060
  1202.  
  1203. Bitfields for OPTi 82C381/82C382 reset control:
  1204. Bit(s) Description (Table P060)
  1205. 7-2 reserved
  1206. 1 RESET3 control
  1207. =1 generate RESET3 on RESET2 only after a HLT instruction
  1208. =0 generate RESET3 immediately on RESET2 (default)
  1209. 0 activate cache controller FLUSH# pin (default = 1)
  1210. SeeAlso: #P058,#P059,#P061
  1211.  
  1212. Bitfields for OPTi 82C381/82C382 remapping address:
  1213. Bit(s) Description (Table P061)
  1214. 7-5 reserved
  1215. 4 enable remapping
  1216. 3-0 remap address range
  1217. !!!opti\82c381.pdf p.32
  1218. SeeAlso: #P058
  1219.  
  1220. Bitfields for OPTi 82C381/82C382 shadow RAM control:
  1221. Bit(s) Description (Table P062)
  1222. 7 !!!
  1223. SeeAlso: #P058
  1224.  
  1225. Bitfields for OPTi 82C381/82C382 memory enable:
  1226. Bit(s) Description (Table P063)
  1227. 7 !!!
  1228. SeeAlso: #P058
  1229.  
  1230. Bitfields for OPTi 82C381/82C382 memory bank configuration:
  1231. Bit(s) Description (Table P064)
  1232. 7 !!!
  1233. SeeAlso: #P058
  1234.  
  1235. Bitfields for OPTi 82C381/82C382 DRAM configuration:
  1236. Bit(s) Description (Table P065)
  1237. 7 !!!
  1238. SeeAlso: #P058
  1239.  
  1240. Bitfields for OPTi 82C381/82C382 video adapter shadow:
  1241. Bit(s) Description (Table P066)
  1242. 7 !!!
  1243. SeeAlso: #P058
  1244.  
  1245. Bitfields for OPTi 82C381/82C382 fast GateA20 control:
  1246. Bit(s) Description (Table P067)
  1247. 7 !!!
  1248. SeeAlso: #P058
  1249.  
  1250. Bitfields for OPTi 82C381/82C382 cache configuration:
  1251. Bit(s) Description (Table P068)
  1252. 7 !!!
  1253. SeeAlso: #P058
  1254.  
  1255. Bitfields for OPTi 82C381/82C382 non-cacheable block size:
  1256. Bit(s) Description (Table P069)
  1257. 7-5 block size
  1258. 000 64K
  1259. 001 128K
  1260. 010 256K
  1261. 011 512K
  1262. 100 1M
  1263. 101 4M (block 1 only)
  1264. 101 reserved (block 2 only)
  1265. 110 8M (block 1 only)
  1266. 110 reserved (block 2 only)
  1267. 111 disabled (default)
  1268. 4-0 reserved (0)
  1269. SeeAlso: #P058,#P068,#P070
  1270.  
  1271. Bitfields for OPTi 82C381/82C382 non-cacheable block address:
  1272. Bit(s) Description (Table P070)
  1273. 7-0 bits 23-16 of non-cacheable block's address
  1274. Note: the selected address must be a multiple of the block size
  1275. selected by register 18h/1Ah
  1276. SeeAlso: #P058,#P069,#P071
  1277.  
  1278. Bitfields for OPTi 82C381/82C382 cacheable area:
  1279. Bit(s) Description (Table P071)
  1280. 7-4 cacheable address range
  1281. 0000 16M
  1282. 0001 1M
  1283. 0010 2M
  1284. 0011 3M
  1285. ...
  1286. 1111 15M
  1287. 3 256K remapped area is cacheable
  1288. 2-0 reserved
  1289. SeeAlso: #P058
  1290. ----------P00220024--------------------------
  1291. PORT 0022-0024 - OPTi 82C463MV CHIPSET - CONFIGURATION REGISTERS
  1292. Note: every access to PORT 0024h must be preceded by a write to PORT 0022h,
  1293. even if the same register is being accessed a second time
  1294. SeeAlso: PORT 0022h"82C206"
  1295.  
  1296. 0022 ?W index for accesses to data port (see #P072)
  1297. 0024 RW chip set data
  1298.  
  1299. (Table P072)
  1300. Values for OPTi 82C463MV configuration register index:
  1301. 30h
  1302. 31h
  1303. 32h
  1304. 33h
  1305. 34h
  1306. 35h
  1307. 36h
  1308. 37h
  1309. 38h non-cacheable block 1 size (see #P)
  1310. 39h non-cacheable block 1 address (see #P)
  1311. 3Ah non-cacheable block 2 size (see #P)
  1312. 3Bh non-cacheable block 2 address (see #P)
  1313. 3Ch-3Fh reserved
  1314. 40h SMI control
  1315. 41h doze control
  1316. 42h timer control
  1317. 43h LCD monitor
  1318. 44h LCD timer
  1319. 45h disk timer
  1320. 46h keyboard timer
  1321. 47h general timer
  1322. 48h GNR_ACCESS I/O base address
  1323. 49h GNR_ACCESS control
  1324. 4Ah CSG0# base address
  1325. 4Bh CSG0# control
  1326. 4Ch CSG1# base address
  1327. 4Dh CSG1# control
  1328. 4Eh idle timer control
  1329. 4Fh idle timer
  1330. 50h suspend/resume control
  1331. 51h beeper/sequencer control
  1332. 52h general-purpose register 1
  1333. 53h general-purpose register 2
  1334. 54h PPWR control 1
  1335. 55h PPWR control 2
  1336. 56h PIO control 1
  1337. 57h PIO control 2
  1338. 58h low-battery configuration
  1339. 59h resume control 2
  1340. 5Ah timer configuration
  1341. 5Bh PMI enable
  1342. 5Ch SMI source (low)
  1343. 5Dh SMI source (high)
  1344. 5Eh clock stretching control
  1345. 5Fh resume interrupt control
  1346. 60h software sequencer address
  1347. 61h CPU clock control
  1348. 62h doze mode IRQ selects
  1349. 63h idel timer IRQ selects
  1350. 64h PMI IRQ selects
  1351. 65h doze-mode configuration
  1352. 66h suspend control
  1353. 67h CPU frequency
  1354. 68h timer clock source
  1355. 69h R_TIMER
  1356. 6Ah resume IRQ selects
  1357. 6Bh resume sources
  1358. 6Ch-6Fh TMP0 - TMP3
  1359. ----------P00220024--------------------------
  1360. PORT 0022-0024 - OPTi "Viper" (82C557) CHIPSET - SYSTEM CONTROL REGISTERS
  1361. Note: every access to PORT 0024h must be preceded by a write to PORT 0022h,
  1362. even if the same register is being accessed a second time
  1363. SeeAlso: PORT 0022h"82C206"
  1364.  
  1365. 0022 ?W index for accesses to data port (see #P073)
  1366. 0023 RW DMA clock select (see #P046)
  1367. 0024 RW chip set data
  1368.  
  1369. (Table P073)
  1370. Values for OPTi "Viper" (82C557) system control registers:
  1371. 00h Byte Merge/Prefetch and Sony Cache Module control
  1372. !!!
  1373. 19h Memory Decode Control register 3
  1374. ----------P00220025--------------------------
  1375. PORT 0022-0025 - INTEL 82360SL CHIPSET (FOR 386SL)
  1376.  
  1377. 0022 -W CPU write mode register
  1378. 0023 R- configuration status register
  1379. bit 7: 82360 configuration is open
  1380. 0024 -W 82360 configuration index
  1381. 0025 RW 82360 configuration data
  1382.  
  1383. Bitfields for Intel 82360SL CPU write mode register:
  1384. Bit(s) Description (Table P074)
  1385. 0 unlock configuration space
  1386. 1 enable selected unit
  1387. 3-2 unit
  1388. 00 memory configuration
  1389. 01 cache
  1390. 10 internal bus
  1391. 11 external bus
  1392. ----------P0022002B--------------------------
  1393. PORT 0022-002B - INTEL 82355, PART OF CHIPSET FOR 386sx
  1394. Note: initialisation in POST will disable these addresses, only a hard
  1395. reset will enable them again.
  1396.  
  1397. 0022w RW 82335 MCR memory configuration register (if LOCK=0) (see #P075)
  1398. 0024w RW 82335 RC1 roll compare register (if LOCK=0) (see #P076)
  1399. 0026w RW 82335 RC2 roll compare register (if LOCK=0) (see #P076)
  1400. 0028w RW 82335 CC0 address range compare register (if LOCK=0) (see #P077)
  1401. 002Aw RW 82335 CC1 address range compare register (if LOCK=0) (see #P077)
  1402.  
  1403. Bitfields for 82335 MCR memory configuration register:
  1404. Bit(s) Description (Table P075)
  1405. 15-12 reserved
  1406. 11 "VRO" video read only (0=r/w, 1=r/o)
  1407. 10 "EN#"
  1408. 0=enable video RAM accesses (A0000h-8FFFFh)
  1409. 1=disable accesses
  1410. 9 "ENADP#"
  1411. 0=enable adapter ROM accesses (C0000h-8FFFFh)
  1412. 1=disable adapter ROM accesses, shadow enabled
  1413. 8 "ROMSIZE" 0=256KB ROM, 1=512KB ROM
  1414. 7-6 "INTERL" memory interleaving
  1415. 00 = 1 memory bank installed (no interleave)
  1416. 01 = 2 memory banks installed
  1417. 10 = 3 memory banks installed
  1418. 11 = 4 memory banks installed
  1419. 5 reserved
  1420. 4 "DSIZE" 0=1MBx1DRAMs, 1=256KBx1 or 256KBx4 DRAMs
  1421. 3 "S640" base memory size is 0=512KB, 1=640KB
  1422. 2-1 reserved
  1423. 0 "ROMEN#" ROM enable
  1424. 0 enable BIOS ROM accesses (E0000h-FFFFFh)
  1425. 1 disable BIOS ROM accesses, enable shadow
  1426. Note: One of the remaining reserved bits is the LOCK bit, which will be set
  1427. during power on, disabling access to the 82335s registers.
  1428.  
  1429. Bitfields for 82335 roll compare register:
  1430. Bit(s) Description (Table P076)
  1431. 15-9 selects address range to be remapped (C23-C17)
  1432. 8 reserved
  1433. 7-1 selects address bits to be included in re-mapping comparision (M23-M17)
  1434. 0 "EN" enables roll address mapping
  1435.  
  1436. Bitfields for 82335 address range compare register:
  1437. Bit(s) Description (Table P077)
  1438. 15-11 specifies top of address range (C23-C19)
  1439. 10-8 reserved
  1440. 7-3 selects address bits to be included in address range comparision
  1441. (M23-M19)
  1442. 2-1 reserved
  1443. 0 "EN" enable address range comparision
  1444. ----------P00240028--------------------------
  1445. PORT 0024-0028 - HEADLAND HTK340 SHASTA 386/486 CHIPSET
  1446.  
  1447. 0024 Rw data port
  1448. 0028 ?W index port to chipset registers (see #P078,#P079)
  1449.  
  1450. (Table P078)
  1451. Values for Headland HT321 register index:
  1452. 00h R chip/revision,read-only
  1453. bit7-4: reserved (=0)
  1454. bit3-0: chip revision, 0=A, 1=B, 3=D
  1455. 01h RW system clocking (default=00h)
  1456. bit7-4: reserved (=0)
  1457. bit3-0: ISA speed set
  1458. 02h RW system parameters (default=00h) (see #P080)
  1459. 04h RW co-processor (default=00h)
  1460. bit7-3: reserved (=0)
  1461. bit2=1: soft-NPU reset blocked (386 only)
  1462. bit1=1: weitek installed
  1463. bit0=1: 387 installed
  1464. 06h RW DMA (default=00h) (see #P081)
  1465. 07h RW EPROM (default=00h) (see #P082)
  1466. 08h RW I/O and memory map holes (default=00h)
  1467. bit7-4: reserved (=0)
  1468. bit3 : 0/1 I/O map hole-A
  1469. bit2 : reserved (=0)
  1470. bit1 : 0/1 memory map hole-B
  1471. bit0 : reserved (=0)
  1472. 10h RW hole-A low address (default=00h)
  1473. 11h RW hole-A high address (default=00h)
  1474. 19h RW mem hole-B start address, lower (default=00h)
  1475. 1Ah RW mem hole-B start address, higher (default=00h)
  1476. bit7-6: reserved (=0)
  1477. bit5-0: address of mem hole-B start
  1478. 1Ch RW mem hole-B end address, lower (default=00h)
  1479. 1Dh RW mem hole-B end address, higher (default=00h)
  1480. bit7-6: reserved (=0)
  1481. bit5-0: address of mem hole-B end
  1482. SeeAlso: #P079
  1483.  
  1484. (Table P079)
  1485. Values for Headland HT342 register index:
  1486. 20h R identifier port read
  1487. bit7-4: DRAM controller identifier (0010b)
  1488. bit3-0: revision number (0=A)
  1489. 21h R feature port read (default=00h)
  1490. 24h RW DRAM options port #1 (default=00h)
  1491. bit7 : 0/1 staggered refresh
  1492. bit6 : refresh type
  1493. bit5 : 0/1 DRAM paging
  1494. bit4-2: CAS interleave
  1495. bit1-0: banks
  1496. 25h DRAM options port #2 (default=00h)
  1497. bit7-6: DRAM bank 1 type
  1498. bit5-4: DRAM bank 2 type
  1499. bit3-2: DRAM bank 1?? type
  1500. bit1-0: DRAM bank 0 type
  1501. 26h RW DRAM options port #3 (default=FFh) (see #P083)
  1502. 27h RW DRAM options port #4 (default=FFh) (see #P084)
  1503. 28h RW data transfer control port (default=00h)
  1504. doubled indexed registers (28h-2Ah)
  1505. bit7 : initiate transfer
  1506. bit6 : read/write transfer
  1507. bit5-4: reserved
  1508. bit3-0: transfer/destination
  1509. 29h RW RAM address register (default=00h)
  1510. doubled indexed registers (28h-2Ah)
  1511. bit7-5: reserved
  1512. bit4-0: RAM address registers contents
  1513. 2Ah RW data transfer port (default=00h)
  1514. doubled indexed registers (28h-2Ah)
  1515. bit7-6: reserved
  1516. bit5 : EMS translation
  1517. bit4 : reserved
  1518. bit3 : 0/1 cacheing
  1519. bit2 : 0/1 write
  1520. bit1 : 0/1 read
  1521. bit0 : 0/1 shadow
  1522. 2Bh RW other options (default=00h) (see #P085)
  1523. 2Dh RW DRAM options port #5 (default=03h)
  1524. bit7-5: reserved
  1525. bit4 : 0/1 10æs RAS timeout
  1526. bit3-2: BUS speed
  1527. bit1-0: BUS recovery for DRAM cycles
  1528. 00b=0: 4-1-1-1 10b=0.5
  1529. 01b=1: 4-2-2-2 11b=1??
  1530. 82h read transfer
  1531. C2h write transfer
  1532. SeeAlso: #P078
  1533.  
  1534. Bitfields for Headland HT321 register 02h (system parameters):
  1535. Bit(s) Description (Table P080)
  1536. 7-6 IO recovery time (rev. D+)
  1537. 5 parity override
  1538. 4-3 cycle-width
  1539. 2 0/1 PORT 0092h functionality
  1540. 1 IO decode
  1541. 0 0/1 posted backplane MEMWN cycles
  1542. SeeAlso: #P078
  1543.  
  1544. Bitfields for Headland HT321 register 06h (DMA control):
  1545. Bit(s) Description (Table P081)
  1546. 7 reserved (=0)
  1547. 6 1/0 IOCHRDY during master cycle (rev. C+)
  1548. 5 0/1 fast sample DMA
  1549. 4-3 DMA waitstate 00b=3 .. 11b=0
  1550. 2 0/1 DMA flow-through mode
  1551. 1 0/1 extended DMA page register
  1552. 0 DMA clock
  1553. SeeAlso: #P078
  1554.  
  1555. Bitfields for Headland HT321 register 07h (EPROM control):
  1556. Bit(s) Description (Table P082)
  1557. 7-6 reserved (=0)
  1558. 5 0/1 EADS CACHE invalidation for EPROM writes (rev. D+)
  1559. 4 0/1 ROMEN for EPROM writes (rev. C+)
  1560. 3 0/1 middle BIOS region of 64KB space below 16MB
  1561. 2 ROM-size (0=64KB, 1=128KB)
  1562. 1 V-BIOS-add (0=separate, 1=same device)
  1563. 0 ROM-access time (0=250ns, 1=125ns)
  1564. SeeAlso: #P078
  1565.  
  1566. Bitfields for Headland HT342 register 26h (DRAM CAS control):
  1567. Bit(s) Description (Table P083)
  1568. 7 CAS hold on RAS (CAS before RAS refresh)
  1569. 6 CAS precharge
  1570. 5 CAS burst delay
  1571. 4 CAS delay (writes)
  1572. 3 CAS delay (reads)
  1573. 2 CAS active time (writes)
  1574. 1-0 CAS active time (reads)
  1575. SeeAlso: #P079,#P084
  1576.  
  1577. Bitfields for Headland HT342 register 27h (DRAM RAS control):
  1578. Bit(s) Description (Table P084)
  1579. 7 RAS delay
  1580. 6-5 RAS active (writes)
  1581. 4-2 RAS active (reads)
  1582. 1-0 RAS precharge
  1583. SeeAlso: #P079,#P083
  1584.  
  1585. Bitfields for Headland HT342 register 2Bh (other options):
  1586. Bit(s) Description (Table P085)
  1587. 7 reserved
  1588. 6 0/1 middle BIOS
  1589. 5 0/1 data pipeline
  1590. 4 0/1 data pipeline
  1591. 3 IO-decode
  1592. 2 reserved
  1593. 1 16bit DMA bridge
  1594. 0 0/1 write buffering
  1595. SeeAlso: #P079
  1596. ----------P00260027--------------------------
  1597. PORT 0026-0027 - INTEL 82347 POWER MANAGEMENT PERIPHERAL
  1598. SeeAlso: PORT 0178h-0179h
  1599.  
  1600. 0026 -W index for data port (see #P086)
  1601. 0027 RW power management data
  1602.  
  1603. (Table P086)
  1604. Values for Intel 82437 Power Management Peripheral register index:
  1605. C0h suspend/wakeup status, system state
  1606. C1h power supply and activity status, general-purpose output/control
  1607. C2h control bits
  1608. C3h activity mask
  1609. C4h NMI mask
  1610. C5h I/O range for activity monitor
  1611. C6h power output control bits, ON state
  1612. C7h power output control bits, Doze state
  1613. C8h power output control bits, Sleep state
  1614. C9h power output control bits, Suspend state
  1615. CAh power control bits polarity control
  1616. CBh current output bits
  1617. CCh Doze timeout
  1618. CDh Sleep timeout
  1619. CEh Suspend timeout
  1620. CFh LCD display power timeout
  1621. D0h EL display power timeout
  1622. ----------P0028002A--------------------------
  1623. PORT 0028-002A - 80486 "Deep Green" motherboard - ???
  1624.  
  1625. 0028 ?W index for data port
  1626. 002A RW ??? data port
  1627.  
  1628. Note: in order to access to the registers available through PORT 002A,
  1629. an unlocking sequence must be written via PORT 0028: write
  1630. A0h, 05h, index to PORT 0028, then read/write PORT 002A, then
  1631. write A5h to PORT 0028
  1632. ----------P002E002F--------------------------
  1633. PORT 002E-002F - DELL ENHANCED PARALLEL PORT
  1634. SeeAlso: PORT 015Ch,PORT 026Eh,PORT 0398h
  1635.  
  1636. 002E -W index for data port (see #P087)
  1637. 002F RW EPP command data
  1638.  
  1639. (Table P087)
  1640. Values for Dell Enhanced Parallel Port register index:
  1641. 00h bit 0: ???
  1642. 02h bit 7: port in bidirectional mode
  1643. 04h bits 0 and 2: ECP/EPP mode control
  1644. ----------P002E002F--------------------------
  1645. PORT 002E-002F - Intel "Nonolet" Motherboard - POWER MANAGEMENT
  1646.  
  1647. 002E ?W index for data port
  1648. 002F ?W data port
  1649.  
  1650. code sequence posted in fido7.nice.sources by Konstantin Mohorea:
  1651. out 2Eh,0Ch
  1652. out 2Fh,75h
  1653. out 2Eh,11h
  1654. out 2Fh,00h
  1655. out 2Eh,0Dh
  1656. out 2Fh,A0h
  1657. ----------P0038003F--------------------------
  1658. PORT 0038-003F - PC radio by CoZet Info Systems
  1659. Notes: The I/O address range is dipswitch selectable from:
  1660. 038-03F and 0B0-0BF
  1661. 078-07F and 0F0-0FF
  1662. 138-13F and 1B0-1BF
  1663. 178-17F and 1F0-1FF
  1664. 238-23F and 2B0-2BF
  1665. 278-27F and 2F0-2FF
  1666. 338-33F and 3B0-3BF
  1667. 378-37F and 3F0-3FF
  1668. All of these addresses show a readout of FF in initial state.
  1669. Once started, all of the addresses show FB, whatever might happen.
  1670. ----------P0040005F--------------------------
  1671. PORT 0040-005F - PIT - PROGRAMMABLE INTERVAL TIMER (8253, 8254)
  1672. Note: XT & AT use ports 40h-43h; PS/2 uses ports 40h, 42h-44h, and 47h
  1673. SeeAlso: PORT 0044h,PORT 0048h
  1674.  
  1675. 0040 RW PIT counter 0, counter divisor (XT, AT, PS/2)
  1676. 0041 RW PIT counter 1, RAM refresh counter (XT, AT)
  1677. don't set below 3 on PCs (default 12h)
  1678. 0042 RW PIT counter 2, cassette & speaker (XT, AT, PS/2)
  1679. During normal operation mode (8253) 40h-42h set the counter values on
  1680. write and get the current counter value on read. In 16bit modes two
  1681. consequtive writes/reads must be issued, first with the low byte,
  1682. followed by the high byte. In 8254 read back modes, all selected
  1683. counters and status are latched and must be read out completely
  1684. before normal operation is valid again. Each counter switches back
  1685. to normal operation after read out. In 'get status and counter'
  1686. mode the first byte read is the status, followed by one or two
  1687. counter values. (see #P088)
  1688. 0043 RW PIT mode port, control word register for counters 0-2 (see #P089)
  1689. Once a control word has been written (43h), it must be followed
  1690. immediately by performing the corresponding action to the counter
  1691. registers (40h-42h), else the system may hang!!
  1692.  
  1693. Bitfields for 8254 PIT counter status byte:
  1694. Bit(s) Description (Table P088)
  1695. 7 PIN status of OUTx Pins (1=high, 0=low)
  1696. 6 counter start value loaded
  1697. =0: yes, so counter latch is valid to be read
  1698. =1: no, wait for counter latch to be set (may last a while)
  1699. 5-0 counter mode, same as bit5-0 at 43h
  1700. SeeAlso: #P089
  1701.  
  1702. Bitfields for 8253/8254 PIT mode control word:
  1703. Bit(s) Description (Table P089)
  1704. 7-6 counter select
  1705. 00 counter 0 select
  1706. 01 counter 1 select (not PS/2)
  1707. 10 counter 2 select
  1708. 11 (8253) reserved
  1709. (8254) read back counter (see #P088)
  1710. ---if counter select---
  1711. 5-4 counter access
  1712. 00 counter latch command
  1713. BUG: Intel Neptune/Mercury/Aries Chipset 8237IB (SIO) needs
  1714. a short delay after issuing this command, else the
  1715. MSB may be outdated concerning the LSB, resulting
  1716. in large measuring errors.
  1717. Workaround: Check for this condition by comparing
  1718. results with last results and don't use erroneous
  1719. results.
  1720. 01 read/write counter bits 0-7 only
  1721. 10 read/write counter bits 8-15 only
  1722. 11 read/write counter bits 0-7 first, then 8-15
  1723. 3-1 counter mode
  1724. 000 mode 0 select - zero detection interrupt
  1725. 001 mode 1 select - programmable one shot
  1726. x10 mode 2 select - rate generator
  1727. x11 mode 3 select - square wave generator
  1728. counts down twice by two at a time; latch status and check
  1729. value of OUT pin to determine which half-cycle is active
  1730. divisor factor 3 not allowed!
  1731. 100 mode 4 select - software triggered strobe
  1732. 101 mode 5 select - hardware triggered strobe
  1733. 0 counting style
  1734. 0 binary counter 16 bits
  1735. 1 BCD counter (4 decades)
  1736. ---if read back---
  1737. 5-4 what to read
  1738. 00 counter status, then value
  1739. 01 counter value
  1740. 10 counter status
  1741. 11 reserved
  1742. 3 select counter 2
  1743. 2 select counter 1
  1744. 1 select counter 0
  1745. 0 reserved (0)
  1746. Note: after issuing a read back 'get status' command, any new read back
  1747. command is ignored until the status is read from all selected
  1748. counters.
  1749. ----------P00440047--------------------------
  1750. PORT 0044-0047 - Microchannel - PROGRAMMABLE INTERVAL TIMER 2
  1751. SeeAlso: PORT 0040h,PORT 0048h
  1752.  
  1753. 0044 RW PIT counter 3 (PS/2)
  1754. used as fail-safe timer. generates an NMI on time out.
  1755. for user generated NMI see at 0462.
  1756. 0047 -W PIT control word register counter 3 (PS/2, EISA)
  1757. bit 7-6 = 00 counter 3 select
  1758. = 01 reserved
  1759. = 10 reserved
  1760. = 11 reserved
  1761. bit 5-4 = 00 counter latch command counter 3
  1762. = 01 read/write counter bits 0-7 only
  1763. = 1x reserved
  1764. bit 3-0 = 00
  1765. ----------P0048004B--------------------------
  1766. PORT 0048-004B - EISA - PROGRAMMABLE INTERVAL TIMER 2
  1767. Note: this second timer is also supported by many Intel chipsets
  1768. SeeAlso: PORT 0040h,PORT 0044h
  1769.  
  1770. 0048 RW EISA PIT2 counter 3 (Watchdog Timer)
  1771. 0049 ?? EISA 8254 timer 2, not used (counter 4)
  1772. 004A RW EISA PIT2 counter 5 (CPU speed control)
  1773. 004B -W EISA PIT2 control word
  1774. --------K-P0060006F--------------------------
  1775. PORT 0060-006F - KEYBOARD CONTROLLER 804x (8041, 8042) (or PPI (8255) on PC,XT)
  1776. Note: XT uses ports 60h-63h, AT uses ports 60h-64h
  1777.  
  1778. 0060 RW KB controller data port or keyboard input buffer (ISA, EISA)
  1779. should only be read from after status port bit0 = 1
  1780. should only be written to if status port bit1 = 0
  1781. 0060 R- KeyBoard or KB controller data output buffer (via PPI on XT)
  1782. PC: input from port A of 8255, if bit7 in 61h set (see #P105)
  1783. get scancodes, special codes (in PC: with bit7 in 61h cleared)
  1784. (see #P099)
  1785.  
  1786. 0061 R- KB controller port B control register (ISA, EISA)
  1787. system control port for compatibility with 8255 (see #P102)
  1788. 0061 -W KB controller port B (ISA, EISA) (PS/2 port A is at 0092)
  1789. system control port for compatibility with 8255 (see #P101)
  1790. 0061 -W PPI Programmable Peripheral Interface 8255 (XT only)
  1791. system control port (see #P103)
  1792. 0062 RW PPI (XT only) data port C (see #P104)
  1793. 0063 RW PPI (XT only) command mode register (see #P106)
  1794.  
  1795. 0064 R- keyboard controller read status (see #P107,#P108,#P109)
  1796. 0064 -W keyboard controller input buffer (ISA, EISA) (see #P110)
  1797.  
  1798. 0064 -W (Amstrad/Schneider PC1512) set 'DIP switch S1' setting
  1799. stored in CMOS RAM that PPI should report for compatibility
  1800. 0065 -W (Amstrad/Schneider PC1512) set 'DIP switch S2' RAM size setting
  1801. stored in CMOS RAM, that PPI port C (PORT 0064h) should report for
  1802. compatibility
  1803.  
  1804. 0065 R- communications port (Olivetti M24)
  1805.  
  1806. Bitfields for AT keyboard controller input port:
  1807. Bit(s) Description (Table P090)
  1808. 7 keyboard enabled
  1809. 6 =0 CGA, else MDA
  1810. 5 =0 manufacturing jumper installed
  1811. 4 =0 system RAM 512K, else 640K
  1812. 3-0 reserved
  1813. SeeAlso: #P091,#P093
  1814.  
  1815. Bitfields for AT keyboard controller input port (Compaq):
  1816. Bit(s) Description (Table P091)
  1817. 7 security lock is unlocked
  1818. 6 =0 Compaq dual-scan display, 1=non-Compaq display
  1819. 5 system board dip switch 5 is OFF
  1820. 4 =0 auto speed selected, 1=high speed selected
  1821. 3 =0 slow (4MHz), 1 = fast (8MHz)
  1822. 2 no math coprocessor installed
  1823. 1-0 reserved
  1824. SeeAlso: #P092
  1825.  
  1826. Bitfields for AT keyboard controller output port:
  1827. Bit(s) Description (Table P092)
  1828. 7 keyboard data output
  1829. 6 keyboard clock output
  1830. 5 input buffer NOT full
  1831. 4 output buffer NOT empty
  1832. 3 reserved (see note)
  1833. 2 reserved (see note)
  1834. 1 gate A20
  1835. 0 system reset
  1836. Note: bits 2 and 3 are the turbo speed switch or password lock on
  1837. Award/AMI/Phoenix BIOSes. These bits make use of nonstandard
  1838. keyboard controller BIOS functionality to manipulate
  1839. pin 23 (8041 port 22) as turbo switch for AWARD
  1840. pin 35 (8041 port 15) as turbo switch/pw lock for Phoenix
  1841. SeeAlso: #P090,#P093
  1842.  
  1843. Bitfields for HP Vectra keyboard controller output port:
  1844. Bit(s) Description (Table P093)
  1845. 7-5 reserved
  1846. 4 output buffer full (OBF) interrupt
  1847. 3 HP SVC interrupt
  1848. 2 HP-HIL controller AutoPoll
  1849. 1 A20 gate
  1850. 0 system reset
  1851. SeeAlso: #P092,#P094
  1852.  
  1853. Bitfields for HP Vectra command byte:
  1854. Bit(s) Description (Table P094)
  1855. 7 reserved (0)
  1856. 6 scancode conversion mode (1 = PC/XT, 0 = PC/AT)
  1857. 5 unused
  1858. 4 disable keyboard (unless bit 3 set)
  1859. 3 override keyboard disable
  1860. 2 System Flag (may be read from PORT 0060h)
  1861. 1 reserved
  1862. 0 OBF interrupt enable
  1863. SeeAlso: #P093
  1864.  
  1865. (Table P095)
  1866. Values for keyboard commands (data also goes to PORT 0060h):
  1867. Value Count Description
  1868. EDh double set/reset mode indicators Caps Num Scrl
  1869. bit 2 = CapsLk, bit 1 = NumLk, bit 0 = ScrlLk
  1870. all other bits must be zero.
  1871. EEh sngl diagnostic echo. returns EEh.
  1872. EFh sngl NOP (No OPeration). reserved for future use
  1873. EF+26h double [Cherry MF2 G80-1501HAD] read 256 bytes of chipcard data
  1874. keyboard must be disabled before this and has to
  1875. be enabled after finished.
  1876. F0h double get/set scan code set
  1877. 00h get current set
  1878. 01h scancode set 1 (PCs and PS/2 mod 30, except Type 2 ctrlr)
  1879. 02h scancode set 2 (ATs, PS/2, default)
  1880. 03h scancode set 3
  1881. F2h sngl read keyboard ID (read two ID bytes)
  1882. AT keyboards returns FA (ACK)
  1883. MF2 returns AB 41 (translation) or
  1884. AB 83 (pass through)
  1885. F3h double set typematic rate/delay
  1886. format of the second byte:
  1887. bit7=0 : reserved
  1888. bit6-5 : typemativ delay
  1889. 00b=250ms 10b= 750ms
  1890. 01b=500ms 11b=1000ms
  1891. bit4-0 : typematic rate (see #P100)
  1892. F4h sngl enable keyboard
  1893. F5h sngl disable keyboard. set default parameters (no keyboard scanning)
  1894. F6h sngl set default parameters
  1895. F7h sngl [MCA] set all keys to typematic (scancode set 3)
  1896. F8h sngl [MCA] set all keys to make/release
  1897. F9h sngl [MCA] set all keys to make only
  1898. FAh sngl [MCA] set all keys to typematic/make/release
  1899. FBh sngl [MCA] set al keys to typematic
  1900. FCh double [MCA] set specific key to make/release
  1901. FDh double [MCA] set specific key to make only
  1902. FEh sngl resend last scancode
  1903. FFh sngl perform internal power-on reset function
  1904. Note: each command is acknowledged by FAh (ACK), if not mentioned otherwise.
  1905. See PORT 0060h-R for details.
  1906. SeeAlso: #P096
  1907.  
  1908. (Table P096)
  1909. Values for Mouse functions (for PS/2-like pointing devices):
  1910. Value Count Description
  1911. E6h sngl set mouse scaling to 1:1
  1912. E7h sngl set mouse scaling to 2:1
  1913. E8h double set mouse resolution
  1914. (00h=1/mm, 01h=2/mm, 02h=4/mm, 03h=8/mm)
  1915. E9h sngl get mouse information
  1916. read two status bytes:
  1917. byte 0: flags (see #P097)
  1918. byte 1: resolution
  1919. EAh sngl set mouse to stream mode (mouse sends data on any changes)
  1920. EBh sngl get mouse data (from mouse to controller) (see #P098)
  1921. on reading, each data packet consists of 8 bytes:
  1922. ECh sngl reset mouse wrap mode (to normal mode)
  1923. EEh sngl set wrap mode
  1924. F0h sngl set remote mode (instead of stream mode), mouse sends data
  1925. only on issueing command EBh.
  1926. F2h sngl read mouse ID (read one, two?? ID bytes)
  1927. 00h=mouse
  1928. F3h double set mouse sample rate in reports per second
  1929. 0Ah=10/s 50h= 80/s
  1930. 14h=20/s 64h=100/s
  1931. 28h=40/s C8h=200/s
  1932. 3Ch=60/s
  1933. F4h sngl enable mouse (in stream mode)
  1934. F5h sngl disable mouse (in steam mode), set default parameters
  1935. F6h sngl reset to defaults: 100/s, scaling 1:1, stream-mode, 4/mm,
  1936. disabled
  1937. FEh sngl resend last mouse data (8 bytes, see EBh)
  1938. FFh sngl reset mouse
  1939. Notes: must issue command D4h to PORT 0064h first to access mouse functions
  1940. all commands except ECh and FFh are acknowledged by FAh (ACK) or
  1941. FEh (Resend); get mouse ID (F2h) returns mouse ID.
  1942. SeeAlso: #P095
  1943.  
  1944. Bitfields for mouse status byte 0:
  1945. Bit(s) Description (Table P097)
  1946. 7 unused
  1947. 6 remote rather than stream mode
  1948. 5 mouse enabled
  1949. 4 scaling set to 2:1
  1950. 3 unused
  1951. 2 left button pressed
  1952. 1 unused
  1953. 0 right button pressed
  1954. SeeAlso: #P096,#P098
  1955.  
  1956. Format of mouse data packet:
  1957. Offset Size Description (Table P098)
  1958. 00h BYTE status
  1959. bit7 : y-data overrun
  1960. bit6 : x-data overrun
  1961. bit5 : y-data negative
  1962. bit4 : x-data negative
  1963. bit3-2=0: reserved
  1964. bit1 : right button pressed
  1965. bit0 : left button pressed
  1966. 01h BYTE reserved
  1967. 02h BYTE x-data
  1968. 03h BYTE reserved
  1969. 04h BYTE y-data
  1970. 05h BYTE reserved
  1971. 06h BYTE z-data (0)
  1972. 07h BYTE reserved
  1973. SeeAlso: #P096,#P097
  1974.  
  1975. (Table P099)
  1976. Values for keyboard special codes:
  1977. 00h (MF2 in codeset2&3 or AT keyboards) keydetection/overrun error
  1978. 00h (mouse) ID
  1979. AAh BAT completion code (sent after errorfree Basic Assurance Test)
  1980. ABh first byte of general MF2 keyboard ID
  1981. EEh Echo command return
  1982. FAh Acknowledge (all general commands except Resend and Echo)
  1983. FAh (mouse) Acknowledge (all commands except commands ECh,F2h,FFh)
  1984. FCh (MF2) BAT Failure Code (error in second half of the power on self test)
  1985. FDh (AT-keyboard) BAT Failure Code (error in the second half of the
  1986. power-on self test)
  1987. FEh Resend: CPU to controller should resend last keyboard-command
  1988. FEh (mouse) CPU to controller should resend last mouse-command
  1989. FFh (MF2 in codeset1) keydetection/overrun error
  1990. Note: keyboard stops scanning and waits for next command after returning
  1991. code FCh or FDh
  1992. SeeAlso: PORT 0060h-R
  1993.  
  1994. (Table P100)
  1995. Values for keyboard typematic rate:
  1996. 00000b=30.0 10000b=7.5
  1997. 00001b=26.7 10001b=6.7
  1998. 00010b=24.0 10010b=6.0
  1999. 00011b=21.8 10011b=5.5
  2000. 00100b=20.0 10100b=5.0
  2001. 00101b=18.5 10101b=4.6
  2002. 00110b=17.1 10110b=4.3
  2003. 00111b=16.0 10111b=4.0
  2004. 01000b=15.0 11000b=3.7
  2005. 01001b=13.3 11001b=3.3
  2006. 01010b=12.0 11010b=3.0
  2007. 01011b=10.9 11011b=2.7
  2008. 01100b=10.0 11100b=2.5
  2009. 01101b= 9.2 11101b=2.3
  2010. 01110b= 8.5 11110b=2.1
  2011. 01111b= 8.0 11111b=2.0
  2012. SeeAlso: #P095
  2013.  
  2014. Bitfields for KB controller port B (system control port) [output]:
  2015. Bit(s) Description (Table P101)
  2016. 7 pulse to 1 for IRQ1 reset (PC,XT)
  2017. 6-4 reserved
  2018. 3 I/O channel parity check disable
  2019. 2 RAM parity check disable
  2020. 1 speaker data enable
  2021. 0 timer 2 gate to speaker enable
  2022. SeeAlso: PORT 0061h-W,#P102
  2023.  
  2024. Bitfields for KB controller port B control register (system control port) [input]:
  2025. Bit(s) Description (Table P102)
  2026. 7 RAM parity error occurred
  2027. 6 I/O channel parity error occurred
  2028. 5 mirrors timer 2 output condition
  2029. 4 toggles with each refresh request
  2030. 3 NMI I/O channel check status
  2031. 2 NMI parity check status
  2032. 1 speaker data status
  2033. 0 timer 2 clock gate to speaker status
  2034. SeeAlso: PORT 0061h-R,#P101
  2035.  
  2036. Bitfields for Progr. Peripheral Interface (8255) system control port [output]:
  2037. Bit(s) Description (Table P103)
  2038. 7 clear keyboard (only pulse, normally kept at 0)
  2039. 6 =0 hold keyboard clock low
  2040. 5 NMI I/O parity check disable
  2041. 4 NMI RAM parity check disable
  2042. 3 =0 read low nybble of switches S2
  2043. =1 read high nybble of switches S2
  2044. 2 reserved, often used as turbo switch
  2045. original PC: cassette motor off
  2046. 1 speaker data enable
  2047. 0 timer 2 gate to speaker enable
  2048. Note: bits 2 and 3 are sometimes used as turbo switch
  2049. SeeAlso: PORT 0061h-W,#P0051,#P104,#P105,#P106
  2050.  
  2051. Bitfields for PPI (XT only) data port C:
  2052. Bit(s) Description (Table P104)
  2053. 7 RAM parity error occurred
  2054. 6 I/O channel parity error occurred
  2055. 5 timer 2 channel out
  2056. 4 reserved
  2057. original PC: cassette data input
  2058. ---
  2059. 3 system board RAM size type 1
  2060. 2 system board RAM size type 2
  2061. 1 coprocessor installed
  2062. 0 loop in POST
  2063. ---
  2064. 3-0 DIL switch S2 high/low nybble (depending on PORT 0061h bit 3)
  2065. SeeAlso: PORT 0062h-RW,#P103,#P105,#P106
  2066.  
  2067. Bitfields for PPI (PC,XT only) equipment switches [input]:
  2068. Bit(s) Description (Table P105)
  2069. 7-6 number of disk drives
  2070. 00 1 diskette drive
  2071. 01 2 diskette drives
  2072. 10 3 diskette drives
  2073. 11 4 diskette drives
  2074. 5-4 initial video
  2075. 00 reserved (video adapter has on-board BIOS)
  2076. 01 40*25 color (mono mode)
  2077. 10 80*25 color (mono mode)
  2078. 11 MDA 80*25
  2079. 3-2 memory size (using 256K chips)
  2080. 00 256K
  2081. 01 512K
  2082. 10 576K
  2083. 11 640K
  2084. 3-2 memory size (using 64K chips)
  2085. 00 64K
  2086. 01 128K
  2087. 10 192K
  2088. 11 256K
  2089. 3-2 memory size (original PC)
  2090. 00 16K
  2091. 01 32K
  2092. 10 48K
  2093. 11 64K
  2094. 1-0 reserved
  2095. 1 NPU (math coprocessor) present
  2096. 0 boot from floppy
  2097. SeeAlso: #P104,#P106,PORT 0060h-R
  2098.  
  2099. Bitfields for PPI (8255) command mode register:
  2100. Bit(s) Description (Table P106)
  2101. 7 activation function (0 = bit set/reset, 1 = mode set function)
  2102. 6,5 port A mode: 00 = mode0, 01 = mode1, 1x = mode2
  2103. 4 port A direction: 0 = output, 1 = input
  2104. 3 port C bits 7-4 direction: 0 = output, 1 = input
  2105. 2 port B mode: 0 = mode0, 1 = mode1
  2106. 1 port B direction: 0 = output, 1 = input
  2107. 0 port C bits 3-0 direction: 0 = output, 1 = input
  2108. Note: Attention: Never write anything other than 99h to this port
  2109. (better: never write anything to this port, only during BIOS
  2110. init), as other values may connect multiple output drivers
  2111. and will cause hardware damage in PC/XTs! By setting command
  2112. word to 99h, PPI will be set in input/output modes as it is
  2113. necessary to support the commonly known IO-ports 60, 61, 62
  2114. as desired.
  2115. SeeAlso: #P103,#P104,#P105
  2116.  
  2117. Bitfields for keyboard controller read status (ISA, EISA):
  2118. Bit(s) Description (Table P107)
  2119. 7 parity error on transmission from keyboard
  2120. 6 receive timeout
  2121. 5 transmit timeout
  2122. 4 keyboard interface inhibited by keyboard lock
  2123. 3 =1 data written to input register is command (PORT 0064h)
  2124. =0 data written to input register is data (PORT 0060h)
  2125. 2 system flag status: 0=power up or reset 1=selftest OK
  2126. 1 input buffer full (input 60/64 has data for 8042)
  2127. no write access allowed until bit clears
  2128. 0 output buffer full (output 60 has data for system)
  2129. bit is cleared after read access
  2130. SeeAlso: PORT 0064h-R,#P108,#P109,#P110
  2131.  
  2132. Bitfields for keyboard controller read status (MCA):
  2133. Bit(s) Description (Table P108)
  2134. 7 parity error on transmission from keyboard
  2135. 6 general timeout
  2136. 5 mouse output buffer full
  2137. 4 keyboard interface inhibited by keyboard lock
  2138. 3 =1 data written to input register is command (PORT 0064h)
  2139. =0 data written to input register is data (PORT 0060h)
  2140. 2 system flag status: 0=power up or reset 1=selftest OK
  2141. 1 input buffer full (60/64 has data for 804x)
  2142. no write access allowed until bit clears
  2143. 0 output buffer full (output 60 has data for system)
  2144. bit is cleared after read access
  2145. SeeAlso: #P107,#P109,#P110
  2146.  
  2147. Bitfields for keyboard controller read status (Compaq):
  2148. Bit(s) Description (Table P109)
  2149. 7 parity error detected (11-bit format only). If an
  2150. error is detected, a Resend command is sent to the
  2151. keyboard once only, as an attempt to recover.
  2152. 6 receive timeout. transmission didn't finish in 2mS.
  2153. 5 transmission timeout error
  2154. bit 5,6,7 cause
  2155. 1 0 0 No clock
  2156. 1 1 0 Clock OK, no response
  2157. 1 0 1 Clock OK, parity error
  2158. 4 =0 security lock engaged
  2159. 3 =1 data in OUTPUT register is command
  2160. =0 data in OUTPUT register is data
  2161. 2 system flag status: 0=power up or reset 1=soft reset
  2162. 1 input buffer full (60/64 has data for 804x)
  2163. no write access allowed until bit clears
  2164. 0 output buffer full (PORT 0060h has data for system)
  2165. bit is cleared after read access
  2166. SeeAlso: #P107,#P108,#P110
  2167.  
  2168. (Table P110)
  2169. Values for keyboard controller commands (data goes to PORT 0060h):
  2170. Value Description
  2171. 20h read read byte zero of internal RAM, this is the last KB command
  2172. sent to the 8041/8042
  2173. Compaq put current command byte on PORT 0060h (see #P111,#P112)
  2174. 21-3F read reads the byte specified in the lower 5 bits of the command
  2175. in the 804x's internal RAM (see #P115)
  2176. 60-7F double writes the data byte to the address specified in the 5 lower
  2177. bits of the command
  2178. 60h Compaq Load new command (60 to [64], command to [60]) (see #P112)
  2179. (also general AT-class machines)
  2180. A0h AMI get ASCIZ copyright message on PORT 0060h
  2181. A1h AMI get controller version byte on PORT 0060h
  2182. A1h Compaq unknown speedfunction ??
  2183. A2h Compaq unknown speedfunction ??
  2184. A2h AMI set keyboard controller pins 22 and 23 low
  2185. A3h Compaq Enable system speed control
  2186. A3h AMI set keyboard controller pins 22 and 23 high
  2187. A4h MCA check if password installed
  2188. returns PORT 0060h code F1h if no password, FAh if installed
  2189. A4h Compaq Toggle speed
  2190. A4h AMI set internal system speed flag to low
  2191. A5h MCA load password
  2192. write successive scan codes to PORT 0060h, terminate with 00h
  2193. A5h AMI set internal system speed flag to high
  2194. A5h Compaq Special read. the 8042 places the real values of port 2
  2195. except for bits 4 and 5 wich are given a new definition in
  2196. the output buffer. No output buffer full is generated.
  2197. if bit 5 = 0, a 9-bit keyboard is in use
  2198. if bit 5 = 1, an 11-bit keyboard is in use
  2199. if bit 4 = 0, output-buff-full interrupt disabled
  2200. if bit 4 = 1, output-buffer-full interrupt enabled
  2201. A6h MCA check password
  2202. A6h AMI get internal system speed flag on PORT 0060h
  2203. A6h Compaq unknown speedfunction ??
  2204. A7h MCA disable mouse port
  2205. A7h AMI set internal flag indicating bad write cache
  2206. A8h MCA enable mouse port
  2207. A8h AMI set internal flag indicating good write cache
  2208. A9h MCA test mouse port, return test result on PORT 0060h (see #P114)
  2209. A9h AMI get internal flag indicating cache OK to PORT 0060h
  2210. AAh sngl initiate self-test. will return 55h to data port if self-test
  2211. successful, FCh if failed
  2212. AAh Compaq initializes ports 1 and 2, disables the keyboard and clears
  2213. the buffer pointers. It then places 55h in the output buffer.
  2214. ABh sngl initiate interface test, return result value on PORT 0060h
  2215. (see #P114)
  2216. ACh read diagnostic dump. the contents of the 804x RAM, output port,
  2217. input port, status word are sent to PORT 0060h
  2218. ADh sngl disable keyboard (sets bit 4 of commmand byte)
  2219. ADh Vectra HP Vectra diagnostic dump
  2220. AEh sngl enable keyboard (resets bit 4 of commmand byte)
  2221. AFh AWARD Enhanced Command: read keyboard version
  2222. AFh AMI set extended controller RAM
  2223. write address to PORT 0060h, wait for controller ready, then
  2224. write value to PORT 0060h
  2225. B1h AMI set keyboard controller P11 line low
  2226. B2h AMI set keyboard controller P12 line low
  2227. B3h AMI set keyboard controller P13 line low
  2228. B4h AMI set keyboard controller P22 line low
  2229. B5h AMI set keyboard controller P23 line low
  2230. B8h AMI set keyboard controller P10 line high
  2231. B9h AMI set keyboard controller P11 line high
  2232. BAh AMI set keyboard controller P12 line high
  2233. BBh AMI set keyboard controller P13 line high
  2234. BCh AMI set keyboard controller P22 line high
  2235. BDh AMI set keyboard controller P23 line high
  2236. C0h read read input port and place on PORT 0060h
  2237. bit 7 keyboard NOT locked
  2238. bit 6 =0 first video is CGA
  2239. =1 first video is MDA
  2240. bit 5 =0 factory testmode
  2241. =1 normal
  2242. bit 4 =0 256KB RAM, 1=512KB
  2243. bit 5,3-0 are used in Intel chipset 386sx machines with
  2244. AMI/Phoenix BIOSes for BIOS specific hardware settings
  2245. bit 2 (MCA) no keyboard power
  2246. bit 1 (MCA) current mouse serial data input state
  2247. bit 0 (MCA) current keyboard serial input state
  2248. C0h Compaq places status of input port in output buffer. Use this
  2249. command only when the output buffer is empty
  2250. C1h MCA Enhanced Command: poll input port Low nibble, continuously
  2251. place in PORT 0064h bits 7-4 until next command
  2252. C2h MCA Enhanced Command: poll input port High nibble, continuously
  2253. place in PORT 0064h bits 7-4 until next command
  2254. C8h AMI unblock keyboard controller lines P22 and P23
  2255. C9h AMI block keyboard controller lines P22 and P23
  2256. CAh AMI read keyboard mode, return in 0060 bit 0
  2257. (bit clear if ISA mode, set if PS/2 mode)
  2258. CBh AMI set keyboard mode (write back mode byte returned by CAh,
  2259. modifying only bit 0)
  2260. CCh AMI ??? (used by AMI BIOS v1.00.12.AX1T APM code)
  2261. D0h read read output port and place on PORT 0060h (see #P113)
  2262. D0h Compaq places byte in output port in output buffer. Use this command
  2263. only when the output buffer is empty
  2264. D1h double write output port. The next byte written to PORT 0060h will
  2265. be written to the 804x output port; the original IBM AT and
  2266. many compatibles use bit 1 of the output port to control
  2267. the A20 gate.
  2268. Important: bit 0 (system reset) should always be set here, as
  2269. the system may hang constantly, use pulse output port
  2270. (FEh) instead.
  2271. D1h Compaq the system speed bits are not set by this command use
  2272. commands A1-A6 (!) for speed functions.
  2273. D2h MCA Enhanced Command: write keyboard output buffer
  2274. D3h MCA Enhanced Command: write pointing device out.buf.
  2275. D4h MCA write to mouse/pointing device instead of to keyboard; this
  2276. controller command must precede every PORT 0060h command
  2277. directed to the mouse, otherwise it will be sent to the
  2278. keyboard
  2279. D4h AWARD Enhanced Command: write to auxiliary device
  2280. DDh sngl disable address line A20 (HP Vectra only???)
  2281. default in Real Mode
  2282. DFh sngl enable address line A20 (HP Vectra only???)
  2283. E0h read read test inputs, and place in PORT 0060h
  2284. bit0 = kbd clock, bit1 = kbd data
  2285. Exxx AWARD Enhanced Command: active output port
  2286. EDh double this is a two part command to control the state of the
  2287. NumLock, CpasLock and ScrollLock LEDs
  2288. The second byte contains the state to set LEDs.
  2289. bit 7-3 reserved. should be set to 0.
  2290. bit 2 = 0 Caps Lock LED off
  2291. bit 1 = 0 Num Lock LED off
  2292. bit 0 = 0 Scroll Lock LED off
  2293. F0-FF sngl pulse output port low for 6 microseconds.
  2294. bits 0-3 contain the mask for the bits to be pulsed. A bit is
  2295. pulsed if its mask bit is zero
  2296. bit0=system reset. Don't set to zero. Pulse only!
  2297. Note: keyboard controllers are widely different from each other. You
  2298. cannot generally exchange them between different machines.
  2299. (Award) Derived from Award's Enhanced KB controller advertising sheet.
  2300. (Compaq) Derived from the Compaq Deskpro 386 Tech. Ref. Guide.
  2301.  
  2302. Bitfields for Compaq keyboard command byte:
  2303. Bit(s) Description (Table P111)
  2304. 7 reserved
  2305. 6 =1 convert KB codes to 8086 scan codes
  2306. 5 =0 use 11-bit codes, 1=use 8086 codes
  2307. 4 =0 enable keyboard, 1=disable keyboard
  2308. 3 ignore security lock state
  2309. 2 this bit goes into bit2 status reg.
  2310. 1 reserved (0)
  2311. 0 generate interrupt (IRQ1) when output buffer full
  2312. SeeAlso: #P112
  2313.  
  2314. Bitfields for keyboard command byte (alternate description):
  2315. Bit(s) Description (Table P112)
  2316. 7 reserved (0)
  2317. 6 IBM PC compatibility mode
  2318. 5 IBM PC mode
  2319. no parity, no stop bits, no translation
  2320. (PS/2) force mouse clock low
  2321. 4 disable keyboard (clock)
  2322. 3 (AT) inhibit override -- ignore keyboard lock switch
  2323. (PS/2) reserved
  2324. 2 system flag
  2325. 1 (AT) reserved (0)
  2326. (PS/2) enable mouse output buffer full interrupt (IRQ12)
  2327. 0 enable output buffer full interrupt (IRQ1)
  2328. SeeAlso: #P111,#P113
  2329.  
  2330. Bitfields for keyboard controller output port:
  2331. Bit(s) Description (Table P113)
  2332. 7 keyboard data (output)
  2333. 6 keyboard clock (output)
  2334. 5 (AT) =0 input buffer empty
  2335. (MCA) outptu buffer full with mouse byte (connected to IRQ12)
  2336. 4 output buffer full with keyboard byte (connected to IRQ1)
  2337. 3 (MCA) mouse data (output)
  2338. 2 (MCA) mouse clock (output)
  2339. used by Intel 386sx Chipset with AMI/Phoenix BIOSes for BIOS-specific
  2340. configuration of turbo switch
  2341. 1 gate address A20
  2342. 0 system reset
  2343. Note: bit 0 (system reset) should always be set when writing the output
  2344. port, as the system may hang constantly; use pulse output port
  2345. (command FEh) instead.
  2346. SeeAlso: #P112
  2347.  
  2348. (Table P114)
  2349. Values for keyboard/mouse test result on PORT 0060h:
  2350. 00h no error
  2351. 01h keyboard clock line stuck low
  2352. 02h keyboard clock line stuck high
  2353. 03h keyboard data line is stuck low
  2354. 04h keyboard data line stuck high
  2355. 05h (Compaq only) diagnostic feature
  2356. SeeAlso: #P110
  2357.  
  2358. (Table P115)
  2359. Values for keyboard controller RAM location:
  2360. 00h command byte (see #P111,#P112)
  2361. ---MCA systems---
  2362. 13h security on
  2363. nonzero if password enabled
  2364. 14h security off
  2365. nonzero if password matched
  2366. 16h password discard scancode 1
  2367. 17h password discard scancode 2
  2368. Note: make codes matching either discard scancode are ignored during password
  2369. entry
  2370. ----------P0065------------------------------
  2371. PORT 0065 - AT&T 6300+ - HIGH/LOW CHIP SELECT
  2372. ----------P0065------------------------------
  2373. PORT 0065 - ???
  2374.  
  2375. 0065 RW ???
  2376. bit 2: A20 gate control (set = A20 enabled, clear = disabled)
  2377. ----------P00660067--------------------------
  2378. PORT 0066-0067 - AT&T 6300+ - SYSTEM CONFIGURATION SWITCHES
  2379. ----------P0066------------------------------
  2380. PORT 0066 - IBM 4717 Magnetic Stripe Reader - ???
  2381. SeeAlso: PORT 0069h"Magnetic Stripe"
  2382. ----------P0068------------------------------
  2383. PORT 0068 - C&T CHIPSETS - TURBO MODE CONTROL
  2384.  
  2385. Note: on Micronics 386-25/386-33/486-25 motherboards, setting this port to
  2386. 00h enables full speed; setting it to C0h slows the system down by
  2387. a factor corresponding to the value programmed into the EISA
  2388. interval timer 2 at ports 004Ah and 004Bh
  2389. --------K-P0068006F--------------------------
  2390. PORT 0068-006F - HP Vectra Human Interface Link
  2391. SeeAlso: PORT 0060h"KEYBOARD"
  2392.  
  2393. 0068 -W (HP-Vectra) control buffer (HP commands) (see #P116)
  2394. 0069 R- (HP-Vectra) SVC (keyboard request SerViCe port)
  2395. 006A -W (HP-Vectra) Acknowledge (clear processing, done)
  2396. 006C-006F HP-HIL (Human Interface Link = async. serial inputs 0-7)
  2397.  
  2398. (Table P116)
  2399. Values for HP Vectra control buffer command code:
  2400. 00h-54h insert standard key make code into 8041 scancode buf
  2401. 55h-77h insert HP key make code into 8041 scancode buffer
  2402. 7Ah pass through next data byte
  2403. 7Bh set RAM Switch to 0
  2404. 7Ch set RAM Switch to 1 (default)
  2405. 7Dh set CRT Switch to 0
  2406. 7Eh set CRT Switch to 1 (default)
  2407. 7Fh reserved
  2408. 80h-D4h insert standard key break code into scancode buffer
  2409. D5h-F7h insert HP key break code into scancode buffer
  2410. F8h enable AutoPoll
  2411. F9h disable AutoPoll
  2412. FAh-FEh reserved
  2413. FFh keyboard overrun
  2414. ----------P0069------------------------------
  2415. PORT 0069 - IBM 4717 Magnetic Stripe Reader - ???
  2416. SeeAlso: PORT 0066h"Magnetic Stripe"
  2417. ----------P006B006F--------------------------
  2418. PORT 006B-006F - SSGA CONTROL REGISTERS
  2419.  
  2420. 006B ?? RAM enable/remap
  2421. 006C ?? undocumented
  2422. 006D ?? undocumented
  2423. 006E ?? undocumented
  2424. 006F ?? undocumented
  2425. ----------P0070007F--------------------------
  2426. PORT 0070-007F - CMOS RAM/RTC (REAL TIME CLOCK)
  2427. Note: the real-time clock may be either a discrete MC146814, MC146818, or
  2428. an emulation thereof built into the motherboard chipset
  2429.  
  2430. 0070 -W CMOS RAM index register port (ISA, EISA)
  2431. bit 7 = 1 NMI disabled
  2432. = 0 NMI enabled
  2433. bit 6-0 CMOS RAM index (64 bytes, sometimes 128 bytes)
  2434.  
  2435. any write to 0070 should be followed by an action to 0071
  2436. or the RTC wil be left in an unknown state.
  2437. 0071 RW CMOS RAM data port (ISA, EISA) (see #P117)
  2438.  
  2439. (Table P117)
  2440. Values for Real-Time Clock register number (see also CMOS.LST):
  2441. 00h-0Dh clock registers
  2442. 0Eh diagnostics status byte
  2443. 0Fh shutdown status byte
  2444. 10h diskette drive type for A: and B:
  2445. 11h reserved / IBM fixed disk / setup options
  2446. 12h fixed disk drive type for drive 0 and drive 1
  2447. 13h reserved / AMI Extended CMOS setup (AMI Hi-Flex BIOS)
  2448. 14h equipment byte
  2449. 15h LSB of system base memory in Kb
  2450. 16h MSB of system base memory in Kb
  2451. 17h LSB of total extended memory in Kb
  2452. 18h MSB of total extended memory in Kb
  2453. 19h drive C extension byte
  2454. 1Ah drive D extension byte
  2455. 1Bh-2Dh reserved
  2456. 20h-27h commonly used for first user-configurable drive type
  2457. 2Eh CMOS MSB checksum over 10-2D
  2458. 2Fh CMOS LSB checksum over 10-2D
  2459. 30h LSB of extended memory found above 1Mb at POST
  2460. 31h MSB of extended memory found above 1Mb at POST
  2461. 32h date century in BCD
  2462. 33h information flags
  2463. 34h-3Fh reserved
  2464. 35h-3Ch commonly used for second user-configurable drive type
  2465. 3Dh-3Eh word to 82335 MCR memory config register at [22] (Phoenix)
  2466. 42h-4Ch AMI 1990 Hyundai super-NB368S notebook
  2467. ???
  2468. 54h-57h AMI 1990 Hyundai super-NB368S notebook
  2469. ???
  2470. 5Ch-5Dh AMI 1990 Hyundai super-NB368S notebook
  2471. ???
  2472. 60h-61h AMI 1990 Hyundai super-NB368S notebook
  2473. ???
  2474. ----------P00720075--------------------------
  2475. PORT 0072-0075 - AMD-645 Peripheral Bus Controller - EXTENDED CMOS ACCESS
  2476. SeeAlso: PORT 0070h
  2477.  
  2478. 0072 RW CMOS memory address, region 2 (256 bytes)
  2479. 0073 RW CMOS memory data, region 2
  2480. 0074 RW CMOS memory address, region 3 (256 bytes)
  2481. 0075 RW CMOS memory data, region 3
  2482. ----------P0073------------------------------
  2483. PORT 0073 - Intel 82378IB ("Saturn"/"Neptune" chipsets) - MBOARD CONFIGURATION
  2484. SeeAlso: PORT 0075h
  2485.  
  2486. 0073 RW ???
  2487. bit 7: ???
  2488. bit 6: disable ROM shadowing
  2489. bit 5: ??? (related to IDE controller)
  2490. bit 4: ???
  2491. bit 3: ???
  2492. ----------P00740076--------------------------
  2493. PORT 0074-0076 - SECONDARY CMOS (Compaq), NVRAM (IBM) ACCESS
  2494. Note: NVRAM may be 2K, 8K, or 16K
  2495. SeeAlso: PORT 0070h-007Fh,CMOS.LST
  2496.  
  2497. 0074 -W secondary CMOS RAM (IBM NVRAM) index, low byte
  2498. 0075 -W secondary CMOS RAM (IBM NVRAM) index, high (in bits 2-0)
  2499. 0076 RW secondary CMOS RAM (IBM NVRAM) data byte
  2500. ----------P0075------------------------------
  2501. PORT 0075 - Intel 82378IB ("Saturn"/"Neptune" chipsets) - MBOARD CONFIGURATION
  2502. SeeAlso: PORT 0073h,PORT 0078h"82378IB"
  2503.  
  2504. 0075 R- ???
  2505. bits 3-2: external bus speed
  2506. 00 50 MHz
  2507. 01 66 MHz
  2508. 10 60 MHz
  2509. 11 40 MHz
  2510. ----------P0078------------------------------
  2511. PORT 0078 - HP-Vectra - HARD RESET: NMI ENABLE/DISABLE
  2512.  
  2513. 0078 ?W NMI enable/disable
  2514. bit 7 = 0 disable & clear hard reset from HP-HIL controller
  2515. = 1 enable hard reset from HP-HIL controller chip
  2516. bit 6-0 reserved
  2517. ----------P0078------------------------------
  2518. PORT 0078 - Intel 82378IB ("Saturn"/"Neptune" chipsets) - BIOS COUNT-DOWN TIMER
  2519. Notes: the BIOS uses this port for certain fine timings; presumably it is
  2520. independent of processor speed (it appears to decrement at 1 MHz)
  2521. the address at which this port appears may be set via the 82378's
  2522. PCI configuration space word at offset 0080h (see #0860), or the
  2523. timer may be disabled entirely
  2524. SeeAlso: PORT 0075h
  2525.  
  2526. 0078w -W set count-down timer
  2527. 0078w R- get current count (timer stops when it reaches 0000h)
  2528. ----------P0078007F--------------------------
  2529. PORT 0078-007F - PC radio by CoZet Info Systems
  2530. Range: The I/O address range is dipswitch selectable from:
  2531. 038-03F and 0B0-0BF
  2532. 078-07F and 0F0-0FF
  2533. 138-13F and 1B0-1BF
  2534. 178-17F and 1F0-1FF
  2535. 238-23F and 2B0-2BF
  2536. 278-27F and 2F0-2FF
  2537. 338-33F and 3B0-3BF
  2538. 378-37F and 3F0-3FF
  2539. Note: All of these addresses show a readout of FFh in initial state.
  2540. Once started, all of the addresses show FBh, whatever might happen.
  2541. ----------P007C007D--------------------------
  2542. PORT 007C-007D - HP-Vectra - PIC 3 - PROGRAMMABLE INTERRUPT CONTROLLER (8259)
  2543. Notes: cascaded to first controller.
  2544. used for keyboard and input device interface.
  2545. SeeAlso: PORT 0020h-0021h,INT 68"Vectra",INT 6E"Vectra"
  2546.  
  2547. 007C RW HP-Vectra PIC 3 see at 0020 PIC 1
  2548. 007D RW HP-Vectra PIC 3 see at 0021 PIC 1
  2549. ----------P0080------------------------------
  2550. PORT 0080 - MANUFACTURING DIAGNOSTICS PORT
  2551. Note: sometimes used for a POST hex display
  2552.  
  2553. 0080 -W Manufacturing Diagnostics port
  2554. 0080 R- ???
  2555.  
  2556. (Table P118)
  2557. Values for AMI BIOS diagnostics codes:
  2558. 00h system boot completed, control passed to INT 19 bootstrap loader
  2559. 01h register test
  2560. 02h video initialization; NMIs disabled
  2561. 03h power-on delay complete
  2562. 04h pre-keyboard-test initializations complete
  2563. 05h soft-reset/power-on setting determined
  2564. 06h ROM enabled
  2565. 07h ROM BIOS checksum test passed
  2566. 08h keyboard BAT command issued
  2567. 09h keyboard controller BAT result verified
  2568. 0Ah keyboard controller command code issued
  2569. 0Bh keyboard controller command byte written
  2570. 0Ch keyboard controller pins 23/24 blocked and unblocked
  2571. 0Dh keyboard controller NOP processing in progress
  2572. 0Eh CMOS RAM shutdown register read/write test passed
  2573. 0Fh CMOS RAM checksum calculation complete
  2574. 10h CMOS RAM initialization complete
  2575. 11h CMOS RAM status register initialized
  2576. 12h DMA controllers 1/2 and interrupt controllers 1/2 disabled
  2577. 13h video display disabled, port B initialized
  2578. 14h chipset initialization, auto memory detection
  2579. 15h 8254 channel 2 test half complete
  2580. 16h 8254 channel 2 test completed
  2581. 17h 8254 channel 1 test completed
  2582. 18h 8254 channel 0 test completed
  2583. 19h memory refresh started
  2584. 1Ah memory refresh line is toggling
  2585. 1Bh memory refresh test completed
  2586. 20h base 64K memory test started
  2587. 21h address line test passed
  2588. 22h parity toggle complete
  2589. 23h base 64K sequential read/write test passed
  2590. 24h pre-interrupt-vector-initialization configuration complete
  2591. 25h interrupt vectors initialized
  2592. 26h 8042 input port read
  2593. 27h global data initialization complete
  2594. 28h post-interrupt-vector-initialization initialization complete
  2595. 29h monochrome mode set
  2596. 2Ah color mode set
  2597. 2Bh parity toggle on option video ROM test complete
  2598. 2Ch initialization before video ROM control complete
  2599. 2Dh video ROM check complete
  2600. 2Eh !!!
  2601. A9h returned from E0000h adapter ROM
  2602. AAh final initializations after adapter ROM initializations complete
  2603. SeeAlso: #P119,#P120
  2604.  
  2605. (Table P119)
  2606. Values for AWARD (non-PnP) diagnostic code:
  2607. 01h Processor Test 1
  2608. 02h Processor Test 2
  2609. 03h initialize chips
  2610. 04h test memory refresh toggle
  2611. 05h blank video, initialize keyboard
  2612. 06h reserved
  2613. 07h test CMOS and CMOS batter status
  2614. 08h setup low memory
  2615. 09h early cache initialization
  2616. 0Ah interrupt vector initialization
  2617. 0Bh test CMOS RAM checksum
  2618. 0Ch initialize keyboard
  2619. 0Dh initialize video interface
  2620. 0Eh test video memory
  2621. 0Fh test DMA channel 0
  2622. 10h test DMA channel 1
  2623. 11h test DMA page registers
  2624. 12h reserved
  2625. 13h reserved
  2626. 14h test timer channel 2
  2627. 15h test master PIC mask bits
  2628. 16h test slave PIC mask bits
  2629. 17h test 8259 stuck interrupt bits
  2630. 18h test 8259 interrupt functionality
  2631. 19h test for stuck NMI
  2632. 1Ah display CPU clock
  2633. 1Bh-1Eh reserved
  2634. 1Fh set EISA mode
  2635. 20h enable Slot 0 (system board)
  2636. 21h-2Fh enable Slots 1-15
  2637. 30h get base and extended memory size
  2638. 31h test base and extended memory
  2639. 32h test EISA memory
  2640. 33h-3Bh reserved
  2641. 3Ch set allow-setup flag
  2642. 3Dh initialize / install mouse
  2643. 3Eh initialize cache controller
  2644. 3Fh reserved
  2645. 41h initialize floppy controller and drives
  2646. 42h initialize hard disk controller and drives
  2647. 43h detect / initialize serial and parallel ports
  2648. 44h reserved
  2649. 45h initialize math coprocessor
  2650. 46h-4Dh reserved
  2651. 4Eh Manufacturing Post loop / or / display any error messages
  2652. 4Fh ask for password, if enabled
  2653. 50h update CMOS RAM
  2654. 51h pre-boot enable of parity, NMI, cache
  2655. 52h initialize option ROMs
  2656. 53h initialize BIOS time from RTC
  2657. 60h setup boot-sector protection
  2658. 61h set boot CPU speed
  2659. 62h setup NumLock
  2660. 63h attempt to boot via INT 19h
  2661. B0h spurious interrupt while in protected mode
  2662. B1h unclaimed NMI
  2663. BEh chipset default initialization
  2664. BFh chipset initialization
  2665. C0h turn off chipset cache
  2666. C1h check on-board memory size
  2667. C5h early shadow-RAM enable for faster boot
  2668. C6h detect external cache size
  2669. E1h-EFh setup utility pages 1-15
  2670. FFh system booting operating system
  2671. SeeAlso: #P118,#P120
  2672.  
  2673. (Table P120)
  2674. Values for AWARD (Plug-and-Play) POST code:
  2675. 01h-02h reserved
  2676. 03h initialize EISA register (if applicable)
  2677. 04h reserved
  2678. 05h keyboard controller test, initialize keyboard
  2679. 06h reserved
  2680. 07h test CMOS and CMOS batter status
  2681. 09h program Cyrix CPU configuration; OEM-specific cache initialization
  2682. 0Ah initialize interrupt vectors; early power management initialization
  2683. 0Bh check CMOS RAM; assign I/O and memory to PCI devices
  2684. 0Ch initialize BIOS data area
  2685. 0Dh early chipset setup; measure CPU speed; video initialization
  2686. 0Eh display Award logo, OEM-specific sign-on messages
  2687. 0Fh test DMA channel 0
  2688. 10h test DMA channel 1
  2689. 11h test DMA page registers
  2690. 12h-13h reserved
  2691. 14h test timer channel 2
  2692. 15h test master PIC mask bits
  2693. 16h test slave PIC mask bits
  2694. 17h reserved
  2695. 19h test 8259 functionality
  2696. 1Ah-1Dh reserved
  2697. 1Eh EISA initialization (if applicable and EISA NVRAM checksum is good)
  2698. 1Fh-29h reserved
  2699. 30h get base and extended memory size
  2700. 31h test base and extended memory
  2701. 32h program on-board serial/parallel ports, floppy controller
  2702. 33h-3Bh reserved
  2703. 3Ch set allow-setup flag
  2704. 3Dh initialize keyboard, install PS/2 mouse if attached
  2705. 3Eh try to turn on L2 cache
  2706. 3Fh-40h reserved
  2707. 41h initialize floppy controller, drives
  2708. 42h initialize hard disk controller, drives
  2709. 43h initialize serial/parallel ports (if PnP)
  2710. 44h reserved
  2711. 45h initialize math coprocessor
  2712. 46h-4Dh reserved
  2713. 4Eh display any error messages
  2714. 4Fh ask for password, if required
  2715. 50h update CMOS RAM
  2716. 51h reserved
  2717. 52h initialize expansion ROMs, PCI, PnP, shadow RAM, power management
  2718. 53h if not PnP, initialize serial/parallel ports; set BIOS time
  2719. 54h-5Fh reserved
  2720. 60h set boot-sector protection
  2721. 61h turn on L2 cache; set boot speed; final chipset/PM initialization
  2722. 62h setup daylight savings time; set NumLock, typematic
  2723. 63h update ESCD (PnP only) if changes; boot system via INT 19h
  2724. B0h spurious interrupt while in protected mode
  2725. B1h unclaimed NMI
  2726. BEh chipset default initialization
  2727. BFh chipset initialization
  2728. C0h turn off chipset cache, init DMA/PIC/timer/RTC with default values
  2729. C1h check on-board DRAM and cache size
  2730. C3h test first 256K DRAM, expand compressed BIOS image into DRAM
  2731. C5h early shadow-RAM enable for faster boot
  2732. FFh system is booting operating system
  2733. SeeAlso: #P119
  2734. ----------P0080008F--------------------------
  2735. PORT 0080-008F - DMA PAGE REGISTERS (74612)
  2736.  
  2737. 0080 RW extra page register (temporary storage)
  2738. 0081 RW DMA channel 2 address byte 2
  2739. 0082 RW DMA channel 3 address byte 2
  2740. 0083 RW DMA channel 1 address byte 2
  2741. 0084 RW extra page register
  2742. 0085 RW extra page register
  2743. 0086 RW extra page register
  2744. 0087 RW DMA channel 0 address byte 2
  2745. 0088 RW extra page register
  2746. 0089 RW DMA channel 6 address byte 2
  2747. 008A RW DMA channel 7 address byte 2
  2748. 008B RW DMA channel 5 address byte 2
  2749. 008C RW extra page register
  2750. 008D RW extra page register
  2751. 008E RW extra page register
  2752. 008F RW DMA refresh page register
  2753. ----------P0080009F--------------------------
  2754. PORT 0080-009F - Intel386sx CHIPSET 82231
  2755. Note: includes the DMA controller functionality on PORT 0080h to PORT 008Fh
  2756. ----------P0084------------------------------
  2757. PORT 0084 - Compaq POST Diagnostic
  2758. --------X-P0084------------------------------
  2759. PORT 0084 - EISA - SYNCHRONIZE BUS CYCLE
  2760. ----------P00850086--------------------------
  2761. PORT 0085-0086 - Intel "Triton" chipset - ???
  2762. SeeAlso: PORT 00EBh"Triton"
  2763.  
  2764. 0085 ?W ???
  2765. 0086 ?W ???
  2766. ----------P0090009F--------------------------
  2767. PORT 0090-009F - PS/2 - POS (PROGRAMMABLE OPTION SELECT)
  2768.  
  2769. 0090 ?? Central arbitration control port
  2770. 0090 RW POST diagnostic code (most PS/2 with ISA bus)
  2771. 0091 R- Card selection feedback
  2772. bit 0 set when adapter addressed and responds, cleared on read
  2773. 0092 RW PS/2 system control port A (port B is at PORT 0061h) (see #P121)
  2774. 0094 -W system board enable/setup register (see #P122)
  2775. 0095 -- reserved
  2776. 0096 -W adapter enable / setup register (see #P123)
  2777. 0097 -- reserved
  2778.  
  2779. Bitfields for PS/2 system control port A:
  2780. Bit(s) Description (Table P121)
  2781. 7-6 any bit set to 1 turns activity light on
  2782. 5 unused
  2783. 4 watchdog timout occurred
  2784. 3 =0 RTC/CMOS security lock (on password area) unlocked
  2785. =1 CMOS locked (done by POST)
  2786. 2 unused
  2787. 1 A20 is active
  2788. 0 =0 system reset or write
  2789. =1 pulse alternate reset pin (high-speed alternate CPU reset)
  2790. Note: once set, bit 3 may only be cleared by a power-on reset
  2791. SeeAlso: #P122,#P123,MSR 00001000h
  2792.  
  2793. Bitfields for PS/2 system board enable/setup register:
  2794. Bit(s) Description (Table P122)
  2795. 7 =1 enable functions
  2796. =0 setup functions
  2797. 5 =1 enables VGA
  2798. =0 setup VGA
  2799. 2 =1 enable integrated SCSI (PS/2 M77)
  2800. =0 setup integrated SCSI
  2801. SeeAlso: #P121,#P123
  2802.  
  2803. Bitfields for PS/2 adapter enable/setup register:
  2804. Bit(s) Description (Table P123)
  2805. 7 activate Channel Reset on all slots
  2806. 6-4 unused (1)
  2807. 3 =1 setup adapter specified by bits 2-0
  2808. =0 enable registers
  2809. 2-0 adapter slot select (000 = slot 1 ... 111 = slot 8)
  2810. SeeAlso: #P122
  2811. ----------P00A000AF--------------------------
  2812. PORT 00A0-00AF - PIC 2 - PROGRAMMABLE INTERRUPT CONTROLLER (8259A)
  2813. SeeAlso: PORT 0020h-003Fh"PIC 1",INT 70"IRQ8",INT 77"IRQ15"
  2814.  
  2815. 00A0 RW NMI mask register (XT)
  2816. bit 7 = 0 disabled
  2817. = 1 enabled
  2818. 00A0 RW PIC 2 same as 0020 for PIC 1
  2819. 00A1 RW PIC 2 same as 0021 for PIC 1 except for OCW1 (see #P124)
  2820.  
  2821. Bitfields for PIC2 output control word OCW2:
  2822. Bit(s) Description (Table P124)
  2823. 7 disable IRQ15 (reserved)
  2824. 6 disable IRQ14 (fixed disk interrupt)
  2825. 5 disable IRQ13 (coprocessor exception interrupt)
  2826. 4 disable IRQ12 (mouse interrupt)
  2827. 3 disable IRQ11 (reserved)
  2828. 2 disable IRQ10 (reserved)
  2829. 1 disable IRQ9 (redirect cascade)
  2830. 0 disable IRQ8 (real-time clock interrupt)
  2831. SeeAlso: #P014
  2832. ----------P00B000BF--------------------------
  2833. PORT 00B0-00BF - PC radio by CoZet Info Systems
  2834. Range: The I/O address range is dipswitch selectable from:
  2835. 038-03F and 0B0-0BF
  2836. 078-07F and 0F0-0FF
  2837. 138-13F and 1B0-1BF
  2838. 178-17F and 1F0-1FF
  2839. 238-23F and 2B0-2BF
  2840. 278-27F and 2F0-2FF
  2841. 338-33F and 3B0-3BF
  2842. 378-37F and 3F0-3FF
  2843. Notes: All of these addresses show a readout of FFh in initial state.
  2844. Once started, all of the addresses show FBh, whatever might happen.
  2845. ----------P00B2------------------------------
  2846. PORT 00B2 - Intel chipsets - Advanced Power Management Control
  2847. Notes: used to pass data between the operating system and the System
  2848. Management Interrupt (SMI) handler
  2849. writes to this port can cause an SMI; reads can cause STPCLK# to be
  2850. asserted (putting the CPU in sleep mode)
  2851. supported by 82420EX, 82371, and other Intel chipsets
  2852. SeeAlso: PORT 00B3h,#0875
  2853.  
  2854. 00B2 RW control
  2855. ----------P00B3------------------------------
  2856. PORT 00B3 - Intel chipsets - Advanced Power Management Status
  2857. Notes: used to pass data between the operating system and the System
  2858. Management Interrupt (SMI) handler
  2859. supported by 82420EX, 82371, and other Intel chipsets
  2860. SeeAlso: PORT 00B2h
  2861.  
  2862. 00B3 RW status
  2863. ----------P00C0------------------------------
  2864. PORT 00C0 - TI SN746496 programmable tone/noise generator (PCjr)
  2865. ----------P00C000DF--------------------------
  2866. PORT 00C0-00DF - DMA 2 - SECOND DIRECT MEMORY ACCESS CONTROLLER (8237)
  2867.  
  2868. 00C0 RW DMA channel 4 memory address bytes 1 and 0 (low) (ISA, EISA)
  2869. 00C2 RW DMA channel 4 transfer count bytes 1 and 0 (low) (ISA, EISA)
  2870. 00C4 RW DMA channel 5 memory address bytes 1 and 0 (low) (ISA, EISA)
  2871. 00C6 RW DMA channel 5 transfer count bytes 1 and 0 (low) (ISA, EISA)
  2872. 00C8 RW DMA channel 6 memory address bytes 1 and 0 (low) (ISA, EISA)
  2873. 00CA RW DMA channel 6 transfer count bytes 1 and 0 (low) (ISA, EISA)
  2874. 00CC RW DMA channel 7 memory address byte 0 (low), then 1 (ISA, EISA)
  2875. 00CE RW DMA channel 7 transfer count byte 0 (low), then 1 (ISA, EISA)
  2876.  
  2877. 00D0 R- DMA channel 4-7 status register (ISA, EISA) (see #P125)
  2878. 00D0 -W DMA channel 4-7 command register (ISA, EISA) (see #P126)
  2879. 00D2 -W DMA channel 4-7 write request register (ISA, EISA)
  2880. 00D4 -W DMA channel 4-7 write single mask register (ISA, EISA) (see #P128)
  2881. 00D6 -W DMA channel 4-7 mode register (ISA, EISA) (see #P129)
  2882. 00D8 -W DMA channel 4-7 clear byte pointer flip-flop (ISA, EISA)
  2883.  
  2884. 00DA R- DMA channel 4-7 read temporary register (ISA, EISA)
  2885. 00DA -W DMA channel 4-7 master clear (ISA, EISA)
  2886. 00DC -W DMA channel 4-7 clear mask register (ISA, EISA)
  2887. 00DE -W DMA channel 4-7 write mask register (ISA, EISA) (see #P130)
  2888. Notes: the temporary register is used as holding register in memory-to-memory
  2889. DMA transfers; it holds the last transferred byte
  2890. channel 4 is used for cascading the first (8-bit) DMA controller
  2891. base/current address registers can only address the memory in 16-bit
  2892. words (i.e. they contain lines A1-A16 of the address bus with line
  2893. A0 always equal to 0); base/current word count registers contain the
  2894. number of 16-bit words
  2895. command and request registers do not exist on PS/2 DMA controller
  2896.  
  2897. Bitfields for DMA channel 4-7 status register:
  2898. Bit(s) Description (Table P125)
  2899. 7 = 1 channel 7 request
  2900. 6 = 1 channel 6 request
  2901. 5 = 1 channel 5 request
  2902. 4 = 1 channel 4 request
  2903. 3 = 1 terminal count on channel 7
  2904. 2 = 1 terminal count on channel 6
  2905. 1 = 1 terminal count on channel 5
  2906. 0 = 1 terminal count on channel 4
  2907. SeeAlso: #P001,#P126
  2908.  
  2909. Bitfields for DMA channel 4-7 command register:
  2910. Bit(s) Description (Table P126)
  2911. 7 DACK sense active high
  2912. 6 DREQ sense active high
  2913. 5 =1 extended write selection
  2914. =0 late write selection
  2915. 4 rotating priority instead of fixed priority
  2916. 3 compressed timing
  2917. 2 =1 enable controller
  2918. =0 enable memory-to-memory transfer
  2919. 1-0 channel number (00 = 4 to 11 = 7)
  2920. SeeAlso: #P002,#P125,#P128
  2921.  
  2922. Bitfields for DMA channel 4-7 request register:
  2923. Bit(s) Description (Table P127)
  2924. 7-3 reserved (0)
  2925. 2 =0 clear request bit
  2926. =1 set request bit
  2927. 1-0 channel number
  2928. 00 channel 4 select
  2929. 01 channel 5 select
  2930. 10 channel 6 select
  2931. 11 channel 7 select
  2932. SeeAlso: #P003,#P128
  2933.  
  2934. Bitfields for DMA channel 4-7 write single mask register:
  2935. Bit(s) Description (Table P128)
  2936. 7-3 reserved
  2937. 2 =0 clear mask bit
  2938. =1 set mask bit
  2939. 1-0 channel select
  2940. 00 channel 4 select
  2941. 01 channel 5 select
  2942. 10 channel 6 select
  2943. 11 channel 7 select
  2944. SeeAlso: #P004,#P126
  2945.  
  2946. Bitfields for DMA channel 4-7 mode register:
  2947. Bit(s) Description (Table P129)
  2948. 7-6 transfer mode
  2949. 00 demand mode
  2950. 01 single mode
  2951. 10 block mode
  2952. 11 cascade mode
  2953. 5 direction
  2954. 0 address increment select
  2955. 1 address decrement select
  2956. 4 autoinitialisation enabled
  2957. 3-2 operation
  2958. 00 verify operation
  2959. 01 write to memory
  2960. 10 read from memory
  2961. 11 reserved
  2962. 1-0 channel number
  2963. 00 channel 4 select
  2964. 01 channel 5 select
  2965. 10 channel 6 select
  2966. 11 channel 7 select
  2967. SeeAlso: #P005,#P128
  2968.  
  2969. Bitfields for DMA channel 4-7 write mask register:
  2970. Bit(s) Description (Table P130)
  2971. 7-4 reserved
  2972. 3 channel 7 mask bit
  2973. 2 channel 6 mask bit
  2974. 1 channel 5 mask bit
  2975. 0 channel 4 mask bit
  2976. Note: each mask bit is automatically set when the corresponding channel
  2977. reaches terminal count or an extenal EOP sigmal is received
  2978. SeeAlso: #P128,#P006
  2979. ----------P00E000E1--------------------------
  2980. PORT 00E0-00E1 - CHIPSET FROM ACT
  2981.  
  2982. 00E0 ?W index for accesses to data port
  2983. 00E1 R? chip set data
  2984. ----------P00E000E7--------------------------
  2985. PORT 00E0-00E7 - MICROCHANNEL
  2986.  
  2987. 00E0 RW split address register, memory encoding registers PS/2m80 only
  2988. (see #P131)
  2989. 00E1 RW memory register (see #P132,#P133)
  2990. 00E3 RW error trace (bits 23-16 of address on last rising edge of ERS line)
  2991. 00E4 RW error trace (bits 15-8 of address on last rising edge of ERS line)
  2992. 00E5 RW error trace (see #P134)
  2993. 00E7 RW error trace (see #P135)
  2994.  
  2995. Bitfields for Microchannel Split Address Register:
  2996. Bit(s) Description (Table P131)
  2997. 7-6 unused
  2998. 5-4 2MB memory for connector 2 on Type2 motherboard
  2999. bit 5: second MB disabled or not present
  3000. bit 4: first MB disabled or not present
  3001. 3-0 address at which to place leftover from split in first MB, in MB
  3002. (1-15, 0 is invalid when split is active)
  3003. SeeAlso: #P132,#P133
  3004.  
  3005. Bitfields for Microchanel Memory Register, Type1 motherboard:
  3006. Bit(s) Description (Table P132)
  3007. 7-6 1 MB memory for connector 2
  3008. 10 installed
  3009. 11 not installed
  3010. 5-4 1 MB memory for connector 1
  3011. 10 installed
  3012. 11 not installed
  3013. 3-1 split memory select
  3014. ROM convmem over1M
  3015. 001 ON 640K 384K
  3016. 011 ON 512K 512K
  3017. 100 shadow 640K 0K
  3018. 101 ON 640K 0K
  3019. 110 shadow 512K 0K
  3020. 111 ON 512K 0K
  3021. 0 parity checking
  3022. =0 enable
  3023. =1 clear parity error (write 0 to re-enable parity checking)
  3024. SeeAlso: #P131,#P133
  3025.  
  3026. Bitfields for Microchannel Memory Register, Type2 motherboard:
  3027. Bit(s) Description (Table P133)
  3028. 7-6 unused
  3029. 5-4 memory connector 1
  3030. bit 5: second MB disabled or not present
  3031. bit 4: first MB disabled or not present
  3032. 3-1 split memory select
  3033. ROM convmem over1M
  3034. 000 shadow 640K 256K
  3035. 001 ON 640K 384K
  3036. 010 shadow 512K 384K
  3037. 011 ON 512K 512K
  3038. 100 shadow 640K 0K
  3039. 101 ON 640K 0K
  3040. 110 shadow 512K 0K
  3041. 111 ON 512K 0K
  3042. 0 parity checking
  3043. =0 enable
  3044. =1 clear parity error (write 0 to re-enable parity checking)
  3045. SeeAlso: #P131,#P132
  3046.  
  3047. Bitfields for Microchannel Error Trace register E5h:
  3048. Bit(s) Description (Table P134)
  3049. 7-2 bits 7-2 of address on last rising edge of ERS line
  3050. 1 address space (0=I/O, 1=memory)
  3051. 0 =1 bus-master arbitration cycle
  3052. SeeAlso: #P135
  3053.  
  3054. Bitfields for Microchannel Error Trace register E7h:
  3055. Bit(s) Description (Table P135)
  3056. 7-1 unused
  3057. 0 bus cycle type
  3058. =0 control (instruction fetch, halt, interrupt acknowledge)
  3059. =1 data
  3060. SeeAlso: #P134
  3061. ----------P00E000EF--------------------------
  3062. PORT 00E0-00EF - IBM PS/1 CLOCK
  3063. ----------P00E1------------------------------
  3064. PORT 00E1 - STB PowerMEG - ???
  3065. Desc: the STB PowerMEG is a memory expansion card capable of providing EMS
  3066.  
  3067. 00E1 RW ???
  3068. bit 0: ???
  3069. ----------P00EB------------------------------
  3070. PORT 00EB - Intel "Triton" chipset - ???
  3071. SeeAlso: PORT 0085h"Triton"
  3072.  
  3073. 00EB ?W ???
  3074. ----------P00EB------------------------------
  3075. PORT 00EB - DUMMY PORT FOR DELAY???
  3076. Note: on a number of machines, the BIOS appears to write a copy of any
  3077. data sent to numerous other ports to this port as well; it seems
  3078. to be a dummy port used for short delays between writes to other
  3079. ports (used instead of JMP $+2, which no longer delays on Pentium+)
  3080. SeeAlso: PORT 00ED"DUMMY"
  3081.  
  3082. 00EB ?W ???
  3083. ----------P00EC00ED--------------------------
  3084. PORT 00EC-00ED - Compaq LTE Elite
  3085. ----------P00ED------------------------------
  3086. PORT 00ED - DUMMY PORT FOR DELAY???
  3087. Note: on a number of machines, the BIOS appears to write a copy of any
  3088. data sent to numerous other ports to this port as well; it seems
  3089. to be a dummy port used for short delays between writes to other
  3090. ports (used instead of JMP $+2, which no longer delays on Pentium+)
  3091. SeeAlso: PORT 00EB"DUMMY"
  3092.  
  3093. 00EDw ?W ???
  3094. ----------P00EF------------------------------
  3095. PORT 00EF - Hyunday Super-NB386S (AMD386sx with Intel chipset)
  3096. Warning: any access to this port causes a cold reset on this machine!
  3097. ----------P00F000F5--------------------------
  3098. PORT 00F0-00F5 - PCjr Disk Controller
  3099.  
  3100. 00F0 ?? disk controller
  3101. 00F2 ?? disk controller control port
  3102. 00F4 ?? disk controller status register
  3103. 00F5 ?? disk controller data port
  3104. ----------P00F000FF--------------------------
  3105. PORT 00F0-00FF - MATH COPROCESSOR (8087..80387)
  3106.  
  3107. 00F0 -W math coprocessor clear busy latch (write 00h)
  3108. 00F1 -W math coprocessor reset (write 00h)
  3109. 00F8 RW opcode transfer (CPU-coprocessor communication)
  3110. 00FA RW opcode transfer
  3111. 00FC RW opcode transfer
  3112. ----------P00F9------------------------------
  3113. PORT 00F9 - Compaq LTE Elite
  3114. ----------P00FB------------------------------
  3115. PORT 00FB - Compaq LTE Elite
  3116. ----------P00F900FF--------------------------
  3117. PORT 00F9-00FF - PC radio by CoZet Info Systems
  3118. Range: The I/O address range is dipswitch selectable from:
  3119. 038-03F and 0B0-0BF
  3120. 078-07F and 0F0-0FF
  3121. 138-13F and 1B0-1BF
  3122. 178-17F and 1F0-1FF
  3123. 238-23F and 2B0-2BF
  3124. 278-27F and 2F0-2FF
  3125. 338-33F and 3B0-3BF
  3126. 378-37F and 3F0-3FF
  3127. Notes: All of these addresses show a readout of FFh in initial state.
  3128. Once started, all of the addresses show FBh, whatever might happen.
  3129. ----------P0100------------------------------
  3130. PORT 0100 - 3COM 3C509 Ethernet card - ID port
  3131. Note: this port is present only on the 3C509, not on any other 3COM card
  3132. SeeAlso: PORT 0110h,PORT 0120h
  3133. ----------P01000107--------------------------
  3134. PORT 0100-0107 - PS/2 POS (Programmable Option Select)
  3135. Note: the default value for PORT 0102h is stored in CMOS 31h
  3136.  
  3137. 0100 R POS register 0 Low adapter ID byte
  3138. 0101 R POS register 1 High adapter ID byte
  3139. 0102 RW POS register 2 option select data byte 1 (see #P136)
  3140. 0103 RW POS register 3 option select data byte 2
  3141. 0104 RW POS register 4 option select data byte 3
  3142. 0105 RW POS register 5 option select data byte 4
  3143. bit 7 channel active (-CHCK)
  3144. bit 6 channel status
  3145. 0106 RW POS register 6 Low subaddress extension
  3146. 0107 RW POS register 7 High subaddress extension
  3147.  
  3148. Bitfields for PS/2 POS register 2, option select data byte 1:
  3149. Bit(s) Description (Table P136)
  3150. 7 0 = unidirectional LPT port
  3151. 1 = bidirectional LPT port
  3152. 6-5 PS/2 Model 50 and higher
  3153. 00b = default LPT port at 3BCh
  3154. 01b = "" 378h
  3155. 10b = "" 278h
  3156. 11b = reserved
  3157. 4 enable parallel port
  3158. 3 serial port address
  3159. =0 COM2 (02F8h, IRQ3)
  3160. =1 COM1 (03F8h, IRQ4)
  3161. 2 enable serial port
  3162. 1 enable diskette controller
  3163. 0 (MCA) =0 override bits 1,2,4 and disable devices
  3164. 0 card enable (CDEN)
  3165. 0 =1 VGA sleep bit, disconnects output drivers from VGA (usage for VGA
  3166. without monitor)
  3167. ---ET4000---
  3168. 7-4 reserved???
  3169. 3 video RAM wait enable
  3170. 2 ET4000: ROM BIOS wait enable
  3171. 1 ET4000: I/O wait enable
  3172. Note: access to this port is only possible when PORT 0094h bit 7 is low.
  3173. ----------P0100010F--------------------------
  3174. PORT 0100-010F - CompaQ Tape drive adapter. alternate address at 0300
  3175. ----------P0108010F--------------------------
  3176. PORT 0108-010F - IBM PS/2 - 8 digit LED info panel
  3177.  
  3178. 010F -W leftmost character on display
  3179. 010E -W second character
  3180. ...
  3181. 0108 -W eighth character
  3182. ----------P0110------------------------------
  3183. PORT 0110 - 3COM 3C509 Ethernet card - ID port (alternate address)
  3184. Note: this port is present only on the 3C509, not on any other 3COM card
  3185. SeeAlso: PORT 0100h"3COM",PORT 0120h"3COM"
  3186. ----------P0120------------------------------
  3187. PORT 0120 - 3COM 3C509 Ethernet card - ID port (alternate address)
  3188. Note: this port is present only on the 3C509, not on any other 3COM card
  3189. SeeAlso: PORT 0100h"3COM",PORT 0110h"3COM"
  3190. ----------P0130013F--------------------------
  3191. PORT 0130-013F - CompaQ SCSI adapter. alternate address at 0330
  3192. ----------P01300133--------------------------
  3193. PORT 0130-0133 - Adaptec 154xB/154xC SCSI adapter.
  3194. Range: four ports at any of 0130, 0134, 0230, 0234, 0330 (default) or 0334
  3195. ----------P01340137--------------------------
  3196. PORT 0134-0137 - Adaptec 154xB/154xC SCSI adapter.
  3197. Range: four ports at any of 0130, 0134, 0230, 0234, 0330 (default) or 0334
  3198. ----------P0138013F--------------------------
  3199. PORT 0138-013F - PC radio by CoZet Info Systems
  3200. Range: The I/O address range is dipswitch selectable from:
  3201. 038-03F and 0B0-0BF
  3202. 078-07F and 0F0-0FF
  3203. 138-13F and 1B0-1BF
  3204. 178-17F and 1F0-1FF
  3205. 238-23F and 2B0-2BF
  3206. 278-27F and 2F0-2FF
  3207. 338-33F and 3B0-3BF
  3208. 378-37F and 3F0-3FF
  3209. Notes: All of these addresses show a readout of FFh in initial state.
  3210. Once started, all of the addresses show FBh, whatever might happen.
  3211. ----------P0140014F--------------------------
  3212. PORT 0140-014F - SCSI (alternate Small Computer System Interface) adapter
  3213. Note: first adapter is at 0340-034F
  3214. ----------P0140014F--------------------------
  3215. PORT 0140-014F - Xirlink/Relialogic XL-220/221 SCSI adapter
  3216. Range: alternate address at 0150, 0160, 0170
  3217. Notes: XL-220/221 are based on LOGIC Devices L53C80JC4 SCSI controller which
  3218. is compatible with Symbios Logic (formaerly NCR) 53C80
  3219. each SCSI data pin is inverted and compared with correcponding bit
  3220. in the ID select register; if any matches are found while a bus free
  3221. condition exists and SEL is active, SCSI controller will genarate an
  3222. interrupt to indicate a selection or reselection
  3223. pseudo-DMA register is provided by some on-card PLM, and decodes any
  3224. address in the range 01x8-01xF; it should be accessed with 16-bit
  3225. I/O instructions only causing 2 SCSI REQ/ACK hanshakes (8-bit I/O
  3226. is treated as 16-bit, and second byte is lost); delayed assertion of
  3227. the REQ signal or bus free condition on the SCSI bus causes the
  3228. pseudo-DMA register to prolong ISA I/O cycle not asserting IOCHRDY
  3229. signal (SCSI phase mismatch doesn't), and so may cause ISA bus to
  3230. hang in not ready state!
  3231. SCSI BIOS is an 8K ROM located at C8000-CBFFF if I/O port range
  3232. 0140-014F is selected, at CC000-CFFFF if I/O port range 0150-015F
  3233. is selected, at D8000-DBFFF if I/O port range 0160-016F is selected,
  3234. and at DC000-DFFFF if I/O port range 0170-017F is selected
  3235.  
  3236. 0140 R- current SCSI data bus register
  3237. 0140 -W output data register
  3238. 0141 RW initiator command register (see #P137)
  3239. 0142 RW mode register (see #P138)
  3240. 0143 RW target command register (see #P139)
  3241. 0144 R- current SCSI control register (see #P140)
  3242. 0144 -W ID select register
  3243. 0145 R- DMA status register (see #P141)
  3244. 0145 -W start DMA send register
  3245. any write starts DMA send
  3246. 0146 R- input data register
  3247. temporarily holds data byte received from the SCSI bus in DMA mode
  3248. 0146 -W start DMA target receive register
  3249. any write starts target mode DMA receive
  3250. 0147 R- reset error/interrupt register
  3251. any read resets the interrupt request latch and the error latches
  3252. 0147 -W start DMA initiator mode receive register
  3253. any write starts initiator mode DMA receive
  3254. 0148w RW pseudo-DMA register
  3255.  
  3256. Bitfields for initiator command register:
  3257. Bit(s) Description (Table P137)
  3258. 7 assert RST
  3259. 6 (read) arbitration in progress
  3260. (write) test mode
  3261. 5 (read) lost arbitration
  3262. 4 assert ACK
  3263. 3 assert BSY
  3264. 2 assert SEL
  3265. 1 assert ATN
  3266. 0 assert data bus
  3267. SeeAlso: #P138,#P139,#P140,#P141
  3268.  
  3269. Bitfields for mode register:
  3270. Bit(s) Description (Table P138)
  3271. 7 block mode
  3272. 6 target mode
  3273. 5 enable parity check
  3274. 4 enable parity interrupt
  3275. 3 enable end of DMA interrupt
  3276. 2 monitor BSY
  3277. 1 DMA mode
  3278. 0 arbitrate
  3279. SeeAlso: #P137
  3280.  
  3281. Bitfields for target command register:
  3282. Bit(s) Description (Table P139)
  3283. 7 (read) last byte sent
  3284. 6-4 reserved
  3285. 3 assert REQ
  3286. 2 assert MSG
  3287. 1 assert C/D
  3288. 0 assert I/O
  3289. SeeAlso: #P137
  3290.  
  3291. Bitfields for current SCSI control register:
  3292. Bit(s) Description (Table P140)
  3293. 7 RST
  3294. 6 BSY
  3295. 5 REQ
  3296. 4 MSG
  3297. 3 C/D
  3298. 2 I/O
  3299. 1 SEL
  3300. 0 parity
  3301. SeeAlso: #P137
  3302.  
  3303. Bitfields for DMA status register:
  3304. Bit(s) Description (Table P141)
  3305. 7 end of DMA
  3306. 6 DMA request
  3307. 5 parity error
  3308. 4 interrupt request
  3309. 3 phase match
  3310. 2 BSY error
  3311. 1 ATN
  3312. 0 ACK
  3313. SeeAlso: #P137
  3314. ----------P0140014F--------------------------
  3315. PORT 0140-014F - Future Domain TMC-16x0 SCSI adapter
  3316. Range: alternate address at 0150, 0160, 0170
  3317. Notes: TMC-1650/1670 have a 25-pin external connector, whereas the 1660 and
  3318. 1680 have a SCSI-2 50-pin high-density external connector
  3319. TMC-1670/1680 have floppy disk controller built in
  3320. BIOS versions prior to 3.2 assigned SCSI ID 6 to SCSI adapter,
  3321. versions 3.2 and greater use SCSI ID 7
  3322. the drive ordering implemented in BIOS versions 3.4 and 3.5 is the
  3323. opposite of the order (currently) used by the rest of the SCSI
  3324. industry--for example, under DOS SCSI ID 0 will be D: and SCSI ID 1
  3325. will be C:
  3326. Future Domain TMC-16x0 SCSI adapter series are based upon Future Domain
  3327. TMC-1800/18C50/18C30 SCSI controllers
  3328. TMC-1800/18C50/18C30 are ISA SCSI controllers, TMC-36C70 is a PCI
  3329. version of TMC-18C30
  3330. TMC-1800/18C50 have 8K FIFO, TMC-18C30/36C70 have 2K FIFO
  3331. Future Domain TMC-1650/1660/1670/1680/1610M/1610MER/1610MEX SCSI
  3332. adapters are based on TMC-1800/18C50/18C30
  3333. Quantum ISA-200S/250MG SCSI adapters are based on TMC-18C50 (?)
  3334. Future Domain TMC-3260 and Adaptec AHA-2920 PCI SCSI adapters are
  3335. based on TMC-36C70
  3336.  
  3337. 0140 R- read SCSI data register
  3338. 0140 -W write SCSI data register
  3339. 0141 R- SCSI status register (see #P142)
  3340. 0141 -W SCSI control register (see #P143)
  3341. 0142 R- TMC status register (see #P144)
  3342. 0142 -W interrupt control register (see #P145)
  3343. 0143 R- FIFO status register, TMC-18C50/18C30/36C70 chips only
  3344. 0143 -W SCSI mode control register (see #P146)
  3345. 0144 R- interrupt condition register, TMC-18C50/18C30/36C70 only (see #P147)
  3346. 0144 -W TMC control register (see #P148)
  3347. 0145 R- ID code LSB register
  3348. 27h for TMC-1800 chip
  3349. E9h for TMC-18C50/18C30/36C70 chips
  3350. 0145 -W memory control register, TMC-18C50/18C30/36C70 only
  3351. 0146 R- ID code MSB register
  3352. 60h for TMC-18C50/18C30 chips
  3353. 61h for TMC-1800 chip
  3354. 0147 R- read loopback register
  3355. 0147 -W write loopback register
  3356. 0148 RW SCSI data no ACK register
  3357. 0149 R- interrupt status register (see #P149)
  3358. 014A R- configuration register 1 (see #P150)
  3359. 014B R- configuration register 2, TMC-18C50/18C30/36C70 only (see #P151)
  3360. 014B -W I/O control register, TMC-18C30/36C70 only (see #P152)
  3361. 014Cw R- read FIFO data register
  3362. 014Cw -W write FIFO data register
  3363. 014Ew R- FIFO data count register
  3364. Notes: any value written into the write loopback register can be read back
  3365. from the read loopback register unchanged (this is used by the BIOS
  3366. to test the controller)
  3367. reading from read SCSI data register and writing to write SCSI data
  3368. register causes REQ/ACK handshake to occur automatically, reading
  3369. and writing the SCSI data no ACK register doesn't
  3370. SCSI FIFO may be used only for DATA IN / DATA OUT phase transfers on
  3371. TMC-1800; on TMC-18C50/18C30 it may also be used for COMMAND phase
  3372. transfers
  3373.  
  3374. Bitfields for SCSI status register:
  3375. Bit(s) Description (Table P142)
  3376. 7 not BSY
  3377. 6 not MSG
  3378. 5 not I/O
  3379. 4 not C/D
  3380. 3 not REQ
  3381. 2 not SEL
  3382. 1 parity error???
  3383. 0 not ATN
  3384. SeeAlso: #P143,#P152
  3385.  
  3386. Bitfields for SCSI control register:
  3387. Bit(s) Description (Table P143)
  3388. 7 RST
  3389. 6 SEL
  3390. 5 BSY
  3391. 4 ATN
  3392. 3 I/O
  3393. 2 C/D
  3394. 1 MSG
  3395. 0 bus enable
  3396. SeeAlso: #P142,#P144,#P145
  3397.  
  3398. Bitfields for TMC status register:
  3399. Bit(s) Description (Table P144)
  3400. 7 bus enabled
  3401. 6 parity enabled
  3402. 5 FIFO enabled
  3403. 4 =1 data are expected to flow out from FIFO to SCSI bus
  3404. =0 data are expected to flow from SCSI bus into FIFO
  3405. 3 SCSI reset
  3406. 2 ???
  3407. 1 arbitration complete
  3408. 0 interrupt request
  3409. SeeAlso: #P143
  3410.  
  3411. Bitfields for interrupt control register:
  3412. Bit(s) Description (Table P145)
  3413. 7 enable interrupt on REQ
  3414. 6 enable interrupt on SEL
  3415. 5 enable arbitration interrupt
  3416. 4 enable interrupt on ???
  3417. 0-3 FIFO threshold (how many 512 byte blocks in FIFO should be
  3418. full/empty for interrupt to be generated)
  3419. SeeAlso: #P143
  3420.  
  3421. Bitfields for SCSI mode control register:
  3422. Bit(s) Description (Table P146)
  3423. 7 synchronous mode
  3424. 6 fast SCSI
  3425. 5-4 reserved?
  3426. 3-0 synchronous transfer period in 25 ns units
  3427. SeeAlso: #P143
  3428.  
  3429. Bitfields for interrupt condition register:
  3430. Bit(s) Description (Table P147)
  3431. 7 FIFO error interrupt
  3432. 6 forced interrupt???
  3433. 5 interrupt on RST
  3434. 4 arbitration interrupt
  3435. 3 interrupt on SEL
  3436. 2 interrupt on REQ
  3437. 1 interrupt on ???
  3438. 0 ???
  3439. SeeAlso: #P143
  3440.  
  3441. Bitfields for TMC control register:
  3442. Bit(s) Description (Table P148)
  3443. 7 enable FIFO
  3444. 6 =1 data are expected to flow out from FIFO to SCSI bus
  3445. =0 data are expected to flow from SCSI bus into FIFO
  3446. 5 clear forced interrupt, TMC-18C50/18C30/36C70 only
  3447. 4 enable interrupt
  3448. 3 enable parity
  3449. 2 arbitrate
  3450. 1 force interrupt???
  3451. 0 clear SCSI reset flag???
  3452. SeeAlso: #P143
  3453. Note: on the TMC-1800 the FIFO must be enabled and bit 6 must be set
  3454. according to the expected data direction before a data phase will
  3455. occur (the TMC-1800 probably doesn't generate interrupts on REQ in
  3456. DATA IN / DATA OUT phases); on the TMC-18C50/18C30 it may be done
  3457. when the interrupt on REQ occurs and the SCSI phase is
  3458. DATA IN, DATA OUT or COMMAND
  3459.  
  3460. Bitfields for interrupt status register:
  3461. Bit(s) Description (Table P149)
  3462. 7 interrupt on REQ enabled
  3463. 6 interrupt on SEL enabled
  3464. 5 arbitration interrupt enabled
  3465. 4 interrupt on ??? enabled
  3466. 3 interrupt enabled
  3467. 2 ???
  3468. 1 always set???
  3469. 0 ???
  3470. SeeAlso: #P143
  3471.  
  3472. Bitfields for configuration register 1:
  3473. Bit(s) Description (Table P150)
  3474. 7-6 BIOS address range
  3475. 00 C8000h-C9FFFh
  3476. 01 CA000h-CBFFFh
  3477. 10 CE000h-CFFFFh
  3478. 11 DE000h-DFFFFh
  3479. 5-4 I/O address range
  3480. 00 140h-14Fh
  3481. 01 150h-15Fh
  3482. 10 160h-16Fh
  3483. 11 170h-17Fh
  3484. 3-1 interrupt select
  3485. 000 IRQ3
  3486. 001 IRQ5
  3487. 010 IRQ10
  3488. 011 IRQ11
  3489. 100 IRQ12
  3490. 101 IRQ14
  3491. 110 IRQ15
  3492. 111 no IRQ
  3493. 0 reserved???
  3494. Note: the seven on-board configuration jumpers are read through this register
  3495. SeeAlso: #P143,#P151
  3496.  
  3497. Bitfields for configuration register 2:
  3498. Bit(s) Description (Table P151)
  3499. 7 32-bit mode enabled (TMC-18C30/36C70 only???)
  3500. 6-2 ???
  3501. 1 RAM disabled (TMC-18C30/36C70 only???)
  3502. 0 ???
  3503. Note: 256 byte on-chip RAM is mapped at offset 1F00h within the BIOS segment
  3504. SeeAlso: #P143,#P150
  3505.  
  3506. Bitfields for TMC control register:
  3507. Bit(s) Description (Table P152)
  3508. 7 enable 32-bit mode
  3509. 6-0 ???
  3510. SeeAlso: #P143
  3511. --------d-P0140014F--------------------------
  3512. PORT 0140-014F - Quantum ISA-200S/250MG SCSI adapter
  3513. Range: alternate address at 0150, 0160, 0170
  3514. Note: Quantum ISA-200S/250MG SCSI adapters are based upon Future Domain
  3515. TMC-18C50 SCSI controller (???)
  3516. SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
  3517. ----------P01400157--------------------------
  3518. PORT 0140-0157 - RTC (alternate Real Time Clock for XT) (1st at 0340-0357)
  3519. ----------P0150015F--------------------------
  3520. PORT 0150-015F - Xirlink/Relialogic XL-220/221 SCSI adapter
  3521. Range: alternate address at 0140, 0160, 0170
  3522. ----------P0150015F--------------------------
  3523. PORT 0150-015F - Future Domain TMC-16x0 SCSI adapter
  3524. Range: alternate address at 0140, 0160, 0170
  3525. --------d-P0150015F--------------------------
  3526. PORT 0150-015F - Quantum ISA-200S/250MG SCSI adapter
  3527. Range: alternate address at 0140, 0160, 0170
  3528. Note: Quantum ISA-200S/250MG SCSI adapters are based upon Future Domain
  3529. TMC-18C50 SCSI controller (???)
  3530. SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
  3531. ----------P015C015D--------------------------
  3532. PORT 015C-015D - Dell Enhanced Parallel Port
  3533. SeeAlso: PORT 002Eh,PORT 026Eh,PORT 0398h
  3534.  
  3535. 015C -W index for data port
  3536. 015D RW EPP command data
  3537. ----------P015F------------------------------
  3538. PORT 015F - ARTEC Handyscanner A400Z. alternate address at 35F.
  3539. ----------P0160016F--------------------------
  3540. PORT 0160-016F - Xirlink/Relialogic XL-220/221 SCSI adapter
  3541. Range: alternate address at 0140, 0150, 0170
  3542. ----------P0160016F--------------------------
  3543. PORT 0160-016F - Future Domain TMC-16x0 SCSI adapter
  3544. Range: alternate address at 0140, 0150, 0170
  3545. --------d-P0160016F--------------------------
  3546. PORT 0160-016F - Quantum ISA-200S/250MG SCSI adapter
  3547. Range: alternate address at 0140, 0150, 0170
  3548. Note: Quantum ISA-200S/250MG SCSI adapters are based upon Future Domain
  3549. TMC-18C50 SCSI controller (???)
  3550. SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
  3551. ----------P0168016F--------------------------
  3552. PORT 0168-016F - 4th (Quaternary) EIDE Controller
  3553. Range: 01F0-01F7 for primary controller, 0170-0177 for secondary controller
  3554. SeeAlso: PORT 0170h-0177h,PORT 01E8h-01EFh,PORT 01F0h-01F7h
  3555. ----------P01700177--------------------------
  3556. PORT 0170-0177 - HDC 2 (2nd Fixed Disk Controller) (ISA, EISA)
  3557. Range: 01F0-01F7 for primary controller, 0170-0177 for secondary controller
  3558. SeeAlso: PORT 0168h-016Fh,PORT 01E8h-01EFh,PORT 01F0h-01F7h
  3559. ----------P0170017F--------------------------
  3560. PORT 0170-017F - Xirlink/Relialogic XL-220/221 SCSI adapter
  3561. Range: alternate address at 0140, 0150, 0160
  3562. ----------P0170017F--------------------------
  3563. PORT 0170-017F - Future Domain TMC-16x0 SCSI adapter
  3564. Range: alternate address at 0140, 0150, 0160
  3565. --------d-P0170017F--------------------------
  3566. PORT 0170-017F - Quantum ISA-200S/250MG SCSI adapter
  3567. Range: alternate address at 0140, 0150, 0160
  3568. Note: Quantum ISA-200S/250MG SCSI adapters are based upon Future Domain
  3569. TMC-18C50 SCSI controller (???)
  3570. SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
  3571. ----------P01780179--------------------------
  3572. PORT 0178-0179 - Power Management
  3573. SeeAlso: PORT 0026h,#P086
  3574.  
  3575. 0178 -W index selection for data port
  3576. 0179 RW power management data
  3577. ----------P0178017F--------------------------
  3578. PORT 0178-017F - PC radio by CoZet Info Systems
  3579. Range: The I/O address range is dipswitch selectable from:
  3580. 038-03F and 0B0-0BF
  3581. 078-07F and 0F0-0FF
  3582. 138-13F and 1B0-1BF
  3583. 178-17F and 1F0-1FF
  3584. 238-23F and 2B0-2BF
  3585. 278-27F and 2F0-2FF
  3586. 338-33F and 3B0-3BF
  3587. 378-37F and 3F0-3FF
  3588. Notes: All of these addresses show a readout of FFh in initial state.
  3589. Once started, all of the addresses show FBh, whatever might happen.
  3590. ----------P01CE01CF--------------------------
  3591. PORT 01CE-01CF - ATI Mach32 video chipset - ???
  3592.  
  3593. 01CE -W index register
  3594. 01CF RW data register
  3595. ----------P01E801EF--------------------------
  3596. PORT 01E8-01EF - Headland HL21 & Acer M5105 chipsets - SYSTEM CONTROL
  3597.  
  3598. 01ED RW select internal register. Data to/from 01EF
  3599. 01EE R- ???
  3600. 01EF RW register value
  3601. 05h = 1000xxxx for low CPU clock speed (4MHz on Morse/Mitac)
  3602. = 0xxxxxxx for high CPU clock speed (16MHz on Morse/Mitac)
  3603. 10h memory size
  3604. bits 2-0 = size
  3605. (undefined,512K,640K,1024K,2560K,2048K,4096K,undef.)
  3606. 14h ???
  3607. bit 2: 384K RAM of first 1024K relocated to top of memory
  3608. ----------P01E801EF--------------------------
  3609. PORT 01E8-01EF - 3rd (Tertiary) EIDE Controller
  3610. Range: 01F0-01F7 for primary controller, 0170-0177 for secondary controller
  3611. SeeAlso: PORT 0168h-016Fh,PORT 0170h-0177h,PORT 01F0h-01F7h
  3612. ----------P01F001F7--------------------------
  3613. PORT 01F0-01F7 - HDC 1 (1st Fixed Disk Controller) (ISA, EISA)
  3614. Range: 01F0-01F7 for primary controller, 0170-0177 for secondary controller
  3615. SeeAlso: PORT 0170h-0177h,PORT 3510h-3513h
  3616.  
  3617. 01F0 RW data register
  3618. 01F1 R- error register (see #P153)
  3619. 01F1 -W WPC/4 (Write Precompensation Cylinder divided by 4)
  3620. 01F2 RW sector count
  3621. 01F3 RW sector number (CHS mode)
  3622. logical block address, bits 0-7 (LBA mode)
  3623. 01F4 RW cylinder low (CHS mode)
  3624. logical block address, bits 15-8 (LBA mode)
  3625. 01F5 RW cylinder high (CHS mode)
  3626. logical block address, bits 23-16 (LBA mode)
  3627. 01F6 RW drive/head (see #P154)
  3628. 01F7 R- status register (see #P155)
  3629. 01F7 -W command register (see #P156)
  3630.  
  3631. Bitfields for Hard Disk Controller error register:
  3632. Bit(s) Description (Table P153)
  3633. ---diagnostic mode errors---
  3634. 7 which drive failed (0 = master, 1 = slave)
  3635. 6-3 reserved
  3636. 2-0 error code
  3637. 001 no error detected
  3638. 010 formatter device error
  3639. 011 sector buffer error
  3640. 100 ECC circuitry error
  3641. 101 controlling microprocessor error
  3642. ---operation mode---
  3643. 7 bad block detected
  3644. 6 uncorrectable ECC error
  3645. 5 reserved
  3646. 4 ID found
  3647. 3 reserved
  3648. 2 command aborted prematurely
  3649. 1 track 000 not found
  3650. 0 DAM not found (always 0 for CP-3022)
  3651. SeeAlso: #P154,#P155
  3652.  
  3653. Bitfields for hard disk controller drive/head specifier:
  3654. Bit(s) Description (Table P154)
  3655. 7 =1
  3656. 6 LBA mode enabled, rather than default CHS mode
  3657. 5 =1
  3658. 4 drive select (0 = drive 0, 1 = drive 1)
  3659. 3-0 head select bits (CHS mode)
  3660. logical block address, bits 27-24 (LBA mode)
  3661. SeeAlso: #P153,#P155
  3662.  
  3663. Bitfields for hard disk controller status register:
  3664. Bit(s) Description (Table P155)
  3665. 7 controller is executing a command
  3666. 6 drive is ready
  3667. 5 write fault
  3668. 4 seek complete
  3669. 3 sector buffer requires servicing
  3670. 2 disk data read successfully corrected
  3671. 1 index - set to 1 each disk revolution
  3672. 0 previous command ended in an error
  3673. SeeAlso: #P153,#P156
  3674.  
  3675. (Table P156)
  3676. Values for hard disk controller command codes:
  3677. Command Spec Type Proto Description class:
  3678. 00h opt nondata NOP
  3679. 08h device reset
  3680. 1xh opt nondata recalibrate 1
  3681. 20h req PIOin read sectors with retry 1
  3682. 21h req PIOin read sectors without retry 1
  3683. 22h req PIOin read long with retry 1
  3684. 23h req PIOin read long without retry 1
  3685. 30h req PIOout write sectors with retry 2
  3686. 31h req PIOout write sectors without retry 2
  3687. 32h req PIOout write long with retry 2
  3688. 33h req PIOout write long without retry 2
  3689. 3Ch IDE opt PIOout write verify 3
  3690. 40h req nondata read verify sectors with retry 1
  3691. 41h req nondata read verify sectors without retry 1
  3692. 50h req vend format track 2
  3693. 7xh req nondata seek 1
  3694. 8xh IDE vendor vend vendor unique 3
  3695. 90h req nondata execute drive diagnostics 1
  3696. 91h req nondata initialize drive parameters 1
  3697. 92h opt PIOout download microcode
  3698. 94h E0h IDE opt nondata standby immediate 1
  3699. 95h E1h IDE opt nondata idle immediate 1
  3700. 96h E2h IDE opt nondata standby 1
  3701. 97h E3h IDE opt nondata idle 1
  3702. 98h E5h IDE opt nondata check power mode 1
  3703. 99h E6h IDE opt nondata set sleep mode 1
  3704. 9Ah IDE vendor vend vendor unique 1
  3705. A0h ATAPI packet command
  3706. A1h ATAPI opt PIOin ATAPI Identify (see #P165)
  3707. B0h SMART opt Self Mon., Analysis, Rept. Tech. (see #P167)
  3708. C0h-C3h IDE vendor vend vendor unique 2
  3709. C4h IDE opt PIOin read multiple 1
  3710. C5h IDE opt PIOout write multiple 3
  3711. C6h IDE opt nondata set multiple mode 1
  3712. C7h ATA-4 Read DMA O/Q
  3713. C8h IDE opt DMA read DMA with retry 1
  3714. C9h IDE opt DMA read DMA without retry 1
  3715. CAh IDE opt DMA write DMA with retry 3
  3716. CBh IDE opt DMA write DMA w/out retry 3
  3717. CCh ATA-4 Write DMA O/Q
  3718. DAh get media status
  3719. DBh ATA-2 opt vend acknowledge media chng [Removable]
  3720. DCh ATA-2 opt vend Boot / Post-Boot [Removable]
  3721. DDh ATA-2 opt vend Boot / Pre-Boot (ATA-2) [Removable]
  3722. DEh ATA-2 opt vend door lock [Removable]
  3723. DFh ATA-2 opt vend door unlock [Removable]
  3724. E0h-E3h (second half of commands 94h-96h)
  3725. E4h IDE opt PIOin read buffer 1
  3726. E5h-E6h (second half of commands 98h-99h)
  3727. E8h IDE opt PIOout write buffer 2
  3728. E9h IDE opt PIOout write same 3
  3729. EAh ATA-3 opt Secure Disable [Security Mode]
  3730. EAh ATA-3 opt Secure Lock [Security Mode]
  3731. EAh ATA-3 opt Secure State [Security Mode]
  3732. EAh ATA-3 opt Secure Enable WriteProt [Security Mode]
  3733. EBh ATA-3 opt Secure Enable [Security Mode]
  3734. EBh ATA-3 opt Secure Unlock [Security Mode]
  3735. ECh IDE req PIOin identify drive 1 (see #P157)
  3736. EDh ATA-2 opt nondata media eject [Removable]
  3737. EEh ATA-3 opt identify device DMA (see #P157)
  3738. EFh IDE opt nondata set features 1 (see #P175)
  3739. F0h-F4h IDE vend EATA standard
  3740. F1h Security Set Password
  3741. F2h Security Unlock
  3742. F3h Security Erase Prepare
  3743. F4h Security Erase Unit
  3744. F5h-FFh IDE vendor vend vendor unique 4
  3745. F5h Security Freeze Lock
  3746. F6h Security Disable Password
  3747. SeeAlso: #P153,#P155
  3748.  
  3749. Format of IDE/ATA Identify Drive information:
  3750. Offset Size Description (Table P157)
  3751. 00h WORD general configuration (see #P158)
  3752. 02h WORD number of logical cylinders
  3753. 04h WORD reserved
  3754. 06h WORD number of logical heads
  3755. 08h WORD vendor-specific (obsolete: unformatted bytes per track)
  3756. 0Ah WORD vendor-specific (obsolete: unformatted bytes per sector)
  3757. 0Ch WORD number of logical sectors
  3758. 0Eh WORD vendor-specific
  3759. 10h WORD vendor-specific
  3760. 12h WORD vendor-specific
  3761. 14h 10 WORDs serial number
  3762. no serial number if first word is 0000h
  3763. else blank-padded ASCII serial number
  3764. 28h WORD vendor-specific
  3765. [buffer type: 01h single-sector, 02h multisector,
  3766. 03h multisector with read cache]
  3767. 2Ah WORD controller buffer size in 512-byte sectors
  3768. 0000h = unspecified
  3769. 2Ch WORD number of vendor-specific (usually ECC) bytes on
  3770. Read/Write Long; 0000h = unspecified
  3771. 2Eh 4 WORDs firmware revision
  3772. no revision number if first word is 0000h
  3773. else blank-padded ASCII revision number
  3774. 36h 20 WORDs model number
  3775. no model number if first word is 0000h
  3776. else blank-padded ASCII model string
  3777. 5Eh WORD read/write multiple support
  3778. bits 7-0: maximum number of sectors per block supported
  3779. 00h if read/write multiple not supported
  3780. bits 15-8: vendor-specified
  3781. 60h WORD able to do doubleword transfers if nonzero
  3782. 62h WORD capabilities (see #P159)
  3783. 64h WORD security mode
  3784. bit 15: security-mode feature set supported
  3785. bits 14-8: maximum number of passwords supported
  3786. 66h WORD PIO data transfer cycle timing
  3787. 68h WORD single-word DMA data transfer cycle timing
  3788. 6Ah WORD field validity
  3789. bit 0: offsets 6Ch-75h valid
  3790. bit 1: offsets 80h-8Dh valid
  3791. 6Ch WORD logical cylinders in current translation mode
  3792. 6Eh WORD logical heads in current translation mode
  3793. 70h WORD logical sectors per track in current translation mode
  3794. 72h DWORD current capacity in sectors (excluding device-specific uses)
  3795. 76h WORD multiple-sector support
  3796. bits 7-0: count for read/write multiple command
  3797. bit 8: multiple-sector setting is valid
  3798. 78h DWORD total number of user-addressable sectors (LBA mode)
  3799. 00000000h if LBA mode not supported
  3800. 7Ch WORD single-word DMA transfer modes
  3801. low byte is bitmap of supported modes (bit 0 = mode 0, etc.)
  3802. high bytes is bitmap of active mode (bit 8 = mode 0, etc.)
  3803. 7Eh WORD multiword DMA transfer
  3804. low byte is bitmap of supported modes (bit 0 = mode 0, etc.)
  3805. high byte is bitmap of active mode (bit 8 = mode 0, etc.)
  3806. 80h WORD supported flow control PIO transfer modes
  3807. 82h WORD minimum multiword DMA transfer cycle time in ns
  3808. 84h WORD recommended multiword DMA cycle time in ns
  3809. 86h WORD minimum non-flow-control PIO transfer cycle time in ns
  3810. 88h WORD minimum PIO transfer cycle time with IORDY in ns
  3811. 8Ah 2 WORDs reserved for future PIO modes (0)
  3812. 8Eh 2 WORDs reserved (0)
  3813. 92h WORD command queueing/overlapped operation (see #P164)
  3814. 94h 6 WORDs reserved (0)
  3815. A0h WORD major revision number of specification to which device conforms
  3816. 01h = ATA-1, 02h = ATA-2, etc. 0000h/FFFFh = not reported
  3817. A2h WORD minor revision number of specification to which device conforms
  3818. 0000h/FFFFh = not reported
  3819. A4h WORD feature set support 1 (see #P160)
  3820. (only valid if revision reported in A0h/A2h)
  3821. A6h WORD feature set support 2 (see #P161)
  3822. (only valid if revision reported in A0h/A2h)
  3823. A8h WORD (ATA/ATAPI-4) feature set support extension (see #P162)
  3824. AAh WORD feature set enabled 1 (see #P163)
  3825. (only valid if revision reported in A0h/A2h)
  3826. ACh WORD feature set enabled 2 (see #P161)
  3827. (only valid if revision reported in A0h/A2h)
  3828. AEh WORD (ATA/ATAPI-4) feature set enabled extension (see #P162)
  3829. B0h 42 WORDs reserved (0)
  3830. 100h 32 WORDs vendor-specific
  3831. 100h WORD security status
  3832. 140h 96 WORDs reserved (0)
  3833. SeeAlso: #P165,#0199
  3834.  
  3835. Bitfields for IDE general configuration:
  3836. Bit(s) Description (Table P158)
  3837. 15 device class
  3838. =0 ATA device
  3839. =1 ATAPI device
  3840. 14 requires format speed tolerance gap
  3841. 13 supports track offset option
  3842. 12 supports data strobe offset
  3843. 11 disk rotational sped tolerance > 0.5%
  3844. 10-8 disk transfer rate
  3845. 001 <= 5Mbit/sec
  3846. 010 5-10 Mbit/sec
  3847. 100 > 10Mbit/sec
  3848. 7-6 drive type
  3849. 01 fixed media
  3850. 10 removable media
  3851. 5 synchronized drive motor option enabled
  3852. 4 head-switching time > 15 microseconds
  3853. 3 encoding
  3854. =0 MFM
  3855. 2-1 sector type
  3856. 01 hard-sectored
  3857. 10 soft-sectored
  3858. 0 unused (0)
  3859. SeeAlso: #P157
  3860.  
  3861. Bitfields for IDE capabilities:
  3862. Bit(s) Description (Table P159)
  3863. 13 Standby Timer values used according to ATA standard
  3864. 11 IORDY supported
  3865. 10 device can disable use of IORDY
  3866. 9 LBA mode supported
  3867. 8 DMA supported
  3868. SeeAlso: #P157
  3869.  
  3870. Bitfields for ATA feature set support 1:
  3871. Bit(s) Description (Table P160)
  3872. 15 Identify Device DMA command is supported
  3873. 14 NOP (00h) command is supported
  3874. 13 Read Buffer command is supported
  3875. 12 Write Buffer command is supported
  3876. 11 Write Verify command is supported
  3877. 10 host protected area feature set is supported
  3878. 9 Device Reset (08h) command is supported
  3879. 8 Service interrupt is supported
  3880. 7 release interrupt is supported
  3881. 6 device supports look-ahead
  3882. 5 device supports write cache
  3883. 4 PACKET command feature set is supported
  3884. 3 power management is supported
  3885. 2 removable-media feature set is supported
  3886. 1 security feature set is supported
  3887. 0 SMART feature set is supported
  3888. SeeAlso: #P157,#P161,#P162
  3889.  
  3890. Bitfields for ATA feature set support/enabled 2:
  3891. Bit(s) Description (Table P161)
  3892. 15 must be 0 if this field is supported
  3893. 14 must be 1 if this field is supported
  3894. 13-2 reserved
  3895. 1 Read DMA O/Q (C7h) and Write DMA O/Q (CCh) commands supported/enabled
  3896. 0 Download Microcode (92h) command is supported/enabled
  3897. SeeAlso: #P157,#P163,#P160,#P162
  3898.  
  3899. Bitfields for ATA feature set support extension:
  3900. Bit(s) Description (Table P162)
  3901. 15 must be 0 if this field is supported
  3902. 14 must be 1 if this field is supported
  3903. 13-0 reserved
  3904. SeeAlso: #P157,#P160,#P161
  3905.  
  3906. Bitfields for ATA feature set enabled 2:
  3907. Bit(s) Description (Table P163)
  3908. 15-1 reserved
  3909. 0 Download Microcode (92h) command is eanbled
  3910. SeeAlso: #P157,#P161
  3911.  
  3912. Bitfields for ATA/ATAPI-4 command queueing/overlapped operation support:
  3913. Bit(s) Description (Table P164)
  3914. 15 reserved
  3915. 14 device supports command queueing
  3916. 13 device supports overlapped operation
  3917. 12-5 reserved
  3918. 4-0 maximum depth of queued commands supported (0 if bit 14 clear)
  3919. SeeAlso: #P157
  3920.  
  3921. Format of ATAPI Identify Information:
  3922. Offset Size Description (Table P165)
  3923. 00h WORD general configuration (see #P166)
  3924. 14h 10 WORDs serial number
  3925. no serial number if first word is 0000h
  3926. else blank-padded ASCII serial number
  3927. 28h 3 WORDs vendor-specific
  3928. 2Eh 4 WORDs firmware revision
  3929. no revision number if first word is 0000h
  3930. else blank-padded ASCII revision number
  3931. 36h 20 WORDs model number
  3932. no model number if first word is 0000h
  3933. else blank-padded ASCII model string
  3934. 5Eh WORD vendor-specific
  3935. 60h WORD reserved (0)
  3936. 62h WORD capabilities (see #P159)
  3937. 64h WORD security mode???
  3938. 66h WORD PIO data transfer cycle timing
  3939. 68h WORD single-word DMA data transfer cycle timing
  3940. 6Ah WORD field validity
  3941. bit 0: offsets 6Ch-73h valid
  3942. bit 1: offsets 80h-8Dh valid
  3943. 6Ch WORD ??? logical cylinders in current translation mode
  3944. 6Eh WORD ??? logical heads in current translation mode
  3945. 70h WORD ??? logical sectors per track in current translation mode
  3946. 72h 2 WORDs ??? current capacity in sectors
  3947. 76h WORD ??? multiple-sector count for read/write multiple command
  3948. 78h 2 WORDs ??? total number of user-addressable sectors (LBA mode)
  3949. 7Ch WORD single-word DMA transfer modes
  3950. low byte is bitmap of supported modes (bit 0 = mode 0, etc.)
  3951. high bytes is bitmap of active mode (bit 8 = mode 0, etc.)
  3952. 7Eh WORD multiword DMA transfer
  3953. low byte is bitmap of supported modes (bit 0 = mode 0, etc.)
  3954. high bytes is bitmap of active mode (bit 8 = mode 0, etc.)
  3955. 80h WORD supported flow control PIO transfer modes
  3956. 82h WORD minimum multiword DMA transfer cycle time
  3957. 84h WORD recommended multiword DMA cycle time
  3958. 86h WORD minimum non-flow-control PIO transfer cycle time
  3959. 88h WORD minimum PIO transfer cycle time with IORDY
  3960. 8Ah 2 WORDs reserved for future PIO modes (0)
  3961. 8Eh WORD typical time for release when processing overlapped CMD in
  3962. microseconds
  3963. 90h WORD ???
  3964. 92h WORD major ATAPI version number
  3965. 94h WORD minor ATAPI version number
  3966. 96h 54 WORDs reserved (0)
  3967. 100h 32 WORDs vendor-specific
  3968. 140h 96 WORDs reserved (0)
  3969. SeeAlso: #P157
  3970.  
  3971. Bitfields for ATAPI General Configuration:
  3972. Bit(s) Description (Table P166)
  3973. 15-14 device type
  3974. 13 reserved
  3975. 12 device present
  3976. 7 device is removable
  3977. 6-5 CMD DMA Request type
  3978. 00 microprocessor DRQ
  3979. 01 interrupt DRQ
  3980. 10 accelerated DRQ
  3981. 11 reserved
  3982. 4-2 reserved
  3983. 1-0 CMD packet size (00 = 12 bytes, 01 = 16 bytes)
  3984. SeeAlso: #P165
  3985.  
  3986. (Table P167)
  3987. Values for Self-Monitoring, Analysis, Reporting Technology (SMART) subcommand:
  3988. D0h Read Attribute Values (optional) (see #P169)
  3989. results returned in 512-byte sector read from controller
  3990. D1h Read Attribute Thresholds (optional) (see #P168)
  3991. results returned in 512-byte sector read from controller
  3992. D2h Disable Attribute Autosave (optional)
  3993. sector-count register set to 0000h
  3994. D2h Enable Attribute Autosave
  3995. sector-count register set to 00F1h
  3996. D3h Save Attribute Values (optional)
  3997. D4h execute off-line tests immediately (optional)
  3998. D5h-D6h reserved
  3999. D7h vendor-specific
  4000. D8h Enable SMART Operations
  4001. D9h Disable SMART Operations
  4002. DAh Return SMART Status
  4003. if any threshold(s) exceeded, CylinderLow set to F4h and CylinderHigh
  4004. set to 2Ch
  4005. DBh Enable/Disable Automatic Off-Line Data Collection
  4006. sector-count register set to 0000h to disable, 00F8h to enable
  4007. DCh-DFh reserved
  4008. E0h-EFh vendor-specific
  4009. Note: to access SMART commands, the Cylinder Low register must be set to
  4010. 004Fh and the Cylinder High register must be set to 00C2h before
  4011. invoking the SMART command with the SMART command number in the
  4012. Features register
  4013. SeeAlso: #P156
  4014.  
  4015. Format of S.M.A.R.T. attribute thresholds sector:
  4016. Offset Size Description (Table P168)
  4017. 00h WORD data structure revision number (0005h for SMART Revision 2.0)
  4018. 02h 12 BYTEs attribute threshold data 1 (see #P171)
  4019. ...
  4020. 14Eh 12 BYTEs attribute threshold data 30 (see #P171)
  4021. 16Ah 18 BYTEs reserved (0)
  4022. 17Ch 131 BYTEs vendor-specific
  4023. 1FFh BYTE checksum (two's complement of eight-bit sum of first 511 bytes)
  4024. Note: if the drive provides fewer than 30 attributes, all remaining attribute
  4025. records are filled with NUL (00h) bytes
  4026. SeeAlso: #P167,#P169
  4027.  
  4028. Format of S.M.A.R.T. attribute values sector:
  4029. Offset Size Description (Table P169)
  4030. 00h WORD
  4031. 02h 12 BYTEs attribute value data 1 (see #P172)
  4032. ...
  4033. 14Eh 12 BYTEs attribute value data 30 (see #P172)
  4034. 16Ah BYTE off-line data collection status (see #P173)
  4035. 16Bh BYTE vendor-specific
  4036. 16Ch WORD time to complete off-line data collection, in seconds
  4037. 0001h-FFFFh
  4038. 16Eh BYTE vendor-sepcific
  4039. 16Fh BYTE off-line data collection capability (see #P174)
  4040. 170h WORD S.M.A.R.T. capabilities (see #P170)
  4041. 172h 16 BYTEs reserved (0)
  4042. 182h 125 BYTEs vendor-specific
  4043. 1FFh BYTE checksum (two's complement of eight-bit sum of first 511 bytes)
  4044. Note: if the drive provides fewer than 30 attributes, all remaining attribute
  4045. records are filled with NUL (00h) bytes
  4046. SeeAlso: #P167,#P168
  4047.  
  4048. Bitfields for S.M.A.R.T capabilities:
  4049. Bit(s) Description (Table P170)
  4050. 0 attributes saved on going into power-saving mode
  4051. 1 Enable/Disable Attribute Autosave subcommands are supported
  4052. 2-15 reserved
  4053. SeeAlso: #P169
  4054.  
  4055. Format of S.M.A.R.T. attribute threshold:
  4056. Offset Size Description (Table P171)
  4057. 00h BYTE attribute ID (01h-FFh)
  4058. 01h BYTE attribute threshold
  4059. 00h always passing
  4060. 01h minimum threshold value
  4061. FDh maximum threshold value
  4062. FEh invalid (do not use)
  4063. FFh always failing (for testing)
  4064. 02h 10 BYTEs reserved (0)
  4065. Note: the attribute ID and actual threshold values are vendor-specific
  4066. SeeAlso: #P168,#P172
  4067.  
  4068. Format of S.M.A.R.T attribute value:
  4069. Offset Size Description (Table P172)
  4070. 00h BYTE attribute ID (01h-FFh)
  4071. 01h WORD status flags
  4072. bit 0: pre-failure/advisory
  4073. =0 value < threshold indicates usage/age exceeding
  4074. design life
  4075. =1 value < threshold indicates pre-failure condition
  4076. bit 1: on-line data collection
  4077. bits 2-5 vendor-specific
  4078. bits 6-15 reserved
  4079. 03h BYTE attribute value (01h-FDh)
  4080. initial value prior to data collection is 64h
  4081. 04h 8 BYTEs vendor-specific
  4082. SeeAlso: #P169,#P171
  4083.  
  4084. (Table P173)
  4085. Values for S.M.A.R.T. off-line data collection status:
  4086. 00h off-line collection never started
  4087. 01h reserved
  4088. 02h off-line data collection completed successfully
  4089. 03h reserved
  4090. 04h off-line data collection suspended by command from host
  4091. 05h off-line data collection aborted by command from host
  4092. 06h off-line data collection aborted due to fatal error
  4093. 07h-3Fh reserved
  4094. 40h-7Fh vendor-specific
  4095. 80h off-line collection never started (auto-offline feature enabled)
  4096. 81h reserved
  4097. 82h off-line data collection completed successfully (auto-offline feature
  4098. enabled)
  4099. 83h reserved
  4100. 84h off-line data collection suspended by command from host (auto-offline
  4101. feature enabled)
  4102. 85h off-line data collection aborted by command from host (auto-offline
  4103. feature enabled)
  4104. 86h off-line data collection aborted due to fatal error (auto-offline
  4105. feature enabled)
  4106. 87h-BFh reserved
  4107. C0h-FFh vendor-specific
  4108. SeeAlso: #P169,#P174
  4109.  
  4110. Bitfields for S.M.A.R.T. off-line data collection capabilities:
  4111. Bit(s) Description (Table P174)
  4112. 0 Execute Off-Line Immediate (D4h) subcommand is implemented
  4113. 1 Enable/Disable Automatic Off-Line subcommand is implemented
  4114. 2 abort/resume on interrupting command
  4115. =0 off-line resumes automatically after an interrupting command
  4116. =1 off-line collection is aborted by an interrupting command
  4117. 3-7 reserved
  4118. SeeAlso: #P167
  4119.  
  4120. (Table P175)
  4121. Values for Feature Code:
  4122. 01h [opt] 8-bit instead of 16-bit data transfers
  4123. 02h [opt] enable write cache
  4124. 03h set transfer mode as specified by Sector Count register
  4125. 04h [opt] enable all automatic defect reassignment
  4126. 22h [opt] Write Same, user-specified area
  4127. 33h [opt] disable retries
  4128. 44h specify length of ECC bytes used by Read Long and Write Long
  4129. 54h [opt] set cache segments (value in Sector Count register)
  4130. 55h disable look-ahead
  4131. 66h disable reverting to power-on defaults
  4132. 77h [opt] disable ECC
  4133. 81h [opt] 16-bit instead of 8-bit data transfers
  4134. 82h [opt] disable write cache
  4135. 84h [opt] disable all automatic defect reassignment
  4136. 88h [opt] enable ECC
  4137. 99h [opt] enable retries
  4138. 9Ah [opt] set device maximum average current
  4139. AAh enable look-ahead
  4140. ABh [opt] set maximum prefecth (value in Sector Count register)
  4141. BBh use four bytes of ECC on Read Long and Write Long (for compat.)
  4142. CCh enable reverting to power-on defaults
  4143. DDh [opt] Write Same, entire disk
  4144. SeeAlso: #0198
  4145. ----------P01F8------------------------------
  4146. PORT 01F8 - ???
  4147.  
  4148. 01F8 RW ???
  4149. bit 0: A20 gate control (set = A20 enabled, clear = disabled)
  4150. ----------P01F901FF--------------------------
  4151. PORT 01F9-01FF - PC radio by CoZet Info Systems
  4152. Range: The I/O address range is dipswitch selectable from:
  4153. 038-03F and 0B0-0BF
  4154. 078-07F and 0F0-0FF
  4155. 138-13F and 1B0-1BF
  4156. 178-17F and 1F0-1FF
  4157. 238-23F and 2B0-2BF
  4158. 278-27F and 2F0-2FF
  4159. 338-33F and 3B0-3BF
  4160. 378-37F and 3F0-3FF
  4161. Notes: All of these addresses show a readout of FFh in initial state.
  4162. Once started, all of the addresses show FBh, whatever might happen.
  4163. --------d-P0200------------------------------
  4164. PORT 0200 - Digidesign 'Session 8' HARD-DISK RECORDING SYSTEM
  4165. SeeAlso: PORT 0300h"Digidesign"
  4166. ----------P0200020F--------------------------
  4167. PORT 0200-020F - Game port reserved I/O address space
  4168. 0200-0207 - Game port, eight identical addresses on some boards
  4169.  
  4170. 0201 R- read joystick position and status (see #P176)
  4171. 0201 -W fire joystick's four one-shots
  4172. 0201 RW gameport on mc-soundmachine, mc 03-04/1992: Adlib-compatible,
  4173. Covox 'voice master' & 'speech thing' compatible soundcard.
  4174. (enabled if bit1=1 in PORT 038Fh. Because it is disabled on
  4175. power-on, it cannot be found by BIOS) (see PORT 0388h-038Fh)
  4176.  
  4177. Bitfields for joystick position and status:
  4178. Bit(s) Description (Table P176)
  4179. 7 status B joystick button 2 / D paddle button
  4180. 6 status B joystick button 1 / C paddle button
  4181. 5 status A joystick button 2 / B paddle button
  4182. 4 status A joystick button 1 / A paddle button
  4183. 3 B joystick Y coordinate / D paddle coordinate
  4184. 2 B joystick X coordinate / C paddle coordinate
  4185. 1 A joystick Y coordinate / B paddle coordinate
  4186. 0 A joystick X coordinate / A paddle coordinate
  4187. ----------P020002FF--------------------------
  4188. PORT 0200-02FF - Sunshine uPW48, programmer for EPROM version CPU's 8748/8749
  4189. Range: 4 bit DIP switch installable in the range 20x-2Fx
  4190.  
  4191. 0200-0203 adresses of the 8255 on the uPW48
  4192. 0208-020B adresses of ??? on the uPW48 (all showing zeros)
  4193. ----------P02080209--------------------------
  4194. PORT 0208-0209 - Intel 82C212B "Neat" chipset - EMS emulation control
  4195. Range: may be set to 0208, 0218, 0258, 0268, 02A8, 02B8, 02E8
  4196. ----------P020C020F--------------------------
  4197. PORT 020C-020F - AIMS LAB PC Radio
  4198. Range: configurable to PORT 020Ch or PORT 030Ch
  4199. Notes: writing a value with bit 3 set to one of these ports turns on the
  4200. radio; writing a value with bit 3 clear turns it off
  4201. PORT 020Eh bits 1 indicates status of some kind
  4202. ----------P02100217--------------------------
  4203. PORT 0210-0217 - Expansion unit (XT)
  4204.  
  4205. 0210 -W latch expansion bus data
  4206. 0210 R- verify expansion bus data
  4207. 0211 -W clear wait, test latch
  4208. 0211 R- High byte data address
  4209. 0212 R- Low byte data address
  4210. 0213 -W 0=enable, 1=disable expansion unit
  4211. 0214 -W latch data (receiver card port)
  4212. 0214 R- read data (receiver card port)
  4213. 0215 R- High byte of address, then Low byte (receiver card port)
  4214. ----------P02100211--------------------------
  4215. PORT 0210-0211 - Game Blaster
  4216. Range: PORT 02x0h-02x1h, x=1,2,...
  4217.  
  4218. 0210 -W register index
  4219. 0211 ?W register data
  4220. ----------P02180219--------------------------
  4221. PORT 0218-0219 - Intel 82C212B "Neat" chipset - EMS emulation control
  4222. Range: base address may be set to 0208, 0218, 0258, 0268, 02A8, 02B8, or 02E8
  4223. ----------P02200223--------------------------
  4224. PORT 0220-0223 - Sound Blaster / Adlib port (Stereo)
  4225. SeeAlso: PORT 0388h-0389h
  4226.  
  4227. 0220 R- Left speaker -- Status port
  4228. 0220 -W Left speaker -- Address port
  4229. 0221 -W Left speaker -- Data port
  4230. 0222 R- Right speaker -- Status port
  4231. 0222 -W Right speaker -- Address port
  4232. 0223 -W Right speaker -- Data port
  4233. ----------P02200227--------------------------
  4234. PORT 0220-0227 - Soundblaster PRO and SSB 16 ASP
  4235. ----------P0220022F--------------------------
  4236. PORT 0220-022F - Soundblaster PRO 2.0
  4237. ----------P0220022F--------------------------
  4238. PORT 0220-022F - Soundblaster PRO 4.0
  4239. Note: the FM music is accessible on 0388/0389 for compatibility.
  4240.  
  4241. 0220 R- left FM status port
  4242. 0220 -W left FM music register address port (index)
  4243. 0221 RW left FM music data port
  4244. 0222 R- right FM status port
  4245. 0222 -W right FM music register address port (index)
  4246. 0223 RW right FM music data port
  4247. 0224 -W mixer register address port (index)
  4248. 0225 RW mixer data port
  4249. 0226 -W DSP reset
  4250. 0228 R- FM music status port
  4251. 0228 -W FM music register address port (index)
  4252. 0229 -W FM music data port
  4253. 022A R- DSP read data (voice I/O and Midi)
  4254. 022C -W DSP write data / write command
  4255. 022C R- DSP write buffer status (bit 7)
  4256. 022E R- DSP data available status (bit 7)
  4257. ----------P022B------------------------------
  4258. PORT 022B - GI1904 Scanner Interface Adapter
  4259. Range: PORT 026Bh, PORT 02ABh (default), PORT 02EBh, PORT 032Bh, PORT 036Bh
  4260. Range: PORT 03ABh, PORT 03EBh
  4261. ----------P022C------------------------------
  4262. PORT 022C - GS-IF Scanner Interface adapter
  4263. Range: PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  4264. PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  4265. Note: many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  4266. others use this interface
  4267. ----------P022F------------------------------
  4268. PORT 022F - mc-soundmachine, mc 03-04/1992 - SPEECH I/O
  4269. Note: An Adlib-compatible Covox 'voice master' & 'speech thing' compatible
  4270. soundcard
  4271. SeeAlso: PORT 0378h"Covox",PORT 0388h-038Fh"soundmachine"
  4272.  
  4273. 022F RW Covox compatible speech I/O (via internal A/D converter,
  4274. each read access starts a new conversion cycle)
  4275. register enabled if bit7=1 in PORT 038Fh
  4276. ----------P02300233--------------------------
  4277. PORT 0230-0233 - Adaptec 154xB/154xC SCSI adapter.
  4278. Range: four ports at any of 0130, 0134, 0230, 0234, 0330 (default) or 0334
  4279. ----------P02340237--------------------------
  4280. PORT 0234-0237 - Adaptec 154xB/154xC SCSI adapter.
  4281. Range: four ports at any of 0130, 0134, 0230, 0234, 0330 (default) or 0334
  4282. ----------P0238023F--------------------------
  4283. PORT 0238-023F - COM port addresses on UniRAM card by German magazine c't
  4284. selectable from 238, 2E8, 2F8, 338, 3E0, 3E8, 3F8
  4285. ----------P0238023x--------------------------
  4286. PORT 0238-023x - Bus Mouse Port (secondary address)
  4287. Note: secondary address for bus mice from MS and Logitech, and the ATI
  4288. video adapter mouse
  4289. SeeAlso: PORT 023Ch"Mouse"
  4290. ----------P023C023x--------------------------
  4291. PORT 023C-023x - Bus Mouse Port (primary address)
  4292. Note: primary address for bus mice from MS and Logitech, the ATI video
  4293. adapter mouse, and the Commodore PC30III bus mouse
  4294. SeeAlso: PORT 0238h"Mouse"
  4295. ----------P0240024F--------------------------
  4296. PORT 0240-024F - Gravis Ultra Sound by Advanced Gravis
  4297. Range: The I/O address range is dipswitch selectable from:
  4298. 0200-020F and 0300-030F
  4299. 0210-021F and 0310-031F
  4300. 0220-022F and 0320-032F
  4301. 0230-023F and 0330-033F
  4302. 0240-024F and 0340-034F
  4303. 0250-025F and 0350-035F
  4304. 0260-026F and 0360-036F
  4305. 0270-027F and 0370-037F
  4306. SeeAlso: PORT 0340h-034Fh,PORT 0746h
  4307.  
  4308. 0240 -W Mix Control register (see #P177)
  4309. 0241 R- Read Data
  4310. 0241 -W Trigger Timer
  4311. 0246 R- IRQ Status Register (see #P178)
  4312. 0248 RW Timer Control Reg
  4313. Same as ADLIB Board (see PORT 0200h)
  4314. 0249 -W Timer Data (see #P179)
  4315. 024B -W IRQ Control Register (0240 bit 6 = 1) (see #P180)
  4316. 024B -W DMA Control Register (0240 bit 6 = 0) (see #P181)
  4317. 024F RW Register Controls (rev 3.4+)
  4318.  
  4319. Bitfields for Gravis Ultra Sound mix control register:
  4320. Bit(s) Description (Table P177)
  4321. 6 Control Register Select (see 024B)
  4322. 5 Enable MIDI Loopback
  4323. 4 Combine GF1 IRQ with MIDI IRQ
  4324. 3 Enable Latches
  4325. 2 Enable MIC IN
  4326. 1 Disable LINE OUT
  4327. 0 Disable LINE IN
  4328. SeeAlso: #P178
  4329.  
  4330. Bitfields for Gravis Ultra Sound IRQ status register:
  4331. Bit(s) Description (Table P178)
  4332. 7 DMA TC IRQ
  4333. 6 Volume Ramp IRQ
  4334. 5 WaveTable IRQ
  4335. 3 Timer 2 IRQ
  4336. 2 Timer 1 IRQ
  4337. 1 MIDI Receive IRQ
  4338. 0 MIDI Transmit IRQ
  4339. SeeAlso: #P177,#P180,#P181
  4340.  
  4341. Bitfields for Gravis Ultra Sound timer data:
  4342. Bit(s) Description (Table P179)
  4343. 7 Reset Timr IRQ
  4344. 6 Mask Timer 1
  4345. 5 Mask Timer 2
  4346. 1 Timer 2 Start
  4347. 0 Timer 1 Start
  4348. SeeAlso: #P178,#P180
  4349.  
  4350. Bitfields for Gravis Ultra Sound IRQ control register:
  4351. Bit(s) Description (Table P180)
  4352. 6 Combine Both IRQ
  4353. 5-3 MIDI IRQ Selector
  4354. 000 No IRQ
  4355. 001 IRQ 2
  4356. 010 IRQ 5
  4357. 011 IRQ 3
  4358. 100 IRQ 7
  4359. 101 IRQ 11
  4360. 110 IRQ 12
  4361. 111 IRQ 15
  4362. 2-0 GF1 IRQ Selector
  4363. 000 No IRQ
  4364. 001 IRQ 2
  4365. 010 IRQ 5
  4366. 011 IRQ 3
  4367. 100 IRQ 7
  4368. 101 IRQ 11
  4369. 110 IRQ 12
  4370. 111 IRQ 15
  4371. SeeAlso: #P178,#P181
  4372.  
  4373. Bitfields for Gravis Ultra Sound DMA Control Register:
  4374. Bit(s) Description (Table P181)
  4375. 6 Combine Both DMA
  4376. 5-3 DMA Select Register 2
  4377. 000 No DMA
  4378. 001 DMA 1
  4379. 010 DMA 3
  4380. 011 DMA 5
  4381. 100 DMA 6
  4382. 101 DMA 7
  4383. 2-0 DMA Select Register 1
  4384. 000 No DMA
  4385. 001 DMA 1
  4386. 010 DMA 3
  4387. 011 DMA 5
  4388. 100 DMA 6
  4389. 101 DMA 7
  4390. SeeAlso: #P178,#P180,#P221
  4391. ----------P02400257--------------------------
  4392. PORT 0240-0257 - RTC (alternate Real Time Clock for XT) (1st at 0340-0357)
  4393. (used by TIMER.COM v1.2 which is the 'standard' timer program)
  4394. ----------P02580259--------------------------
  4395. PORT 0258-0259 - Intel 82C212B "Neat" chipset - EMS emulation control
  4396. Range: base address may be set to 0208, 0218, 0258, 0268, 02A8, 02B8, or 02E8
  4397. ----------P02580259--------------------------
  4398. PORT 0258-0259 - AT RAMBANK Memory Expansion Board - EXT MEMORY AND EMS-SUPPORT
  4399. Range: base address may be set to 0218h, 0228h, 0238h, 0258h, 0268h, 0298h,
  4400. or 02A8h
  4401. ----------P0258025F--------------------------
  4402. PORT 0258-025F - Intel Above Board
  4403. ----------P02600268--------------------------
  4404. PORT 0260-0268 - LPT port address on the UniRAM card by German magazine c't
  4405. selectable from 260, 2E0, 2E8, 2F0, 3E0, 3E8.
  4406. ----------P02680269--------------------------
  4407. PORT 0268-0269 - Intel 82C212B "Neat" chipset - EMS emulation control
  4408. Range: base address may be set to 0208, 0218, 0258, 0268, 02A8, 02B8, or 02E8
  4409. ----------P026B------------------------------
  4410. PORT 026B - GI1904 Scanner Interface Adapter
  4411. Range: PORT 022Bh, PORT 02ABh (default), PORT 02EBh, PORT 032Bh, PORT 036Bh
  4412. Range: PORT 03ABh, PORT 03EBh
  4413. ----------P026C------------------------------
  4414. PORT 026C - GS-IF Scanner Interface adapter
  4415. Range: PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  4416. PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  4417. Note: many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  4418. others use this interface
  4419. ----------P026E026F--------------------------
  4420. PORT 026E-026F - Dell Enhanced Parallel Port
  4421. SeeAlso: PORT 002Eh,PORT 015Ch,PORT 0398h
  4422.  
  4423. 026E -W index for data port
  4424. 026F RW EPP command data
  4425. ----------P0278------------------------------
  4426. PORT 0278 - Covox 'Speech Thing' COMPATIBLES
  4427. SeeAlso: PORT 022Fh"Covox",PORT 0388h-038Fh"soundmachine"
  4428.  
  4429. 0278 -W speech data output via printer data port
  4430. (with mc-soundmachine, enabled if bit5=1 in 38F)
  4431. ----------P0278027E--------------------------
  4432. PORT 0278-027E - PARALLEL PRINTER PORT (usually LPT1, sometimes LPT2)
  4433. Range: usually PORT 03BCh, PORT 0278h, or PORT 0378h
  4434. SeeAlso: MEM 0040h:0008h,INT 17/AH=00h
  4435.  
  4436. 0278 -W data port
  4437. 0279 R- status port
  4438. 027A RW control port
  4439. ----------P0279------------------------------
  4440. PORT 0279 - Plug-and-Play - CONFIGURATION REGISTER
  4441. SeeAlso: PORT 0A79h
  4442.  
  4443. 0279 -W index into Plug-and-Play register set for Read Data Port and
  4444. Write Data Port I/O (see #P182,#P183)
  4445.  
  4446. (Table P182)
  4447. Values for Plug-and-Play Card-Level Registers:
  4448. 00h set Read Port address
  4449. bits 9-2 of Read Data port address (bits 15-10 are always 0, bits 1-0
  4450. are always 11); valid Read Port addresses are 0203h-03FFh
  4451. 01h serial isolation
  4452. 02h configuration control
  4453. 03h Wake command
  4454. (specifies which card is accessed through configuration registers)
  4455. 04h resource data
  4456. 05h status
  4457. 06h Card Select Number (CSN)
  4458. 07h logical device number
  4459. (selects which logical device on card is accessed at locations 30h-FFh)
  4460. (see #P183)
  4461. 08h-1Fh reserved
  4462. 20h-2Fh vendor-specific
  4463. Note: there is one set of these registers per installed card
  4464. SeeAlso: #P183
  4465.  
  4466. (Table P183)
  4467. Values for Plug-and-Play Logical Device Registers:
  4468. 30h activate
  4469. bit 0: device is active on ISA bus
  4470. bits 7-1: reserved (0)
  4471. 31h I/O range check
  4472. bit 0: I/O Read Pattern select (if bit 1 set, then I/O reads return
  4473. 55h if this bit is set, AAh if this bit is clear)
  4474. bit 1: I/O Range Check Enable: if set, all reads from device I/O
  4475. registers return 55h or AAh, depending on bit 0
  4476. bits 7-2: reserved (0)
  4477. 32h-37h reserved
  4478. 38h-3Fh vendor-specific
  4479. 40h-44h 24-bit ISA memory descriptor 0
  4480. 45h-47h reserved
  4481. 48h-4Ch 24-bit ISA memory descriptor 1
  4482. 4Dh-4Fh reserved
  4483. 50h-54h 24-bit ISA memory descriptor 2
  4484. 55h-57h reserved
  4485. 58h-5Ch 24-bit ISA memory descriptor 3
  4486. 5Dh-5Fh reserved
  4487. 60h-6Fh I/O configuration registers 0-7
  4488. 70h-71h IRQ channel select 0
  4489. 72h-73h IRQ channel select 1
  4490. 74h-75h DMA configuration registers 0-1
  4491. 76h-7Eh 32-bit memory range configuration register 0
  4492. 7Fh reserved
  4493. 80h-88h 32-bit memory range configuration register 1
  4494. 89h-8Fh reserved
  4495. 90h-98h 32-bit memory range configuration register 2
  4496. 99h-9Fh reserved
  4497. A0h-A8h 32-bit memory range configuration register 3
  4498. A9h-EFh reserved for logical device configuration
  4499. F0h-FEh vendor-specific
  4500. FFh reserved
  4501. Note: there is one set of these registers per logical device
  4502. SeeAlso: #P182
  4503. ----------P0280------------------------------
  4504. PORT 0280 - LCD display on Wyse 2108 PC
  4505. ----------P02800288--------------------------
  4506. PORT 0280-0288 - non-standard COM port addresses (V20-XT by German magazine c't)
  4507. selectable from 0280, 0288, 0290, 0298, 6A0, 6A8
  4508. --------s-P02800283--------------------------
  4509. PORT 0280-0283 - Pro Audio Spectrum 16 (PAS16)
  4510. Range: PORT 0280h, PORT 0284h, PORT 0288h, PORT 028Ch, PORT 384h,
  4511. PORT 0388h (default), or PORT 038Ch
  4512. ----------P0288028F--------------------------
  4513. PORT 0288-028F - non-standard COM port addresses (V20-XT by German magazine c't)
  4514. 0280-0288 selectable from 0280, 0288, 0290, 0298, 06A0, 06A8
  4515. 0290-0298
  4516. 0298-029F
  4517. --------s-P02840287--------------------------
  4518. PORT 0284-0287 - Pro Audio Spectrum 16 (PAS16)
  4519. Range: PORT 0280h, PORT 0284h, PORT 0288h, PORT 028Ch, PORT 384h,
  4520. PORT 0388h (default), or PORT 038Ch
  4521. --------s-P0288028F--------------------------
  4522. PORT 0288-028F - Pro Audio Spectrum 16 (PAS16)
  4523. Range: PORT 0280h, PORT 0284h, PORT 0288h, PORT 028Ch, PORT 384h,
  4524. PORT 0388h (default), or PORT 038Ch
  4525. --------s-P028C028F--------------------------
  4526. PORT 028C-028F - Pro Audio Spectrum 16 (PAS16)
  4527. Range: PORT 0280h, PORT 0284h, PORT 0288h, PORT 028Ch, PORT 384h,
  4528. PORT 0388h (default), or PORT 038Ch
  4529. ----------P02A002A7--------------------------
  4530. PORT 02A0-02A7 - Sunshine EW-901BN, EW-904BN
  4531. EPROM writer card (release 1986) for EPROMs up to 27512
  4532. 02A0-02A3 adresses of the 8255 on the EW-90xBN
  4533. ----------P02A202A3--------------------------
  4534. PORT 02A2-02A3 - MSM58321RS clock
  4535. ----------P02A802A9--------------------------
  4536. PORT 02A8-02A9 - Intel 82C212B "Neat" chipset - EMS emulation control
  4537. Range: base address may be set to 0208, 0218, 0258, 0268, 02A8, 02B8, or 02E8
  4538. ----------P02AB------------------------------
  4539. PORT 02AB - GI1904 Scanner Interface Adapter (default)
  4540. Range: PORT 022Bh, PORT 026Bh, PORT 02EBh, PORT 032Bh, PORT 036Bh
  4541. Range: PORT 03ABh, PORT 03EBh
  4542. Note: the GI1904 is used by many SPI 400/800dpi gray/halftone/color handy
  4543. scanners by Marstek, Mustek, Conrad, V”lkner and others
  4544. ----------P02AC------------------------------
  4545. PORT 02AC - GS-IF Scanner Interface adapter
  4546. Range: PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  4547. PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  4548. Note: many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  4549. others use this interface
  4550. ----------P02B002BF--------------------------
  4551. PORT 02B0-02BF - Trantor SCSI adapter
  4552. ----------P02B002DF--------------------------
  4553. PORT 02B0-02DF - alternate EGA, primary EGA at 03C0
  4554. ----------P02B802B9--------------------------
  4555. PORT 02B8-02B9 - Intel 82C212B "Neat" chipset - EMS emulation control
  4556. Range: base address may be set to 0208, 0218, 0258, 0268, 02A8, 02B8, or 02E8
  4557. ----------P02C002Cx--------------------------
  4558. PORT 02C0-02Cx - AST-clock
  4559. ----------P02C002DF--------------------------
  4560. PORT 02C0-02DF - XT-Real Time Clock 2 (default jumpered address)
  4561. ----------P02E002E8--------------------------
  4562. PORT 02E0-02E8 - LPT port address on the UniRAM card by German magazine c't
  4563. Range: base address selectable from 0260, 02E0, 02E8, 02F0, 03E0, and 03E8.
  4564. ----------P02E002EF--------------------------
  4565. PORT 02E0-02EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  4566. (GAB 0 on XT)
  4567. 02E1 ?? GPIB (adapter 0)
  4568. 02E2
  4569. 02E3
  4570. ----------P02E002EF--------------------------
  4571. PORT 02E0-02EF - data aquisition (AT)
  4572.  
  4573. 02E2 ?? data aquisition (adapter 0)
  4574. 02E3 ?? data aquisition (adapter 0)
  4575. ----------P02E8------------------------------
  4576. PORT 02E8 - S3 86C928 video controller (ELSA Winner 1000)
  4577. ----------P02E802E9--------------------------
  4578. PORT 02E8-02E9 - Intel 82C212B "Neat" chipset - EMS emulation control
  4579. Range: base address may be set to 0208, 0218, 0258, 0268, 02A8, 02B8, or 02E8
  4580. ----------P02E802EF--------------------------
  4581. PORT 02E8-02EF - serial port, same as 02F8, 03E8 and 03F8 (COM4)
  4582. ----------P02E802EF--------------------------
  4583. PORT 02E8-02EF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  4584.  
  4585. 02E8 R- display status
  4586. 02E8 -W horizontal total
  4587. 02EA RW Lookup: DAC mask
  4588. 02EB -W Lookup: DAC read index
  4589. 02EC -W Lookup: DAC write index
  4590. 02ED RW Lookup: DAC data
  4591. ----------P02EA------------------------------
  4592. PORT 02EA - S3 86C928 video controller (ELSA Winner 1000)
  4593. ----------P02EB------------------------------
  4594. PORT 02EB - GI1904 Scanner Interface Adapter
  4595. Range: PORT 022Bh, PORT 026Bh, PORT 02ABh (default), PORT 032Bh, PORT 036Bh,
  4596. PORT 03ABh, PORT 03EBh
  4597. ----------P02EC------------------------------
  4598. PORT 02EC - GS-IF Scanner Interface adapter
  4599. Range: PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  4600. PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  4601. Note: many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  4602. others use this interface
  4603. ----------P02F002F8--------------------------
  4604. PORT 02F0-02F8 - LPT port address on the UniRAM card by German magazine c't
  4605. selectable from 260, 2E0, 2E8, 2F0, 3E0, 3E8.
  4606. ----------P02F802FF--------------------------
  4607. PORT 02F8-02FF - serial port, same as 02E8, 03E8 and 03F8 (COM2)
  4608.  
  4609. 02F8 -W transmitter holding register
  4610. 02F8 R- receiver buffer register
  4611. 02F8 RW divisor latch, low byte when DLAB=1
  4612. 02F9 RW divisor latch, high byte when DLAB=1
  4613. 02F9 RW interrupt enable register when DLAB=0
  4614. 02FA R- interrupt identification register
  4615. 02FB RW line control register
  4616. 02FC RW modem control register
  4617. 02FD R- line status register
  4618. 02FF RW scratch register
  4619. ----------P0300------------------------------
  4620. PORT 0300 - Award POST Diagnostic
  4621. SeeAlso: PORT 0080h
  4622. --------d-P0300------------------------------
  4623. PORT 0300 - Digidesign 'Session 8' HARD-DISK RECORDING SYSTEM
  4624. SeeAlso: PORT 0200h"Digidesign"
  4625. --------s-P03000301--------------------------
  4626. PORT 0300-0301 - MPU-401 MIDI UART
  4627. Range: alternate address at PORT 0330h, occasionally at PORT 0310h or
  4628. PORT 0320h
  4629. ----------P03000301--------------------------
  4630. PORT 0300-0301 - Soundblaster 16 ASP MPU-Midi EMULATION
  4631. ----------P0300????--------------------------
  4632. PORT 0300-???? - HP IEC/HP-IB adapter (e.g. for use with tape streamer HP9142)
  4633. ----------P03000303--------------------------
  4634. PORT 0300-0303 - Panasonic 52x CD-ROM SCSI Miniport
  4635. Range: PORT 0300h-0303h,PORT 0320h-0323h,PORT 0340h-0343h,PORT 0360h-0363h,
  4636. and PORT 0380h-0383h
  4637. ----------P0300030F--------------------------
  4638. PORT 0300-030F - Philips CD-ROM player CM50
  4639. ----------P0300030F--------------------------
  4640. PORT 0300-030F - CompaQ Tape drive adapter. alternate address at 0100
  4641. --------N-P0300031F--------------------------
  4642. PORT 0300-031F - 3com Ethernet adapters (default address)
  4643. --------N-P0300031F--------------------------
  4644. PORT 0300-031F - NE2000 compatible Ethernet adapters
  4645. Range: may be placed at 0300h, 0320h, 0340h, or 0360h
  4646. SeeAlso: PORT 0300h"PCnet"
  4647. --------N-P0300031F--------------------------
  4648. PORT 0300-031F - AMD PCnet - NE2100-compatible Ethernet adapters
  4649. Range: may be placed at 0300h, 0320h, 0340h, or 0360h, with the card's ROM
  4650. appearing at segment C800h, CC00h, D000h, or D400h, respectively
  4651. Note: for the PCnet-FAST chip, the I/O address may be read from the PCI
  4652. configuration space at offset 10h (see #0798 at INT 1A/AX=B10Ah)
  4653. SeeAlso: PORT 0300h"NE2000",#0798
  4654.  
  4655. 0300-030F R- address PROM (used to store Ethernet address, etc.)
  4656. 0310w RW Register Data Port (RDP) (see #P184,#P185)
  4657. 0312w ?W Register Access Port (RAP) (selects register index for RDP and IDP)
  4658. (see #P202)
  4659. 0314w ?W Reset
  4660. 0316w RW ISA Bus Data Port (IDP)
  4661. 0318w reserved for vendor-specific use
  4662. 031A-031F reserved
  4663.  
  4664. (Table P184)
  4665. Values for AMD PCnet-ISA Register Data Port index:
  4666. 00h "CSR0" status and control flags (see #P186)
  4667. 01h "CSR1" low half of IADR (appears at PORT 0316h)
  4668. 02h "CSR2" high half of IADR (appears at PORT 0317h)
  4669. 03h "CSR3" interrupt masks (see #P187)
  4670. 04h "CSR4" interrupt masks and status bits (see #P188)
  4671. 08h-0Bh logical address filter
  4672. 0Ch-0Eh physical address register
  4673. 0Fh "CSR15" mode (see #P192)
  4674. 4Ch "CSR76" receive descriptor ring length
  4675. 4Eh "CSR78" transmit descriptor ring length
  4676. 50h "CSR80" FIFO threshold / DMA burst control (see #P196)
  4677. 52h "CSR82" DMA bus timer
  4678. 58h "CSR88" chip ID
  4679. 70h "CSR112" number of missed packets
  4680. 72h "CSR114" number of receive collisions
  4681. 7Ch "CSR124" BMU test register
  4682. bit 4: accept runt packets
  4683. SeeAlso: #P202,#P185
  4684.  
  4685. (Table P185)
  4686. Values for AMD PCnet-SCSI/PCnet-FAST Register Data Port index:
  4687. 00h "CSR0" status and control flags (see #P186)
  4688. 01h "CSR1" low half of IADR (appears at PORT 0316h)
  4689. 02h "CSR2" high half of IADR (appears at PORT 0317h)
  4690. 03h "CSR3" interrupt masks (see #P187)
  4691. 04h "CSR4" interrupt masks and status bits (see #P188)
  4692. 05h "CSR5" (PCnet-FAST) extended control and interrupt 1 (see #P189)
  4693. 06h "CSR6" receive/transmit descriptor table lengths (see #P190)
  4694. 07h "CSR7" (PCnet-FAST) extended control and interrupt 2 (see #P191)
  4695. 08h-0Bh logical address filter
  4696. 0Ch-0Eh physical address register
  4697. 0Fh "CSR15" mode (see #P192)
  4698. 10h "CSR16" alias of CSR1
  4699. 11h "CSR17" alias of CSR2
  4700. 12h "CSR18" low half of current receive buffer address
  4701. 13h "CSR19" high half of current receive buffer address
  4702. 14h "CSR20" low half of current transmit buffer address
  4703. 15h "CSR21" high half of current transmit buffer address
  4704. 16h "CSR22" low half of next receive buffer address
  4705. 17h "CSR23" high half of next receive buffer address
  4706. 18h "CSR24" low half of receive-ring base address
  4707. 19h "CSR25" high half of receive-ring base address
  4708. 1Ah "CSR26" low half of next receive descriptor address
  4709. 1Bh "CSR27" high half of next receive descriptor address
  4710. 1Ch "CSR28" low half of current receive descriptor address
  4711. 1Dh "CSR29" high half of current receive descriptor address
  4712. 1Eh "CSR30" low half of transmit ring base address
  4713. 1Fh "CSR31" high half of transmit ring base address
  4714. 20h "CSR32" low half of next transmit descriptor address
  4715. 21h "CSR33" high half of next transmit descriptor address
  4716. 22h "CSR34" low half of current transmit descriptor address
  4717. 23h "CSR35" high half of current transmit descriptor address
  4718. 24h "CSR36" low half of next next receive descriptor address
  4719. 25h "CSR37" high half of next next receive descriptor address
  4720. 26h "CSR38" low half of next next transmit descriptor address
  4721. 27h "CSR39" high half of next next transmit descriptor address
  4722. 28h "CSR40" current receive byte count (see #P193)
  4723. 29h "CSR41" current receive status
  4724. 2Ah "CSR42" current transmit byte count (see #P194)
  4725. 2Bh "CSR43" current transmit status
  4726. 2Ch "CSR44" next receive byte count (bits 11-0; bits 15-12=0)
  4727. 2Dh "CSR45" next receive status
  4728. 2Eh "CSR46" transmit poll time counter
  4729. 2Fh "CSR47" transmit polling interval
  4730. 30h "CSR48" receive poll time counter
  4731. 31h "CSR49" receive polling interval
  4732. 32h-39h reserved
  4733. 3Ah "CSR58" software style (see #P195)
  4734. 3Bh reserved
  4735. 3Ch "CSR60" previous transmit descriptor address (low)
  4736. 3Dh "CSR61" previous transmit descriptor address (high)
  4737. 3Eh "CSR62" previous transmit byte count (bits 11-0; bits 15-12=0)
  4738. 3Fh "CSR63" previous transmit status
  4739. 40h "CSR64" next transmit buffer address (low)
  4740. 41h "CSR65" next transmit buffer address (high)
  4741. 42h "CSR66" next transmit byte count (bits 11-0; bits 15-12=0)
  4742. 43h "CSR67" next transmit status
  4743. 44h-47h reserved
  4744. 48h "CSR72" receive ring counter
  4745. 49h reserved
  4746. 4Ah "CSR74" transmit ring counter
  4747. 4Bh reserved
  4748. 4Ch "CSR76" receive descriptor ring length
  4749. 4Dh reserved
  4750. 4Eh "CSR78" transmit descriptor ring length
  4751. 4Fh reserved
  4752. 50h "CSR80" FIFO threshold / DMA burst control (see #P196)
  4753. 51h reserved
  4754. 52h "CSR82" (PCnet-SCSI) DMA bus timer
  4755. (PCnet-FAST) transmit descriptor address (low)
  4756. 53h reserved
  4757. 54h "CSR84" DMA address register (low)
  4758. 55h "CSR85" DMA address register (high)
  4759. 56h "CSR86" buffer byte counter (bits 11-0; bits 15-12=0)
  4760. 57h reserved
  4761. 58h "CSR88" chip ID (low 16 bits) (see #P197)
  4762. 59h "CSR89" chip ID (high 16 bits) (see #P197)
  4763. 5Ah "CSR90" (PCnet-SCSI)
  4764. 5Bh reserved
  4765. 5Ch "CSR92" ring length conversion
  4766. 5Dh reserved
  4767. 5Eh "CSR94" (PCnet-SCSI)
  4768. 5Fh-63h reserved
  4769. 64h "CSR100" bus timeout
  4770. 65h-6Fh reserved
  4771. 70h "CSR112" number of missed packets
  4772. 71h reserved
  4773. 72h "CSR114" number of receive collisions
  4774. 73h-79h reserved
  4775. 7Ah "CSR122" advanced feature control (see #P198)
  4776. 7Bh reserved
  4777. 7Ch "CSR124" BMU test register (see #P199)
  4778. 7Dh "CSR125" (PCnet-FAST) MAC Enhanced Configuration Control (see #P200)
  4779. 7Eh-7Fh reserved
  4780. SeeAlso: #P184,#P224
  4781.  
  4782. Bitfields for AMD PCnet CSR0 status and control flags:
  4783. Bit(s) Description (Table P186)
  4784. 15 "ERR" error; set if BABL, CERR, MISS, or MESS set
  4785. 14 "BABL" network babbling control
  4786. 13 "CERR" collision error
  4787. 12 "MISS" missed frame
  4788. 11 "MERR" memory error
  4789. 10 "RINT" receive interrupt
  4790. 9 "TINT" transmit interrupt
  4791. 8 "IDON" initialization done
  4792. 7 "INTR" interrupt flag
  4793. 6 "IENA" interrupt enable
  4794. 5 "RXON" recieve ON
  4795. 4 "TXON" transmit ON
  4796. 3 "TDMD" transmit demand
  4797. 2 "STOP" stop -- disable all external activity
  4798. 1 "STRT" start -- enable extrnal activity
  4799. 0 "INIT" begin initialization procedure
  4800. SeeAlso: #P184,#P187
  4801.  
  4802. Bitfields for AMD PCnet CSR3 interrupt masks:
  4803. Bit(s) Description (Table P187)
  4804. 15 reserved
  4805. 14 "BABLM" disable babble interrupt
  4806. 13 reserved
  4807. 12 "MISSM" disable missed-frame interrupt
  4808. 11 "MERM" disable memory-error interrupt
  4809. 10 "RINTM" disable receive interrupt
  4810. 9 "TINTM" disable transmit interrupt
  4811. 8 "IDONM" disable initialization-done interrupt
  4812. 7-5 reserved
  4813. 4 "DXMT2PD" disable Transmit Two Part Deferral
  4814. 3 "EMBA" enable modified back-off algorithm
  4815. 2-0 reserved
  4816. Note: other bits are reserved
  4817. SeeAlso: #P184,#P186,#P188
  4818.  
  4819. Bitfields for AMD PCnet CSR4 interrupt masks and status bits:
  4820. Bit(s) Description (Table P188)
  4821. 15 "ENTST" enable Test Mode / CSR124 access
  4822. 14 "DMAPLUS" disable CSR80 burst transaction counter
  4823. 13 "TIMER" enable Bus Timer register
  4824. 12 "DPOLL" disable transmit polling
  4825. 11 "APADXMT" Auto-Pad Transmit
  4826. 10 "ASTRPRCV" enable automatic pad stripping
  4827. 9 "MFCO" missed frame counter has overflowed
  4828. 8 "MFCOM" disable interrupt on MFCO
  4829. 7 "UINTCMD" (PCnet-FAST) user interrupt command
  4830. 6 "UINT" (PCnet-FAST) user interrupt pending
  4831. write 1 to clear
  4832. 5 "RCVCCO" receive collision counter has overflowed
  4833. 4 "RCVCCOM" disable interrupt on RCVCCO
  4834. 3 "TXSTRT" Transmit Start
  4835. 2 "TXSTRTM" disable interrupt on TXSTRT
  4836. 1 "JAB" Jabber error
  4837. 0 "JABM" disable interrupt on JAB
  4838. SeeAlso: #P184,#P187,#P185
  4839.  
  4840. Bitfields for AMD PCnet-FAST CSR5 extended control and interrupt 1:
  4841. Bit(s) Description (Table P189)
  4842. 31-16 reserved
  4843. 15 "TOKINTD" disable Transmit OK interrupt
  4844. 14 "LTINTEN" enable Last Transmit interrupt
  4845. 13-12 reserved
  4846. 11 "SINT" System Interrupt (write 1 to clear)
  4847. 10 "SINTE" enable System Interrupt
  4848. 9 "SLPINT" Sleep Interrupt (write 1 to clear)
  4849. 8 "SLPINTE" enable Sleep Interrupt
  4850. 7 "EXDINT" Excessive Deferral Interrupt (write 1 to clear)
  4851. 6 "EXDINTE" enable Excessive Deferral Interrupt
  4852. 5 "MPPLBA" Magic Packet Physical Logical Broadcast Accept
  4853. 4 "MPINT" Magic Packet Interrupt (write 1 to clear)
  4854. 3 "MPINTE" enable Magic Packet Interrupt
  4855. 2 "MPEN" enable Magic Packet mode
  4856. 1 "MPMODE" Magic Packet mode active
  4857. 0 "SPND" Suspend
  4858. SeeAlso: #P185,#P188,#P191
  4859.  
  4860. Bitfields for AMD PCnet CSR6 Descriptor Table Length register:
  4861. Bit(s) Description (Table P190)
  4862. 15-12 transmit encoded ring length
  4863. 11-8 receive encoded ring length
  4864. 7-0 reserved
  4865. SeeAlso: #P185,#P189
  4866.  
  4867. Bitfields for AMD PCnet CSR7 Extended Control and Interrupt 2:
  4868. Bit(s) Description (Table P191)
  4869. 15 "FASTSPNDE" enable Fast Suspend
  4870. 14 "RXFRTG" Receive Frame Tag
  4871. 13 "RDMD" Receive Demand
  4872. 12 "RXDPOL" disable receive polling
  4873. 11 "STINT" Software Timer Interrupt (write 1 to clear)
  4874. 10 "STINTE" enable Software Timer Interrupt
  4875. 9 "MREINT" MII Management Read Error Interrupt (write 1 to clear)
  4876. 8 "MREINTE" enable MII Management Read Error Interrupt
  4877. 7 "MAPINT" MII Management Auto-Poll Interrupt (write 1 to clear)
  4878. 6 "MAPINTE" enable MII Management Auto-Poll Interrupt
  4879. 5 "MCCINT" MII Management Command Complete Interrupt (write 1 to clr)
  4880. 4 "MCCINTE" enable MII Management Command Complete Interrupt
  4881. 3 "MCCIINT" MII Management Command Complete Internal Interrupt
  4882. (write 1 to clear)
  4883. 2 "MCCIINTE" enable MII Manamagement Command Complete Internal Int.
  4884. 1 "MIIPDTINT" MII PHY Detect Transition Interrupt (write 1 to clear)
  4885. 0 "MIIPDTINTE" enable MII PHY Detect Transition Interrupt
  4886. SeeAlso: #P185,#P189
  4887.  
  4888. Bitfields for AMD PCnet CSR15 mode flags:
  4889. Bit(s) Description (Table P192)
  4890. 15 "PROM" promiscuous mode
  4891. 14 "DRCVBC" disable Receive Broadcast
  4892. 13 "DRCVPA" disable Receive Physical Address
  4893. 12 "DLNKTST" disable Link Status
  4894. 11 "DAPC" disable Automatic Polarity Correction
  4895. 10 "MENDECL" MENDEC loopback mode
  4896. 9 "LRT/TSEL" Low Receive Threshold
  4897. 8-7 "PORTSEL" Port Select
  4898. 00 AUI
  4899. 01 10Base-T
  4900. 10 GPSI
  4901. 11 reserved
  4902. 6 "INTL" internal loopback
  4903. 5 "DRTY" disable retry
  4904. 4 "FCOLL" force collision
  4905. 3 "DXMTFCS" disable Transmit CRC
  4906. 2 "LOOP" enable Loopback
  4907. 1 "DTX" disable transmitter
  4908. 0 "DRX" disable receiver
  4909. SeeAlso: #P184,#P188,#P196
  4910.  
  4911. Bitfields for AMD PCnet CSR40 Current Receive Byte Count register:
  4912. Bit(s) Description (Table P193)
  4913. 15-12 reserved (0)
  4914. 11-0 current receive byte count (copy of BCNT field of current receive
  4915. descriptor's RMD1)
  4916. SeeAlso: #P185,#P194
  4917.  
  4918. Bitfields for AMD PCnet CSR42 Current Transmit Byte Count register:
  4919. Bit(s) Description (Table P194)
  4920. 15-12 reserved (0)
  4921. 11-0 current transmit byte count (copy of BCNT field of current receive
  4922. descriptor's TMD1)
  4923. SeeAlso: #P185,#P193
  4924.  
  4925. Bitfields for AMD PCnet CSR58 Software Style register:
  4926. Bit(s) Description (Table P195)
  4927. 15-11 reserved (undefined)
  4928. 10 "APERREN" enabled advanced parity error handling
  4929. 9 "CSRPCNET" PCnet-ISA compatibility (read-only)
  4930. 8 "SSIZE32" 32-bit software structures for data blocks
  4931. 7-0 "SWSTYLE" software style
  4932. 00h LANCE/PCnet-ISA (16-bit software structures)
  4933. 01h reserved
  4934. 02h PCnet-PCI (32-bit software)
  4935. 03h PCnet-PCI (32-bit software)
  4936. SeeAlso: #P185
  4937.  
  4938. Bitfields for AMD PCnet CSR80 FIFO threshold and DMA burst control:
  4939. Bit(s) Description (Table P196)
  4940. 15-14 reserved
  4941. 13-12 receive FIFO high-water mark; request DMA when N byte available
  4942. 00 = 16 bytes
  4943. 01 = 32 bytes
  4944. 10 = 64 bytes
  4945. 11-10 transmit starting point; start transmission after N bytes written
  4946. 00 = 4 bytes
  4947. 01 = 16 bytes
  4948. 10 = 64 bytes
  4949. 11 = 112 bytes
  4950. 9-8 transmit FIFO low-water mark; start DMA when room for N bytes
  4951. 00 = 8 bytes
  4952. 01 = 16 bytes
  4953. 10 = 32 bytes
  4954. 7-0 DMA burst register
  4955. SeeAlso: #P184,#P192
  4956.  
  4957. Bitfields for AMD PCnet Chip ID register (read-only):
  4958. Bit(s) Description (Table P197)
  4959. 31-28 hardware version
  4960. 27-12 part number
  4961. 2623h = Am79C971
  4962. 11-1 manufacturer ID (0001h = AMD)
  4963. 0 reserved (1)
  4964. SeeAlso: #P185
  4965.  
  4966. Bitfields for AMD PCnet CSR122 Advanced Feature Control register:
  4967. Bit(s) Description (Table P198)
  4968. 15-1 reserved
  4969. 0 "RCVALGN" DWORD-align received packets
  4970. SeeAlso: #P185,#P199
  4971.  
  4972. Bitfields for AMD PCnet CSR124 Test Register 1:
  4973. Bit(s) Description (Table P199)
  4974. 15-5 reserved
  4975. 4 (PCnet-SCSI) accept runt packets
  4976. 3 (PCnet-FAST) accept runt packets
  4977. 2-0 reserved
  4978. SeeAlso: #P185,#P198
  4979.  
  4980. Bitfields for AMD PCnet-FAST CSR125 MAC Enhanced Configuration Control reg:
  4981. Bit(s) Description (Table P200)
  4982. 15-8 inter-packet gap (reducing from default 96 can disrupt network)
  4983. 7-0 inter-frame spacing, part 1
  4984. SeeAlso: #P185
  4985.  
  4986. (Table P201)
  4987. Values for AMD PCnet-ISA ISA Bus Configuration Register index:
  4988. 00h "MSRDA" width of DMA read signal
  4989. 01h "MSWRA" width of DMA write signal
  4990. 02h "MC" ISA bus configuration (see #P204)
  4991. 05h "LED1" LED1 signal control (see #P205)
  4992. 06h "LED2" LED2 signal control (see #P205)
  4993. 07h "LED3" LED3 signal control (see #P205)
  4994. SeeAlso: #P184,#P224,#P202
  4995.  
  4996. (Table P202)
  4997. Values for AMD PCnet-SCSI Bus Configuration Register index:
  4998. 00h "MSRDA" width of DMA read signal (reserved)
  4999. 01h "MSWRA" width of DMA write signal (reserved)
  5000. 02h "MC" miscellaneous configuration (see #P204)
  5001. 03h reserved
  5002. 04h "LINKST" link status
  5003. 05h "LED1" LED1 signal control (see #P205) -- receive status
  5004. 06h "LED2" LED2 signal control (see #P205)
  5005. 07h "LED3" LED3 signal control (see #P205) -- transmit status
  5006. 08h-0Fh reserved
  5007. 10h "IOBASEL"
  5008. 11h "IOBASEU"
  5009. 12h "BSBC" burst size and bus control
  5010. 13h "EECAS" EEPROM Control and Status
  5011. 14h "SWS" software style
  5012. 15h "INTCON" reserved
  5013. SeeAlso: #P185,#P201,#P203
  5014.  
  5015. (Table P203)
  5016. Values for AMD PCnet-FAST Bus Configuration Register index:
  5017. 00h "MSRDA" width of DMA read signal (reserved)
  5018. 01h "MSWRA" width of DMA write signal (reserved)
  5019. 02h "MC" miscellaneous configuration (see #P204)
  5020. 03h reserved !!!p.154
  5021. 04h "LED0" LED0 status
  5022. 05h "LED1" LED1 signal control (see #P205) -- receive status
  5023. 06h "LED2" LED2 signal control (see #P205)
  5024. 07h "LED3" LED3 signal control (see #P205) -- transmit status
  5025. 08h reserved
  5026. 09h "FDC" full-duplex control
  5027. 0Ah-0Fh reserved
  5028. 10h "IOBASEL" I/O base select (lo) -- reserved
  5029. 11h "IOBASEU" I/O base select (hi) -- reserved
  5030. 12h "BSBC" burst size and bus control
  5031. 13h "EECAS" EEPROM Control and Status
  5032. 14h "SWS" software style
  5033. 15h "INTCON" reserved
  5034. 16h "PCILAT" PCI-bus latency
  5035. 17h "PCISID" PCI subsystem ID
  5036. 18h "PCISVID" PCI subsystem vendor ID
  5037. 19h "SRAMSIZ" SRAM size
  5038. 1Ah "SRAMB" SRAM boundary
  5039. 1Bh "SRAMIC" SRAM interface control
  5040. 1Ch "EBADDRL" expansion bus address (low)
  5041. 1Dh "EBADDRU" expansion bus address (high)
  5042. 1Eh "EBD" expansion bus data port
  5043. 1Fh "STVAL" software timer value
  5044. 20h "MIICAS" MII control and status
  5045. 21h "MIIADDR" MII address
  5046. 22h "MIIMDR" MII management data
  5047. 23h "PCIVID" PCI vendor ID
  5048. SeeAlso: #P185,#P201,#P202
  5049.  
  5050. Bitfields for AMD PCnet ISA bus configuration:
  5051. Bit(s) Description (Table P204)
  5052. 3 EADISEL
  5053. 2 AWAKE
  5054. 1 ASEL
  5055. 0 XMAUSEL
  5056. SeeAlso: #P202,#P205
  5057.  
  5058. Bitfields for AMD PCnet LEDn signal control:
  5059. Bit(s) Description (Table P205)
  5060. 15 LEDOUT
  5061. 14-8 reserved
  5062. 7 PSE
  5063. 6-5 reserved
  5064. 4 XMTE
  5065. 3 RVPE
  5066. 2 RCVE
  5067. 1 JABE
  5068. 0 COLE
  5069. SeeAlso: #P202
  5070. ----------P0300031F--------------------------
  5071. PORT 0300-031F - prototype cards
  5072. Periscope hardware debugger
  5073. ----------P030C030F--------------------------
  5074. PORT 030C-030F - AIMS LAB PC Radio
  5075. Range: configurable to PORT 020Ch or PORT 030Ch
  5076. Notes: writing a value with bit 3 set to one of these ports turns on the
  5077. radio; writing a value with bit 3 clear turns it off
  5078. PORT 020Eh bits 1 indicates status of some kind
  5079. --------s-P03100311--------------------------
  5080. PORT 0310-0311 - MPU-401 MIDI UART
  5081. Range: alternate address at PORT 0300h or PORT 0330h, occasionally at
  5082. PORT 0320h
  5083. ----------P0310031F--------------------------
  5084. PORT 0310-031F - Philips CD-ROM player CM50
  5085. --------s-P03200321--------------------------
  5086. PORT 0320-0321 - MPU-401 MIDI UART
  5087. Range: alternate address at PORT 0300h or PORT 0330h, occasionally at
  5088. PORT 0310h
  5089. ----------P03200323--------------------------
  5090. PORT 0320-0323 - XT HDC 1 (Hard Disk Controller)
  5091. SeeAlso: PORT 01F0h-01F7h
  5092.  
  5093. 0320 RW data register
  5094. 0321 -W reset controller
  5095. 0321 R- read controller hardware status (see #P206)
  5096. 0322 R- read DIPswitch setting on XT controller card
  5097. 0322 -W generate controller-select pulse
  5098. 0323 -W write pattern to DMA and INT mask register
  5099.  
  5100. Bitfields for XT hard disk controller hardware status:
  5101. Bit(s) Description (Table P206)
  5102. 7-6 always 0
  5103. 5 logical unit number
  5104. 4-2 always 0
  5105. 1 error occurred
  5106. 0 always 0
  5107. ----------P03240327--------------------------
  5108. PORT 0324-0327 - XT HDC 2 (Hard Disk Controller)
  5109. ----------P0328032B--------------------------
  5110. PORT 0328-032B - XT HDC 3 (Hard Disk Controller)
  5111. ----------P032B------------------------------
  5112. PORT 032B - GI1904 Scanner Interface Adapter
  5113. Range: PORT 022Bh, PORT 026Bh, PORT 02ABh (default), PORT 02EBh, PORT 036Bh,
  5114. PORT 03ABh, PORT 03EBh
  5115. ----------P032C------------------------------
  5116. PORT 032C - GS-IF Scanner Interface adapter
  5117. Range: PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  5118. PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  5119. Note: many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  5120. others use this interface
  5121. ----------P032C032F--------------------------
  5122. PORT 032C-032F - XT HDC 4 (Hard Disk Controller)
  5123. ----------P03300331--------------------------
  5124. PORT 0330-0331 - MPU-401 MIDI UART
  5125. Range: alternate address at PORT 0300h, occasionally at PORT 0310h or
  5126. PORT 0320h
  5127.  
  5128. 0330 RW data register
  5129. 0331 R- status register (see #P207)
  5130. 0331 -W command register (see #P208)
  5131. Note: MPU-401 genarates an interrupt when MIDI code is ready; by reading
  5132. MIDI code from the data register this interrupt is cleared
  5133.  
  5134. Bitfields for MPU-401 status register:
  5135. Bit(s) Description (Table P207)
  5136. 7 input ready
  5137. =1 no data is available for reading
  5138. =0 data is available for reading
  5139. 6 output ready
  5140. =1 not ready to receive command/data byte
  5141. =0 ready to receive command/data byte
  5142. 5-0 reserved
  5143. Note: pending input seems to block the output
  5144. SeeAlso: #P208
  5145.  
  5146. (Table P208)
  5147. Values for MPU-401 commands (data go to/from PORT 0330h):
  5148. Command Description Results Parameter
  5149. 01h send MIDI stop ACK -
  5150. 02h send MIDI start ACK -
  5151. 03h send MIDI continue ACK -
  5152. 15h stop all (recording, ACK -
  5153. playback and MIDI)
  5154. 34h return timing bytes ACK -
  5155. in stop mode
  5156. 35h enable mode messages ACK -
  5157. to PC
  5158. 38h enable system common ACK -
  5159. messages to PC
  5160. 39h enable real time ACK -
  5161. messages to PC
  5162. 3Ch use CLS sync ACK -
  5163. 3Dh use SMPTE sync ACK -
  5164. 3Fh enter UART mode ACK -
  5165. 80h use MIDI sync ACK -
  5166. 81h use FSK sync ACK -
  5167. 82h use MIDI sync ACK -
  5168. 83h enable metronome ACK -
  5169. 84h disable metronome ACK -
  5170. 87h enable pitch and ACK -
  5171. controller
  5172. 8Ah disable data in stopped ACK -
  5173. mode
  5174. 8Bh enable data in stop mode ACK -
  5175. 8Ch disable measure end ACK -
  5176. messages to host
  5177. 91h enable ext MIDI control ACK -
  5178. 94h disable clock to host ACK -
  5179. 95h enable clock to host ACK -
  5180. 97h enable system exclusive ACK -
  5181. messages to PC
  5182. ACh get MIDI version ACK,VER -
  5183. ADh get revision ACK,REV -
  5184. Cxh set timebase to x*24 ACK -
  5185. ppqn (x>1)
  5186. D0h ??? ACK -
  5187. DFh ??? ACK -
  5188. E0h set tempo ACK BPS
  5189. E4h set clocks per click ACK CPC
  5190. E6h set beats per measure ACK BPM
  5191. E7h send all clocks to host ACK 1 byte
  5192. (04h is sent)
  5193. FFh reset ACK -
  5194. Notes: after receiving a command byte MPU-401 must reply with command
  5195. acknowledge byte FEh in data register
  5196. command parameters are sent, and response bytes are received through
  5197. the data register
  5198. no commands (except reset) can be issued in UART mode, and MPU-401
  5199. must be reset to leave UART mode
  5200. Key:
  5201. ACK command acknowledge byte (FEh)
  5202. VER MIDI version number
  5203. bits 7-4: major version
  5204. bits 0-3: minor version
  5205. REV revision number
  5206. BPS beats per second (8..250)
  5207. CPC clocks per click
  5208. BPM beats per measure
  5209. SeeAlso: #P208
  5210. ----------P03300333--------------------------
  5211. PORT 0330-0333 - Adaptec 154xB/154xC SCSI adapter (default address)
  5212. Range: four ports at any of 0130, 0134, 0230, 0234, 0330 (default) or 0334
  5213. Note: BusLogic BT-545S and DTC 3290 seem to be "almost" compatible with
  5214. the Adaptec AHA-154x
  5215.  
  5216. 0330 R- status register (see #P209)
  5217. 0330 -W control register (see #P210)
  5218. 0331 R- data in register
  5219. 0331 -W command / data out register (see #P212)
  5220. 0332 R- interrupt status register (see #P211)
  5221.  
  5222. Bitfields for AHA-154x status register:
  5223. Bit(s) Description (Table P209)
  5224. 7 self-test in progress (STST)
  5225. 6 diagnostic failure (DIAGF)
  5226. 5 mailbox initialization required (INIT)
  5227. 4 adapter idle (IDLE)
  5228. 3 command register full (CDF)
  5229. 2 data register full (DF)
  5230. 1 reserved
  5231. 0 invalid command (INVDCMD)
  5232. Note: data in register should only be read if bit 2 is set
  5233. command / data out register should only be written if bit 3 is zero
  5234. SeeAlso: #P210,#P211,#P212
  5235.  
  5236. Bitfields for AHA-154x control register:
  5237. Bit(s) Description (Table P210)
  5238. 7 hardware reset (HRST)
  5239. 6 software reset (SRST)
  5240. 5 interrupt reset (IRST)
  5241. 4 SCSI bus reset (SCRST)
  5242. 0-3 reserved
  5243. SeeAlso: #P209
  5244.  
  5245. Bitfields for AHA-154x interrupt status register:
  5246. Bit(s) Description (Table P211)
  5247. 7 any interrupt (ANYINTR)
  5248. 4-6 reserved
  5249. 3 SCSI reset detected (SCRD)
  5250. 2 host adapter command complete (HACC)
  5251. 1 mailbox out available (MBOA)
  5252. 0 mailbox in full (MBIF)
  5253. SeeAlso: #P209
  5254.  
  5255. (Table P212)
  5256. Values for AHA-154x host adapter commands:
  5257. Command Description Parameters Results
  5258. 00h no operation - -
  5259. 01h mailbox initializa- NMB,MBA0,MBA1,MBA2 -
  5260. tion
  5261. 02h start SCSI command - -
  5262. 03h start BIOS command BFN,TRG,CH,CLHH,HL,SN,SC, -
  5263. BA0,BA1,BA2
  5264. 04h adapter inquiry - BT,SOID,RC0,RC1
  5265. 05h enable mailbox out 1 byte -
  5266. interrupt
  5267. 06h set selection 4 bytes -
  5268. timeout
  5269. 07h set bus on time BON -
  5270. 08h set bus off time BOFF -
  5271. 09h set AT bus transfer ATBS -
  5272. speed
  5273. 0Ah return installed - ID0,ID1,ID2,ID3,
  5274. devices ID4,ID5,ID6,ID7
  5275. 0Bh return configuration - DRQ,IRQ,SID
  5276. data
  5277. 0Ch enable target mode 2 bytes -
  5278. 0Dh return setup data NSD OPT,ATBS,
  5279. BON,BOFF,
  5280. NMB,MBA0,MBA1,MBA2,
  5281. S0,S1,S2,S3,S4,S5,S6,S7,
  5282. DS
  5283. 1Ah write channel 2 3 bytes -
  5284. buffer
  5285. 1Bh read channel 2 3 bytes -
  5286. buffer
  5287. 1Ch write FIFO buffer 3 bytes -
  5288. 1Dh read FIFO buffer 3 bytes -
  5289. 1Fh echo command data D D
  5290. 20h run adapter - -
  5291. diagnostics
  5292. 21h set adapter options ESG,DS -
  5293. 22h program EEPROM 35 bytes -
  5294. (AHA-1542C)
  5295. 23h return EEPROM data ???,NED,EA EEPROM data
  5296. (AHA-1542C) bytes
  5297. 24h set shadow RAM 1 byte -
  5298. parameters
  5299. (AHA-1542C???)
  5300. 25h BIOS mailbox NMB,MBA0,MBA1,MBA2 -
  5301. initialization
  5302. (since AHA-1540B
  5303. rev. 1.4???)
  5304. 26h set BIOS bank 1 - -
  5305. (AHA-1542C???)
  5306. 27h set BIOS bank 2 - -
  5307. (AHA-1542C???)
  5308. 28h return extended BIOS - F,MBLC
  5309. information (since
  5310. AHA-1540B rev.
  5311. 1.4???)
  5312. 29h enable mailbox EMB,MBLC -
  5313. interface (since
  5314. AHA-1540B rev.
  5315. 1.4???)
  5316. 82h start BIOS SCSI - -
  5317. command (since
  5318. AHA-1540B rev.
  5319. 1.4???)
  5320. Note: NMB number of "in" and "out" mailboxes
  5321. MBA0..MBA2 MSB..LSB of the physical address of the array of mailboxes
  5322. (see #P213)
  5323. BFN BIOS function number
  5324. TRG bits 7-5: target ID
  5325. bits 4-0: reserved
  5326. CH bits 7-4: reserved
  5327. bits 3-0: bits 9-6 of cylinder number
  5328. CLHH bits 7-2: bits 5-0 of cylinder number
  5329. bits 1-0: bits 5-4 of head number
  5330. HL bits 7-4: reserved
  5331. bits 3-0: bits 3-0 of head number
  5332. SN sector number - 1
  5333. SC sector count
  5334. BA0..BA2 MSB..LSB of the physical address of data buffer
  5335. BT board type
  5336. 20h BusLogic BT-545S
  5337. 31h Adaptec AHA-1540
  5338. 41h Adaptec AHA-1540A/1542A/1542B
  5339. 42h Adaptec AHA-1640
  5340. 43h Adaptec AHA-1542C
  5341. 44h Adaptec AHA-1542CF
  5342. 45h=Adaptec AHA-1542CF with BIOS v2.01
  5343. SOID special options ID
  5344. 30h ???
  5345. 41h standard model
  5346. RC0/RC1 alphanumeric revision code
  5347. BON bus on time (time in microseconds adapter stays on the AT
  5348. bus when transferring data: 2..15, default is 11)
  5349. BOFF bus off time (time in microseconds adapter stays off the AT
  5350. bus when transferring data: 1..64, default is 4)
  5351. ATBS AT bus transfer speed
  5352. 00h,AAh 5.0 MB/s
  5353. 01h,99h 6.7 Mb/s
  5354. 02h 8.0 Mb/s
  5355. 03h,88h 10.0 Mb/s
  5356. 04h 5.7 Mb/s
  5357. BBh 4.0 Mb/s???
  5358. CCh 3.3 Mb/s???
  5359. DDh 2.9 Mb/s???
  5360. EEh 2.5 Mb/s???
  5361. FFh 2.2 Mb/s???
  5362. ID0..ID7 bit m in byte IDn is set if SCSI ID n LUN m is online
  5363. DRQ DRQ select
  5364. bit 7: DRQ7
  5365. bit 6: DRQ6
  5366. bit 5: DRQ5
  5367. bit 4-1: reserved
  5368. bit 0: DRQ0
  5369. IRQ IRQ select
  5370. bit 7: reserved
  5371. bit 6: IRQ15
  5372. bit 5: IRQ14
  5373. bit 4: IRQ13
  5374. bit 3: IRQ12
  5375. bit 2: IRQ11
  5376. bit 1: IRQ10
  5377. bit 0: IRQ9
  5378. SID host adapter SCSI ID
  5379. NSD number of setup data bytes to return
  5380. OPT options
  5381. bit 0: synchronous negotiation
  5382. bit 1: SCSI parity
  5383. S0..S7 synchronous transfer timings for target IDs 0..7
  5384. each byte laid out as follows
  5385. bit 7: synchronous timing valid
  5386. bits 6-4: synchronous transfer period
  5387. bits 3-0: synchronous offset
  5388. DS disconnect status
  5389. bit n is set if target ID n is unable to disconnect???
  5390. D any data byte (it must be echoed back)
  5391. ESG enable scatter/gather???
  5392. NED number of EEPROM data bytes to return
  5393. EA EEPROM address to read data from
  5394. F flags
  5395. bit 3: extended BIOS enabled
  5396. MBLC mailbox lock code
  5397. bit 0: BIOS uses 256 heads 63 sectors LBA to CHS
  5398. translation???
  5399. EMB 0 to enable mailbox interface???
  5400. Note: all commands except 01h, 02h should only be issued if the host adapter
  5401. is idle (bit 4 in PORT 0330h set)
  5402. command 02h can be issued even if the command / data out register is
  5403. full (bit 3 in PORT 0330h may be set)
  5404. command 02h causes host adapter to scan both its SCSI and BIOS
  5405. mailboxes; command 82h causes host adapter to scan its BIOS mailboxes
  5406. all host adapter commands except 02h cause host adapter command
  5407. complete interrupt (bit 2 in PORT 332h) after their completetion
  5408. return setup data command (0Dh) returns the number of bytes requested
  5409. with NSD parameter
  5410. BusLogic BT-545S gets the adapter inquiry command (04h) wrong returning
  5411. only one byte instead of four; DTC 3290 gets this command wrong too
  5412. SeeAlso: #P209,#P211
  5413.  
  5414. Format of AHA-154x mailbox array:
  5415. Offset Size Description (Table P213)
  5416. 00h N*4 BYTEs array of N "out" mailboxes (see #P214)
  5417. N*4 N*4 BYTEs array of N "in" mailboxes (see #P214)
  5418. Notes: the "out" mailboxes are scanned by the host adapter in a round-robin
  5419. fashion, i.e. the host adapter first looks into an "out" mailbox
  5420. which follows one least recently used (and wraps around if it was
  5421. the last one in the array
  5422. array of "in" mailboxes is absent in the case of BIOS mailboxes
  5423. SeeAlso: #P209,#P215,#P216
  5424.  
  5425. Format of AHA-154x mailbox:
  5426. Offset Size Description (Table P214)
  5427. 00h BYTE mailbox command/status code (see #P215,#P216)
  5428. 01h 3 BYTEs address of the command control block (CCB) (see #P217)
  5429. physical address in big-endian format
  5430. SeeAlso: #P209,#P213
  5431.  
  5432. (Table P215)
  5433. Values for mailbox out command codes:
  5434. 00h CCB is free
  5435. 01h start CCB
  5436. 02h abort CCB
  5437. SeeAlso: #P209,#P213,#P216
  5438.  
  5439. (Table P216)
  5440. Values for mailbox in status codes:
  5441. 00h command in progress
  5442. 01h CCB completed
  5443. 02h CCB aborted
  5444. 03h CCB abort failed
  5445. 04h CCB completed with error
  5446. SeeAlso: #P209,#P213,#P215
  5447.  
  5448. Format of AHA-154x command control block (CCB):
  5449. Offset Size Description (Table P217)
  5450. 00h BYTE CCB operation code (see #P218)
  5451. 01h BYTE address and control
  5452. bits 5-7: target/initiator ID
  5453. bit 4: outbound data
  5454. bit 3: inbound data
  5455. bits 0-2: LUN
  5456. 02h BYTE SCSI command length
  5457. 03h BYTE request sense allocation length
  5458. write 0 to disable auto-sense
  5459. 04h 3 BYTEs data length
  5460. in big-endian format
  5461. 07h 3 BYTEs data pointer
  5462. physical address in big-endian format
  5463. 0Ah 3 BYTEs link pointer (link to the next CCB for linked commands)
  5464. physical address in big-endian format
  5465. 0Dh BYTE command linking ID (for linked commands)
  5466. mailbox status code (if this is a CCB in a BIOS mailbox,
  5467. see #P216)
  5468. 0Eh BYTE host adapter status (see #P219)
  5469. 0Fh BYTE target device status
  5470. SCSI status byte
  5471. 10h 2 BYTEs reserved
  5472. 12h N BYTEs SCSI command descriptor block (CDB)
  5473. 12h+N M BYTEs auto-sense data
  5474. SeeAlso: #P209
  5475.  
  5476. (Table P218)
  5477. Values for CCB type:
  5478. 00h initiator CCB
  5479. 01h target CCB
  5480. 02h initiator CCB with scatter/gather (see #P220)
  5481. 03h initiator CCB with residual length
  5482. 04h initiator CCB with scatter/gather and residual length (see #P220)
  5483. 81h bus device reset CCB
  5484. Note: residual length is returned in the data length field of CCB
  5485. initiator CCB with scatter/gather cannot have a zero data length
  5486. SeeAlso: #P209
  5487.  
  5488. (Table P219)
  5489. Values for host adapter status:
  5490. 00h command complete
  5491. 0Ah linked command complete (linked CCBs only)
  5492. 0Bh linked command complete with flag (linked CCBs only)
  5493. 11h selection time out
  5494. 12h data overrun/underrun
  5495. 13h unexpected bus free
  5496. 14h target bus phase sequence failure
  5497. 15h invalid mailbox out command
  5498. 16h invalid CCB operation code
  5499. 17h linked CCB does not have the same LUN
  5500. 18h invalid target direction received from host (target mode only)
  5501. 19h dupilcate CCB received in target mode
  5502. 1Ah invalid CCB or segment list parameter
  5503. Note: in the case of target bus sequence failure host adapter will generate
  5504. a SCSI reset condition, notifying the host with a SCRD interrupt
  5505. SeeAlso: #P209
  5506.  
  5507. Format of AHA-154x scatter/gather segment:
  5508. Offset Size Description (Table P220)
  5509. 00h 3 BYTEs data length
  5510. in big-endian format
  5511. 03h 3 BYTEs data pointer
  5512. physical address in big-endian format
  5513. SeeAlso: #P209
  5514. ----------P0330033F--------------------------
  5515. PORT 0330-033F - CompaQ SCSI adapter. alternate address at 0130
  5516. ----------P0330033F--------------------------
  5517. PORT 0330-033F - Philips CD-ROM player CM50
  5518. ----------P03340337--------------------------
  5519. PORT 0334-0337 - Adaptec 154xB/154xC SCSI adapter.
  5520. Range: four ports at any of 0130, 0134, 0230, 0234, 0330 (default) or 0334
  5521. ----------P0338------------------------------
  5522. PORT 0338 - AdLib soundblaster card
  5523. ----------P0338033F--------------------------
  5524. PORT 0338-033F - COM port addresses on UniRAM card by German magazine c't
  5525. Range: selectable from 0238, 02E8, 02F8, 0338, 03E0, 03E8, 03F8
  5526. ----------P0340034F--------------------------
  5527. PORT 0340-034F - Philips CD-ROM player CM50
  5528. ----------P0340034F--------------------------
  5529. PORT 0340-034F - SCSI (1st Small Computer System Interface) adapter
  5530. Range: alternate address at 0140-014F
  5531. ----------P0340034F--------------------------
  5532. PORT 0340-034F - Gravis Ultra Sound by Advanced Gravis
  5533. Range: The I/O address range is dipswitch selectable from:
  5534. 0200-020F and 0300-030F
  5535. 0210-021F and 0310-031F
  5536. 0220-022F and 0320-032F
  5537. 0230-023F and 0330-033F
  5538. 0240-024F and 0340-034F
  5539. 0250-025F and 0350-035F
  5540. 0260-026F and 0360-036F
  5541. 0270-027F and 0370-037F
  5542. Note: the AMD InterWave chip provides a superset of the UltraSound's
  5543. functionality, including these ports
  5544. SeeAlso: PORT 0240h-024Fh,PORT 0746h
  5545.  
  5546. 0340 -W MIDI Control (see #P221)
  5547. 0340 R- MIDI Status (see #P222)
  5548. 0341 -W MIDI Transmit Data
  5549. 0341 R- MIDI Receive Data
  5550. 0342 RW GF1 Page Register / Voice Select
  5551. 0343 RW GF1/Global Register Select (see #P223)
  5552. 0344 RW GF1/Global Data Low Byte (16 bits)
  5553. 0345 RW GF1/Global Data High Byte (8 bits)
  5554. 0346 -W Mixer Data Port
  5555. 0347 RW GF1 DRAM
  5556. Direct Read Write at Loction pointed with regs 43 and 44
  5557.  
  5558. Bitfields for Gravis Ultra Sound MIDI control register:
  5559. Bit(s) Description (Table P221)
  5560. 7 Receive IRQ (1 = enabled)
  5561. 5-6 Xmit IRQ
  5562. 0-1 Master Reset (1 = enabled)
  5563. SeeAlso: #P178,#P180,#P222
  5564.  
  5565. Bitfields for Gravis Ultra Sound MIDI status register:
  5566. Bit(s) Description (Table P222)
  5567. 7 Interrupt pending
  5568. 5 Overrun Error
  5569. 4 Framing Error
  5570. 1 Transmit Register Empty
  5571. 0 Receive Register Empty
  5572. SeeAlso: #P221,#P223
  5573.  
  5574. (Table P223)
  5575. Values for Gravis Ultra Sound GF1/Global Registers:
  5576. ---Voice specific registers---
  5577. 00h w Voice Control (see #P225)
  5578. 01h w Frequency Control
  5579. bit 15-10 Integer Portion
  5580. bit 9-1 Fractional Portion
  5581. 02h w Start Address HIGH
  5582. bit 12-0 Address Lines 19-7
  5583. 03h w Start Address LOW
  5584. bit 15-9 Address Lines 6-0
  5585. bit 8-5 Fractional Part of Start Address
  5586. 04h w End Address HIGH
  5587. bit 12-0 Address Lines 19-7
  5588. 05h w End Address LOW
  5589. bit 15-9 Address Lines 6-0
  5590. bit 8-5 Fractional Part of End Address
  5591. 06h w Volume Ramp Rate
  5592. bit 5-0 Amount added
  5593. bit 7-6 Rate
  5594. 07h w Volume Ramp Start
  5595. bit 7-4 Exponent
  5596. bit 3-0 Mantissa
  5597. 08h w Volume Ramp End
  5598. bit 7-4 Exponent
  5599. bit 3-0 Mantissa
  5600. 09h w Current Volume
  5601. bit 15-12 Exponent
  5602. bit 11-4 Mantissa
  5603. 0Ah w Current Address HIGH
  5604. bit 12-0 Address Lines 19-7
  5605. 0Bh w Current Address LOW
  5606. bit 15-9 Address Lines 6-0
  5607. bit 8-0 Fractional Position
  5608. 0Ch w Pan Position
  5609. bit 3-0 Pan Postion
  5610. 0Dh w Volume Control (see #P226)
  5611. 0Eh w Active Voices
  5612. bit 5-0 #Voices -1 (allowed 13 - 31)
  5613. 0Fh w IRQ Source Register (see #P227)
  5614. ---NOT voice specific---
  5615. 41h r/w DRAM DMA Control (see #P228)
  5616. 42h w DMA Start Address
  5617. bits 15-0 DMA Address Lines 19-4
  5618. 43h w DRAM I/O Address LOW
  5619. 44h w DRAM I/O Address HIGH
  5620. bits 0-3 Upper 4 Address Lines
  5621. 45h r/w Timer Control
  5622. bit 3 Enable Timer 2
  5623. bit 2 Enable Timer 1
  5624. 46h w Timer 1 Count (granularity of 80 micro sec)
  5625. 47h w Timer 2 Count (granulatity of 320 micro sec)
  5626. 48h w Sampling Frequency
  5627. rate = 9878400 / (16 * (FREQ + 2))
  5628. 49h r/w Sampling Control (see #P229)
  5629. 4Bh w Joystick Trim DAC
  5630. 4Ch r/w RESET
  5631. bit 2 GF1 Master IRQ Enable
  5632. bit 1 DAC Enable
  5633. bit 0 Master Reset
  5634. ---Voice specific registers---
  5635. 80h r Voice Control (see 00h)
  5636. 81h r Frequency Control (see 01h)
  5637. 82h r Start Address HIGH (see 02h)
  5638. 83h r Start Address LOW (see 03h)
  5639. 84h r End Address HIGH (see 04h)
  5640. 85h r End Address LOW (see 05h)
  5641. 86h r Volume Ramp Rate (see 06h)
  5642. 87h r Volume Ramp Start (see 07h)
  5643. 88h r Volume Ramp End (see 08h)
  5644. 89h r Current Volume (see 09h)
  5645. 8Ah r Current Address HIGH (see 0Ah)
  5646. 8Bh r Current Address LOW (see 0Bh)
  5647. 8Ch r Pan Position (see 0Ch)
  5648. 8Dh r Volume Control (see 0Dh)
  5649. 8Eh r Active Voices (see 0Eh)
  5650. 8Fh r IRQ Status (see 0Fh)
  5651. SeeAlso: #P222,#P224
  5652.  
  5653. (Table P224)
  5654. Values for InterWave synthesizer registers:
  5655. ---voice-specific registers---
  5656. 10h w synthesizer upper address
  5657. 11h w synthesizer effects address high (16 bits)
  5658. 12h w synthesizer effects address low (16 bits)
  5659. 13h w synthesizer left offset (16 bits)
  5660. 14h w synthesizer effects output accumulator select
  5661. 15h w synthesizer mode select
  5662. 16h w synthesizer effects volume (16 bits)
  5663. 17h w synthesizer frequency LFO
  5664. 18h w synthesizer volume LFO
  5665. ---NOT voice-specific---
  5666. 19h w synthesizer global mode
  5667. 1Ah w synthesizer LFO base address (16 bits)
  5668. ---voice-specific registers---
  5669. 1Bh w synthesizer right offset (16 bits)
  5670. 1Ch w synthesizer left offset (16 bits)
  5671. 1Dh w synthesizer effect volume final (16 bits)
  5672. ---NOT voice-specific---
  5673. 41h r/w local memory control: DMA control
  5674. 42h r/w local memory control: DMA start address bits 19-4 (16 bits)
  5675. 43h w local memory control: I/O address low (16 bits)
  5676. 44h w local memory control: I/O address high (16 bits)
  5677. 45h r/w AdLib/SoundBlaster control
  5678. 46h r/w AdLib timer 1
  5679. 47h r/w AdLib timer 2
  5680. 49h r/w ADC sample control
  5681. 4Bh r/w joystick trim
  5682. 4Ch w GUS reset
  5683. 50h r/w local memory control: DMA start address bits 23-20/3-0 (16 bits)
  5684. 51h r/w local memory control: 16-bit access
  5685. 52h r/w local memory control: configuration
  5686. 53h r/w local memory control: control
  5687. 54h r/w local memory control: record FIFO base address bits 23-8 (16-bit)
  5688. 55h r/w local memory control: playback FIFO base address bits 23-8 (16-bit)
  5689. 56h r/w local memory control: FIFO size (16-bit)
  5690. 57h r/w local memory control: DMA interleave control (16-bit)
  5691. 58h r/w local memory control: DMA interleaev base address bits 23-8
  5692. 59h r/w compatibility control
  5693. 5Ah r/w decode control
  5694. 5Bh r/w version number
  5695. 5Ch r/w MPU-401 emulation control A
  5696. 5Dh r/w MPU-401 emulation control B
  5697. 5Eh w MIDI receive FIFO access
  5698. 5Fh - reserved
  5699. 60h r/w emulation IRQ
  5700. ---voice-specific registers---
  5701. 90h r synthesizer upper address
  5702. 91h r synthesizer effects address high (16 bits)
  5703. 92h r synthesizer effects address low (16 bits)
  5704. 93h r synthesizer left offset (16 bits)
  5705. 94h r synthesizer effects output accumulator select
  5706. 95h r synthesizer mode select
  5707. 96h r synthesizer effects volume (16 bits)
  5708. 97h r synthesizer frequency LFO
  5709. 98h r synthesizer volume LFO
  5710. ---NOT voice-specific---
  5711. 99h r synthesizer global mode
  5712. 9Ah r synthesizer LFO base address (16 bits)
  5713. ---voice-specific registers---
  5714. 9Bh r synthesizer right offset (16 bits)
  5715. 9Ch r synthesizer left offset (16 bits)
  5716. 9Dh r synthesizer effect volume final (16 bits)
  5717. ---NOT voice-specific---
  5718. 9Fh r synthesizer voices IRQ
  5719. Note: these registers are *in*addition* to the Gravis UltraSound registers
  5720. SeeAlso: #P223
  5721.  
  5722. Bitfields for Gravis Ultra Sound voice control global register:
  5723. Bit(s) Description (Table P225)
  5724. 7 IRQ pending
  5725. 6 Direction
  5726. 5 Enable WAVE IRQ
  5727. 4 Enable bi-directional Looping
  5728. 3 Enable Looping
  5729. 2 Size data (8/16 bits)
  5730. 1 Stop Voice
  5731. 0 Voice Stopped
  5732. SeeAlso: #P223,#P226
  5733.  
  5734. Bitfields for Gravis Ultra Sound volume control global register:
  5735. Bit(s) Description (Table P226)
  5736. 7 IRQ Pending
  5737. 6 Direction
  5738. 5 Enable Volume Ramp IRQ
  5739. 4 Enable bi-directional Looping
  5740. 3 Enable Looping
  5741. 2 Rollover Condition
  5742. 1 Stop Ramp
  5743. 0 Ramp Stopped
  5744. SeeAlso: #P223,#P225
  5745.  
  5746. Bitfields for Gravis Ultra Sound IRQ source register:
  5747. Bit(s) Description (Table P227)
  5748. 7 WaveTable IRQ pending
  5749. 6 Volume Ramp IRQ pending
  5750. 4-0 Voice Number
  5751. SeeAlso: #P223,#P225,#P228
  5752.  
  5753. Bitfields for Gravis Ultra Sound DRAM DMA control register:
  5754. Bit(s) Description (Table P228)
  5755. 7 Invert MSB
  5756. 6 Data Size (8/16 bits)
  5757. 5 DMA Pending
  5758. 3-4 DMA Rate Divider
  5759. 2 DMA Channel Width (8/16 bits)
  5760. 1 DMA Direction (1 = read)
  5761. 0 DMA Enable
  5762. SeeAlso: #P223,#P227
  5763.  
  5764. Bitfields for Gravis Ultra Sound sampling control register:
  5765. Bit(s) Description (Table P229)
  5766. 7 Invert MSB
  5767. 6 DMA IRQ pending
  5768. 5 DMA IRQ enable
  5769. 2 DMA width (8/16 bits)
  5770. 1 Mode (mone/stereo)
  5771. 0 Start Sampling
  5772. SeeAlso: #P223
  5773. ----------P03400357--------------------------
  5774. PORT 0340-0357 - RTC (1st Real Time Clock for XT)
  5775. (used by TIMER.COM v1.2 which is the 'standard' timer program)
  5776. Range: alternate at 0240-0257
  5777. SeeAlso: PORT 0240h-0257h
  5778.  
  5779. 0340 RW 0.001 seconds 0-99
  5780. 0341 RW 0.1 and 0.01 seconds 0-99
  5781. 0342 RW seconds 0-59
  5782. 0343 RW minutes 0-59
  5783. 0343 RW hours 0-23
  5784. 0345 RW day of week 1-7
  5785. 0346 RW day of month 1-31
  5786. 0347 RW month 1-12
  5787. 0348 RW RAM (upper nybble only)
  5788. 0349 RW year 0-99
  5789. 034A RW RAM last month storage
  5790. 034B RW RAM year storage (-80)
  5791. 034C RW RAM reserved
  5792. 034D RW RAM not used
  5793. 034E RW RAM not used
  5794. 034F RW RAM not used
  5795. 0350 R- interrupt status register
  5796. 0351 -W interrupt control register
  5797. 0352 -W counter reset
  5798. 0353 -W RAM reset
  5799. 0354 R- status bit
  5800. 0355 -W GO command
  5801. 0356 ?? standby interrupt
  5802. 0357 ?? test mode
  5803. ----------P03480357--------------------------
  5804. PORT 0348-0357 - DCA 3278
  5805. ----------P034C034F--------------------------
  5806. PORT 034C-034F - Gravis UltraMax by Advanced Gravis
  5807. Range: The I/O address range is dipswitch selectable from:
  5808. 0200-020F and 0300-030F
  5809. 0210-021F and 0310-031F
  5810. 0220-022F and 0320-032F
  5811. 0230-023F and 0330-033F
  5812. 0240-024F and 0340-034F
  5813. 0250-025F and 0350-035F
  5814. 0260-026F and 0360-036F
  5815. 0270-027F and 0370-037F
  5816. ----------P035A035B--------------------------
  5817. PORT 035A-035B - Adaptec AH1520 jumper settings
  5818.  
  5819. 035A R I/O channel setup (see #P230)
  5820. 035B R transfer mode setup (see #P231)
  5821.  
  5822. Bitfields for Adaptec AH1520 channel setup jumper settings:
  5823. Bit(s) Description (Table P230)
  5824. 7 SCSI parity disabled
  5825. 6-5 DMA channel (00 = channel 0, 01 = 5, 10 = 6, 11 = 7)
  5826. 4-3 IRQ number (00 = IRQ9, 01 = IRQ10, 10 = IRQ11, 11 = IRQ12)
  5827. 2-0 SCSI ID
  5828. SeeAlso: #P231
  5829.  
  5830. Bitfields for Adaptec AH1520 transfer mode setup jumper settings:
  5831. Bit(s) Description (Table P231)
  5832. 7 DMA transfer mode (clear for PIO)
  5833. 6 boot enabled
  5834. 5-4 boot type
  5835. 00 ???
  5836. 01 boot from floppy
  5837. 10 print configured options
  5838. 11 boot from hard disk
  5839. 3 enable sync negotiation
  5840. 2 enable target disconnection
  5841. 1-0 unused???
  5842. SeeAlso: #P230
  5843. ----------P035F------------------------------
  5844. PORT 035F - ARTEC Handyscanner A400Z. alternate address at 15F.
  5845. ----------P03600367--------------------------
  5846. PORT 0360-0367 - PC network (XT only)
  5847. ----------P0360036F--------------------------
  5848. PORT 0360-036F - PC network (AT)
  5849. ----------P0360036F--------------------------
  5850. PORT 0360-036F - National Semiconductor DP8390(1)C/NS3249C network chipset
  5851. Note: cards based on this IEEE 802.3 networking chipset can use any range
  5852. of 16 consecutive addresses, and provide a total of four pages of
  5853. sixteen registers (see #P232,#P233,#P234,#P299)
  5854.  
  5855. (Table P232)
  5856. Values for NS DP8390C/NS3249C network chipset Page 0 registers:
  5857. Number Read Register Write Register
  5858. 00h Command reg. (see #P236) CR Command reg. CR
  5859. 01h current local DMA address 0 CLDA0 page start reg. PSTART
  5860. 02h current local DMA address 1 CLDA1 page stop reg. PSTOP
  5861. 03h boundary pointer BNRY boundary pointer BNRY
  5862. 04h transmit status reg. TSR Tx page start address TPSR
  5863. 05h number of collisions reg. NCR Tx byte count reg.0 TBCR0
  5864. 06h FIFO Tx byte count reg.1 TBCR1
  5865. 07h interrupt status reg. ISR interrupt status reg. ISR
  5866. 08h current remote DMA address 0 CRDA0 remote start addr.reg.0 RSAR0
  5867. 09h current remote DMA address 1 CRDA1 remote start addr.reg.1 RSAR1
  5868. 0Ah reserved remote byte count reg.0 RBCR0
  5869. 0Bh reserved remote byte count reg.1 RBCR1
  5870. 0Ch receive status reg. RSR Rx configuration reg. RCR
  5871. 0Dh tally counter 0 (frame errors) CNTR0 Tx configuration reg. TCR
  5872. 0Eh tally counter 1 (CRC errors) CNTR1 data configuration reg. DCR
  5873. 0Fh tally counter 2 (missed pkt) CNTR2 interrupt mask reg. IMR
  5874. SeeAlso: #P233,#P234,#P235
  5875.  
  5876. (Table P233)
  5877. Values for NS DP8390C/NS3249C network chipset Page 1 registers:
  5878. Number Read/Write
  5879. 00h Command CR (see #P236)
  5880. 01h physical address reg.0 PAR0
  5881. 02h physical address reg.1 PAR1
  5882. 03h physical address reg.2 PAR2
  5883. 04h physical address reg.3 PAR3
  5884. 05h physical address reg.4 PAR4
  5885. 06h physical address reg.5 PAR5
  5886. 07h current page reg. CURR
  5887. 08h multicast address reg.0 MAR0
  5888. 09h multicast address reg.1 MAR1
  5889. 0Ah multicast address reg.2 MAR2
  5890. 0Bh multicast address reg.3 MAR3
  5891. 0Ch multicast address reg.4 MAR4
  5892. 0Dh multicast address reg.5 MAR5
  5893. 0Eh multicast address reg.6 MAR6
  5894. 0Fh multicast address reg.7 MAR7
  5895. SeeAlso: #P232,#P234,#P235
  5896.  
  5897. (Table P234)
  5898. Values for NS DP8390C/NS3249C network chipset Page 2 registers:
  5899. Number Read Register Write Register
  5900. 00h Command CR Command CR
  5901. 01h page start reg. PSTART current local DMA addr.0 CLDA0
  5902. 02h page stop reg. BPSTOP current local DMA addr.1 CLDA1
  5903. 03h remote next packet pointer remote next packet pointer
  5904. 04h Tx page start address TPSR reserved
  5905. 05h local next packet pointer local next packet pointer
  5906. 06h address counter (upper) address counter (upper)
  5907. 07h address counter (lower) address counter (lower)
  5908. 08h reserved reserved
  5909. 09h reserved reserved
  5910. 0Ah reserved reserved
  5911. 0Bh reserved reserved
  5912. 0Ch Rx configuration reg. RCR reserved
  5913. 0Dh Tx configuration reg. TCR reserved
  5914. 0Eh data configuration reg. DCR reserved
  5915. 0Fh interrupt mask reg. IMR reserved
  5916. Note: this is a diagnostics page, and should never be modfied under normal
  5917. operation.
  5918. SeeAlso: #P232,#P233,#P235
  5919.  
  5920. (Table P235)
  5921. Values for NS DP8390C/NS3249C network chipset Page 3 registers:
  5922. Number Read Register Write Register
  5923. 00h Command CR (see #P236) Command CR
  5924. Note: Test Page - should never be modified!
  5925. SeeAlso: #P232,#P233,#P234
  5926.  
  5927. Bitfields for NS DP8390C/NS3249C network chipset command register (00h):
  5928. Bit(s) Description (Table P236)
  5929. 0 software reset command (1=offline, 0=online)
  5930. 1 do not activate NIC after reset command
  5931. 2 start transmision of a packet
  5932. 3-5 remote DMA command
  5933. 000 not allowed
  5934. 001 remote read
  5935. 010 remote write
  5936. 011 send packet
  5937. 1xx abort/complete rmote DMA
  5938. 6-7 page select
  5939. 00 register page 0
  5940. 01 register page 1
  5941. 10 register page 2
  5942. 11 register page 3
  5943. SeeAlso: #P235
  5944. ----------P036B------------------------------
  5945. PORT 036B - GI1904 Scanner Interface Adapter
  5946. Range: PORT 022Bh, PORT 026Bh, PORT 02ABh (default), PORT 02EBh, PORT 032Bh,
  5947. PORT 03ABh, PORT 03EBh
  5948. ----------P036C------------------------------
  5949. PORT 036C - GS-IF Scanner Interface adapter
  5950. Range: PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  5951. PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  5952. Note: many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  5953. others use this interface
  5954. ----------P03700377--------------------------
  5955. PORT 0370-0377 - FDC 2 (2nd Floppy Disk Controller) first FDC at 03F0
  5956. Note: floppy disk controller is usually an 8272, 8272A, NEC765 (or
  5957. compatible), or an 82072 or 82077AA for perpendicular recording at
  5958. 2.88M
  5959. SeeAlso: PORT 03F0h-03F7h
  5960.  
  5961. 0370 R- diskette Extra High Density controller board jumpers (AT)
  5962. 0370 R- diskette controller status A (PS/2, PS/2 model 30)
  5963. 0371 R- diskette controller status B (PS/2, PS/2 model 30)
  5964. 0372 -W diskette controller DOR (Digital Output Register)
  5965. 0374 R- diskette controller main status register
  5966. 0374 -W diskette controller datarate select register
  5967. 0375 RW diskette controller command/data register
  5968. 0376 RW (2nd FIXED disk controller status/data register)
  5969. 0377 RW (2nd FIXED disk controller drive address register)
  5970. 0377 R- diskette controller DIR (Digital Input Register)
  5971. 0377 -W select register for diskette data transfer rate
  5972. ----------P0378------------------------------
  5973. PORT 0378 - Covox 'Speech Thing' COMPATIBLE SPEECH OUTPUT
  5974. SeeAlso: PORT 022Fh"mc-soundmachine",PORT 0388h-038Fh"soundmachine"
  5975.  
  5976. 0378 -W speech output via printer port
  5977. (with mc-soundmachine, enabled if bit4=1 in 38F)
  5978. ----------P0378037A--------------------------
  5979. PORT 0378-037A - PARALLEL PRINTER PORT (usually LPT2, sometimes LPT3)
  5980. Range: usually PORT 03BCh, PORT 0278h, or PORT 0378h
  5981. SeeAlso: MEM 0040h:000Ah,INT 17/AH=00h
  5982.  
  5983. 0378 -W data port
  5984. 0379 RW status port
  5985. 037A RW control port
  5986.  
  5987. 037B ?? bit 7: shadow RAM on/off (UniRAM adapter,according to c't 7/90)
  5988. ----------P0380038F--------------------------
  5989. PORT 0380-038F - 2nd BSC (Binary Synchronous Communication) adapter
  5990. SeeAlso: PORT 03A0h"BSC"
  5991. ----------P0380038C--------------------------
  5992. PORT 0380-038C - 2nd SDLC (Synchronous Data Link Control) adapter
  5993. Notes: Initialization of the SDLC adapter is performed in a typical
  5994. sequence like this: Setup 8255 port A-C configuration by writing
  5995. 98h to 383h, followed by initializing 8255 port C by writing 0Dh
  5996. to 382h. Reset 8273 internal registers by pulsing 8255 port B4.
  5997. After this the 8253 has to be programmed to the desired values
  5998. (counter 0 in mode 3). Now the 8273 is ready to be configured for
  5999. the operating mode that defines the communication environment in
  6000. which it will be used.
  6001. Note on 8273: Each 8273 protocol controllers internal register is
  6002. programmed by individual set/reset commands (via 388h) in
  6003. conjunction with a parameter (via 389h) that give an OR/AND mask
  6004. to the internal register value.
  6005. Although the 8273 is a full duplex device, there is only one
  6006. command register. Thus, the command register must be used for
  6007. only one command sequence at a time and the transmitter and
  6008. receiver may never be simultaneously in a command phase.
  6009. The system software starts the command phase by writing a command
  6010. byte into the command register. If further information is required
  6011. by the 8273 prior to execution of the command, the system software
  6012. must write the list of parameters into the parameter register.
  6013. SeeAlso: PORT 03A0h"SDLC"
  6014.  
  6015. 0380 R- on adapter 8255(A5) port A: internal/external sensing (see #P237)
  6016. 0381 -W on adapter 8255(A5) port B: external modem interface (see #P238)
  6017. 0382 RW on adapter 8255(A5) port C: internal control (see #P239)
  6018. 0383 ?W on adapter 8255(A5) mode initialization
  6019. 0384 RW on adapter 8253 (programmable counter) counter 0:
  6020. LSB / MSB square wave generator (input for timer 2, connected
  6021. to 8255 bitC5)
  6022. 0385 RW on adapter 8253 counter 1: LSB / MSB inactivity time-outs
  6023. (connected to 8255 bitA7, IRQ4 level)
  6024. 0386 RW on adapter 8253 counter 2: LSB / MSB inactivity time-outs
  6025. (connected to 8255 bitA6, IRQ4 level)
  6026. 0387 ?W on adapter 8253 mode register (see #P240)
  6027. 0388 R- on adapter 8273 status register (see #P241)
  6028. 0388 -W on adapter 8273 command register (see #P242)
  6029. 0389 R- on adapter 8273 (immediate) result register (see #P249)
  6030. 0389 -W on adapter 8273 parameter register
  6031. Commands issued via PORT 0388h may need additional parameters,
  6032. which have to be passed through this port (see table).
  6033. 038A R- on adapter 8273 transmit INT status (DMA/INT)
  6034. 038A -W on adapter 8274 reset
  6035. 038B R- on adapter 8273 receive INT status (DMA/INT)
  6036. 038C -W on adapter 8273 data: direct program control (DPC)
  6037. scratch-pad
  6038.  
  6039. Bitfields for SDLC 8255 port A:
  6040. Bit(s) Description (Table P237)
  6041. 7 =1 timer 1 output active
  6042. 6 =1 timer 2 output active
  6043. 5 =1 modem status changed
  6044. 4 receive clock active (if pulsing)
  6045. 3 =0 clear to send is on from interface
  6046. 2 transmit clock active (if pulsing)
  6047. 1 =0 data carrier detect is on from interface
  6048. 0 =0 ring indicator is on from interface
  6049. SeeAlso: #P238,#P239
  6050.  
  6051. Bitfields for SDLC 8255 port B:
  6052. Bit(s) Description (Table P238)
  6053. 7 enable IRQ 4 level interrupt
  6054. 6 =1 gate timer 1
  6055. 5 =1 gate timer 2
  6056. 4 =1 reset 8273
  6057. 3 =1 reset modem status changed logic
  6058. 2 =0 turn on test
  6059. 1 =0 turn on select standby at modem interface
  6060. 0 =0 turn on data signal rate select at modem interface
  6061. SeeAlso: #P237,#P239
  6062.  
  6063. Bitfields for SDLC 8255 port C:
  6064. Bit(s) Description (Table P239)
  6065. 7 R- =? not used (detection: =1 SDLC, =0 may be SDLC or BSC??)
  6066. 6 R- =0 test indicate active
  6067. 5 R- timer 0 output (if pulsing)
  6068. 4 R- receive data (if pulsing)
  6069. 3 -W =0 gate interrupts 3 and 4
  6070. 2 -W =1 electronic wrap
  6071. 1 -W =1 gate external clock
  6072. 0 -W =1 gate internal clock
  6073. SeeAlso: #P237,#P238
  6074.  
  6075. Bitfields for SDLC 8253 mode register:
  6076. Bit(s) Description (Table P240)
  6077. 7-6 SC1-SC0 00, 01, 10= select counter 0,1,2; 11=illegal
  6078. 5-4 RL1-RL0 00= couner latching operation
  6079. 01= read/load most significant byte (MSB)
  6080. 10= read/load least significant byte (LSB)
  6081. 11= read/load LSB first, then MSB
  6082. 3-1 M2-M0 000= mode 0
  6083. 001= mode 1
  6084. x10= mode 2
  6085. x11= mode 3
  6086. 100= mode 4
  6087. 101= mode 5
  6088. 0 BCD 0= binary counter 16bits
  6089. 1= BCD counter 4 decades
  6090.  
  6091. Bitfields for SDLC 8273 status register:
  6092. Bit(s) Description (Table P241)
  6093. 7 =1 command busy (CBSY)
  6094. 6 =1 command buffer full (CBF)
  6095. 5 =1 command parameter buffer full (CPBF)
  6096. 4 =1 command result buffer full (CRBF)
  6097. 3 =1 Rx interupt (RxINT)
  6098. 2 =1 Tx interupt (TxINT)
  6099. 1 =1 RxINT result available (RxIRA)
  6100. 0 =1 TxINT result available (TxIRA)
  6101. SeeAlso: #P242
  6102.  
  6103. (Table P242)
  6104. Values for SDCL 8273 command register:
  6105. commands: parameters: results: result port: int:
  6106. A4: set one-bit delay set mask - - no
  6107. 64: reset one-bit delay reset mask - - no
  6108. 97: set data transfer set mask - - no
  6109. 57: reset data transfer reset mask - - no
  6110. 91: set operating mode set mask - - no
  6111. 51: reset operating mode reset mask - - no
  6112. A0: set serial I/O mode set mask - - no
  6113. 60: reset serial I/O mode reset mask - - no
  6114. C0: general receive B0,B1 RIC,R0,R1,A,C RXI/R yes
  6115. C1: selective receive B0,B1,A1,A2 RIC,RD,R1,A,C RXI/R yes
  6116. C5: receive disable - - - no
  6117. C8: transmit frame L0, L1, A, C TIC TXI/R yes
  6118. C9: transmit transparent L0, L1 TIC TXI/R yes
  6119. CC: abort transmit frame - TIC TXI/R yes
  6120. CD: abort transmit - TIC TXI/R yes
  6121. 22: read 8273 port A - port value result no
  6122. 23: read 8273 port B - port value result no
  6123. A3: set 8273 port A bit set mask - - no
  6124. 63: set 8273 port B bit reset mask - - no
  6125. Notes: B0/B1 LSB/MSB of the receiver buffer length
  6126. L0/L1 LSB/MSB of the Tx buffer length
  6127. A1/A2 receive frame address match field one/two
  6128. A address fieldof received frame. In non-buffered mode, this
  6129. result is not provided.
  6130. C control field of received frame. In non-buffered mode, this
  6131. result is not provided.
  6132. RXI/R TXI/R receive/transmit interrupt result register
  6133. R0/R1 LBS/MSB of the length of the frame received
  6134. RIC/TIC receiver/transmitter interrupt result code
  6135. SeeAlso: #P243,#P244,#P245,#P246,#P247,#P248
  6136.  
  6137. Bitfields for SDLC 8273 interal port A: Modem Control Input Port:
  6138. Bit(s) Description (Table P243)
  6139. 7-5 not used
  6140. 4 DSR change (PA4)
  6141. 3 CTS change (PA3)
  6142. 2 Data Set Ready (PA2)
  6143. 1 Carrier Detect (PA1)
  6144. 0 Clear to Send (PA0)
  6145. SeeAlso: #P242
  6146.  
  6147. Bitfields for SDLC 8273 interal port B: Modem Control Output Port:
  6148. Bit(s) Description (Table P244)
  6149. 7-6 not used
  6150. 5 Flag Detect (PB5)
  6151. 4-3 reserved
  6152. 2 Data Terminal Ready (PB2)
  6153. 1 reserved (PB1)
  6154. 0 Request to Send (PB0)
  6155. SeeAlso: #P242
  6156.  
  6157. Bitfields for SDLC 8273 internal: Operating Mode Register:
  6158. Bit(s) Description (Table P245)
  6159. 7-6 not used
  6160. 5 =1 HDLC abort enable
  6161. 4 =1 EOP interrupt enable
  6162. 3 =1 enable early Tx interrupt
  6163. 2 =1 Buffered Mode
  6164. 1 =1 Two Preframe Sync Characters
  6165. 0 =1 Flag Stream Mode
  6166. SeeAlso: #P242
  6167.  
  6168. Bitfields for SDLC 8273 internal: Serial I/O Register:
  6169. Bit(s) Description (Table P246)
  6170. 7-3 not used
  6171. 2 =1 Data Loopback
  6172. 1 =1 Clock Loopback
  6173. 0 =1 NRZI Mode
  6174. SeeAlso: #P242
  6175.  
  6176. Bitfields for SDLC 8273 internal: Data Transfer Mode Register:
  6177. Bit(s) Description (Table P247)
  6178. 7-1 not used
  6179. 0 =1 Interrupt Data Transfers
  6180. SeeAlso: #P242
  6181.  
  6182. Bitfields for SDLC 8273 internal: One-Bit Delay Mode Register:
  6183. Bit(s) Description (Table P248)
  6184. 7 =1 One-Bit Delay Enable
  6185. 6-0 not used
  6186. SeeAlso: #P242
  6187.  
  6188. (Table P249)
  6189. Values for SDLC 8273 result register:
  6190. transmit result codes: status after interrupt:
  6191. 0C: early transmit interrupt transmitter active
  6192. 0D: frame transmit complete idle or flags
  6193. 0E: DMA underrun abort
  6194. 0F: clear to send error abort
  6195. 10: abort complete idle or flags
  6196. receive result codes:
  6197. X0: A1 match / general receive active
  6198. X1: A2 match active
  6199. 03: CRC error active
  6200. 04: abort detected active
  6201. 05: idle detected disabled
  6202. 06: EOP detected disabled
  6203. 07: frame less than 32 bits active
  6204. 08: DMA overrun disabled
  6205. 09: memory buffer overflow disabled
  6206. 0A: carrier detect failure disabled
  6207. 0B: receiver interrupt overrun disabled
  6208. X bits received inlast byte:
  6209. E: all eight bits of last byte (bit7-0)
  6210. 0: bit0 only
  6211. 8: bit1-0
  6212. 4: bit2-0
  6213. C: bit3-0
  6214. 2: bit4-0
  6215. A: bit5-0
  6216. 6: bit6-0
  6217. --------s-P03840387--------------------------
  6218. PORT 0384-0387 - Pro Audio Spectrum 16 (PAS16)
  6219. Range: PORT 0280h, PORT 0284h, PORT 0288h, PORT 028Ch, PORT 384h,
  6220. PORT 0388h (default), or PORT 038Ch
  6221. ----------P03880389--------------------------
  6222. PORT 0388-0389 - AdLib - MONO SOUND OUTPUT
  6223. Note: also supported by SoundBlaster and compatibles
  6224. SeeAlso: PORT 0220h-0223h,PORT 0388h-038Fh"soundmachine"
  6225.  
  6226. 0388 R- both speakers -- Status
  6227. bit7 : interrupt request (IRQ)
  6228. bit6 : timer 1 overflow
  6229. bit5 : timer 2 overflow
  6230. bit4-0: reserved
  6231. 0388 -W both speakers -- Address port (see #P250)
  6232. index in OPL2 (YMF3812), OPL3 (YMF262), OPL4 (YF278-F)
  6233. 0389 -W data port
  6234. Note: the AdLib requires a delay of 3.3 microseconds between writing to
  6235. PORT 0388h and writing to PORT 0389h, and a delay of 23 microseconds
  6236. after a write to PORT 0389h before any other operation is allowed
  6237.  
  6238. (Table P250)
  6239. Values for AdLib address port index:
  6240. 01h Enable waveform control
  6241. bit 7-6: (OPL4, OPL3 in OPL2 mode only) lsi test
  6242. bit 5: (OPL2 only) wave select enable (WS)
  6243. (OPL4, OPL3) lsi test
  6244. bit 4-0: lsi test
  6245. 02h Timer #1 data (OPL2 and OPL3 in OPL2 mode only)
  6246. 03h Timer #2 data (OPL2 and OPL3 in OPL2 mode only)
  6247. 04h Timer control flags (OPL2 and OPL3 in OPL2 mode only)
  6248. bit 7 : reset interrupt (RST)
  6249. bit 6 : timer 1 mask (MASK1)
  6250. bit 5 : timer 2 mask (MASK2)
  6251. bit 4-2: reserved
  6252. bit 1 : start timer 2 (ST2)
  6253. bit 0 : start timer 1 (ST1)
  6254. 04h (OPL3 in OPL3 mode only) connection select
  6255. bit 7-6: reserved
  6256. bit 5-0: connection selection
  6257. 05h (OPL3) compatibility register
  6258. bit 7-1: reserved
  6259. bit 0: enable OPL3 mode (NEW), default disabled
  6260. 08h Speech synthesis mode
  6261. bit 7: (OPL2 only) speech synthesis or FM music mode (CSM)
  6262. bit 6: select keyboard split point (SEL/NTS)
  6263. bit 5-0: reserved
  6264. 20h-35h Amplitude Modulation / Vibrato
  6265. bit 7: AM modulation (AM)
  6266. bit 6: vibrato (VIB)
  6267. bit 5: sustain (EG)
  6268. bit 4: keyboard scaling rate (KSR)
  6269. bit 3-0: multi (MF)
  6270. 40h-55h Level key scaling / Total level
  6271. bit 7-6: key scale level (KSL)
  6272. bit 5-0: total level (TL)
  6273. 60h-75h Attack / Decay rate
  6274. bit 7-4: attack rate
  6275. bit 3-0: decay rate
  6276. 80h-95h Sustain / Release rate
  6277. bit 7-4: sustain level
  6278. bit 3-0: release rate
  6279. A0h-A8h Octave / Frequency (LSB)
  6280. A9h-AFh ???
  6281. B0h-B8h Octave / Frequency Number
  6282. bit 7-6: reserved
  6283. bit 5 : key on, mute
  6284. bit 4-2: block, octave
  6285. bit 1-0: f-number (MSB)
  6286. BDh percussion, vibrato, AM (OPL2, OPL3 in OPL2 mode only)
  6287. bit 7: amplitude modulation (AM)
  6288. bit 6: vibrato (VIB)
  6289. bit 5: ryhthm, percussion on/off (R)
  6290. bit 4: bass drum on/off (BD)
  6291. bit 3: snare drum on/off (SD)
  6292. bit 2: tom-tom on/off (TOM)
  6293. bit 1: top cymbal on/off (TC)
  6294. bit 0: hi hat on/off (HH)
  6295. C0h-C8h Feedback / Algorithm
  6296. bit 7-4: OPL3: channel D-A
  6297. bit 3-1: feedback
  6298. bit 0: connection
  6299. E0h-F5h Waveform Selection
  6300. bit 7-3: reserved
  6301. bit 2 : (OPL3) waveform bit2
  6302. bit 1-0: waveform
  6303. SeeAlso: #P251
  6304.  
  6305. (Table P251)
  6306. Values for Sound Blaster registers inside groups:
  6307. Offset
  6308. +00..+02: operators 1-3 modulator channel 1-3
  6309. +03..+05: operators 4-6 carrier channel 1-3
  6310. +08..+0A: operators 7-9 modulator channel 4-6
  6311. +0B..+0D: operators 10-12 carrier channel 4-6
  6312. +10..+12: operators 13-15 modulator channel 7-9
  6313. +13..+15: operators 16-18 carrier channel 7-9
  6314. +06, +07, +0E, +0F: reserved
  6315. SeeAlso: #P250
  6316. ----------P03880389--------------------------
  6317. PORT 0388-0389 - Soundblaster PRO FM-Chip
  6318. ----------P0388038B--------------------------
  6319. PORT 0388-038B - Soundblaster 16 ASP FM-Chip
  6320. --------s-P0388038B--------------------------
  6321. PORT 0388-038B - Pro Audio Spectrum 16 (PAS16)
  6322. Range: PORT 0280h, PORT 0284h, PORT 0288h, PORT 028Ch, PORT 384h,
  6323. PORT 0388h (default), or PORT 038Ch
  6324. ----------P0388038F--------------------------
  6325. PORT 0388-038F - mc-soundmachine, mc 03-04/1992 - SPEECH I/O
  6326. Note: Adlib-compatible, Covox 'voice master' & 'speech thing' compatible
  6327. soundcard
  6328. SeeAlso: PORT 022Fh"soundmachine",PORT 0278h"Covox"
  6329.  
  6330. 0388 -W Covox 'speech thing' compatible speech output via printer port?
  6331. enabled if bit 6 set in PORT 038Fh
  6332. 0388 RW Adlib compatible (YM3812), enabled if bit 0 set in PORT 038Fh
  6333. (see PORT 0388h-0389h"Sound Blaster")
  6334. 0389 -W Adlib compatible (YM3812), enabled if bit 0 set in PORT 038Fh
  6335. (see PORT 0388h-0389h"Sound Blaster")
  6336. 038A -W IýC control for TDA7302 NF-MUX and X24C04 EEPROM
  6337. bit 7: IýC bus SDA out (data), enabled if bit2=1 in PORT 038Fh
  6338. bit 0: IýC bus SCL out (clock), enabled if bit2=1 in PORT 038Fh
  6339. 038B R- IýC status for TDA7302 NF-MUX and X24C04 EEPROM
  6340. bit 7: IýC bus SDA in (data), enabled if bit2=1 in PORT 038Fh
  6341. bit 0: IýC bus SCL in (clock), enabled if bit2=1 in PORT 038Fh
  6342. 038F RW configuration port (power on default=0, all features disabled)
  6343. (see #P252)
  6344.  
  6345. Bitfields for mc-soundmachine configuration port:
  6346. Bit(s) Description (Table P252)
  6347. 7 Covox 'voice master' enabled at PORT 022Fh
  6348. 6 "" 'speech thing' enabled at PORT 03BCh
  6349. 5 "" enabled at PORT 0278h
  6350. 4 "" enabled at PORT 0378h
  6351. 3 not used (0388???)
  6352. 2 IýC bus enabled (see PORT 038Ah,PORT 038Bh)
  6353. 1 gameport enabled (see PORT 0201h)
  6354. 0 AdLib registers (see PORT 0388h,PORT 0389h) enabled
  6355. --------s-P038C038F--------------------------
  6356. PORT 038C-038F - Pro Audio Spectrum 16 (PAS16)
  6357. Range: PORT 0280h, PORT 0284h, PORT 0288h, PORT 028Ch, PORT 384h,
  6358. PORT 0388h (default), or PORT 038Ch
  6359. ----------P03900397--------------------------
  6360. PORT 0390-0397 - Sunshine EW-901B, EW-904B
  6361. EPROM writer card for EPROMs up to 27512
  6362. 0390-0393 ?? adresses of the 8255 on the EW-90xB
  6363. ----------P0390039F--------------------------
  6364. PORT 0390-039F - Cluster adapter (AT)
  6365.  
  6366. 0390 ?? (adapter 0) (XT)
  6367. 0391 ?? (adapter 0) (XT)
  6368. 0392 ?? (adapter 0) (XT)
  6369. 0393 ?? (adapter 0) (XT)
  6370. ----------P03980399--------------------------
  6371. PORT 0398-0399 - Dell Enhanced Parallel Port
  6372. SeeAlso: PORT 002Eh,PORT 015Ch,PORT 026Eh
  6373.  
  6374. 0398 -W index for data port
  6375. 0399 RW EPP command data
  6376. ----------P03A003AC--------------------------
  6377. PORT 03A0-03AC - 1st SDLC (Binary Synchronous Data Link Control adapter)
  6378. SeeAlso: PORT 0380h"SDLC"
  6379. ----------P03A003AF--------------------------
  6380. PORT 03A0-03AF - 1st BSC (Binary Synchronous Communication) adapter
  6381. Notes: Initialization of the BSC adapter is performed in a typical
  6382. sequence like this: Setup 8255 port A-C configuration by writing
  6383. 98h to 383h, followed by initializing 8255 port C by writing 0Dh
  6384. to 382h. Reset 8251A internal registers by pulsing 8255 port B4.
  6385. After this the 8253 has to be programmed to the desired values
  6386. (counter 0 not used, counters 1 and 2 to mode 0). Now, the 8251A
  6387. is ready to be loaded with a set of control words that define the
  6388. communication environment.
  6389. 8251A: The control words are split into two formats, mode
  6390. instruction and command instruction. The mode instruction must
  6391. be inserted immediately after a reset operation (via 8255 port B4
  6392. or setting command instruction bit6 to 'internal reset').
  6393. The required synchronization characters are next loaded into the
  6394. 8251A (usually 32h for BSC). All control words written to the
  6395. 8251A after this will load the command instruction.
  6396. reset -> mode instruction
  6397. SYNC character 1
  6398. SYNC character 2
  6399. command instruction
  6400. data ...
  6401. command instruction
  6402. data ...
  6403. command instruction
  6404. ...
  6405. SeeAlso: PORT 0380h"BSC"
  6406.  
  6407. 03A0 R- on adapter 8255(A5) port A: internal/external sensing (see #P253)
  6408. 03A1 -W on adapter 8255(A5) port B: external modem interface (see #P254)
  6409. 03A2 RW on adapter 8255(A5) port C: internal control (see #P255)
  6410. 03A3 ?W on adapter 8255(A5) mode initialization
  6411. 03A4 RW on adapter 8253 (programmable counter) counter 0:
  6412. LSB / MSB square wave generator (unused in sync mode)
  6413. 03A5 RW on adapter 8253 counter 1: LSB / MSB inactivity time-outs
  6414. (connected to 8255 bitA7, IRQ4 level)
  6415. 03A6 RW on adapter 8253 counter 2: LSB / MSB inactivity time-outs
  6416. (connected to 8255 bitA6, IRQ4 level)
  6417. 03A7 ?W on adapter 8253 mode register (see #P256)
  6418. 03A8 RW on adapter 8251: data (see #P257)
  6419. 03A9 R- on adapter 8251: command/mode/USART status register (see #P258)
  6420.  
  6421. Bitfields for BSC 8255 port A:
  6422. Bit(s) Description (Table P253)
  6423. 7 =1 timer 1 output active
  6424. 6 =1 timer 2 output active
  6425. 5 =1 TxRDY active
  6426. 4 receive clock active (if pulsing)
  6427. 3 =0 clear to send is on from interface
  6428. 2 transmit clock active (if pulsing)
  6429. 1 =0 data carrier detect is on from interface
  6430. 0 =0 ring indicator is on from interface
  6431. SeeAlso: #P254
  6432.  
  6433. Bitfields for BSC 8255 port B:
  6434. Bit(s) Description (Table P254)
  6435. 7 =1 enable IRQ 4 level interrupt (timer 1 and 2)
  6436. 6 =1 gate timer 1
  6437. 5 =1 gate timer 2
  6438. 4 =1 reset 8251A
  6439. 3 =1 not used
  6440. 2 =0 turn on test
  6441. 1 =0 turn on select standby
  6442. 0 =0 turn on data signal rate select
  6443. SeeAlso: #P253,#P255
  6444.  
  6445. Bitfields for BSC 8255 port C:
  6446. Bit(s) Description (Table P255)
  6447. 7 R- =0 BSC adapter (=1 may be used to detect SDLC??)
  6448. 6 R- =0 test indicate active
  6449. 5 R- timer 0 output (if pulsing)
  6450. 4 R- receive data (if pulsing)
  6451. 3 -W =0 enable timer 1 and 2 IRQ4 and receive IRQ 4
  6452. 2 -W =1 electronic wrap
  6453. 1 -W =1 gate external clock
  6454. 0 -W =1 gate internal clock
  6455. SeeAlso: #P253,#P254
  6456.  
  6457. Bitfields for BSC 8253 mode register:
  6458. Bit(s) Description (Table P256)
  6459. 7-6 SC1-SC0 00, 01, 10= select counter 0,1,2; 11=illegal
  6460. 5-4 RL1-RL0 00= couner latching operation
  6461. 01= read/load most significant byte (MSB)
  6462. 10= read/load least significant byte (LSB)
  6463. 11= read/load LSB first, then MSB
  6464. 3-1 M2-M0 000= mode 0 (for counter 1 and 2)
  6465. 001= mode 1 (not used for BSC)
  6466. x10= mode 2 (not used for BSC)
  6467. x11= mode 3 (not used for BSC)
  6468. 100= mode 4 (not used for BSC)
  6469. 101= mode 5 (not used for BSC)
  6470. 0 BCD 0= binary counter 16bits
  6471. 1= BCD counter 4 decades
  6472.  
  6473. Bitfields for BSC 8251 data:
  6474. Bit(s) Description (Table P257)
  6475. ---mode instruction (W)---
  6476. 7 =0 Double SYNC Character
  6477. 6 =1 SYNDET is an Input
  6478. 5 =1 Even Parity
  6479. 4 =1 Parity Enable
  6480. 3-2 Character Length 00=5bits, 01=6bits, 10=7bits, 11=8bits
  6481. 1-0 not used (always 0)
  6482. ---SYNC character 1/2 (W)---
  6483. string of two characters to be sync'ed at (in hunt mode).
  6484. ---command instruction (W)---
  6485. 7 Enter Hunt Mode
  6486. 6 Internal Reset
  6487. 5 Request to Send
  6488. 4 Error Reset
  6489. 3 Send Break Character
  6490. 2 Receive Enable
  6491. 1 Data Terminal Ready
  6492. 0 Transmit Enable
  6493. ---data (RW)---
  6494. any data
  6495. SeeAlso: #P256,#P258
  6496.  
  6497. Bitfields for BSC 8251 command/mode/USART status:
  6498. Bit(s) Description (Table P258)
  6499. 7 Data Set Ready (indicated that DSR is at 0 level)
  6500. 6 SYNDET
  6501. 5 Framing Error (not used for synchronous communications)
  6502. 4 Overrun Error (OE flag on when Overrun Error occurs)
  6503. 3 Parity Error (PE flag on when a parity error occurs)
  6504. 2 TxEmpty
  6505. 1 RxRDY (causing IRQ 3 level)
  6506. 0 TxRDY (has not the same meaning as 8251A TxRDY output pin).
  6507. THIS one is NOT conditioned by CTS and TxEnable (causing IRQ 4 level)
  6508. SeeAlso: #P257
  6509. ----------P03AB------------------------------
  6510. PORT 03AB - GI1904 Scanner Interface Adapter
  6511. Range: PORT 022Bh, PORT 026Bh, PORT 02ABh (default), PORT 02EBh, PORT 032Bh,
  6512. PORT 036Bh, PORT 03ABh, PORT 03EBh
  6513. ----------P03AC------------------------------
  6514. PORT 03AC - GS-IF Scanner Interface adapter
  6515. Range: PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  6516. PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  6517. Note: many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  6518. others use this interface
  6519. ----------P03B003BF--------------------------
  6520. PORT 03B0-03BF - MDA (Monochrome Display Adapter based on 6845)
  6521.  
  6522. 03B0 -W same as 03B4
  6523. 03B1 RW same as 03B5
  6524. 03B2 -W same as 03B4
  6525. 03B3 RW same as 03B5
  6526. 03B4 -W MDA CRT index register (MDA/mono EGA/mono VGA)
  6527. selects which register (0-11h) is to be accessed through 03B5h
  6528. Note: this port is read/write on some VGAs
  6529. bit7-6: (VGA) reserved (0)
  6530. bit5 : (VGA) reserved for testing (0)
  6531. bit4-0: selects which register is to be accessed through 03B5h
  6532. 03B5 RW MDA CRT data register (MDA/mono EGA/mono VGA) (see #P259)
  6533. selected by PORT 03B4h. registers 0C-0F may be read
  6534. Color adapters are at 3D4/3D5, but are mentioned here for
  6535. better overview.
  6536. There are differences in names and some bits functionality
  6537. on EGA, VGA in their native modes, but clones in their
  6538. emulation modes emulate the original 6845 at bit level. The
  6539. default values are for MDA, HGC, CGA only, if not otherwise
  6540. mentioned.
  6541. 03B6 -W same as 03B4h
  6542. 03B7 RW same as 03B5h
  6543. 03B8 rW MDA mode control register (see #P260)
  6544. 03B9 ?W reserved for color select register on color adapter
  6545. 03B9 -W MDA/HGC: set lightpen flipflop (value written is ignored)
  6546. cannot be found on native mono EGA, mono VGA (without
  6547. translation ROM)
  6548. 03BA R- CRT status register (see #P261)
  6549. (EGA/VGA) input status 1 register
  6550. 03BA -W (mono EGA/mono VGA) feature control register
  6551. (see PORT 03DAh-W for details; VGA, see PORT 03CAh-R)
  6552. 03BB -W light pen strobe reset (on any value)
  6553.  
  6554. (Table P259)
  6555. Values for mono video adapter CRT data register index:
  6556. defaults: MDA/HGC HGC CGA CGA CGA
  6557. text graph text1 text2 graph
  6558. 7 720x348 1 3 5,6
  6559. 00h horizontal total 61h 35h 38h 71h 38h
  6560. ET4000: in VGA mode scanlines-5
  6561. in EGA mode scanlines-2
  6562. 01h horizontal displayed 50h 2Dh 28h 50h 28h
  6563. horizontal display end-1 (EGA,VGA)
  6564. 02h horizontal sync position 52h 2Eh 2Dh 5Ah/5Ch 2Dh
  6565. 03h sync pulse width 0Fh 07h/0Fh 0Ah 0Ah 0Ah
  6566. bit7-4 vsync, bit3-0 hsync
  6567. end horizontal blanking (EGA,VGA)
  6568. VGA : bit7=1 : enable read access to regs
  6569. 10h, 11h (otherwise VGA clones
  6570. may show lightpen values)
  6571. EGA,VGA: bit6-5=0-3: display enable skew control
  6572. bit4-0 : end blanking
  6573. 04h vertical total (vcycle-1) 19h 5Bh 1Fh 1Fh 7Fh
  6574. bit7 only used on MCGA
  6575. start horizontal retrace (EGA, VGA)
  6576. Genoa SuperEGA only???:
  6577. bit7 : start at odd memory address
  6578. bit6-5: horizontal sync skew
  6579. bit4-0: start retrace+ retrace width
  6580. 05h vertical total adjust 06h 02h 06h 06h 06h
  6581. bit7-5 only used on MCGA
  6582. end horizontal retrace (EGA, VGA)
  6583. bit7 : (EGA) start at odd memory address
  6584. (VGA) bit5 of end horizontal retrace
  6585. bit6-5: horizontal sync skew
  6586. bit4-0: end horizontal retrace
  6587. 06h vertical displayed 19h 57h 19h 19h 64h
  6588. bit7 only used on MCGA
  6589. (EGA) vertical total-1
  6590. (VGA) vertical total-2
  6591. 07h vertical sync pulse width-1 19h 57h 1Ch 1Ch 70h/66h
  6592. bit7 only used on MCGA
  6593. controller overflow (EGA,VGA)
  6594. bit7: (VGA) bit9 of start vertical retrace (10h)
  6595. bit6: (VGA) bit9 of vertical display end (12h)
  6596. bit5: (VGA) bit9 of vertical total (06h)
  6597. (EGA) bit5 of cursor-position (0Ah)
  6598. bit4: bit8 of line compare (18h)
  6599. bit3: bit8 of start vertical blanking (15h)
  6600. bit2: bit8 of vertical retrace start (10h)
  6601. bit1: bit8 of vertical display end (12h)
  6602. bit0: bit8 of vertical total (06h)
  6603. 08h interlace mode (not MCGA) 02h 02h 02h 02h 02h
  6604. bit7-2: reserved
  6605. bit1 : delay
  6606. bit0=1: interlace on
  6607. preset row scan (EGA, VGA)
  6608. bit7 : reserved
  6609. bit6-5: (VGA) byte panning
  6610. bit4-0: start row scan after retrace
  6611. 09h maximum scan lines 0Dh 03h 07h 07h 01h
  6612. bit7 : (VGA) double scan active
  6613. bit6 : (VGA) bit9 of line compare (18h)
  6614. bit5 : (VGA) bit9 of start vertical blanking (15h)
  6615. bit4-0: maximum scan line 00..31 (height-1)
  6616. 0Ah cursor start 0Bh 00h 06h 06h 06h/00h
  6617. bit7 : reserved
  6618. bit6-5: original 6845: cursor on/off, blink interval
  6619. (not on all adapters, as original MDA, CGA have
  6620. extra circuitrity to avoid this!!)
  6621. bit6-5: native EGA: not used
  6622. bit6 : (VGA) not used
  6623. bit5=0: (VGA) cursor on
  6624. bit4-0: first cursor scanline
  6625. 0Bh cursor end 0Ch 00h 07h 07h 07h/00h
  6626. bit7 : reserved
  6627. bit6-5: EGA, VGA: cursor skew control
  6628. bit4-0: end cursor row
  6629. 0Ch RW start address high 00h 00h 00h 00h 00h
  6630. bit7-6 not used by original 6845 (MDA,HGC,CGA)
  6631. 0Dh RW start address low 00h 00h 00h 00h 00h
  6632. 0Eh RW cursor location high 00h 00h 00h 00h 00h
  6633. bit7-4 not used by original 6845 (MDA,HGC,CGA)
  6634. bit5-4 reserved on MCGA
  6635. 0Fh RW cursor location low 00h 00h 00h 00h 00h
  6636. 10h R- light pen high (MDA/CGA/EGA only, some HGC, few VGA
  6637. clones in emulation, not with ET4000)
  6638. 10h R- MCGA at 3D5h only: mode control status register (see #P288)
  6639. 11h R- light pen low (MDA/CGA/EGA only, some HGC, few VGA
  6640. clones in emulation, not with ET4000)
  6641. 14h -W HGC+,InColor: xMode register
  6642. 15h -W HGC+,InColor: underscore register
  6643. 16h -W HGC+,InColor: overstrike register
  6644. 17h -W InColor: exception register
  6645. 18h -W InColor: plane mask register
  6646. 19h -W InColor: read/write control register
  6647. 1Ah -W InColor: read/write color register
  6648. 1Bh -W InColor: Latch Protect register
  6649. 1Ch RW InColor: palette register
  6650. Notes: registers 10h and 11h have varying uses on VGA (see #P286) and
  6651. MCGA (see #P287)
  6652. MDA, HGC, CGA: 6845 registers 00h-0Dh are write only, 0Eh, 0Fh
  6653. are r/w, and 10h-11h are read only.
  6654. The alternative initial defaults may be used
  6655. sometimes on modern adapters.
  6656. HGC+(RamFont): as with HGC, but 3 additional registers for font control
  6657. emulations : more registers may be r/w, but most often it's the
  6658. same as with native 6845.
  6659. MCGA (CGA+) : Though this is a mixture of CGA and VGA, most
  6660. registers are same as with CGA, but with some
  6661. enhancements and incompatibilities to EGA, VGA.
  6662. native EGA : registers 00h-0Bh are write only, 0Ch-0Fh are
  6663. r/w, 10h-11h are read/write, 12h-18h are write
  6664. only. More regs may be r/w on enhanced clones.
  6665. GenoaSuperEGA: adapter with chips SEQCRT GN006001 and GRAT
  6666. GN006002, e.g. c't Super-EGA adapter. Is EGA
  6667. clone with up to 800x600 and full 6845 emulation.
  6668. native VGA : all registers 00-18h are r/w, but 00h-07h are
  6669. write-locked if bit7 in 11h is set.
  6670. ET4000 : same as VGA, but with additional r/w registers
  6671. 32h-37h, protected by 'key' except 33h, 35h
  6672. (see 3BFh for details). 35h is protected by
  6673. bit7 in 11h. The 'key' must be issued at least
  6674. after each power on or synchronous reset.
  6675. SeeAlso: #P286,#P287,#P260,#P261,#P287
  6676.  
  6677. Bitfields for mono video adapter mode control register:
  6678. Bit(s) Description (Table P260)
  6679. 7 not used by MDA, page number on HGC
  6680. 6 not used
  6681. 6 R-O (mono ET4000 only) report status of bit 1 (enable 2nd page) of
  6682. Hercules compatibility register (PORT 03BFh)
  6683. 5 enable blink (0 = intense background, 1 = blink)
  6684. 4 not used
  6685. 3 video enable
  6686. 2 not used
  6687. 1 (MDA) not used
  6688. (HGC) graphics enable
  6689. the 6845 has to be reprogrammed completely, if this bit is
  6690. changed, otherwise the TTL-monitor may be damaged by wrong
  6691. sync impulses!
  6692. 0 high resolution mode (always set on MDA)
  6693. ---mono ET4000 only, W-O ---
  6694. 7-0 =A0h: second part of 'key', see Hercules compatibility register
  6695. (PORT 03BFh) for details
  6696. Note: this port might be completely or partially readable on very few MDA,
  6697. HGC clones or emulations (e.g. Genoa SuperEGA), but not with the
  6698. majority of original and clone chips. It cannot be found on
  6699. native mono EGA, mono VGA, but on most clones, where it is usually
  6700. R/W.
  6701. SeeAlso: #P259,#P261
  6702.  
  6703. Bitfields for mono video adapter CRT status register:
  6704. Bit(s) Description (Table P261)
  6705. 7 HGC: vertical sync pulse in progress
  6706. 6-4 adapter identification
  6707. (MSD says) if bit 7 changes within 8000h reads then
  6708. =000 adapter is Hercules or compatible
  6709. =001 adapter is Hercules+
  6710. =101 adapter is Hercules InColor
  6711. else: adapter is unknown
  6712. 6-4 =111 on MDA and some HGC clones
  6713. 5-4 (mono EGA, mono ET4000) diagnose video display feedback
  6714. select from color plane enable
  6715. 3 (MDA,HGC) pixel stream (0=currently black, 1=currently white)
  6716. (mono EGA, mono VGA) vertical retrace in progress
  6717. 2-1 (MDA) reserved
  6718. 2 (HGC, mono EGA) lightpen flipflop set
  6719. (mono ET4000) reserved (0)
  6720. 1 (HGC) lightpen input stream (if set, current value to get from
  6721. PORT 03B5h registers 10h-11h)
  6722. (mono ET4000) reserved (0)
  6723. 0 horizontal drive enabled
  6724. SeeAlso: #P259,#P260
  6725.  
  6726. Bitfields for EGA,VGA mode control register:
  6727. Bit(s) Description (Table P262)
  6728. 7 0=CRTC reset and stop, 1=resume reset
  6729. 6 0=word-mode, 1=byte-mode (VGA: see 14h, bit6)
  6730. 5 0=14bit, 1=16bit address wrap
  6731. 4 (native VGA only) reserved (0)
  6732. 4 (EGA and most VGA clones) output control
  6733. 0: video driver active
  6734. 1: video driver not active
  6735. 3 linear address counter clock (0 = standard, 1 = clock/2)
  6736. (VGA: see register 14h, bit 5)
  6737. 2 horizontal retrace clock (0 = standard, 1 = clock/2)
  6738. 1 row scan counter
  6739. 0: address bit 14 = scan bit 1
  6740. 1: address bit 14 not altered
  6741. 0 6845 compatibility mode
  6742. 0: address bit 13 = scan bit 0 (as with 6845)
  6743. 1: address bit 13 not altered
  6744. SeeAlso: #P259
  6745. ----------P03BC03BF--------------------------
  6746. PORT 03BC-03BF - PARALLEL PRINTER PORT (MDA's LPT1)
  6747. Range: PORT 0278h, PORT 0378h, or PORT 03BCh
  6748. SeeAlso: MEM 0040h:0008h
  6749.  
  6750. 03BC -W data port
  6751. 03BC R- bidirectional port: input from connector
  6752. unidirectional port: last value written to port
  6753. 03BD RW status port (see #P263)
  6754. 03BE RW control port (see #P264)
  6755.  
  6756. Bitfields for parallel interface status port:
  6757. Bit(s) Description (Table P263)
  6758. 7 busy
  6759. 6 NOT acknowledge (approx. 5us low pulse)
  6760. 5 out of paper
  6761. 4 printer is selected
  6762. 3 *no* error
  6763. 2 IRQ has *not* occurred
  6764. (PS/2) printer returned -ACK
  6765. 1-0 reserved
  6766. SeeAlso: #P264
  6767.  
  6768. Bitfields for parallel interface control port:
  6769. Bit(s) Description (Table P264)
  6770. 7-5 reserved
  6771. 7 (see PORT 037Bh bit 7)
  6772. 5 enable bidirectional port
  6773. (PS/2 also requires enabling via PORT 0102h)
  6774. 4 enable IRQ (via -ACK)
  6775. 3 select printer (SLCT IN line)
  6776. 2 =0 initialize printer (-RESET line)
  6777. 1 automatic line feed
  6778. 0 strobe (must be set for minimum of 5 microseconds)
  6779. SeeAlso: #P263
  6780. ----------P03BF------------------------------
  6781. PORT 03BF - Hercules configuration switch register
  6782. Note: can also be found on EGA and VGA clones in Hercules emulation
  6783.  
  6784. 03BF -W configuration switch register (see #P265)
  6785. 03BF -W (ET4000) Hercules compatibility register (see #P266)
  6786. 03BF RW (Genoa SuperEGA) miscellaneous register
  6787. Note: only available in MDA, HGC, and CGA emulation; should be
  6788. compatible with Hercules configuration register, but may contain
  6789. additional features
  6790.  
  6791. Bitfields for Hercules configuration switch register:
  6792. Bit(s) Description (Table P265)
  6793. 7-2 reserved
  6794. 1 =0 disables upper 32K of graphics mode buffer
  6795. =1 enables upper 32K of graphics mode buffer
  6796. 0 =0 prevents graphics mode
  6797. =1 allows graphics mode
  6798. SeeAlso: #P266
  6799.  
  6800. Bitfields for ET4000 compatibility register:
  6801. Bit(s) Description (Table P266)
  6802. 1 =0 disables upper 32K of graphics mode buffer
  6803. =1 enables upper 32K of graphics mode buffer
  6804. 0 reserved (not needed for HGC graphics)
  6805. 7-0 =03h: first part of 'key' for access to some extra
  6806. ET4000 regs. To issue the 'key', the following
  6807. code must be executed:
  6808. MOV DX, 3BFh
  6809. MOV AL, 3
  6810. OUT DX, AL
  6811. MOV DX, 3D8h (3B8h in mono mode)
  6812. MOV AL, 0A0h
  6813. OUT DX, AL
  6814. SeeAlso: #P265
  6815. ----------P03C003C7--------------------------
  6816. PORT 03C0-03C7 - Sunshine EW-901, EW-901A, EW-904, EW-904A
  6817. EPROM writer card for EPROMs up to 27512
  6818. 03C0-03C3 adresses of the 8255 on the EW-90x
  6819. ----------P03C003CF--------------------------
  6820. PORT 03C0-03CF - EGA (1st Enhanced Graphics Adapter) alternate at 02C0
  6821.  
  6822. 03C0 rW EGA VGA ATC index/data register
  6823. Every write access to this register will toggle an internal
  6824. index/data selection flipflop, so that consecutive writes to
  6825. index & data is possible through this port. To get a defined
  6826. start condition, each read access to the input status register
  6827. #1 (3BAh in mono / 3DAh in color) resets the flipflop to load
  6828. index. If values are changed during the vertical retrace
  6829. period only no flicker will occur.
  6830.  
  6831. index register (flipflop reset to 'index'): (default 20h)
  6832. bit7-6: reserved
  6833. bit5 : 0=CPU access (screen dark),
  6834. 1=video access to registers
  6835. bit4-0: index in ATC (0..31)
  6836.  
  6837. indexed registers in ATC (flipflop set to 'data'): (see #P267)
  6838. 03C1 R- VGA ATC index/data read register
  6839. 03C2 R- EGA VGA input status 0 register
  6840. (Genoa SuperEGA in all emulation modes)
  6841. bit6-5 are 'key' protected on ET4000.
  6842. bit7 : CRT interrupt occured
  6843. EGA: 0=vertical retrace in progress, 1=display
  6844. bit6 : EGA and ET4000: feature control 1 (pin17)
  6845. bit5 : EGA and ET4000: feature control 0 (pin19)
  6846. bit4 : DIP switch sense
  6847. (0=closed, 1=open/switches readable)
  6848. bit3-0: reserved
  6849. 03C2 -W EGA VGA miscellaneous output register (see #P278)
  6850. 03C3 RW VGA video subsystem enable (see also PORT 46E8h)
  6851. for IBM, motherboard VGA only
  6852. bit7-4=0: reserved
  6853. bit3 : select video subsystem (address 46E8h)
  6854. bit2-1 : reserved
  6855. bit0 : select video subsystem (address 03C3)
  6856. 03C4 -W EGA TS index register
  6857. 03C4 RW VGA sequencer index register (see also #P273)
  6858. bit7-3 : reserved (VGA only)
  6859. bit2-0 : current TS index
  6860. 03C5 -W EGA TS data register
  6861. 03C5 RW VGA sequencer data register (see #P273)
  6862. 03C6 RW (VGA, MCGA) PEL mask register (default FFh)
  6863. VGA: AND mask for color-register address.
  6864. MCGA: Never change from the default FFh.
  6865. 03C6 RW HiColor ET4000 (Sierra RAMDACs e.g. SC11486, SC11481, SC11488):
  6866. Enable HiColor feature: beside other assignments,
  6867. consequtive read 3C6h 4 times and write magic value 80h to it.
  6868. 03C7 -W (VGA,MCGA,CEG-VGA) PEL address register (read mode)
  6869. Sets DAC in read mode and assign start of color register
  6870. index (0..255) for following read accesses to 3C9h.
  6871. Don't write to 3C9h while in read mode. Next access to
  6872. 03C8h will stop pending mode immediatly.
  6873. 03C7 -W (CEG-Color VGA w/ Edsun Labs RAMDACs)
  6874. Enable and set Countinous Edge Graphics Mode:
  6875. Consecutive write the following three key sequences in read
  6876. mode (!) to 3C9h register DEh : 'CEG', 'EDS', 'UNx' (x see
  6877. below). Current CEG mode can be read from palette register
  6878. BFh 'blue', write access to that register will disable CEG
  6879. features.
  6880. In CEG modes by combining old with new colors and dynamically
  6881. changing palette values, the effective colors displayable
  6882. are enhanced dramatically (in EDP modes up to virtually 32bit
  6883. truecolor) on standard 16/256 color VGA. Also, effective
  6884. resolution enhancement takes effect by anti-aliasing.
  6885. Neccessary EDP escape sequences should be moved to image
  6886. border or single colored areas, if possible.
  6887.  
  6888. REP-mode: if pixel are doubled in current video mode
  6889. EDP-mode: pseudo-truecolor with Edsun dynamic palette
  6890. (see #P283,#P284)
  6891.  
  6892. Palette-color-register single-byte-format (each 3 times):
  6893. Mode A: Mode C:
  6894. bit7-4: mix code bit3 : 0=color, 1=code
  6895. bit3-0: color code bit2-0: color / mix code
  6896. Mode B: Mode D:
  6897. bit7-5: mix code bit7-0: see mix code table
  6898. bit4 : 0=new, 1=old Non-CEG modes:
  6899. bit3-0: color code bit7-0: as usual
  6900.  
  6901. In EDP modes, video-memory-palette-changing escape-sequences:
  6902. Mode A: Mode B: Mode C: Mode D:
  6903. 7/escape 7/escape 7/escape 0BFh
  6904. red red red7-4 red
  6905. green green red3-0 green
  6906. blue blue green7-4 blue
  6907. address address green3-0 address
  6908. blue7-4
  6909. blue3-0
  6910. address
  6911. 03C7 R- VGA DAC state register
  6912. bit7-2 reserved
  6913. bit1-0: 00b write palette cycle (write mode)
  6914. 01h reserved
  6915. 10b reserved
  6916. 11b read palette cycle (read mode)
  6917. 03C8 RW (VGA,MCGA) PEL address register (write mode)
  6918. Sets DAC in write mode and assign start of color register
  6919. index (0..255) for following write accesses to 3C9h.
  6920. Don't read from 3C9h while in write mode. Next access to
  6921. 03C8h will stop pending mode immediatly.
  6922. 03C8 RW (Genoa SuperEGA) SuperEGA control register (all emulation modes)
  6923. bit7-2: reserved
  6924. bit1 : 0=EGA mode, 1=backward compatibility mode
  6925. bit0 : not used
  6926. 03C9 RW (VGA,MCGA) PEL data register
  6927. Three consequtive reads (in read mode) or writes (in write
  6928. mode) in the order: red, green, blue. The internal DAC index
  6929. is incremented each 3rd access.
  6930. bit7-6: HiColor VGA DACs only: color-value bit7-6
  6931. bit5-0: color-value bit5-0
  6932. 03CA -W EGA graphics 2 position register
  6933. 03CA R- VGA feature control register (see PORT 03BAh,PORT 03DAh-W)
  6934. 03CB RW (ET4000/W32) GDC segment select register 2 ('key' protected?)
  6935. The existence of this r/w register 0..255 is often
  6936. used to decide between ET4000 and ET4000/W32.
  6937. bit7-6: reserved, but existent
  6938. bit5-4: bits 5-4 of read segment pointer
  6939. bit3-2: reserved, but existent
  6940. bit1-0: bits 5-4 of write segment pointer
  6941. 03CC -W EGA graphics 1 position register
  6942. 03CC R- VGA miscellaneous output register (see PORT 03C2h-W,#P278)
  6943. 03CD RW (ET3000, ET4000, ET4000/W32) GDC segment select ('key' protected)
  6944. The existence of this r/w register is often used as
  6945. detection of ET3000, ET4000 and ET4000/W32 chips.
  6946. bit7-4: read segment pointer for mapping to A0000h
  6947. bit3-0: write segment pointer for mapping to A0000h
  6948. 03CE -W EGA GDC index register
  6949. 03CE RW VGA graphics address register / GDC index
  6950. bit7-4: reserved
  6951. bit3-0: index
  6952. 03CF -W EGA GDC data register
  6953. 03CF RW VGA other graphics register (see #P279)
  6954.  
  6955. (Table P267)
  6956. Values for EGA/VGA indexed registers in ATC:
  6957. 00h-0Fh 16 palette registers (see #P268)
  6958. 10h mode control register (see #P269)
  6959. 11h (EGA) overscan color register (see #P270) (default: 00h)
  6960. 11h (VGA) overscan color register (see #P271) (default: 00h)
  6961. 12h color enable register (see #P272)
  6962. 13h horizontal pixel panning register
  6963. bit7-4: reserved
  6964. bit3-0: horizontal pixel panning
  6965. 14h (VGA) color select register (default: 00h)
  6966. bit7-4: reserved
  6967. bit3 : s-color 7
  6968. bit2 : s-color 6
  6969. bit1 : s-color 5 (only with 16 pages   16 regs)
  6970. bit0 : s-color 4 (only with 16 pages   16 regs)
  6971. 16h ET3000, ET4000 only: ATC miscellanenous
  6972. (at least on ET4000 'key' protected)
  6973. This register is also supported by ET3000, but the
  6974. description is proved for ET4000 only.
  6975. bit7 : bypass the internal palette
  6976. (e.g. for HiColor modes with Sierra RAMDACs)
  6977. bit6 : reserved
  6978. bit5-4: select high resolution / color mode
  6979. bit3-0: reserved
  6980. SeeAlso: #P273,#P279
  6981.  
  6982. Bitfields for EGA/VGA indexed ATC palette register:
  6983. Bit(s) Description (Table P268)
  6984. 7-6 reserved
  6985. 5 secondary red video
  6986. 4 secondary green/intensity video
  6987. 3 secondary blue/mono video
  6988. 2 primary red video
  6989. 1 primary green video
  6990. 0 primary blue video
  6991. SeeAlso: #P267
  6992.  
  6993. Bitfields for EGA/VGA ATC mode control register:
  6994. Bit(s) Description (Table P269)
  6995. 7 (VGA) SB/SG select (0=4 pages of 64 regs, 1=16 pages of 16 regs)
  6996. 6 (VGA) PELCLK/2 (0=4bit color, 1=8bit color)
  6997. 5 (VGA) enable pixel panning (0=all, 1=up to line compare register value)
  6998. 4 reserved
  6999. 3 background intensity (0=16 colors, 1=blink)
  7000. 2 line graphics enable (0=background, 1=line 8=9)
  7001. 1 1=mono, 0=color select
  7002. 0 1=graphics, 0=text select
  7003. SeeAlso: #P267
  7004.  
  7005. Bitfields for EGA overscan color register:
  7006. Bit(s) Description (Table P270)
  7007. 7-6 reserved
  7008. 5 secondary red (SR)
  7009. 4 secondary green (SR) / intensity
  7010. 3 secondary blue (SB)
  7011. 2 primary red (PR)
  7012. 1 primary green (PG)
  7013. 0 primary blue (PB)
  7014. SeeAlso: #P267,#P271
  7015.  
  7016. Bitfields for VGA overscan color register:
  7017. Bit(s) Description (Table P271)
  7018. 7 secondary intensity border color (SI)
  7019. 6 secondary red (SR)
  7020. 5 secondary green (SG)
  7021. 4 secondary blue (SB)
  7022. 3 intensity border color (PI)
  7023. 2 primary red (PR)
  7024. 1 primary green (PG)
  7025. 0 primary blue (PB)
  7026. SeeAlso: #P267,#P270
  7027.  
  7028. Bitfields for EGA/VGA color enable register:
  7029. Bit(s) Description (Table P272)
  7030. 7-6 reserved
  7031. 5-4 diagnose / video status select
  7032. EGA: VGA, ET4000:
  7033. 00b = PR/PB PR/PB
  7034. 01b = SB/PG SG/SB
  7035. 10b = SR/SG PI/PG
  7036. 11b = reserved SI/SR
  7037. 3 enable plane 3
  7038. 2 enable plane 2
  7039. 1 enable plane 1
  7040. 0 enable plane 0
  7041. SeeAlso: #P267
  7042.  
  7043. (Table P273)
  7044. Values for EGA/VGA indexed TS (sequencer) registers:
  7045. 00h reset register
  7046. bit7-2 : reserved
  7047. bit1 =0: synchronous reset (EGA/VGA)
  7048. bit0 =0: asynchronous reset (EGA, ET4000)
  7049. synchronous reset, also (VGA)
  7050. 01h clocking mode register / TS mode (see #P274)
  7051. 02h map mask register (see #P275)
  7052. 03h character map select register / font select (see #P276)
  7053. 04h memory mode register
  7054. bit7-4 : reserved
  7055. bit3 =1: (VGA) enable chain 4 linear graphics mode
  7056. bit2 : 0=odd/even mode, 1=sequential mode
  7057. bit1 =1: extended memory (0=64KB, 1=more)
  7058. bit0 : (EGA) 1=textmode, 0=graphics mode
  7059. 06h ET3000 only: Zoom control register
  7060. 06h ET4000 only: TS state control (protected by 'key')
  7061. bit7-3 : reserved
  7062. bit2-1 : timing sequencer state bit2-1
  7063. (bit0 is bit0 TS mode register)
  7064. 00 0b= 9 dots
  7065. 00 1b= 8 dots
  7066. 01 0b= 10 (10-16 are ET4000 only)
  7067. 01 1b= 11
  7068. 10 0b= 12
  7069. 11 1b= 16
  7070. bit0 : reserved
  7071. 07h ET3000/ET4000 only: TS auxiliary mode (see #P277)
  7072. 08h S3 864/964/765 (Trio64V): key register -- enable access to S3 extended
  7073. registers when set to 06h
  7074. ---S3 756 (Trio64V) extended registers---
  7075. 09h ???
  7076. 0Bh ???
  7077. bits 7-4: ???
  7078. 0Dh DPMS
  7079. bits 7-4: DPMS power mode
  7080. 0000 On
  7081. 0001 Standby
  7082. 0100 Suspend
  7083. 0101 Off
  7084. bits 1-0: ???
  7085. 10h ??? \
  7086. 11h ??? / paired
  7087. 12h ??? \
  7088. 13h ??? / paired
  7089. 15h ???
  7090. bit 4: ???
  7091. 18h bit 5 set while reduced-power modes active
  7092. bit 7: ???
  7093. 1Ch bit 0: enable memory-mapped 8514/A registers at 000A0000h
  7094. bit 1: enable memory-mapped 8514/A registers at LFB+01000000h
  7095.  
  7096. Bitfields for EGA/VGA sequencer clocking mode register:
  7097. Bit(s) Description (Table P274)
  7098. 7-6 reserved
  7099. 5 (VGA) =1: screen refresh off
  7100. 4 (VGA) shift load (0=4x8, 1=1x32)
  7101. 3 dot clock (0=normal, 1=clock/2)
  7102. 2 serial shift video load (0=4x8, 1=2x16)
  7103. 1 (EGA) CRTC bandwidth (0=4/5, 1=2/5)
  7104. 0 dot clocks (0=9, 1=8) (ET4000: see 06h)
  7105. SeeAlso: #P273
  7106.  
  7107. Bitfields for EGA/VGA sequencer map mask register:
  7108. Bit(s) Description (Table P275)
  7109. 7-4 reserved
  7110. 4 Genoa SuperEGA only: plane4 ???
  7111. 3 write enable display memory plane 3
  7112. 2 write enable display memory plane 2
  7113. 1 write enable display memory plane 1
  7114. 0 write enable display memory plane 0
  7115. SeeAlso: #P273
  7116.  
  7117. Bitfields for EGA/VGA sequencer character map select register:
  7118. Bit(s) Description (Table P276)
  7119. 7-6 reserved
  7120. 5 (VGA) bit3 for 2nd text-font
  7121. 4 (VGA) bit3 for 1st text-font
  7122. 3-2 2nd text-font (attr bit3=1)
  7123. 1-0 1st text-font (attr bit3=0)
  7124. offset in font memory (4-7: VGA only)
  7125. 0 00b = 0KB
  7126. 0 01b = 16KB
  7127. 0 10b = 32KB
  7128. 0 11b = 48KB
  7129. 1 00b = 8KB
  7130. 1 01b = 24KB
  7131. 1 10b = 40KB
  7132. 1 11b = 56KB
  7133. SeeAlso: #P273
  7134.  
  7135. Bitfields for ET3000/ET4000 sequencer auxiliary mode:
  7136. Bit(s) Description (Table P277)
  7137. 7 compatibility mode (1=VGA, 0=EGA)
  7138. 6 select MCLK/2 (with bit0=0)
  7139. 5 BIOS ROM address map 2
  7140. 4 reserved
  7141. 3 BIOS ROM address map 1
  7142. 2 reserved (1)
  7143. 1 select SCLK input from MCLK
  7144. 0 select MCLK/4 (with bit6=1)
  7145. 5+3 ROM address
  7146. 00 C0000-C3FFF
  7147. 01 disabled
  7148. 10 C0000-C5FFF, C6800-C7FFF
  7149. 11 C0000-C7FFF (default)
  7150. Notes: at least on the ET4000, this register is protected by a 'key'
  7151. this register is also supported by ET3000, but the above description
  7152. is based on the ET4000
  7153. SeeAlso: #P273
  7154.  
  7155. Bitfields for EGA/VGA miscellaneous output register:
  7156. Bit(s) Description (Table P278)
  7157. ---Genoa SuperEGA in all emulation modes---
  7158. 7-6: vertical resolution
  7159. 00 (EGA) 200 lines
  7160. 01 (VGA) 400 lines
  7161. 10 (EGA/VGA) 350 lines
  7162. 11 (VGA) 480 lines
  7163. ------
  7164. 7 vertical sync polarity (0=positive, 1=negative)
  7165. 6 horizontal sync polarity (0=positive, 1=negative)
  7166. 5 odd/even pagebit
  7167. 4 EGA: 0=video driver on,
  7168. 1=video driver off (feature connector used)
  7169. 3-2 pixelclock
  7170. 00 14/25MHz (EGA/VGA)
  7171. 01 16/28Mhz (EGA/VGA)
  7172. 10 (EGA/VGA) external clock (EGA)
  7173. 11 (EGA/VGA) reserved
  7174. 10 (Genoa SuperEGA) 39Mhz
  7175. 11 (Genoa SuperEGA) 26.824Mhz
  7176. 1 enable CPU RAM access
  7177. 0 CRTC port address
  7178. 0=3B4 mono
  7179. 1=3D4 color
  7180. (color EGA: enable feature control at 3DAh,status reg 1 at 3D2h)
  7181.  
  7182. Bitfields for EGA/VGA indexed registers in GDC:
  7183. Bit(s) Description (Table P279)
  7184. 00h set/reset register (default 00h)
  7185. functionality depending on write mode (register 05h) (see #P282)
  7186. bit7-4: reserved
  7187. bit3 : 0=write 00h, 1=write FFh in plane 3
  7188. bit2 : 0=write 00h, 1=write FFh in plane 2
  7189. bit1 : 0=write 00h, 1=write FFh in plane 1
  7190. bit0 : 0=write 00h, 1=write FFh in plane 0
  7191. 01h enable set/reset register (default 00h) (see #P280)
  7192. 02h color compare register (default 00h) (see #P281)
  7193. 03h data rotate register (default 00h)
  7194. bit7-5: reserved
  7195. bit4-3: logical function select
  7196. 00b= CPU-data overwrites
  7197. 01b= CPU-data AND with latch-register
  7198. 10b= CPU-data OR with latch-register
  7199. 11b= CPU-data XOR with latch-register
  7200. bit2-0: rotate count
  7201. 04h read map select register (default 00h)
  7202. bit7-3: reserved
  7203. bit2 : EGA?? & Genoa SuperEGA: map select bit2
  7204. bit1-0: map select (0..3)
  7205. 05h mode register (see #P282)
  7206. 06h miscellaneous register
  7207. bit7-4: reserved (=0)
  7208. bit3-2: memory map
  7209. 00b = A0000..BFFFF (128KB)
  7210. 01b = A0000..AFFFF (64KB)
  7211. 10b = B0000..B7FFF (32KB)
  7212. 11b = B8000..BFFFF (32KB)
  7213. bit1 : chain odd maps to even, 1=subst addess bit0
  7214. bit0 : 0=testmode, 1=graphics mode
  7215. 07h color don't care register
  7216. bit7-4: reserved
  7217. bit3=1: color plane 3 don't care (ignore bit3)
  7218. bit2=1: color plane 2 don't care (ignore bit2)
  7219. bit1=1: color plane 1 don't care (ignore bit1)
  7220. bit0=1: color plane 0 don't care (ignore bit0)
  7221. 08h bit mask register (default FFh)
  7222. bit7-0: bitmask for latch/databyte
  7223. (bit set=change allowed)
  7224. 0Fh (Paradise SuperVGA) lock register
  7225. The ability to write and reread 00h..07h to this register
  7226. is often used as detection of Paradise chips.
  7227. bit7-0 = 01h lock/hide Paradise specific registers
  7228. = 05h unlock Paradise specific registers
  7229. bit7-3: reserved
  7230. bit2-0: flipflops, reserved
  7231.  
  7232. Bitfields for EGA/VGA GDC enable set/reset register:
  7233. Bit(s) Description (Table P280)
  7234. 7-4 reserved (used on Genoa SuperEGA???)
  7235. 3 enable set/reset plane 3
  7236. 2 enable set/reset plane 2
  7237. 1 enable set/reset plane 1
  7238. 0 enable set/reset plane 0
  7239. 3-0 0=CPU access, 1=set/reset access to plane
  7240. SeeAlso: #P279
  7241.  
  7242. Bitfields for EGA/VGA GDC color compare register:
  7243. Bit(s) Description (Table P281)
  7244. 7-4 reserved
  7245. 3 color compare 3
  7246. 2 color compare 2
  7247. 1 color compare 1
  7248. 0 color compare 0
  7249. 3-0 (color number)
  7250. SeeAlso: #P279
  7251.  
  7252. Bitfields for EGA/VGA GDC mode register:
  7253. Bit(s) Description (Table P282)
  7254. 7 reserved
  7255. 6 (VGA) 0=standard, 1=enable 256 colors
  7256. 5 shift register mode, 0=standard, 1=CGA-graphics
  7257. (not used on Genoa SuperEGA???)
  7258. 4=1 enable odd/even address mode
  7259. 3 read mode, 0=mode0, 1=mode1
  7260. 2 (EGA) test condition, 0=standard, 1=output tristate
  7261. 1-0 write mode
  7262. 00 mode0, plane source is CPU or set/reset
  7263. 01 mode1, plane source is latch-register
  7264. 10 mode2, plane source is CPU as set/reset
  7265. 11 (VGA) mode3, CPU as set/reset AND bitmask
  7266. SeeAlso: #P279
  7267.  
  7268. (Table P283)
  7269. Values for EDSUN CEG (Continuous Edge Graphics) modes::
  7270. x: mode: colors: mix: pixel depth: effective colors:
  7271. 0 = disabled 256 - 8 256
  7272. 1 = A 16 16 8 1920
  7273. 2 = A+REP 16 16 8 dblscn 1920
  7274. 3 = A+EDP 15 16 truecolor
  7275. 4 = reserved - - - -
  7276. 5 = B 16 8 8 960
  7277. 6 = B+REP 16 8 8 dblscn 960
  7278. 7 = B+EDP 15 8 truecolor
  7279. 8 = reserved - - - -
  7280. 9 = C 8 8 4 224
  7281. 10 = C+REP 8 8 4 dblscn 224
  7282. 11 = C+EDP 7 8 truecolor
  7283. 12 = reserved - - - -
  7284. 13 = D 223 32 8 792096
  7285. 14 = D+REP 223 32 8 dblscn 792096
  7286. 15 = D+EDP 223 32 truecolor
  7287. SeeAlso: #P284
  7288.  
  7289. (Table P284)
  7290. Values for EDSUN CEG mixing codes:
  7291. Mode A: | Mode C:
  7292. mix: new: old: | mix: new: old: colorcode:
  7293. 0 = 32/32 0/32 | 0 = - - 0
  7294. 1 = 30/32 2/32 | 1 = - - 1
  7295. 2 = 28/32 4/32 | 2 = - - 2
  7296. 3 = 26/32 6/32 | 3 = - - 3
  7297. 4 = 24/32 8/32 | 4 = - - 4
  7298. 5 = 22/32 10/32 | 5 = - - 5
  7299. 6 = 20/32 12/32 | 6 = - - 6
  7300. 7 = 18/32 14/32 | 7 = - - 7/EDP
  7301. 8 = 16/32 16/32 | 8 = 30/32 2/32 -
  7302. 9 = 14/32 18/32 | 9 = 28/32 4/32 -
  7303. 10 = 12/32 20/32 | 10 = 26/32 6/32 -
  7304. 11 = 10/32 22/32 | 11 = 24/32 8/32 -
  7305. 12 = 8/32 24/32 | 12 = 22/32 10/32 -
  7306. 13 = 6/32 26/32 | 13 = 20/32 12/32 -
  7307. 14 = 4/32 28/32 | 14 = 18/32 14/32 -
  7308. 15 = 2/32 30/32 | 15 = 16/32 16/32 -
  7309. ---Mode B: | Mode D:
  7310. mix: new: old: | mix: new: old: description:
  7311. 0 = 30/32 2/32 | 00h..BEh = - - normal color
  7312. 1 = 26/32 6/32 | BFh = - - EDP
  7313. 2 = 22/32 10/32 | C0h = 32/32 0/32
  7314. 3 = 18/32 14/32 | C1h = 31/32 1/32
  7315. 4 = 14/32 18/32 | C2h = 30/32 2/32
  7316. 5 = 10/32 22/32 | ... = ... ...
  7317. 6 = 6/32 26/32 | DFh = 0/32 32/32
  7318. 7 = 2/32 30/32 | E0h-FFh = - - normal color
  7319. SeeAlso: #P283
  7320. ----------P03CE03CF--------------------------
  7321. PORT 03CE-03CF - Compaq Qvision - Functionality Level
  7322.  
  7323. 03CE -W graphics address register (index for next port) (see #P285)
  7324. 03CF RW other graphics register
  7325.  
  7326. (Table P285)
  7327. Values for Compaq QVision graphics register index:
  7328. 0Ch RO controller version
  7329. 2Fh Advanced VGA
  7330. 37h early QVision 1024
  7331. 71h QVision 1280 or later QVision 1024
  7332. 0Dh extended controller version
  7333. 0Eh extended controller capabilities
  7334. 0Fh environment info
  7335. 54h available memory
  7336. 55h phase-locked-loop clock
  7337. 56h-57h controller capabilities
  7338. ----------P03D003DF--------------------------
  7339. PORT 03D0-03DF - CGA (Color Graphics Adapter)
  7340.  
  7341. 03D0 -W same as PORT 03D4h
  7342. 03D1 RW same as PORT 03D5h
  7343. 03D2 -W same as PORT 03D4h
  7344. 03D3 RW same as PORT 03D5h
  7345. 03D4 rW CRT (6845) index register (CGA/MCGA/color EGA/color VGA)
  7346. selects which register (0-11h) is to be accessed through 03D5
  7347. this port is r/w on some VGA, e.g. ET4000
  7348. bit 7-6 =0: (VGA) reserved
  7349. bit 5 =0: (VGA) reserved for testage
  7350. bit 4-0 : selects which register is to be accessed through 03D5
  7351. 03D5 -W CRT (6845) data register (CGA/MCGA/color EGA/color VGA)
  7352. selected by PORT 03D4h. registers 0C-0F may be read
  7353. (see also PORT 03B5h)
  7354. MCGA, native EGA and VGA use very different defaults from those
  7355. mentioned for the other adapters; for additional notes and
  7356. registers 00h-0Fh and EGA/VGA registers 10h-18h and ET4000
  7357. registers 32h-37h see PORT 03B5h (see #P259)
  7358. registers 10h-11h on CGA, EGA, VGA and 12h-14h on EGA, VGA are
  7359. conflictive with MCGA (see #P287)
  7360. 03D6 -W same as 03D4
  7361. (under OS/2, reads return 0 if full-screen DOS session,
  7362. nonzero if windowed DOS session)
  7363. 03D7 RW same as 03D5
  7364. 03D8 RW CGA mode control register (except PCjr) (see #P292)
  7365. cannot be found on native color EGA, color VGA, but on most clones
  7366. 03D9 RW CGA palette register (see #P294)
  7367. (MCGA) CGA border control register
  7368. Cannot be found on native EGA, VGA (without translation ROM) but
  7369. only most clones. Read access on Genoa SuperEGA is 'reset'???
  7370. 03DA R- CGA status register (see #P293)
  7371. color EGA/VGA: input status 1 register
  7372. 03DA -W color EGA/color VGA feature control register (see #P295)
  7373. (at PORT 03BAh w in mono mode, VGA: 3CAh r)
  7374. 03DA -W HZ309 (MDA/HGC/CGA clone) card from in Heath/Zenith HZ150 PC
  7375. bit7-1=0: unknown, zero is default and known to function
  7376. properly at least in CGA modes.
  7377. bit 0 = 1 override 3x8h bit3 control register that switches
  7378. CRT beam off if bit3 is cleared. So screens always
  7379. stays on.
  7380. bit 0 = 0 3x8h bit3 indicates if CRT beam is on or off.
  7381. No more info available. Might conflict with EGA/VGA.
  7382. 03DB rW clear light pen latch (not MCGA)
  7383. (R/W only with Genoa SuperEGA)
  7384. 03DC RW (not MCGA) preset light pen latch
  7385. 03DC -W (CGA) set light pen latch
  7386. 03DD -W (MCGA) Extended mode control register
  7387. (Plantronics & Genoa SuperEGA: Plantronics ColorPlus control,
  7388. compatible with MCGA???)
  7389. (default is 00h, in mode 13h: 04h)
  7390. bit7 =1: DAC active, cannot be read
  7391. =0: DAC not active, read allowed
  7392. bit6-3 : reserved
  7393. bit2 =1: videomode 13h with 256 colors active
  7394. bit1 : reserved
  7395. bit0 =0: reserved
  7396. 03DE -- (MCGA) reserved
  7397. 03DE -W AT&T & color ET4000 in AT&T compatibility mode: AT&T mode control
  7398. register (see #P296)
  7399. (register enabled in ET4000, if bit7=1 in CRTC 3D4h/34h.)
  7400. 03DF -- (MCGA) reserved
  7401. 03DF ?W CRT/CPU page register (PCjr only)
  7402.  
  7403. (Table P286)
  7404. Values for EGA/VGA+ CRT Controller register index:
  7405. 00h-0Fh same as MDA/CGA (see #P259)
  7406. 10h R- native VGA with bit7=1 in end horizontal blanking (03h) and ET4000:
  7407. start vertical retrace
  7408. 10h -W start vertical retrace
  7409. 11h R- native VGA with bit7=1 in end horizontal blanking (03h):
  7410. end vertical retrace
  7411. 11h -W end vertical retrace
  7412. bit7 : VGA: protection bit
  7413. =0 enable write access to 00h-07h
  7414. =1 read only regs 00h-07h with the exception
  7415. of bit4 in 07h. ET4000: protect 35h also.
  7416. bit6 : VGA: =0 three, =1 five refreshcycles/line
  7417. ET4000: reserved
  7418. bit5=0: (MCGA also) enable vertical interrupt
  7419. bit4=0: (MCGA also) clear vertical interrupt
  7420. =1: no effect
  7421. bit3-0: (MCGA also) vertical retrace end
  7422. 12h vertical display end register
  7423. 13h row offset register
  7424. logical screen line width in
  7425. byte mode : bytes/(line/2)
  7426. word mode : bytes/(line/4)
  7427. dword mode: bytes/(line/8)
  7428. 14h underline location register
  7429. bit7=0: reserved
  7430. bit6 : VGA: 0=word-mode, 1=dword-mode (see 17h, bit6)
  7431. bit5 : VGA: 0=standard address counter clock
  7432. 1=address counter clock/4 (see 17h, bit3)
  7433. bit4-0: horizontal underline row scan
  7434. 15h EGA, VGA: start vertical blanking-1
  7435. 16h EGA, VGA: end vertical blanking register
  7436. bit7-5 : EGA: reserved, but used on original EGA???
  7437. bit4-0 : end vertical blanking
  7438. 17h EGA, VGA: mode control register (see #P262)
  7439. 18h EGA, VGA: line compare register
  7440. 19h Genoa SuperEGA only: double scan control
  7441. at 3B5h only in MDA, HGC emulation, but at 3D5h even in
  7442. mono EGA modes.
  7443. bit7-5 : reserved
  7444. bit4 : HR/VR width adjust flag for double scan mode
  7445. bit3-1 : 1=test, 0=normal
  7446. bit0 : double scan enable
  7447. 1Bh ET3000 only: x-zoom start register
  7448. The existence of this register is often used to decide
  7449. between ET3000 and ET4000, as the ET4000 does not offer
  7450. hardware-zoom features.
  7451. 1Ch ET3000 only: x-zoom end register
  7452. 1Dh ET3000 only: y-zoom start register low
  7453. 1Eh ET3000 only: y-zoom end register low
  7454. 1Fh ET3000 only: y-zoom start & end high register
  7455. 20h ET3000 only: zoom start address register low
  7456. 21h ET3000 only: zoom start address register medium
  7457. 23h ET3000 only: extended start address (see register 33h)
  7458. 24h ET3000 only: compatibility register (see register 34h)
  7459. 25h ET3000 only: overflow high register (see registers 35h, 07h)
  7460. 2Dh R- S3: extended Chip ID (always 88h???)
  7461. 2Eh R- S3 7xx/866/x68: new chip ID
  7462. 2Fh R- S3 7xx/866/x68: chipset revision
  7463. 30h RW S3: chip ID/revision (see #P302)
  7464. 31h RW S3: memory configuration (see #P303)
  7465. 32h ET4000: RAS/CAS configuration ('key' protected) (see #P297)
  7466. 32h RW S3: backward compatibility 1 (see #P304)
  7467. 33h ET4000: extended start address
  7468. This register is often used to decide between ET4000
  7469. and ET3000, when bit3-0 can be reread after write.
  7470. bit7-4 : reserved
  7471. bit3-2 : cursor address bit 17-16
  7472. bit1-0 : linear start address bits 17-16
  7473. 33h RW S3: backward compatibility 2 (see #P305)
  7474. 34h ET4000: 6845 compatibility control register ('key' protected)
  7475. (see #P298)
  7476. 34h RW S3: backward compatibility 3 (see #P306)
  7477. 35h ET4000: overflow high register (protected by 11h, bit7) (see #P299)
  7478. 35h RW S3: CRT register lock (see #P307)
  7479. 36h ET4000: video system configuration 1 ('key' protected) (see #P300)
  7480. 36h R S3: Reset State read 1
  7481. bits 7-5: video memory size
  7482. 37h ET4000: video system configuration 2 ('key' protected) (see #P301)
  7483. 37h R S3: Reset State read 2
  7484. 38h RW S3: S3 Register lock 1
  7485. set reg 38h to 48h and reg 39h to A5h to unlock other S3 registers
  7486. 39h RW S3: S3 Register lock 2
  7487. 3Ah RW S3: S3 Miscellaneous
  7488. bit 4: ???
  7489. 3Bh RW S3: Data Transfer Execute position
  7490. 3Ch RW S3: Interlace Retrace start
  7491. 40h RW S3: System Configuration
  7492. bit 0: enable access to 8514/A-compatible registers at PORT x2E8h
  7493. 41h S3: BIOS Flag register
  7494. 42h RW S3: mode control
  7495. 43h RW S3: extended mode
  7496. 45h RW S3: hardware graphics cursor mode
  7497. 46h-47h RW S3: hardware cursor origin X
  7498. testing that register 47h can be read and written once the S3 registers
  7499. are unlocked is used as an S3 installation check
  7500. 48h-49h RW S3: hardware cursor origin Y
  7501. 4Ah RW S3: hardware graphics cursor foreground stack
  7502. read register 45h, then write 2 or 3 color bytes (16/24-bit color)
  7503. to specify foreground color of hardware cursor
  7504. 4Bh RW S3: hardware graphics cursor background stack
  7505. read register 45h, then write 2 or 3 color bytes (16/24-bit color)
  7506. to specify background color of hardware cursor
  7507. 4Ch-4Dh RW S3: hardware graphics cursor map start address
  7508. 4Eh RW S3: hardware cursor pattern start X
  7509. 4Fh RW S3: hardware cursor pattern start Y
  7510. 50h RW S3 801+: Extended System Control 1
  7511. 51h RW S3 801+: Extended System Control 2
  7512. 52h RW S3 801+: Extended BIOS Flag 1
  7513. bits 7-6 are sync polarities (see #P278) for Diamond cards
  7514. 53h RW S3 801+: Extended Memory Control 1
  7515. 54h RW S3 801+: Extended Memory Control 2
  7516. 55h RW S3 801+: Extended Video DAC Control
  7517. 56h RW S3 801+: External Sync Control 1
  7518. 57h RW S3 801+: External Sync Control 2
  7519. 58h RW S3 801+: Linear Address Window Control (see #P308)
  7520. 59h RW S3 801+: Linear Address Window Position (high)
  7521. 5Ah RW S3 801+: Linear Address Window Position (low)
  7522. 5Bh RW S3 801+: Extended BIOS Flag 2
  7523. 5Ch RW S3 801+: General Output Port
  7524. bit 0: ???
  7525. bit 1: ???
  7526. 5Dh RW S3 801+: Extended Horizontal Overlow
  7527. 5Eh RW S3 801+: Extended Vertical Overflow
  7528. 5Fh RW S3 928/964: Bus Grant Termination Position
  7529. 60h RW S3 864/964: extended memory control 3
  7530. 61h RW S3 864/964: extended memory control 4
  7531. 62h RW S3 864/964: extended memory control 5
  7532. 63h RW S3 864/964: external sync delay adjustment (high)
  7533. 64h RW S3 864/964: genlocking adjustment
  7534. 65h RW S3 864/964: extended miscellaneous control
  7535. 66h RW S3 864/964: extended miscellaneous control 1
  7536. 67h RW S3 864/964: extended miscellaneous control 2 (see #P309)
  7537. 68h RW S3 864/964: configuration 3
  7538. 69h RW S3 864/964: extended system control 3
  7539. 6Ah RW S3 864/964: extended system control 4 (bits 5-0 = offset of 64K bank)
  7540. 6Bh RW S3 864/964: extended BIOS flag 3
  7541. 6Ch RW S3 864/964: extended BIOS flag 4
  7542. 6Dh RW S3 864/964: extended miscellaneous control
  7543. Note: registers 10h-14h on the MCGA have conflicting uses (see #P287)
  7544. SeeAlso: #P259,#P287
  7545.  
  7546. (Table P287)
  7547. Values for MCGA (only) CRT Controller register index:
  7548. 00h-0Fh same as MDA/CGA (see #P259)
  7549. 10h -W mode control register (defaults 18h, 1Ah, 19h) (see #P288)
  7550. 10h R- mode control status register (see #P289)
  7551. 11h -W interrupt control register (default 30h) (see #P290)
  7552. 12h RW character generator/sync polarity register (see #P291)
  7553. 12h R- display sense register (int. control reg [11h] bit7=1)
  7554. bit 7-2 : not used
  7555. bit 1-0 : pins 11 & 12 in monitor cable
  7556. 00b = reserved
  7557. 01b = analogue monochrom monitor
  7558. 10b = analogue color graphics monitor
  7559. 11b = no monitor
  7560. 13h -W character font pointer register (see #P287)
  7561. only 00h, 10h, 20h, 30h (default 00h) are allowed here
  7562. for textmode fonts at A0000, A2000, A4000, A6000
  7563. 14h -W number of characters to load during vert. retrace period (default FFh)
  7564. Note: registers 10h-14h can appear at PORT 03D5h only, not at 03B5h
  7565. SeeAlso: #P259,#P286
  7566.  
  7567. Bitfields for MCGA (only) CRT mode control register:
  7568. Bit(s) Description (Table P288)
  7569. 7 suppress hsync/vsync
  7570. 6 reserved (0)
  7571. 5 reserved
  7572. 4 dot clock rate
  7573. 3 refresh calculations in 80x25 modes
  7574. 2 reserved
  7575. 1 videomode 11h active
  7576. 0 videomode 13h active
  7577. SeeAlso: #P287,#P289
  7578.  
  7579. Bitfields for MCGA (only) CRT mode control status register:
  7580. Bit(s) Description (Table P289)
  7581. 7 status bit0 CGA mode control register
  7582. 6 reserved
  7583. 5 clockrate 640 pixel, =0: clockrate/2 320 pixel
  7584. 4 clock rate is 25,175Mhz
  7585. 3 currently in textmode
  7586. 2 double-scan activated
  7587. 1 videomode 11h active
  7588. 0 videomode 13h active
  7589. SeeAlso: #P287,#P288
  7590.  
  7591. Bitfields for MCGA (only) CRT interrupt control register:
  7592. Bit(s) Description (Table P290)
  7593. 7 set output driver to tristate
  7594. =0: for reading of character generator reg (12h)
  7595. =1: for reading of display sense register (12h)
  7596. 6 R intr generated by memory controller
  7597. 5 =0 requested intr ok to handle
  7598. 4 =0 free interrupt latch register
  7599. 3-0 reserved
  7600. SeeAlso: #P287
  7601.  
  7602. Bitfields for MCGA (only) CRT character generator/sync polarity register:
  7603. Bit(s) Description (Table P291)
  7604. 7 character generator active
  7605. 6 =1 load codepage during display
  7606. =0 load codepage during retrace
  7607. 5 codepage number (0,1)
  7608. 4 512 characters active
  7609. 3 reserved (0)
  7610. 2 enable hsync/vsync
  7611. 1 positive vsync polarity
  7612. 0 positive hsync polarity
  7613. Note: default 46h in all modes, except 04h in mode 11h)
  7614. SeeAlso: #P287
  7615.  
  7616. Bitfields for CGA mode control register:
  7617. Bit(s) Description (Table P292)
  7618. 7-0 =A0h color ET4000: second part of 'key', see Hercules compatibility
  7619. register (see PORT 03BFh) for details. For resetting the key, e.g.
  7620. write 01h to PORT 03BFh and 29h to PORT 03D8h.
  7621. 7-6 not used
  7622. 6 color ET4000 only, read-only: report status of bit 1 (enable 2nd page)
  7623. of hercules compatibility register (see PORT 03BFh)
  7624. 5 =1 blink enabled instead of foreground high-int.
  7625. 4 =1 640*200 graphics mode
  7626. 3 =1 video enabled (HZ309, see PORT 03DAh bit 0)
  7627. 2 =1 monochrome signal
  7628. (MCGA) in mode 6 and 11h color comes from pal-
  7629. regs 00 (black) and 07 (white), and can be
  7630. changed there.
  7631. 1 =0 text mode
  7632. =1 320*200 graphics mode
  7633. 0 text columns (0 = 40*25 text mode, 1 = 80*25 text mode)
  7634. SeeAlso: #P293
  7635.  
  7636. Bitfields for CGA status register:
  7637. Bit(s) Description (Table P293)
  7638. 7-6 not used
  7639. 5-4 color EGA, color ET4000: diagnose video display feedback, select
  7640. from color plane enable
  7641. 3 in vertical retrace
  7642. 2 (CGA,color EGA) light pen switch is off
  7643. (MCGA,color ET4000) reserved (0)
  7644. 1 (CGA,color EGA) positive edge from light pen has set trigger
  7645. (MCGA,color ET4000) reserved (0)
  7646. 0 horizontal retrace in progress
  7647. =0 do not use memory
  7648. =1 memory access without interfering with display
  7649. (Genoa SuperEGA) horizontal or vertical retrace
  7650. SeeAlso: #P292,#P294
  7651.  
  7652. Bitfields for CGA palette register:
  7653. Bit(s) Description (Table P294)
  7654. 7-6 not used
  7655. 5 =0 active 320x200x4 color set: red, green brown
  7656. =1 active 320x200x4 color set: cyan, magenta, white
  7657. 4 intense colors in graphics, background colors text
  7658. 3 intense border in 40*25, intense background in 320*200, intense
  7659. foreground in 640*200
  7660. 2 red border in 40*25, red background in 320*200, red foreground in
  7661. 640*200
  7662. 1 green border in 40*25, green background in 320*200, green foreground
  7663. in 640*200
  7664. 0 blue border in 40*25, blue background in 320*200, blue foreground in
  7665. 640*200
  7666. SeeAlso: #P292,#P293
  7667.  
  7668. Bitfields for color EGA/VGA feature control register:
  7669. Bit(s) Description (Table P295)
  7670. 7 ET4000 only: enable NMI generation ('key' protected)
  7671. 6-4 not used
  7672. 3 (VGA) 0 = normal vsync, 1 = vsync OR display enable
  7673. 2 reserved
  7674. 1 EGA and ET4000 only: FEAT1 control bit1 (pin17 feature connector)
  7675. 0 EGA and ET4000 only: FEAT0 control bit0 (pin19 feature connector)
  7676.  
  7677. Bitfields for AT&T mode control register:
  7678. Bit(s) Description (Table P296)
  7679. 7 reserved
  7680. 6 underline color attribute enable
  7681. ET4000: enabled, if bit6=1 in CRTC 3D4h/34h.
  7682. 5 reserved
  7683. 4 reserved
  7684. 3 alternate page select (=1: 2nd 16KB page, with bit0=0)
  7685. 2 alternate font select (0=default font block)
  7686. 1 reserved
  7687. 0 double scan line mode (0=IBM 200, 1=AT&T 400 line graphics)
  7688. (ET4000) enabled, if bit7-6=11b in CRTC 3D4h/34h.
  7689.  
  7690. Bitfields for ET4000 RAS/CAS configuration register:
  7691. Bit(s) Description (Table P297)
  7692. 7 static column memory
  7693. ET4000/W32i: interleave mode
  7694. 6 RAL RAS&CAS column setup time
  7695. 5 RCD RAS & CAS time
  7696. 4-3 RSP, RAS pre-charge time
  7697. 2 CPS, CAS pre-charge time
  7698. 1-0 CSW, CAS low pulse width
  7699. SeeAlso: #P286,#P298
  7700.  
  7701. Bitfields for ET4000 compatibility control register:
  7702. Bit(s) Description (Table P298)
  7703. 7 6845 compatibility enabled
  7704. 6 ENBA enable double scan/underline in AT&T mode
  7705. 5 ENXL enable translation ROM on writing
  7706. 4 ENXR enable translation ROM on reading
  7707. 3 ENVS VSE register port address
  7708. 2 TRIS tristate ET4000 output pins
  7709. 1 CS2 MCLCK clock select 2
  7710. 0 EMCK enable translation of CS0 bit
  7711. SeeAlso: #P286,#P297,#P299
  7712.  
  7713. Bitfields for ET4000 overflow high register:
  7714. Bit(s) Description (Table P299)
  7715. 7 vertical interlace mode
  7716. 6 alternate RMW control
  7717. 5 external sync reset (gen-lock) the line/chr counter
  7718. 4 line compare bit10
  7719. 3 vertical sync start bit10
  7720. 2 vertical display end bit10
  7721. 1 vertical total bit10
  7722. 0 vertical blank start bit10
  7723. SeeAlso: #P286,#P298,#P300
  7724.  
  7725. Bitfields for ET4000 video system configuration 1 register:
  7726. Bit(s) Description (Table P300)
  7727. 7 enable 16bit I/O read/write
  7728. 6 enable 16bit display memory read/write
  7729. 5 addressing mode (0=IBM, 1=TLI)
  7730. 4 0=segment / 1=linear system configuration
  7731. 3 font width control (1=up to 16bit, 0=8bit)
  7732. 2-0 refresh count per line-1
  7733. SeeAlso: #P286,#P299,#P301
  7734.  
  7735. Bitfields for ET4000 video system configuration 2 register:
  7736. Bit(s) Description (Table P301)
  7737. 7 DRAM display memory type (1=VRAM, 0=DRAM)
  7738. 6 test (1=TLI interal test mode)
  7739. 5 priority threshold control (0=more mem BW)
  7740. 4 disable block read-ahead
  7741. 3 display memory data depth
  7742. 2 bus read data latch control
  7743. 1-0 display memory data bus width
  7744. SeeAlso: #P286,#P300
  7745.  
  7746. (Table P302)
  7747. Values for S3 chip ID/Revision register "CR30":
  7748. 81h 86c911
  7749. 82h 86c911A/924
  7750. 90h 86c928 (original)
  7751. ...
  7752. A0h 86c801/805 A-step or B-step
  7753. ...
  7754. B0h 86c928 PCI
  7755. C0h Vision864
  7756. C1h Vision864P
  7757. D0h Vision964
  7758. D1h Vision964P
  7759. E0h Trio32/64, 86c866, 86c868, 86c968; actual ID and revision stored in
  7760. PORT 03B5h registers 2Eh and 2Fh
  7761. E1h Trio32/64, 86c866, 86c868, 86c968; actual ID and revision stored in
  7762. PORT 03B5h registers 2Eh and 2Fh
  7763. SeeAlso: #P303
  7764.  
  7765. Bitfields for S3 "CR31" memory configuration register:
  7766. Bit(s) Description (Table P303)
  7767. 0 enable base-address offset (turn on bank-switched operation)
  7768. 1 two-page screen image (enables 2048-pixel wide screen)
  7769. 2 VGA 16-bit memory bus (clear for 8-bit memory bus)
  7770. 3 video memory above 256K accessible
  7771. 5-4 display start address, bits 17&16. See also registers 51h and 69h
  7772. 6 enable page-mode memory access for text-mode font access
  7773. 7 (except 864/964) enable BIOS ROM address space C6800h-C7FFFh
  7774. SeeAlso: #P286,#P302,#P304
  7775.  
  7776. Bitfields for S3 "CR32" Backwards Compatibility 1 register:
  7777. Bit(s) Description (Table P304)
  7778. 1-0 character clock period
  7779. 00 IBM-compatible, 8 or 9 dots
  7780. 01 7 dots
  7781. 10 9 dits
  7782. 2 force full character clock for horizontal timing (CGA/HGC emulation),
  7783. rather than 1/2 dot clock rate
  7784. 3 backward-compatible modes (set for MDA/CGA/EGA/HGC)
  7785. 4 enable hardware interrupts
  7786. 6 fix VGA screen page using display start address bits 16&17 (see #P303)
  7787. 7 (928,964) tri-state serial output pins SC, SOE0, and SXNR
  7788. SeeAlso: #P303,#P305
  7789.  
  7790. Bitfields for S3 "CR33" Backwards Compatibility 2 register:
  7791. Bit(s) Description (Table P305)
  7792. 1 disable VDE protection (PORT 03D4h register 11h bit 7 will not act
  7793. on PORT 03D4h register 7h bits 1 and 6)
  7794. 3 VCLK is inverted DCLK rather than inverted DCLK/2
  7795. 4 disable writes to RamDAC
  7796. 5 blank signal does not include border area, is same as display enable
  7797. 6 lock palette/overscan registers
  7798. 7 override CGA "enable video" at PORT 03D8h bit 3
  7799. SeeAlso: #P286,#P304,#P306
  7800.  
  7801. Bitfields for S3 "CR34" Backwards Compatibility 3 register:
  7802. Bit(s) Description (Table P306)
  7803. 5 lock SR1 bit 5
  7804. 7 lock PORT 03C2h bits 2,3
  7805. SeeAlso: #P305,#P307
  7806.  
  7807. Bitfields for S3 "CR35" Register Lock register:
  7808. Bit(s) Description (Table P307)
  7809. 4 lock vertical timing registers
  7810. 5 lock horizontal timing registers
  7811. SeeAlso: #P286,#P306
  7812.  
  7813. Bitfields for S3 "CR58" Linear Addressing Control register:
  7814. Bit(s) Description (Table P308)
  7815. 4 enable linear addressing (see also #P361)
  7816. SeeAlso: #P306
  7817.  
  7818. Bitfields for S3 "CR67" Extended Miscellaneous Control 3 register:
  7819. Bit(s) Description (Table P309)
  7820. 3-2 ???
  7821. 7-4 ???
  7822. (values of 0000/0010/0101/0111 indicate a 16-bit pixel port)
  7823. SeeAlso: #P286,#P306
  7824. ----------P03E003E1--------------------------
  7825. PORT 03E0-03E1 - OPTi 82C824 - CardBus Bridge registers
  7826. Range: PORT 03E0h or PORT 03E2h
  7827. SeeAlso: PORT 03E2h"CardBus"
  7828.  
  7829. 03E0 ?W index for data register
  7830. 03E1 RW CardBus registers
  7831. ----------P03E003E8--------------------------
  7832. PORT 03E0-03E8 - LPT port address on the UniRAM card by German magazine c't
  7833. Range: selectable from 260, 2E0, 2E8, 2F0, 3E0, 3E8.
  7834. ----------P03E003EF--------------------------
  7835. PORT 03E0-03EF - COM port addresses on UniRAM card by German magazine c't
  7836. Range: selectable from 238, 2E8, 2F8, 338, 3E0, 3E8, 3F8
  7837. ----------P03E203E3--------------------------
  7838. PORT 03E2-03E3 - OPTi 82C824 - CardBus Bridge registers
  7839. Range: PORT 03E0h or PORT 03E2h
  7840. SeeAlso: PORT 03E0h"CardBus"
  7841.  
  7842. 03E2 ?W index for data register
  7843. 03E3 RW CardBus registers
  7844. ----------P03E803EF--------------------------
  7845. PORT 03E8-03EF - serial port, same as 02E8, 02F8 and 03F8 (COM3)
  7846. SeeAlso: PORT 03F8h-03FFh
  7847. ----------P03E803EF--------------------------
  7848. PORT 03E8-03EF - LPT port address on the UniRAM card by German magazine c't
  7849. Range: selectable from 260, 2E0, 2E8, 2F0, 3E0, 3E8.
  7850. ----------P03EB------------------------------
  7851. PORT 03EB - GI1904 Scanner Interface Adapter
  7852. Range: PORT 022Bh, PORT 026Bh, PORT 02ABh (default), PORT 02EBh, PORT 032Bh,
  7853. PORT 036Bh, PORT 03ABh
  7854. ----------P03EC------------------------------
  7855. PORT 03EC - GS-IF Scanner Interface adapter
  7856. Range: PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  7857. PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  7858. Note: many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  7859. others use this interface
  7860. ----------P03F003F7--------------------------
  7861. PORT 03F0-03F7 - FDC 1 (1st Floppy Disk Controller) second FDC at 0370
  7862. Note: floppy disk controller is usually an 8272, 8272A, NEC765 (or
  7863. compatible), or an 82072 or 82077AA for perpendicular recording at
  7864. 2.88M
  7865. SeeAlso: PORT 0370h-0377h
  7866.  
  7867. 03F0 R- diskette controller status A (PS/2) (see #P310)
  7868. 03F0 R- diskette controller status A (PS/2 model 30) (see #P311)
  7869. 03F0 R- diskette EHD controller board jumper settings (82072AA) (see #P312)
  7870. 03F1 R- diskette controller status B (PS/2) (see #P313)
  7871. 03F1 R- diskette controller status B (PS/2 model 30) (see #P314)
  7872. 03F2 -W diskette controller DOR (Digital Output Register) (see #P315)
  7873. 03F3 ?W tape drive register (on the 82077AA)
  7874. bit 7-2 reserved, tri-state
  7875. bit 1-0 tape select
  7876. =00 none, drive 0 cannot be a tape drive.
  7877. =01 drive1
  7878. =10 drive2
  7879. =11 drive3
  7880. 03F4 R- diskette controller main status register (see #P318)
  7881. Note: in non-DMA mode, all data transfers occur through
  7882. PORT 03F5h and the status registers (bit 5 here
  7883. indicates data read/write rather than than
  7884. command/status read/write)
  7885. 03F4 -W diskette controller data rate select register (see #P319)
  7886. 03F5 R- diskette command/data register 0 (ST0) (see #P320)
  7887. status register 1 (ST1) (see #P321)
  7888. status register 2 (ST2) (see #P322)
  7889. status register 3 (ST3) (see #P323)
  7890. 03F5 -W diskette command register. The commands summarized here are
  7891. mostly multibyte commands. This is for brief recognition only.
  7892. (see #P326)
  7893. 03F6 -- reserved on FDC
  7894. 03F6 rW FIXED disk controller data register (see #P324)
  7895. 03F7 RW harddisk controller (see #P325)
  7896. 03F7 R- diskette controller DIR (Digital Input Register, PC/AT mode)
  7897. bit 7 = 1 diskette change
  7898. bit 6-0 tri-state on FDC
  7899. 03F7 R- diskette controller DIR (Digital Input Register, PS/2 mode)
  7900. (see #P316)
  7901. 03F7 R- diskette controller DIR (Digital Input Register, PS/2 model 30)
  7902. (see #P317)
  7903. 03F7 -W configuration control register (PC/AT, PS/2)
  7904. bit 7-2 reserved, tri-state
  7905. bit 1-0 = 00 500 Kb/S mode (MFM)
  7906. = 01 300 Kb/S mode (MFM)
  7907. = 10 250 Kb/S mode (MFM)
  7908. = 11 1 Mb/S mode (MFM) (on 82072/82077AA)
  7909. conflict bit 0 FIXED DISK drive 0 select
  7910. 03F7 -W configuration control register (PS/2 model 30)
  7911. bit 7-3 reserved, tri-state
  7912. bit 2 NOPREC (has no function. set to 0 by hardreset)
  7913. bit 1-0 = 00 500 Kb/S mode (MFM)
  7914. = 01 300 Kb/S mode (MFM)
  7915. = 10 250 Kb/S mode (MFM)
  7916. = 11 1 Mb/S mode (MFM) (on 82072/82077AA)
  7917. conflict bit 0 FIXED DISK drive 0 select
  7918.  
  7919. Bitfields for diskette controller status A (PS/2):
  7920. Bit(s) Description (Table P310)
  7921. 7 interrupt pending
  7922. 6 -DRV2 second drive installed
  7923. 5 step
  7924. 4 -track 0
  7925. 3 head 1 select
  7926. 2 -index
  7927. 1 -write protect
  7928. 0 +direction
  7929. SeeAlso: #P311,#P313
  7930.  
  7931. Bitfields for diskette controller status A (PS/2 model 30):
  7932. Bit(s) Description (Table P311)
  7933. 7 interrupt pending
  7934. 6 DRQ
  7935. 5 step F/F
  7936. 4 -track 0
  7937. 3 head 1 select
  7938. 2 +index
  7939. 1 +write protect
  7940. 0 -direction
  7941. SeeAlso: #P310,#P312,#P314
  7942.  
  7943. Bitfields for diskette EHD controller board jumper settings:
  7944. Bit(s) Description (Table P312)
  7945. 7-6 drive 3
  7946. 5-4 drive 2
  7947. 3-2 drive 1
  7948. 1-0 drive 0
  7949. 00 1.2Mb
  7950. 01 720Kb
  7951. 10 2.8Mb
  7952. 11 1.4Mb
  7953. SeeAlso: #P310
  7954.  
  7955. Bitfields for diskette controller status B (PS/2):
  7956. Bit(s) Description (Table P313)
  7957. 7-6 reserved (1)
  7958. 5 drive select (0=A:, 1=B:)
  7959. 4 write data
  7960. 3 read data
  7961. 2 write enable
  7962. 1 motor enable 1
  7963. 0 motor enable 0
  7964. SeeAlso: #P310,#P314
  7965.  
  7966. Bitfields for diskette controller status B (PS/2 model 30):
  7967. Bit(s) Description (Table P314)
  7968. 7 -DRV2 second drive installed
  7969. 6 -DS1
  7970. 5 -DS0
  7971. 4 write data F/F
  7972. 3 read data F/F
  7973. 2 write enable F/F
  7974. 1 -DS3
  7975. 0 -DS2
  7976. SeeAlso: #P311,#P313
  7977.  
  7978. Bitfields for diskette controller Digital Output Register (DOR):
  7979. Bit(s) Description (Table P315)
  7980. 7-6 reserved on PS/2
  7981. 7 drive 3 motor enable
  7982. 6 drive 2 motor enable
  7983. 5 drive 1 motor enable
  7984. 4 drive 0 motor enable
  7985. 3 diskette DMA enable (reserved PS/2)
  7986. 2 =1 FDC enable (controller reset)
  7987. =0 hold FDC at reset
  7988. 1-0 drive select (0=A 1=B ..)
  7989. SeeAlso: #P310,#P318,#P319,#P316
  7990.  
  7991. Bitfields for diskette controller Digital Input Register (PS/2 mode):
  7992. Bit(s) Description (Table P316)
  7993. 7 = 1 diskette change
  7994. 6-3 = 1
  7995. 2 datarate select1
  7996. 1 datarate select0
  7997. 0 = 0 high density select (500Kb/s, 1Mb/s)
  7998. 0 (conflict) FIXED DISK drive 0 select
  7999. SeeAlso: #P317,#P315
  8000.  
  8001. Bitfields for diskette controller Digital Input Register (PS/2 model 30):
  8002. Bit(s) Description (Table P317)
  8003. 7 = 0 diskette change
  8004. 6-4 = 0
  8005. 3 -DMA gate (value from DOR register)
  8006. 2 NOPREC (value from CCR register)
  8007. 1 datarate select1
  8008. 0 datarate select0
  8009. 0 (conflict) FIXED DISK drive 0 select
  8010. SeeAlso: #P316
  8011.  
  8012. Bitfields for diskette controller main status register:
  8013. Bit(s) Description (Table P318)
  8014. 7 =1 RQM data register is ready
  8015. =0 no access is permitted
  8016. 6 =1 transfer is from controller to system
  8017. =0 transfer is from system to controller
  8018. 5 non-DMA mode
  8019. 4 diskette controller is busy
  8020. 3 drive 3 busy (reserved on PS/2)
  8021. 2 drive 2 busy (reserved on PS/2)
  8022. 1 drive 1 busy (= drive is in seek mode)
  8023. 0 drive 0 busy (= drive is in seek mode)
  8024. SeeAlso: #P315
  8025.  
  8026. Bitfields for diskette controller data rate select register:
  8027. Bit(s) Description (Table P319)
  8028. 7-2 reserved on 8272
  8029. 7 software reset (self clearing) 82072/82077AA
  8030. 6 power down 82072/82077AA
  8031. 5 (8272/82077AA) reserved (0)
  8032. (82072) PLL select bit
  8033. 4-2 write precompensation value, 000 default
  8034. 1-0 data rate select
  8035. =00 500 Kb/S MFM 250 Kb/S FM
  8036. =01 300 Kb/S MFM 150 Kb/S FM
  8037. =10 250 Kb/S MFM 125 Kb/S FM
  8038. =11 1Mb/S MFM illegal FM on 8207x
  8039. SeeAlso: #P315
  8040.  
  8041. Bitfields for diskette command/data register 0 (ST0):
  8042. Bit(s) Description (Table P320)
  8043. 7-6 last command status
  8044. 00 command terminated successfully
  8045. 01 command terminated abnormally
  8046. 10 invalid command
  8047. 11 terminated abnormally by change in ready signal
  8048. 5 seek completed
  8049. 4 equipment check occurred after error
  8050. 3 not ready
  8051. 2 head number at interrupt
  8052. 1-0 unit select (0=A 1=B .. ) (on PS/2: 01=A 10=B)
  8053. SeeAlso: #P321,#P322,#P323
  8054.  
  8055. Bitfields for diskette status register 1 (ST1):
  8056. Bit(s) Description (Table P321)
  8057. 7 end of cylinder; sector# greater then sectors/track
  8058. 6 =0
  8059. 5 CRC error in ID or data field
  8060. 4 overrun
  8061. 3 =0
  8062. 2 sector ID not found
  8063. 1 write protect detected during write
  8064. 0 ID address mark not found
  8065. SeeAlso: #P320,#P322,#P323
  8066.  
  8067. Bitfields for diskette status register 2 (ST2):
  8068. Bit(s) Description (Table P322)
  8069. 7 =0
  8070. 6 deleted Data Address Mark detected
  8071. 5 CRC error in data
  8072. 4 wrong cylinder detected
  8073. 3 scan command equal condition satisfied
  8074. 2 scan command failed, sector not found
  8075. 1 bad cylinder, ID not found
  8076. 0 missing Data Address Mark
  8077. SeeAlso: #P320,#P321,#P323
  8078.  
  8079. Bitfields for diskette status register 3 (ST3):
  8080. Bit(s) Description (Table P323)
  8081. 7 fault status signal
  8082. 6 write protect status
  8083. 5 ready status
  8084. 4 track zero status
  8085. 3 two sided status signal
  8086. 2 side select (head select)
  8087. 1-0 unit select (0=A 1=B .. )
  8088. SeeAlso: #P320,#P321,#P322
  8089.  
  8090. Bitfields for fixed disk controller data register:
  8091. Bit(s) Description (Table P324)
  8092. 7-4 reserved
  8093. 3 =0 reduce write current
  8094. =1 head select 3 enable
  8095. 2 disk reset enable
  8096. 1 disk initialization disable
  8097. 0 reserved
  8098. SeeAlso: #P315,#P325
  8099.  
  8100. Bitfields for hard disk controller:
  8101. Bit(s) Description (Table P325)
  8102. 6 FIXED DISK write gate
  8103. 5 FIXED DISK head select 3 / reduced write current
  8104. 4 FIXED DISK head select 2
  8105. 3 FIXED DISK head select 1
  8106. 2 FIXED DISK head select 0
  8107. 1 FIXED DISK drive 1 select
  8108. 0 FIXED DISK drive 0 select
  8109. SeeAlso: #P324
  8110.  
  8111. (Table P326)
  8112. Values for diskette commands:
  8113. MFM = MFM mode selected, opposite of MF mode
  8114. HDS = head select
  8115. DS = drive select
  8116. MT = multi track operation
  8117. SK = skip deleted data address mark
  8118. Command # bytes D7 6 5 4 3 2 1 0
  8119. read track 9 0 MFM 0 0 0 0 1 0
  8120. 0 0 0 0 0 HDS DS1 DS0
  8121. specify 3 0 0 0 O O O 1 1
  8122. sense drive status 2 0 0 0 0 0 1 0 0
  8123. 0 0 0 0 0 HDS DS1 DS0
  8124. write data 9 MT MFM 0 0 0 1 0 1
  8125. 0 0 0 0 0 HDS DS1 DS0
  8126. read data 9 MT MFM SK 0 0 1 1 0
  8127. 0 0 0 0 0 HDS DS1 DS0
  8128. recalibrate 2 0 0 0 0 0 1 1 1
  8129. 0 0 0 0 0 0 DS1 DS0
  8130. sense interrupt status 1 0 0 0 0 1 0 0 0
  8131. write deleted data 9 MT MFM 0 0 1 0 0 1
  8132. 0 0 0 0 0 HDS DS1 DS0
  8133. read ID 2 0 MFM 0 0 1 0 1 0
  8134. 0 0 0 0 0 HDS DS1 DS0
  8135. read deleted data 9 MT MFM SK 0 1 1 0 0
  8136. 0 0 0 0 0 HDS DS1 DS0
  8137. format track 10 0 MFM 0 0 1 1 0 1
  8138. 0 0 0 0 0 HDS DS1 DS0
  8139. dumpreg ** 1 0 0 0 0 1 1 1 0
  8140. seek 3 0 0 0 0 1 1 1 1
  8141. 0 0 0 0 0 HDS DS1 DS0
  8142. version ** 1 0 0 0 1 0 0 0 0
  8143. scan equal * 9 MT MFM SK 1 0 0 0 1
  8144. 0 0 0 0 0 HDS DS1 DS0
  8145. perpendicular mode ** 2 0 0 0 1 0 0 1 0
  8146. 0 0 0 0 0 0 WGATE GAP
  8147. configure ** 4 0 0 0 1 0 0 1 1
  8148. 0 0 0 0 0 0 0 0
  8149. verify 9 MT MFM SK 1 0 1 1 0
  8150. EC 0 0 0 0 HDS DS1 DS0
  8151. scan low or equal * 9 MT MFM SK 1 1 0 0 1
  8152. 0 0 0 0 0 HDS DS1 DS0
  8153. scan high or equal * 9 MT MFM SK 1 1 1 0 1
  8154. 0 0 0 0 0 HDS DS1 DS0
  8155. relative seek ** 3 1 DIR 0 0 1 1 1 1
  8156. 0 0 0 0 0 HDS DS1 DS0
  8157. BEWARE: not every invalid command is treated as invalid!
  8158. * Note: the scan commands aren't mentioned for the 82077AA.
  8159. ** Note: EHD controller commands.
  8160. ----------P03F003F1--------------------------
  8161. PORT 03F0-03F1 - PCTech RZ1000 IDE controller
  8162. Note: to unlock access to these ports instead of the standard floppy
  8163. controller status ports at these two addresses, you must perform
  8164. two immediately successive 8-bit OUTs of 55h to PORT 03F0h (there
  8165. is a fairly small time limit between the two accesses, so there
  8166. should be no other instructions between the two OUTs); after
  8167. that, values written to PORT 03F0h select the data accessed through
  8168. PORT 03F1h until an AAh is written to 03F0h
  8169. SeeAlso: #0656
  8170.  
  8171. 03F0 ?W index port (see #P327)
  8172. 03F1 RW data port
  8173.  
  8174. (Table P327)
  8175. Values for RZ1000 IDE controller registers:
  8176. 00h ???
  8177. bit 7:
  8178. bit 1:
  8179. bit 0:
  8180. 01h ???
  8181. 02h ???
  8182. 03h ???
  8183. 04h ???
  8184. 05h ???
  8185. bit 1:
  8186. AAh lock control port
  8187. ----------P03F803FF--------------------------
  8188. PORT 03F8-03FF - Serial port (8250,8250A,8251,16450,16550,16550A,etc.) COM1
  8189. Range: PORT 02E8h-02EFh (COM2), PORT 02F8h-02FFh (typical non-PS/2 COM3), and
  8190. PORT 03E8h-03EFh (typical non-PS/2 COM4)
  8191. Note: chips overview:
  8192. 8250 original PC, specified up to 56Kbd, but mostly runs
  8193. only 9600Bd, no scratchregister, bug: sometimes shots
  8194. ints without reasons
  8195. 8250A, 16450, 16C451: ATs, most chips run up to 115KBd,
  8196. no bug: shots no causeless ints
  8197. 8250B: PC,XT,AT, pseudo bug: shots one causeless int for
  8198. compatibility with 8250, runs up to 56KBd
  8199. 16550, 16550N, 16550V: early PS/2, FIFO bugs
  8200. 16550A,16550AF,16550AFN,16550C,16C551,16C552: PS/2, FIFO ok
  8201. 82510: laptops & industry, multi emulation mode
  8202. (default=16450), special-FIFO.
  8203. 8251: completely different synchronous SIO chip, not compatible!
  8204. SeeAlso: INT 14/AH=00h"SERIAL"
  8205.  
  8206. 03F8 -W serial port, transmitter holding register (THR), which contains the
  8207. character to be sent. Bit 0 is sent first.
  8208. bit 7-0 data bits when DLAB=0 (Divisor Latch Access Bit)
  8209. 03F8 R- receiver buffer register (RBR), which contains the received
  8210. character. Bit 0 is received first
  8211. bit 7-0 data bits when DLAB=0 (Divisor Latch Access Bit)
  8212. 03F8 RW divisor latch low byte (DLL) when DLAB=1 (see #P328)
  8213. 03F9 RW divisor latch high byte (DLM) when DLAB=1 (see #P328)
  8214. 03F9 RW interrupt enable register (IER) when DLAB=0 (see #P329)
  8215. 03FA R- interrupt identification register (see #P330)
  8216. Information about a pending interrupt is stored here. When the ID
  8217. register is addressed, thehighest priority interrupt is held, and
  8218. no other interrupts are acknowledged until the CPU services that
  8219. interrupt.
  8220. 03FA -W 16650 FIFO Control Register (FCR) (see #P331)
  8221. 03FB RW line control register (LCR) (see #P332)
  8222. 03FC RW modem control register (see #P333)
  8223. 03FD R- line status register (LSR) (see #P334)
  8224. 03FE R- modem status register (MSR) (see #P335)
  8225. 03FF RW scratch register (SCR)
  8226. (not used for serial I/O; available to any application using 16450,
  8227. 16550) (not present on original 8250)
  8228.  
  8229. (Table P328)
  8230. Values for serial port divisor latch registers:
  8231. Some baudrates (using standard 1.8432 Mhz clock):
  8232. baudrate divisor DLM DLL
  8233. 50 2304 09h 00h
  8234. 75 1536 06h 00h
  8235. 110 1047 04h 17h
  8236. 134,5 857 03h 59h
  8237. 150 768 03h 00h
  8238. 300 384 01h 80h
  8239. 600 192 00h C0h
  8240. 1200 96 00h 60h
  8241. 1800 64 00h 40h
  8242. 2000 58 00h 3Ah
  8243. 2400 48 00h 30h
  8244. 3600 32 00h 20h
  8245. 4800 24 00h 18h
  8246. 7200 16 00h 10h
  8247. 9600 12 00h 0Ch
  8248. 19200 6 00h 06h
  8249. 38400 3 00h 03h
  8250. 57600 2 00h 02h
  8251. 115200 1 00h 01h
  8252. Note: MIDI baudrate 32250Bd with 4Mhz quarz for c't MIDI interface
  8253. following c't 01/1991: '14400' 00h 08h
  8254.  
  8255. Bitfields for serial port interrupt enable register (IER):
  8256. Bit(s) Description (Table P329)
  8257. 7-4 reserved (0)
  8258. 3 modem-status interrupt enable
  8259. 2 receiver-line-status interrupt enable
  8260. 1 transmitter-holding-register empty interrupt enable
  8261. 0 received-data-available interrupt enable
  8262. (also 16550(A) timeout interrupt)
  8263. Note: 16550(A) will interrupt with a timeout if data exists in the FIFO
  8264. and isn't read within the time it takes to receive four bytes or if
  8265. no data is received within the time it takes to receive four bytes
  8266. SeeAlso: #P330
  8267.  
  8268. Bitfields for serial port interrupt identification register (IIR):
  8269. Bit(s) Description (Table P330)
  8270. 7-6 =00 reserved on 8250, 8251, 16450
  8271. =01 if FIFO queues enabled but unusable (16550 only)
  8272. =11 if FIFO queues are enabled (16550A only) (see also #P331)
  8273. 6-5 (used by 82510 for FIFO status???)
  8274. 5-4 reserved (0)
  8275. 3 (8250,16450) reserved (0)
  8276. (16550) timeout interrupt pending
  8277. 2-1 identify pending interrupt with the highest priority
  8278. 11 receiver line status interrupt. priority=highest
  8279. 10 received data available register interrupt. pr.=second
  8280. 01 transmitter holding register empty interrupt. pr.=third
  8281. 00 modem status interrupt. priority=fourth
  8282. 0 =0 interrupt pending. contents of register can be used as a pointer
  8283. to the appropriate interrupt service routine
  8284. =1 no interrupt pending
  8285. Notes: interrupt pending flag uses reverse logic, 0=pending, 1=none
  8286. interrupt will occur if any of the line status bits are set
  8287. THRE bit is set when THRE register is emptied into the TSR
  8288. SeeAlso: #P329
  8289.  
  8290. Bitfields for serial port FIFO control register (FCR):
  8291. Bit(s) Description (Table P331)
  8292. 7-6 received data available interrupt trigger level (16550)
  8293. 00 1 byte
  8294. 01 4 bytes
  8295. 10 8 bytes
  8296. 11 14 bytes
  8297. 6-5 =00 (used to enable 4 byte Rx/Tx FIFOs on 82510???)
  8298. =10 ???
  8299. 5-4 reserved (00)
  8300. 3 change RXRDY TXRDY pins from mode 0 to mode 1
  8301. 2 clear XMIT FIFO
  8302. 1 clear RCVR FIFO
  8303. 0 enable clear XMIT and RCVR FIFO queues
  8304. 4-0 (other purpose on 82510???)
  8305. Notes: bit 0 must be set in order to write to other FCR bits
  8306. bit 1 when set the RCVR FIFO is cleared and this bit is reset
  8307. the receiver shift register is not cleared
  8308. bit 2 when set the XMIT FIFO is cleared and this bit is reset
  8309. the transmit shift register is not cleared
  8310. due to a hardware bug, 16550 FIFOs don't work correctly (this
  8311. was fixed in the 16550A)
  8312. SeeAlso: #P330
  8313.  
  8314. Bitfields for serial port Line Control Register (LCR):
  8315. Bit(s) Description (Table P332)
  8316. 7 =1 divisor latch access bit (DLAB)
  8317. =0 receiver buffer, transmitter holding, or interrupt enable register
  8318. access
  8319. 6 set break enable. serial ouput is forced to spacing state and remains
  8320. there.
  8321. 5-3 PM2 PM1 PM0
  8322. x x 0 = no parity
  8323. 0 0 1 = odd parity
  8324. 0 1 1 = even parity
  8325. 1 0 1 = high parity (sticky)
  8326. 1 1 1 = low parity (sticky)
  8327. x x 1 = software parity
  8328. 2 stop bit length (STB/SBL)
  8329. 0 one stop bit
  8330. 1 2 stop bits with (word length 6, 7, 8)
  8331. 1.5 stop bits with word length 5
  8332. 1-0 (WLS1-0, CL1-0)
  8333. 00 word length is 5 bits
  8334. 01 word length is 6 bits
  8335. 10 word length is 7 bits
  8336. 11 word length is 8 bits
  8337. SeeAlso: #P333,#P334,#P335
  8338.  
  8339. Bitfields for serial port Modem Control Register (MCR):
  8340. Bit(s) Description (Table P333)
  8341. 7-5 reserved (0)
  8342. 4 loopback mode for diagnostic testing of serial port
  8343. output of transmitter shift register is looped back to receiver
  8344. shift register input. In this mode, transmitted data is received
  8345. immediately so that the CPU can verify the transmit data/receive
  8346. data serial port paths.
  8347. If OUT2 is disabled, there is no official way to generate an IRQ
  8348. during loopback mode.
  8349. 3 auxiliary user-designated output 2 (OUT2)
  8350. because of external circuity OUT2 must be 1 to master-intr-enableing.
  8351. BUG: Some Toshiba Laptops utilize this bit vice versa, newer Toshiba
  8352. machines allow assignment of the bit's polarity in system setup.
  8353. 82050: This bit is only effective, if the chip is being used with an
  8354. externally-generated clock.
  8355. 2 =1/0 auxiliary user-designated output 1 (OUT1)
  8356. should generally be cleared!!
  8357. Some external hardware, e.g. c't MIDI interface (and compatibles) use
  8358. this bit to change the 8250 input clock from 1,8432 MHz to 4Mhz
  8359. (enabling MIDI-conformant baudrates) and switching to
  8360. MIDI-compatible current loop connectors.
  8361. 1 force request-to-send active (RTS)
  8362. 0 force data-terminal-ready active (DTR)
  8363. SeeAlso: #P332,#P334,#P335
  8364.  
  8365. Bitfields for serial port Line Status Register (LSR):
  8366. Bit(s) Description (Table P334)
  8367. 7 =0 reserved
  8368. =1 on some chips produced by UMC
  8369. 6 transmitter shift and holding registers empty
  8370. 5 transmitter holding register empty (THRE)
  8371. Controller is ready to accept a new character to send.
  8372. 4 break interrupt. the received data input is held in the zero bit
  8373. state longer than the time of start bit + data bits + parity bit +
  8374. stop bits.
  8375. 3 framing error (FE). the stop bit that follows the last parity or data
  8376. bit is a zero bit
  8377. 2 parity error (PE). Character has wrong parity
  8378. 1 overrun error (OE). a character was sent to the receiver buffer
  8379. before the previous character in the buffer could be read. This
  8380. destroys the previous character.
  8381. 0 data ready. a complete incoming character has been received and sent
  8382. to the receiver buffer register.
  8383. SeeAlso: #P332,#P333,#P335
  8384.  
  8385. Bitfields for serial port Modem Status Register (MSR):
  8386. Bit(s) Description (Table P335)
  8387. 7 data carrier detect (-DCD)
  8388. 6 ring indicator (-RI)
  8389. 5 data set ready (-DSR)
  8390. 4 clear to send (-CTS)
  8391. 3 delta data carrier detect (DDCD)
  8392. 2 trailing edge ring indicator (TERI)
  8393. 1 delta data set ready (DDSR)
  8394. 0 delta clear to send (DCTS)
  8395. Notes: bits 0-3 are reset when the CPU reads the MSR
  8396. bit 4 is the Modem Control Register RTS during loopback test
  8397. bit 5 is the Modem Control Register DTR during loopback test
  8398. bit 6 is the Modem Control Register OUT1 during loopback test
  8399. bit 7 is the Modem Control Register OUT2 during loopback test
  8400. SeeAlso: #P332,#P333,#P334
  8401. --------!---Note-----------------------------
  8402. Note: Adresses above 03FF generally apply to EISA and PCI machines only !
  8403. EISA port assignments:
  8404. 1000-1FFF slot 1 EISA
  8405. 2000-2FFF slot 2 EISA
  8406. 3000-3FFF slot 3 EISA
  8407. 4000-4FFF slot 4 EISA
  8408. 5000-5FFF slot 5 EISA
  8409. 6000-6FFF slot 6 EISA
  8410. 7000-7FFF slot 7 EISA
  8411. ----------P0401040B--------------------------
  8412. PORT 0401-040B - EISA DMA Controller
  8413. SeeAlso: PORT 0481h-048Bh"EISA",PORT 04D4h-04D6h"EISA"
  8414.  
  8415. 0401 RW DMA channel 0 word count byte 2 (high)
  8416. 0403 RW DMA channel 1 word count byte 2 (high)
  8417. 0405 RW DMA channel 2 word count byte 2 (high)
  8418. 0407 RW DMA channel 3 word count byte 2 (high)
  8419. 040A -W extended DMA chaining mode register, channels 0-3 (see #P336)
  8420. 040A R- channel interrupt (IRQ13) status register (see #P337)
  8421. 040B -W DMA extended mode register for channels 0-3 (see #P338)
  8422. (bit settings same as PORT 04D6h)
  8423.  
  8424. Bitfields for EISA extended DMA chaining mode register (channels 0-3):
  8425. Bit(s) Description (Table P336)
  8426. 7-5 reserved
  8427. 4 =0 generate IRQ13
  8428. =1 generate terminal count
  8429. 3 =0 do not start chaining
  8430. =1 programming complete
  8431. 2 =0 disable buffer chaining mode (default)
  8432. =1 enable buffer chaining mode
  8433. 1-0 DMA channel select
  8434. SeeAlso: #P337,#P338,#P345
  8435.  
  8436. Bitfields for EISA channel interrupt (IRQ13) status register:
  8437. Bit(s) Description (Table P337)
  8438. 7-5 interrupt on channels 7-5
  8439. 4 reserved
  8440. 3-0 interrupt on channels 3-0
  8441. SeeAlso: #P336
  8442.  
  8443. Bitfields for EISA DMA extended mode register (channels 0-3):
  8444. Bit(s) Description (Table P338)
  8445. 7 =0 enable stop register
  8446. 6 =0 terminal count is an output for this channel (default)
  8447. 5-4 DMA cycle timing
  8448. 00 ISA-compatible (default)
  8449. 01 type A timing mode
  8450. 10 type B timing mode
  8451. 11 burst DMA mode
  8452. 3-2 Address mode
  8453. 00 8-bit I/O, count by bytes (default)
  8454. 01 16-bit I/O, count by words, address shifted
  8455. 10 32-bit I/O, count by bytes
  8456. 11 16-bit I/O, count by bytes
  8457. 1-0 DMA channel select
  8458. SeeAlso: #P336,#P346
  8459. ----------P040A043F--------------------------
  8460. PORT 040A-043F - Intel 82378ZB embedded DMA controller
  8461. Range: relocatable via Relocation Base Address register (see #0871)
  8462. SeeAlso: PORT 0401h"EISA",#0860,#0871
  8463.  
  8464. 040A R- scatter/gather interrupt status (see #P339)
  8465. 040B -W DMA1 extended mode
  8466. 0410 -W CH0 scatter/gather command (see #P340)
  8467. 0411 -W CH1 scatter/gather command
  8468. 0412 -W CH2 scatter/gather command
  8469. 0413 -W CH3 scatter/gather command
  8470. 0414 -W CH4 scatter/gather command
  8471. 0415 -W CH5 scatter/gather command
  8472. 0416 -W CH6 scatter/gather command
  8473. 0417 -W CH7 scatter/gather command (see #P340)
  8474. 0418 R- CH0 scatter/gather status (see #P341)
  8475. 0419 R- CH1 scatter/gather status
  8476. 041A R- CH2 scatter/gather status
  8477. 041B R- CH3 scatter/gather status
  8478. 041C R- CH4 scatter/gather status
  8479. 041D R- CH5 scatter/gather status
  8480. 041E R- CH6 scatter/gather status
  8481. 041F R- CH7 scatter/gather status (see #P341)
  8482. 0420d RW CH0 scatter/gather descriptor table address
  8483. 0424d RW CH1 scatter/gather descriptor table address
  8484. 0428d RW CH2 scatter/gather descriptor table address
  8485. 042Cd RW CH3 scatter/gather descriptor table address
  8486. 0430d RW CH4 scatter/gather descriptor table address
  8487. 0434d RW CH5 scatter/gather descriptor table address
  8488. 0438d RW CH6 scatter/gather descriptor table address
  8489. 043Cd RW CH7 scatter/gather descriptor table address
  8490.  
  8491. (Table P339)
  8492. Call Intel 82378ZB Scatter/Gather Interrupt Status Register with:
  8493. 7 channel 7 has interrupt due to S/G transfer
  8494. ...
  8495. 0 channel 0 has interrupt due to S/G transfer
  8496. SeeAlso: #P340,#P341
  8497.  
  8498. Bitfields for Intel 82378ZB Scatter/Gather Command Register:
  8499. Bit(s) Description (Table P340)
  8500. 7 select last-buffer termination type
  8501. =0 assert IRQ13 on completion
  8502. =1 assert EOP on completion
  8503. 6 enable bit 7 termination-type selection
  8504. 5-2 reserved (0)
  8505. 1-0 scatter-gather command
  8506. 00 none
  8507. 01 start S/G command
  8508. 10 stop S/G command
  8509. 11 reserved
  8510. SeeAlso: #P339,#P341,#0871
  8511.  
  8512. Bitfields for Intel 82378ZB Scatter/Gather Status Register:
  8513. Bit(s) Description (Table P341)
  8514. 7 no next link
  8515. 6 reserved
  8516. 5 issue IRQ13 instead of EOP at end of last buffer
  8517. 4 reserved
  8518. 3 scatter/gather Base Register status
  8519. =1 buffer link has been loaded
  8520. =0 empty
  8521. 2 scatter/gather Current Register status
  8522. =1 buffer link has been loaded
  8523. =0 empty
  8524. 1 reserved
  8525. 0 scatter/gather is active
  8526. SeeAlso: #P340
  8527. --------X-P040D040F--------------------------
  8528. PORT 040D-040F - EISA - Intel 82357
  8529.  
  8530. 040D R- chip stepping level
  8531. 040E RW test register 1
  8532. 040F RW test register 2
  8533. ----------P04610462--------------------------
  8534. PORT 0461-0462 - EISA NMI CONTROL
  8535.  
  8536. 0461 RW Extended NMI status/control register (see #P342)
  8537. 0462 -W Software NMI register. writing to this register causes an NMI if
  8538. NMIs are enabled
  8539. bit 7 = 1 generates an NMI
  8540.  
  8541. Bitfields for EISA extended NMI status control register:
  8542. Bit(s) Description (Table P342)
  8543. 7 R- NMI pending from fail-safe (watchdog) timer
  8544. 6 R- NMI pending from bus timeout NMI status
  8545. 5 R- NMI pending from I/O port status
  8546. 4 R- busmaster preemption timeout if bit 6 set
  8547. 3 RW bus timeout NMI enable
  8548. 2 RW fail-safe (watchdog) NMI enable
  8549. 1 RW NMI I/O port enable
  8550. 0 RW RSTDRV. bus reset
  8551. =0 NORMAL bus reset operation
  8552. =1 reset bus asserted
  8553. --------X-P04640465--------------------------
  8554. PORT 0464-0465 - EISA BUS MASTER STATUS
  8555.  
  8556. 0464w R bus master status latch register (slots 1-16)
  8557. identifies the last bus master that had control of the bus (bit N =0 if
  8558. slot N+1 had control last)
  8559. ----------P0481048B--------------------------
  8560. PORT 0481-048B - EISA DMA page registers
  8561. Note: these registers are also supported on many non-EISA machines, e.g. by
  8562. most machines using Intel PCI chipsets
  8563. SeeAlso: PORT 0401h-040Bh"EISA",PORT 04C6h-04CFh"EISA"
  8564.  
  8565. 0481 RW DMA channel 2 address byte 3 (high)
  8566. 0482 RW DMA channel 3 address byte 3 (high)
  8567. 0483 RW DMA channel 1 address byte 3 (high)
  8568. 0487 RW DMA channel 0 address byte 3 (high)
  8569. 0489 RW DMA channel 6 address byte 3 (high)
  8570. 048A RW DMA channel 7 address byte 3 (high)
  8571. 048B RW DMA channel 5 address byte 3 (high)
  8572. ----------P04C604CF--------------------------
  8573. PORT 04C6-04CF - EISA DMA count registers
  8574. SeeAlso: PORT 0401h-040Bh"EISA",PORT 0481h-048Bh"EISA",PORT 04E0h-04FFh"EISA"
  8575.  
  8576. 04C6 RW DMA channel 5 word count byte 2 (high)
  8577. 04CA RW DMA channel 6 word count byte 2 (high)
  8578. 04CE RW DMA channel 7 word count byte 2 (high)
  8579. --------X-P04D004D1--------------------------
  8580. PORT 04D0-04D1 - EISA IRQ control
  8581. Note: these registers are also supported on many non-EISA machines, e.g. by
  8582. most machines using Intel PCI chipsets
  8583. SeeAlso: PORT 04D4h-040Bh"EISA"
  8584.  
  8585. 04D0 -W IRQ 0-7 interrupt edge/level registers (see #P343)
  8586. 04D1 -W IRQ 8-15 interrupt edge/level registers (see #P344)
  8587.  
  8588. Bitfields for EISA IRQ 0-7 interrupt edge/level register:
  8589. Bit(s) Description (Table P343)
  8590. 7 IRQ 7 is level sensitive
  8591. 6 IRQ 6 is level sensitive
  8592. 5 IRQ 5 is level sensitive
  8593. 4 IRQ 4 is level sensitive
  8594. 3 IRQ 3 is level sensitive
  8595. 2-0 reserved
  8596. SeeAlso: #P344
  8597.  
  8598. Bitfields for EISA IRQ 8-15 interrupt edge/level register:
  8599. Bit(s) Description (Table P344)
  8600. 7 IRQ 15 is level sensitive
  8601. 6 IRQ 14 is level sensitive
  8602. 5 reserved (1)
  8603. 4 IRQ 12 is level sensitive
  8604. 3 IRQ 11 is level sensitive
  8605. 2 IRQ 10 is level sensitive
  8606. 1 IRQ 9 is level sensitive
  8607. 0 reserved
  8608. SeeAlso: #P343
  8609. ----------P04D404D6--------------------------
  8610. PORT 04D4-04D6 - EISA DMA control
  8611. Note: PORT 04D6h is also supported by the Intel 82378ZB System I/O controller
  8612. SeeAlso: PORT 0401h-040Bh"EISA",PORT 04D0h-04D1h"EISA"
  8613.  
  8614. 04D4 R- DMA chaining status
  8615. 04D4 -W extended DMA chaining mode register, channels 4-7 (see #P345)
  8616. 04D6 -W DMA extended mode register for channels 4-7 (see #P346)
  8617. bit settings same as PORT 040Bh
  8618.  
  8619. Bitfields for EISA extended DMA chaining mode register (channels 4-7):
  8620. Bit(s) Description (Table P345)
  8621. 7-5 reserved (0)
  8622. 4 =0 generate IRQ 13
  8623. =1 generate terminal count
  8624. 3 =0 do not start chaining
  8625. =1 programming complete
  8626. 2 =0 disable buffer chaining mode (default)
  8627. =1 enable buffer chaining mode
  8628. 1-0 DMA channel select
  8629. SeeAlso: #P336,#P346
  8630.  
  8631. Bitfields for EISA DMA extended mode register (channels 4-7):
  8632. Bit(s) Description (Table P346)
  8633. 7 =0 enable stop register
  8634. 6 =0 terminal count is an output for this channel (default)
  8635. 5-4 DMA cycle timing
  8636. 00 ISA-compatible (default)
  8637. 01 type A timing mode
  8638. 10 type B timing mode
  8639. 11 burst DMA mode
  8640. 3-2 Address mode
  8641. 00 8-bit I/O, count by bytes (default)
  8642. 01 16-bit I/O, count by words, address shifted
  8643. 10 32-bit I/O, count by bytes
  8644. 11 16-bit I/O, count by bytes
  8645. 1-0 DMA channel select
  8646. SeeAlso: #P338,#P345
  8647. ----------P04E004FF--------------------------
  8648. PORT 04E0-04FF - EISA DMA stop registers
  8649. SeeAlso: PORT 0481h-048Bh"EISA"
  8650.  
  8651. 04E0-04E2 RW channel 0 stops if DMA transfer reaches specified address
  8652. 04E4-04E6 RW channel 1
  8653. 04E8-04EA RW channel 2
  8654. 04EC-04EE RW channel 3
  8655. 04F4-04F6 RW channel 5
  8656. 04F8-04FA RW channel 6
  8657. 04FC-04FE RW channel 7
  8658. ----------P05300533--------------------------
  8659. PORT 0530-0533 - Gravis Ultra Sound Daughter Card by Advanced Gravis
  8660. Range: dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
  8661. PORT 0E80h-0E83h, and PORT 0F40h-0F43h
  8662.  
  8663. 0530 RW address select
  8664. 0531 RW data
  8665. 0532 RW status
  8666. 0533 RW PIO
  8667. ----------P05300537--------------------------
  8668. PORT 0530-0537 - Windows Sound System (default address)
  8669. Range: dipswitch selectable among PORT 0530h-0537h,PORT 0604h-060Bh,
  8670. PORT 0E80h-0E87h, and PORT 0F40h-0F47h
  8671. Notes: the Sound Galaxy NX16 sound cards contains a Crystal CS4231, and thus
  8672. support the CODEC portion of the WSS on ports 0534h-0537h
  8673. (or 0608h-060Bh, etc.)
  8674. the AMD InterWave chip supports a superset of the WSS CS4231 Codec,
  8675. though by default it is not placed at any of the addresses used by
  8676. the WSS
  8677.  
  8678. 0534 ?W register select (index) (see #P347)
  8679. 0535 RW data register (selected by PORT 0534h)
  8680.  
  8681. (Table P347)
  8682. Values for Windows Sound System CS4231 Codec register number:
  8683. 00h Mixer: ADC volume (left)
  8684. 01h Mixer: ADC volume (right)
  8685. 02h Mixer: Line In volume (right) (see #P348)
  8686. 03h Mixer: Line In volume (left) (see #P348)
  8687. 04h Mixer: FM volume (right) (see #P348)
  8688. 05h Mixer: FM volume (left) (see #P348)
  8689. 06h Mixer: playback DAC volume (left)
  8690. 07h Mixer: playback DAC volume (right)
  8691. 08h playback data format
  8692. 09h configuration register 1
  8693. 0Ah external control
  8694. 0Bh Codec status register 2
  8695. 0Ch mode select
  8696. bit 6: ???
  8697. 0Dh loopback control
  8698. (Sound Galaxy) microphone input enabled by bit 0 ???
  8699. 0Eh playback count (high)
  8700. 0Fh playback count (low)
  8701. 10h configuration register 2
  8702. 11h configuration register 3
  8703. 12h Mixer: CD volume (right) (see #P348)
  8704. 13h Mixer: CD volume (left) (see #P348)
  8705. 14h timer (low)
  8706. 15h timer (high)
  8707. 16h Mixer: microphone input control (left)
  8708. 17h Mixer: microphone input control (right)
  8709. 18h Codec status register 3
  8710. 19h Mixer: output attenuation (left)
  8711. 1Ah mono input/output control
  8712. (Sound Galaxy) SB volume (see #P349)
  8713. 1Bh Mixer: output attenuation (right)
  8714. 1Ch record data format
  8715. 1Dh playback variable frequency
  8716. 1Eh record count (high)
  8717. 1Fh record count (low)
  8718. 48h (Sound Galaxy) ???
  8719. Notes: to enable the microphone input on the Sound Galaxy, ALL of the
  8720. following registers must be set: 00h set to 80h, 01h set to 80h,
  8721. 07h to 00h, 0Dh to 01h, and 48h to 4Bh
  8722. on the Sound Galaxy NX16, only bits 0-4 of the register number are
  8723. fully decoded, so most registers above 1Fh are aliases of the
  8724. first 32 registers
  8725.  
  8726. Bitfields for WSS mixer volume:
  8727. Bit(s) Description (Table P348)
  8728. 7 disable input source
  8729. 6-5 reserved???
  8730. 4-0 volume (00h = highest, 1Fh = lowest)
  8731. SeeAlso: #P347,#P349
  8732. Note: the GW2000 GWBVOL.EXE only permits the setting of volume levels
  8733. 08h (reported as 16) to 18h (reported as 0, and sets bit 7 as well)
  8734.  
  8735. Bitfields for WSS mixer volume (SoundBlaster):
  8736. Bit(s) Description (Table P349)
  8737. 7 disable input source
  8738. 6-4 reserved???
  8739. 3-0 volume (00h = highest, 0Fh = lowest)
  8740. SeeAlso: #P347,#P348
  8741. ----------P0601------------------------------
  8742. PORT 0601 - Headland HL21, Acer M5105 chipsets - SYSTEM CONTROL
  8743.  
  8744. 0601 -W system control (see #P350)
  8745. 0601 R- status (see #P351)
  8746.  
  8747. Bitfields for Headland HL21/Acer M5105 system control register:
  8748. Bit(s) Description (Table P350)
  8749. 7 =1 power LED on
  8750. 6 =1 LCD backlight off
  8751. 5 ???
  8752. 4 ???
  8753. 3 ???
  8754. 2 =1 video chips disabled, screen blanked.
  8755. 1 ???
  8756. 0 =1 will lock up your machine!
  8757. SeeAlso: #P351
  8758.  
  8759. Bitfields for Headland HL21/Acer M5105 status register:
  8760. Bit(s) Description (Table P351)
  8761. 7 =0 if screen enabled always these values
  8762. 6 =0
  8763. 5 =0
  8764. 4 =0
  8765. 3 =0
  8766. 2 =1 (=0 at low power)
  8767. 1 =0 power OK
  8768. 0 =0
  8769. SeeAlso: #P350
  8770. ----------P06040607--------------------------
  8771. PORT 0604-0607 - Gravis Ultra Sound Daughter Card by Advanced Gravis
  8772. Range: dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
  8773. PORT 0E80h-0E83h, and PORT 0F40h-0F43h
  8774. ----------P0604060B--------------------------
  8775. PORT 0604-060B - Windows Sound System
  8776. Range: PORT 0530h-0537h,PORT 0604h-060Bh,PORT 0E80h-0E87h,PORT 0F40h-0F47h
  8777. SeeAlso: PORT 0530h"Sound System"
  8778. ----------P06200627--------------------------
  8779. PORT 0620-0627 - PC network (adapter 1)
  8780. 0628-062F - PC network (adapter 2)
  8781. ----------P06800681--------------------------
  8782. PORT 0680-0681 - Microchannel POST Diagnostic (write only)
  8783.  
  8784. 0680 -W Microchannel POST Diagnostic
  8785. 0681 -W secondary MCA POST diagnostic
  8786. ----------P06A006A8--------------------------
  8787. PORT 06A0-06A8 - non-standard COM port addresses
  8788. Range: selectable from 0280, 0288, 0290, 0298, 06A0, 06A8
  8789. Note: V20-XT by German magazine c't
  8790. ----------P06A806AF--------------------------
  8791. PORT 06A8-06AF - non-standard COM port addresses
  8792. Range: selectable from 0280, 0288, 0290, 0298, 06A0, 06A8
  8793. Note: V20-XT by German magazine c't
  8794. ----------P06E206E3--------------------------
  8795. PORT 06E2-06E3 - data aquisition (adapter 1)
  8796. ----------P06E8------------------------------
  8797. PORT 06E8 - S3 86C928 video controller (ELSA Winner 1000)
  8798. ----------P06E806EF--------------------------
  8799. PORT 06E8-06EF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  8800. SeeAlso: PORT 02E8h-02EFh,PORT 0AE8h,PORT 96E8h,PORT 9AE8h
  8801.  
  8802. 06E8w -W CRT control: horizontal displayed
  8803. ----------P0746------------------------------
  8804. PORT 0746 - Gravis Ultra Sound by Advanced Gravis - BOARD VERSION / MIXER
  8805. SeeAlso: PORT 0240h-024Fh,PORT 0340h-034Fh
  8806.  
  8807. 0746 R- board version (rev 3.7+)
  8808. FFh Pre 3.6 boards, ICS mixer NOT present
  8809. 05h Rev 3.7 with ICS Mixer. Some R/L: flip problems.
  8810. 06h-09h Revision 3.7 and above. ICS Mixer present
  8811. 0Ah- UltraMax. CS4231 present, no ICS mixer
  8812. 0746 -W Mixer Control Port
  8813. ----------P07900793--------------------------
  8814. PORT 0790-0793 - cluster (adapter 1)
  8815. ----------P080008FF--------------------------
  8816. PORT 0800-08FF - I/O port access registers for extended CMOS RAM or SRAM
  8817. (256 bytes at a time)
  8818. Note: sometimes plain text can be seen here
  8819. --------X-P080008FF--------------------------
  8820. PORT 0800-08FF - reserved for EISA system motherboard
  8821. ----------P0A200A23--------------------------
  8822. PORT 0A20-0A23 - Token Ring (adapter 1)
  8823. 0A24-0A27 - Token Ring (adapter 2)
  8824. ----------P0A79------------------------------
  8825. PORT 0A79 - Plug-and-Play - WRITE DATA PORT
  8826. Desc: all data written to the Plug-and-Play configuration registers is
  8827. written to this port, including the configuration byte which
  8828. indicates the I/O port from which data is to be read when reading
  8829. the configuration registers
  8830. SeeAlso: PORT 0279h
  8831.  
  8832. 0A79 -W Plug-and-Play data writes
  8833. ----------P0AE20AE3--------------------------
  8834. PORT 0AE2-0AE3 - cluster (adapter 2)
  8835. ----------P0AE8------------------------------
  8836. PORT 0AE8 - S3 86C928 video controller (ELSA Winner 1000)
  8837. ----------P0AE80AEF--------------------------
  8838. PORT 0AE8-0AEF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  8839.  
  8840. 0AE8w -W CRT control: horizontal sync start
  8841. ----------P0B900B93--------------------------
  8842. PORT 0B90-0B93 - cluster (adapter 2)
  8843. ----------P0C00------------------------------
  8844. PORT 0C00 - EISA??? - PAGE REGISTER
  8845.  
  8846. 0C00 RW page register to write to SRAM or I/O
  8847. --------X-P0C000CFF--------------------------
  8848. PORT 0C00-0CFF - reserved for EISA system motherboard
  8849. ----------P0C7C------------------------------
  8850. PORT 0C7C bit 7-4 (Compaq)
  8851. --------X-P0C800C83--------------------------
  8852. PORT 0C80-0C83 - EISA system board ID registers
  8853.  
  8854. 0C80 R- bit 7: unused (0)
  8855. bits 6-2: manufacturer ID, first compressed ASCII char
  8856. bits 1-0: manufacturer ID, second compressed ASCII char (high)
  8857. 0C81 R- bits 7-5: manufacturer ID, second compressed ASCII char (low)
  8858. bits 4-0: manufacturer ID, third compressed ASCII char
  8859. 0C82 R- reserved for manufacturer's use
  8860. 0C83 R- bits 7-3: reserved for manufacturer's use
  8861. bits 2-0: EISA bus version
  8862. --------X-P0CF80CFF--------------------------
  8863. PORT 0CF8-0CFF - PCI Configuration Mechanism 1 - Configuration Registers
  8864. SeeAlso: PORT 0CF8h"Mechanism 2"
  8865.  
  8866. 0CF8d -W configuration address port (see #P352)
  8867. 0CFCd RW configuration data port (when PORT 0CF8h bit 31 is set)
  8868.  
  8869. Bitfields for PCI configuration address port:
  8870. Bit(s) Description (Table P352)
  8871. 1-0 reserved (00)
  8872. 7-2 configuration register number (see #0798)
  8873. 10-8 function
  8874. 15-11 device number
  8875. 23-16 bus number
  8876. 30-24 reserved (0)
  8877. 31 enable configuration space mapping
  8878. Note: configuration registers are considered DWORDs, so the number in bits
  8879. 7-2 is the configuration space address shifted right two bits
  8880. SeeAlso: #P353
  8881. --------X-P0CF80CFA--------------------------
  8882. PORT 0CF8-0CFA - PCI Configuration Mechanism 2 - Configuration Registers
  8883. Notes: this configuration mechanism is deprecated as of PCI version 2.1;
  8884. only mechanism 1 should be used for new systems
  8885. to access the configuration space, write the target bus number to
  8886. the Forward Register, then write to the Configuration Space
  8887. Enable register, and finally read or write the appropriate I/O
  8888. port(s) in the range C000h to CFFFh (where Cxrrh accesses location
  8889. 'rr' in physical device 'x's configuration data)
  8890. the Intel "Saturn" and "Neptune" chipsets use configuration mechanism 2
  8891. SeeAlso: PORT 0CF8h"Mechanism 1",PORT C000h"PCI Configuration",PORT 0CFBh
  8892.  
  8893. 0CF8 RW Configuration Space Enable (CSE) (see #P353)
  8894. 0CFA RW Forward Register (selects target bus number)
  8895.  
  8896. Bitfields for PCI Configuration Space Enable:
  8897. Bit(s) Description (Table P353)
  8898. 0 Special Cycle Enable (SCE)
  8899. 3-1 target function number (PCI logical device within physical device)
  8900. 7-4 key (non-zero to allow configuration)
  8901. SeeAlso: #P352
  8902. ----------P0CF9------------------------------
  8903. PORT 0CF9 - Intel chipsets - TURBO/RESET CONTROL REGISTER
  8904. Notes: this port can only be accessed via 8-bit IN or OUT instructions by
  8905. the CPU
  8906. supported by the Intel "Saturn" and "Neptune" (82434NX) chipsets,
  8907. the Intel 82454KX/GX (450GX chipset), Intel 82420EX chipset, etc.
  8908. SeeAlso: PORT C051h,#0851,#0937
  8909.  
  8910. 0CF9 RW reboot system, optionally selecting de-turbo mode (see #P354)
  8911.  
  8912. Bitfields for Intel 82420EX turbo/reset control register:
  8913. Bit(s) Description (Table P354)
  8914. 7-4 reserved (0)
  8915. 3 (450KX/GX only) enable CPU BIST on reset
  8916. 2 reset CPU
  8917. 1 reset mode
  8918. 0 soft reset
  8919. 1 hard reset
  8920. 0 deturbo mode
  8921. Note: when resetting the CPU, two writes are required: the first sets the
  8922. state of bit 1 while keeping bit 2 cleared, and the second sets
  8923. bit 2; the reset occurs on bit 2's transition from 0 to 1.
  8924. SeeAlso: PORT C051h
  8925. ----------P0CFB------------------------------
  8926. PORT 0CFB - Intel 82434NX (Neptune) - PCI MECHANISM CONTROL REGISTER
  8927. Note: not present on the 82434LX (Mercury), which supports only mechanism #2
  8928. SeeAlso: PORT 0CF8h
  8929.  
  8930. 0CFB RW specify which PCI access mechanism is to be enabled
  8931.  
  8932. Bitfields for Intel 82434NX PCI mechanism control register:
  8933. Bit(s) Description (Table P355)
  8934. 7-1 reserved
  8935. 0 PCI Configuration Access Mechanism Select
  8936. =0 use PCI configuration access mechanism #2 (0CF8/0CFA) (default)
  8937. =1 use PCI configuration access mechanism #1 (0CF8/0CFC)
  8938. --------s-P0E800E83--------------------------
  8939. PORT 0E80-0E83 - Gravis Ultra Sound Daughter Card by Advanced Gravis
  8940. Range: dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
  8941. PORT 0E80h-0E83h, and PORT 0F40h-0F43h
  8942. --------s-P0E800E87--------------------------
  8943. PORT 0E80-0E87 - Windows Sound System
  8944. Range: PORT 0530h-0537h,PORT 0604h-060Bh,PORT 0E80h-0E87h,PORT 0F40h-0F47h
  8945. SeeAlso: PORT 0530h"Sound System"
  8946. --------V-P0EE8------------------------------
  8947. PORT 0EE8 - S3 86C928 video controller (ELSA Winner 1000)
  8948. --------V-P0EE80EEF--------------------------
  8949. PORT 0EE8-0EEF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  8950.  
  8951. 0EE8w -W CRT control: horizontal sync width
  8952. --------s-P0F400F43--------------------------
  8953. PORT 0F40-0F43 - Gravis Ultra Sound Daughter Card by Advanced Gravis
  8954. Range: dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
  8955. PORT 0E80h-0E83h, and PORT 0F40h-0F43h
  8956. --------s-P0F400F47--------------------------
  8957. PORT 0F40-0F47 - Windows Sound System
  8958. Range: PORT 0530h-0537h,PORT 0604h-060Bh,PORT 0E80h-0E87h,PORT 0F40h-0F47h
  8959. SeeAlso: PORT 0530h"Sound System"
  8960. --------s-P0F8D------------------------------
  8961. PORT 0F8D - OPTi 82C750 (Vendetta) - AUDIO MODULE BASE ADDRESS REGISTER
  8962. --------X-P100010FF--------------------------
  8963. PORT 1000-10FF - available for EISA slot 1
  8964. ----------P12E812EF--------------------------
  8965. PORT 12E8-12EF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  8966.  
  8967. 12E8w -W CRT control: vertical total
  8968. --------V-P12EE------------------------------
  8969. PORT 12EE - ATI Mach32 - CONFIGURATION STATUS 0
  8970. SeeAlso: PORT 16EEh"Mach32",PORT 42EEh"Mach32",PORT 52EEh"Mach32"
  8971. ----------P13901393--------------------------
  8972. PORT 1390-1393 - cluster (adapter 3)
  8973. --------X-P140014FF--------------------------
  8974. PORT 1400-14FF - available for EISA slot 1
  8975. ----------P16E816EF--------------------------
  8976. PORT 16E8-16EF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  8977.  
  8978. 16E8w -W CRT control: vertical displayed
  8979. --------V-P16EE------------------------------
  8980. PORT 16EE - ATI Mach32 - CONFIGURATION STATUS 1
  8981. SeeAlso: PORT 12EEh"Mach32",PORT 42EEh"Mach32",PORT 52EEh"Mach32"
  8982. --------X-P180018FF--------------------------
  8983. PORT 1800-18FF - available for EISA slot 1
  8984. ----------P1AE81AEF--------------------------
  8985. PORT 1AE8-1AEF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  8986.  
  8987. 1AE8w -W CRT control: vertical sync start
  8988. --------X-P1C001CFF--------------------------
  8989. PORT 1C00-1CFF - available for EISA slot 1
  8990. ----------P1C65------------------------------
  8991. PORT 1C65 - Compaq Contura Aero
  8992. SeeAlso: PORT 2065h
  8993.  
  8994. 1C65 R? bit 6: operating on battery power
  8995. --------X-P1C801C8F--------------------------
  8996. PORT 1C80-1C8F - VESA XGA Video in EISA slot 1
  8997.  
  8998. 1C80-1C83 RW EISA Video ID
  8999. 1C84 RW EISA Video expansion board control (see #P356)
  9000. 1C85 RW EISA Setup control
  9001. 1C88 RW EISA Video Programmable Option Select 0
  9002. 1C89-1C8F RW EISA Video Programmable Option Select 1-7
  9003. --------X-P1C801C83--------------------------
  9004. PORT 1C80-1C83 - EISA board product ID (board in slot 1)
  9005.  
  9006. 1C80 R? bit 7: unused (0)
  9007. bits 6-2: manufacturer ID, first compressed ASCII char
  9008. bits 1-0: manufacturer ID, second compressed ASCII char (high)
  9009. 1C81 R? bits 7-5: manufacturer ID, second compressed ASCII char (low)
  9010. bits 4-0: manufacturer ID, third compressed ASCII char
  9011. 1C82 R? bits 7-4: first hex digit of product type
  9012. bits 3-0: second hex digit of product type
  9013. 1C83 R? bits 7-4: third hex digit of product type
  9014. bits 3-0: product revision number (hex digit)
  9015. --------X-P1C84------------------------------
  9016. PORT 1C84 - EISA CONFIGURATION FLAGS (board in slot 1)
  9017.  
  9018. 1C84 RW configuration flags (see #P356)
  9019.  
  9020. Bitfields for EISA Add-in Card configuration flags:
  9021. Bit(s) Description (Table P356)
  9022. 0 enable
  9023. 1 IOCHKERR (read-only) card is generating CHCHK#, causing an NMI
  9024. 2 IOCHKRST reset card
  9025. 7-3 card-specific
  9026. --------X-P1C85------------------------------
  9027. PORT 1C85 - EISA SETUP CONTROL (board in slot 1)
  9028. --------V-P1C85------------------------------
  9029. PORT 1C85 - Compaq Qvision EISA - Virtual Controller ID
  9030. --------X-P1C881C8F--------------------------
  9031. PORT 1C88-1C8F - EISA PROGRAMMABLE OPTION SELECT (board in slot 1)
  9032. --------V-P1EE81EEF--------------------------
  9033. PORT 1EE8-1EEF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  9034.  
  9035. 1EE8w -W CRT control: vertical sync width
  9036. --------V-P1EEC------------------------------
  9037. PORT 1EEC - Mach64 - ???
  9038.  
  9039. 1EEC RW display power and other controls
  9040. bits 3-2: DPMS power mode
  9041. 00 normal
  9042. 01 standby
  9043. 10 suspend
  9044. 11 off
  9045. --------X-P200020FF--------------------------
  9046. PORT 2000-20FF - available for EISA slot 2
  9047. ----------P2065------------------------------
  9048. PORT 2065 - Compaq Contura Aero
  9049. SeeAlso: PORT 1C65h"Compaq",PORT 2465h"Compaq"
  9050.  
  9051. 2065 -W ??? (84h seen)
  9052. --------V-P2100------------------------------
  9053. PORT 2100 - XGA Video Operating Mode Register
  9054. Note: this port is for the first XGA in the system; 2110-2170 are used for
  9055. the second through eighth XGAs
  9056. --------V-P2101------------------------------
  9057. PORT 2101 - XGA Video Aperture Control
  9058. Note: this port is for the first XGA in the system; 2111-2171 are used for
  9059. the second through eighth XGAs
  9060. --------V-P21022103--------------------------
  9061. PORT 2102-2103 - XGA ???
  9062. Note: this port is for the first XGA in the system; 211x-217x are used for
  9063. the second through eighth XGAs
  9064. --------V-P2104------------------------------
  9065. PORT 2104 - XGA Video Interrupt Enable
  9066. Note: this port is for the first XGA in the system; 211x-217x are used for
  9067. the second through eighth XGAs
  9068. --------V-P2105------------------------------
  9069. PORT 2105 - XGA Video Interrupt Status
  9070. Note: this port is for the first XGA in the system; 211x-217x are used for
  9071. the second through eighth XGAs
  9072. --------V-P2106------------------------------
  9073. PORT 2106 - XGA Video Virtual Memory Control
  9074. Note: this port is for the first XGA in the system; 211x-217x are used for
  9075. the second through eighth XGAs
  9076. --------V-P2107------------------------------
  9077. PORT 2107 - XGA Video Virtual Memory Interrupt Status
  9078. Note: this port is for the first XGA in the system; 211x-217x are used for
  9079. the second through eighth XGAs
  9080. --------V-P2108------------------------------
  9081. PORT 2108 - XGA Video Aperture Index
  9082. Note: this port is for the first XGA in the system; 211x-217x are used for
  9083. the second through eighth XGAs
  9084. --------V-P2109------------------------------
  9085. PORT 2109 - XGA Video Memory Access Mode
  9086. Note: this port is for the first XGA in the system; 211x-217x are used for
  9087. the second through eighth XGAs
  9088. --------V-P210A------------------------------
  9089. PORT 210A - XGA Video Index for Data
  9090. Note: this port is for the first XGA in the system; 211x-217x are used for
  9091. the second through eighth XGAs
  9092. --------V-P210B------------------------------
  9093. PORT 210B - XGA Video Data (byte)
  9094. Note: this port is for the first XGA in the system; 211x-217x are used for
  9095. the second through eighth XGAs
  9096. --------V-P210C210F--------------------------
  9097. PORT 210C-210F - XGA Video Data (word/dword)
  9098. Note: this port is for the first XGA in the system; 211x-217x are used for
  9099. the second through eighth XGAs
  9100.  
  9101. 210C RW byte data
  9102. 210Cw RW word data
  9103. 210Cd RW dword data
  9104. --------V-P2110211F--------------------------
  9105. PORT 2110-211F - IBM XGA (eXtended Graphics Adapter 8514/A) (second installed)
  9106. Notes: see individual 210x entries above
  9107. c't says default instance number is 6, i.e. addresses 216x
  9108. --------V-P2120212F--------------------------
  9109. PORT 2120-212F - IBM XGA (eXtended Graphics Adapter 8514/A) (third installed)
  9110. Notes: see individual 210x entries above
  9111. c't says default instance number is 6, i.e. addresses 216x
  9112. --------V-P2130213F--------------------------
  9113. PORT 2130-213F - IBM XGA (eXtended Graphics Adapter 8514/A) (fourth installed)
  9114. Notes: see individual 210x entries above
  9115. c't says default instance number is 6, i.e. addresses 216x
  9116. --------V-P2140214F--------------------------
  9117. PORT 2140-214F - IBM XGA (eXtended Graphics Adapter 8514/A) (fifth installed)
  9118. Notes: see individual 210x entries above
  9119. c't says default instance number is 6, i.e. addresses 216x
  9120. --------V-P2150215F--------------------------
  9121. PORT 2150-215F - IBM XGA (eXtended Graphics Adapter 8514/A) (sixth installed)
  9122. Notes: see individual 210x entries above
  9123. c't says default instance number is 6, i.e. addresses 216x
  9124. --------V-P2160216F--------------------------
  9125. PORT 2160-216F - IBM XGA (eXtended Graphics Adapter 8514/A) (seventh installed)
  9126. Notes: see individual 210x entries above
  9127. c't says default instance number is 6, i.e. addresses 216x
  9128. --------V-P2170217F--------------------------
  9129. PORT 2170-217F - IBM XGA (eXtended Graphics Adapter 8514/A) (eighth installed)
  9130. Notes: see individual 210x entries above
  9131. c't says default instance number is 6, i.e. addresses 216x
  9132. --------V-P217A217B--------------------------
  9133. PORT 217A-217B - ET4000/W32 CRTC-B/Sprite
  9134. Note: Alternative addresses may depend on adapter manufacturer,
  9135. Tseng claims 21xA with x=three address bits, selected by IOD2..0
  9136. during power up reset.
  9137.  
  9138. 21xA RW ET4000/W32(i) CRTC-B/Sprite index register
  9139. bit7-0: index
  9140. 21xB RW ET4000/W32(i) CRTC-B/Sprite data register (see #P357)
  9141.  
  9142. (Table P357)
  9143. Values for ET4000/W32(i) CRTC-B/Sprite data register index:
  9144. E0h CRTC-B / Sprite Horizontal Pixel Position, Low
  9145. bit7-0: horizontal pixel position bit7-0
  9146. E1h CRTC-B / Sprite Horizontal Pixel Position, High
  9147. bit7-4: reserved
  9148. bit3-0: horizontal pixel position bit11-8
  9149. E2h CRTC-B Width Low / Sprite Horizontal Preset
  9150. bit7-0: width of CRTC-B bit7-0
  9151. bit5-0: horizontal preset for sprite
  9152. E3h CRTC-B Width High / Sprite Horizontal Preset
  9153. bit7-4: reserved
  9154. bit3-0: width of CRTC-B bit11-8
  9155. E4h CRTC-B / Sprite Vertical Pixel Position, Low
  9156. bit7-0: vertical pixel position bit7-0
  9157. E5h CRTC-B / Sprite Vertical Pixel Position, High
  9158. bit7-4: reserved
  9159. bit3-0: vertical pixel position bit11-8
  9160. E6h CRTC-B Height Low / Sprite Vertical Preset
  9161. bit7-0: height of CRTC-B bit7-0
  9162. bit5-0: vertical preset for sprite
  9163. E7h CRTC-B Height High / Sprite Vertical Preset
  9164. bit7-4: reserved
  9165. bit3-0: height of CRTC-B bit11-8
  9166. E8h CRTC-B / Sprite Starting Address Low
  9167. pointer to CRTC-B / sprite image in display memory.
  9168. (maximum size of sprites 64x64x4=1KB with 4 colors:
  9169. 00b=color-0, 01b=color-255, 10b=transparent, 11b=reserved)
  9170. bit7-0: startaddress bit7-0
  9171. E9h CRTC-B / Sprite Starting Address Middle
  9172. bit7-0: startaddress bit15-8
  9173. EAh CRTC-B / Sprite Starting Address High
  9174. bit7-4: reserved
  9175. bit3-0: startaddress bit19-16
  9176. EBh CRTC-B / Sprite Row Offset Low
  9177. bit7-0: offset bit7-0
  9178. ECh CRTC-B / Sprite Row Offset High
  9179. bit7-4: revision ID (any ET4000/W32)
  9180. 0000b=W32 0100b-1111b reserved
  9181. 0001b=W32i
  9182. 0010b=W32p
  9183. 0011b=W32i, new
  9184. bit3-0: offset bit11-8
  9185. EDh CRTC-B Pixel Panning
  9186. bit7-3: reserved
  9187. bit2-0: CRTC-B pixel panning
  9188. EEh CRTC-B Color-Depth-Register / Hardware-Zoom
  9189. bit7-4: reserved (concerning databook ET4000/W32)
  9190. bit7-6: vertical zoom (undocumented)
  9191. (original ET4000/W32 ok, doesn't work properly
  9192. with some ET4000/W32i)
  9193. 00b=zoomx1 10b=zoomx3
  9194. 01b=zoomx2 11b=zoomx4
  9195. bit5-4: horizontal zoom (undocumented)
  9196. (original ET4000/W32 ok, doesn't work properly
  9197. with some ET4000/W32i)
  9198. 00b=zoomx1 10b=zoomx3
  9199. 01b=zoomx2 11b=zoomx4
  9200. bit3-0: bit/pixel
  9201. 0000b=1 0011b=8
  9202. 0001b=2 0100b=16
  9203. 0010b=4
  9204. EFh CRTC-B / Sprite Control
  9205. bit7-2: reserved
  9206. bit1 : 1=2nd CRTC-B image overlays main CRTC-A image
  9207. 0=CRTC-B image at pin SP1/0
  9208. bit0 : 1=enable CRTC-B
  9209. 0=enable sprite (see F7h)
  9210. F7h Image Port Control
  9211. bit7 : 1=CRTC-B or sprite active
  9212. 0=CRTC-B and sprite not active
  9213. bit6-0: reserved
  9214. ----------P22E822EF--------------------------
  9215. PORT 22E8-22EF - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  9216.  
  9217. 22E8w -W CRT control: display control
  9218. ----------P23902393--------------------------
  9219. PORT 2390-2393 - cluster (adapter 4)
  9220. --------V-P23C023CF--------------------------
  9221. PORT 23C0-23CF - Compaq QVision - BitBLT engine
  9222. --------X-P240024FF--------------------------
  9223. PORT 2400-24FF - available for EISA slot 2
  9224. ----------P2465------------------------------
  9225. PORT 2465 - Compaq Contura Aero
  9226. SeeAlso: PORT 1C65h"Compaq",PORT 2065h"Compaq"
  9227.  
  9228. 2465 R- current battery power level
  9229. (166 fully-charged, 130 = LowBat1)
  9230. ----------P27C6------------------------------
  9231. PORT 27C6 - Compaq LTE Lite - LCD TIMEOUT
  9232.  
  9233. 27C6 RW LCD timeout in minutes
  9234. --------X-P280028FF--------------------------
  9235. PORT 2800-28FF - available for EISA slot 2
  9236. --------V-P28E9------------------------------
  9237. PORT 28E9 - 8514/A - WD Escape Functions
  9238. --------V-P2C802C8F--------------------------
  9239. PORT 2C80-2C8F - VESA XGA Video in EISA slot 2
  9240. SeeAlso: PORT 1C80h-1C83h,PORT 1C88h-1C8Fh
  9241. --------X-P2C802C83--------------------------
  9242. PORT 2C80-2C83 - EISA board product ID (board in slot 2)
  9243. SeeAlso: PORT 1C80h-1C83h
  9244. --------X-P2C84------------------------------
  9245. PORT 2C84 - EISA CONFIGURATION FLAGS (board in slot 2)
  9246.  
  9247. 2C84 RW configuration flags (see #P356)
  9248. --------X-P300030FF--------------------------
  9249. PORT 3000-30FF - available for EISA slot 3
  9250. --------S-P32203227--------------------------
  9251. PORT 3220-3227 - serial port 3, description same as 03F8
  9252. --------S-P3228322F--------------------------
  9253. PORT 3228-322F - serial port 4, description same as 03F8
  9254. --------V-P33C033CF--------------------------
  9255. PORT 33C0-33CF - Compaq QVision - BitBLT engine
  9256. --------X-P340034FF--------------------------
  9257. PORT 3400-34FF - available for EISA slot 3
  9258. --------d-P35103513--------------------------
  9259. PORT 3510-3513 - ESDI primary harddisk controller
  9260. Range: PORT 3510h-3513h (primary) or PORT 3518h-351Bh (secondary)
  9261. SeeAlso: PORT 3518h,PORT 01F0h-01F7h
  9262.  
  9263. 3510w R- status word
  9264. 3510w -W command word
  9265. 3512 R- basic status
  9266. 3512 -W basic control
  9267. 3513 R- interrupt status
  9268. 3513 -W attention
  9269. --------d-P3518351B--------------------------
  9270. PORT 3518-351B - ESDI secondary harddisk controller
  9271. Range: PORT 3510h-3513h (primary) or PORT 3518h-351Bh (secondary)
  9272. SeeAlso: PORT 3510h,PORT 01F0h-01F7h
  9273.  
  9274. 3518w R- status word
  9275. 3518w -W command word
  9276. 351A R- basis status
  9277. 351A -W basic control
  9278. 351B R- interrupt status
  9279. 351B -W attention
  9280. --------d-P3540354F--------------------------
  9281. PORT 3540-354F - IBM SCSI (Small Computer System Interface) adapter
  9282. --------d-P3550355F--------------------------
  9283. PORT 3550-355F - IBM SCSI (Small Computer System Interface) adapter
  9284. --------d-P3560356F--------------------------
  9285. PORT 3560-356F - IBM SCSI (Small Computer System Interface) adapter
  9286. --------d-P3570357F--------------------------
  9287. PORT 3570-357F - IBM SCSI (Small Computer System Interface) adapter
  9288. --------V-P36EE------------------------------
  9289. PORT 36EE - ATI Mach8/Mach32 - FIFO OPTION
  9290. SeeAlso: PORT 6AEEh,PORT 6EEEh,PORT 72EEh,PORT 76EEh,PORT 7AEEh,PORT 8EEEh
  9291.  
  9292. 36EE -W FIFO option
  9293. bit 0: generate wait states if FIFO >= half full
  9294. (0=only when FIFO full)
  9295. bit 1: force 8-bit host data I/O
  9296. --------X-P380038FF--------------------------
  9297. PORT 3800-38FF - available for EISA slot 3
  9298. --------X-P3C003CFF--------------------------
  9299. PORT 3C00-3CFF - available for EISA slot 3
  9300. --------V-P3C803C8F--------------------------
  9301. PORT 3C80-3C8F - VESA XGA Video in EISA slot 3
  9302.  
  9303. 3C80-3C83 RW EISA Video ID
  9304. 3C84 RW EISA Video expansion board control
  9305. 3C85 RW EISA Setup control
  9306. 3C88 RW EISA Video Programmable Option Select 0
  9307. 3C89-3C8F RW EISA Video Programmable Option Select 1-7
  9308.  
  9309. SeeAlso: PORT 1C80h-1C8Fh"XGA",PORT 2C80h-2C8Fh"XGA",PORT 7C80h-7C8Fh"XGA"
  9310. --------X-P3C803C83--------------------------
  9311. PORT 3C80-3C83 - EISA board product ID (board in slot 3)
  9312. SeeAlso: PORT 1C80h-1C83h
  9313. --------X-P3C84------------------------------
  9314. PORT 3C84 - EISA CONFIGURATION FLAGS (board in slot 3)
  9315.  
  9316. 3C84 RW configuration flags (see #P356)
  9317. --------X-P400040FF--------------------------
  9318. PORT 4000-40FF - available for EISA slot 4
  9319. ----------P42204227--------------------------
  9320. PORT 4220-4227 - serial port, description same as 03F8
  9321. ----------P4228422F--------------------------
  9322. PORT 4228-422F - serial port, description same as 03F8
  9323. ----------P42E042EF--------------------------
  9324. PORT 42E0-42EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  9325.  
  9326. 42E1 RW GPIB (adapter 2)
  9327. --------V-P42E8------------------------------
  9328. PORT 42E8 - 8514/A and hardware-compatible video cards
  9329. Note: supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9330.  
  9331. 42E8w R- Misc. control: Subsystem Status
  9332. 42E8w -W Misc. control: Subsystem Control (see #P358)
  9333.  
  9334. Bitfields for 8514/A Subsystem Control Register:
  9335. Bit(s) Description (Table P358)
  9336. 15-14 GP_RESET
  9337. W 00 no change
  9338. 01 normal operation
  9339. 02 reset graphics processor and FIFO
  9340. 11 W enable interrupt when processor idle
  9341. 10 W enable interrupt on invalid I/O
  9342. 9 W enable interrupt if inside scissors region
  9343. 8 W enable vertical blanking interval interrupt
  9344. 6-4 R monitor ID
  9345. 3 acknowledge idle interrupt (and clear)
  9346. 2 acknowledge invalid I/O interrupt (and clear)
  9347. 1 acknowledge inside-scissors interrupt (and clear)
  9348. 0 acknowledge vertical blanking interrupt (and clear)
  9349. --------V-P42EC------------------------------
  9350. PORT 42EC - ATI Mach64 - ???
  9351. SeeAlso: PORT 42EDh"Mach64"
  9352.  
  9353. 42EC RW ???
  9354. bits 1-0: ???
  9355. --------V-P42ED------------------------------
  9356. PORT 42ED - ATI Mach64 - ???
  9357. SeeAlso: PORT 42ECh"Mach64",PORT 42EFh
  9358.  
  9359. 42ED R? ???
  9360. --------V-P42EE42EF--------------------------
  9361. PORT 42EE-42EF - ATI Mach32 - MEMORY BOUNDARY REGISTER
  9362. SeeAlso: PORT 5EEEh"Mach32"
  9363.  
  9364. 42EEw RW memory boundary
  9365. bits 3-0: VGA/8514 boundary in 256K units (VGA only below, 8514 above)
  9366. bit 4: partition enable: VGA and 8514 drawing engines may only write
  9367. within their respective partitions
  9368. bits 15-5: reserved
  9369. --------V-P42EF------------------------------
  9370. PORT 42EF - ATI Mach64 - ???
  9371. SeeAlso: PORT 42EDh"Mach64"
  9372.  
  9373. 42EF R? ???
  9374. --------X-P440044FF--------------------------
  9375. PORT 4400-44FF - available for EISA slot 4
  9376. --------V-P46E8------------------------------
  9377. PORT 46E8 - VGA video adapter enable
  9378. Note: IBM uses this port for adapter-card VGAs only, and PORT 03C3h for
  9379. motherboard VGA only (see 03C3 for details)
  9380. SeeAlso: PORT 03C3h,PORT 46E8h"8514/A"
  9381.  
  9382. 46E8 rW Misc. control: enable flags / select ROM page (8514/A) (see #P359)
  9383.  
  9384. Bitfields for VGA miscellaneous control register:
  9385. Bit(s) Description (Table P359)
  9386. 7-5 unused or vendor-specific
  9387. 4 setup for POS registers (MCA)
  9388. 3 enable video I/O ports and video buffer
  9389. 2-0 unused or vendor-specific
  9390. --------V-P46E8------------------------------
  9391. PORT 46E8 - 8514/A and compatible video cards (e.g. ATI Graphics Ultra)
  9392. Note: this register is readable on the C&T 82c480 chipset
  9393. SeeAlso: PORT 46E8h"VGA"
  9394.  
  9395. 46E8w -W ROM page select (see #P360)
  9396.  
  9397. Bitfields for 8514/A ROM page select register:
  9398. Bit(s) Description (Table P360)
  9399. 2-0 select which 4K page of 32K ROM to map at segment C700h
  9400. 3 enable VGA
  9401. 4 select VGA setup mode
  9402. 15-5 reserved (0)
  9403. --------V-P46EE------------------------------
  9404. PORT 46EE - ATI Mach32 - ???
  9405.  
  9406. 46EEw RW ???
  9407. --------V-P46EF------------------------------
  9408. PORT 46EF - ATI Mach64 - ???
  9409. Note: the Mach64 BIOS reads the value of this port and multiplies it by 100
  9410. SeeAlso: PORT 66ECh"Mach64"
  9411. --------X-P480048FF--------------------------
  9412. PORT 4800-48FF - available for EISA slot 4
  9413. --------V-P4AE84AEF--------------------------
  9414. PORT 4AE8-4AEF - 8514/A and compatible video cards - CRT CONTROL
  9415. Notes: supported by ATI Mach8 and Mach32 chipsets
  9416. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9417.  
  9418. 4AE8w -W CRT control: Advanced function control (see also #P361)
  9419. (02h = VGA mode, 03h = 480-line mode, 07h = 768-line mode)
  9420.  
  9421. Bitfields for S3 8514/A-compatible Advanced Function Control register:
  9422. Bit(s) Description (Table P361)
  9423. 0 enable enhanced functions
  9424. 1 reserved (1)
  9425. 2 (911-928) screen size (1 = 800x600 or 1024x768, 0=640x480)
  9426. 4 (928+) enable linear addressing (see also #P308)
  9427. 5 (928+) enable memory-mapped I/O
  9428. 6 (928 only) enable Write Posting
  9429. --------V-P4AEE------------------------------
  9430. PORT 4AEE - ATI Mach32 - ???
  9431.  
  9432. 4AEEw RW ???
  9433. --------X-P4C004CFF--------------------------
  9434. PORT 4C00-4CFF - available for EISA slot 4
  9435. --------X-P4C804C83--------------------------
  9436. PORT 4C80-4C83 EISA board product ID (board in slot 4)
  9437. SeeAlso: PORT 1C80h-1C83h
  9438. --------V-P4C804C8F--------------------------
  9439. PORT 4C80-4C8F - VESA XGA Video in EISA slot 4 (see 3C80-3C8F)
  9440. SeeAlso: PORT 1C80h-1C8Fh,PORT 6C80h-6C8Fh
  9441. --------X-P4C84------------------------------
  9442. PORT 4C84 - EISA CONFIGURATION FLAGS (board in slot 4)
  9443.  
  9444. 4C84 RW configuration flags (see #P356)
  9445. --------X-P500050FF--------------------------
  9446. PORT 5000-50FF - available for EISA slot 5
  9447. --------S-P52205227--------------------------
  9448. PORT 5220-5227 - serial port, description same as 03F8
  9449. --------S-P5228522F--------------------------
  9450. PORT 5228-522F - serial port, description same as 03F8
  9451. --------V-P52E852E9--------------------------
  9452. PORT 52E8-52E9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 0
  9453. Note: the 82c480 is an 8514/A-compatible video chipset
  9454. SeeAlso: PORT 56E8h"C&T",PORT 5AE8h"C&T",PORT 5EE8h"C&T"
  9455.  
  9456. 52E8w RW Extended Configuration Register 0
  9457. --------V-P52EE52EF--------------------------
  9458. PORT 52EE-52EF - ATI Mach32 - SCRATCH REGISTER 0 (USED FOR ROM LOCATION)
  9459. Note: ATI video BIOS sets this port according to the segment address of the
  9460. BIOS if >= C000h, as ((seg-C000h) shr 7)
  9461. SeeAlso: PORT 56EEh"Mach32"
  9462.  
  9463. 52EEw RW scratch register 0: Video ROM address
  9464. --------X-P540054FF--------------------------
  9465. PORT 5400-54FF - available for EISA slot 5
  9466. --------V-P56E856E9--------------------------
  9467. PORT 56E8-56E9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 1
  9468. Note: the 82c480 is an 8514/A-compatible video chipset
  9469. SeeAlso: PORT 52E8h"C&T",PORT 5AE8h"C&T",PORT 5EE8h"C&T"
  9470.  
  9471. 56E8w RW Extended Configuration Register 1
  9472. --------V-P56EE56EF--------------------------
  9473. PORT 56EE-56EF - ATI Mach32 - SCRATCH REGISTER 1
  9474. SeeAlso: PORT 52EEh"Mach32"
  9475.  
  9476. 56EEw RW scratchpad
  9477. --------X-P580058FF--------------------------
  9478. PORT 5800-58FF - available for EISA slot 5
  9479. --------V-P5AE85AE9--------------------------
  9480. PORT 5AE8-5AE9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 2
  9481. Note: the 82c480 is an 8514/A-compatible video chipset
  9482. SeeAlso: PORT 52E8h"C&T",PORT 56E8h"C&T",PORT 5EE8h"C&T"
  9483.  
  9484. 5AE8w RW Extended Configuration Register 2
  9485. --------V-P5AEE------------------------------
  9486. PORT 5AEE - ATI Mach32 - ???
  9487.  
  9488. 5AEE RW ???
  9489. --------X-P5C005CFF--------------------------
  9490. PORT 5C00-5CFF - available for EISA slot 5
  9491. --------V-P5C805C8F--------------------------
  9492. PORT 5C80-5C8F - VESA XGA Video in EISA slot 5
  9493. SeeAlso: PORT 2C80h-2C8Fh,PORT 4C80h-4C8Fh,PORT 6C80h-6C8Fh
  9494.  
  9495. 5C80d RW EISA Video ID
  9496. 5C84 RW EISA Video expansion board control
  9497. 5C85 RW EISA Setup control
  9498. 5C88 RW EISA Video Programmable Option Select 0
  9499. 5C89 RW EISA Video Programmable Option Select 1
  9500. 5C8A RW EISA Video Programmable Option Select 2
  9501. 5C8B RW EISA Video Programmable Option Select 3
  9502. 5C8C RW EISA Video Programmable Option Select 4
  9503. 5C8D RW EISA Video Programmable Option Select 5
  9504. 5C8E RW EISA Video Programmable Option Select 6
  9505. 5C8F RW EISA Video Programmable Option Select 7
  9506. --------X-P5C805C83--------------------------
  9507. PORT 5C80-5C83 EISA board product ID (board in slot 5)
  9508. SeeAlso: PORT 1C80h-1C83h
  9509. --------X-P5C84------------------------------
  9510. PORT 5C84 - EISA CONFIGURATION FLAGS (board in slot 5)
  9511.  
  9512. 5C84 RW configuration flags (see #P356)
  9513. --------V-P5EE85EE9--------------------------
  9514. PORT 5EE8-5EE9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 3
  9515. Note: the 82c480 is an 8514/A-compatible video chipset
  9516. SeeAlso: PORT 52E8h"C&T",PORT 56E8h"C&T",PORT 5AE8h"C&T"
  9517.  
  9518. 5EE8w RW Extended Configuration Register 3
  9519. ----------P5EEE------------------------------
  9520. PORT 5EEE - ATI Mach32 - MEMORY APERTURE CONFIGURATION REGISTER
  9521. SeeAlso: PORT 42EEh"Mach32"
  9522.  
  9523. 5EEEw RW Memory Aperture Configuration (see #P362)
  9524.  
  9525. Bitfields for ATI Mach32 Memory Aperture Configuration Register:
  9526. Bit(s) Description (Table P362)
  9527. 1-0 direct memory interface mapping
  9528. 00 disabled
  9529. 01 1M aperture (not on PCI)
  9530. 10 4M aperture
  9531. 11 reserved
  9532. 3-2 1M page select (not on PCI)
  9533. 00 page 0
  9534. 01 page 1
  9535. 10 page 2
  9536. 11 page 3
  9537. 11-8 (ISA) memory aperture location, 0-15 MB
  9538. 13-8 (EISA) memory aperture location, 0-63 MB
  9539. 14-8 (VLB) memory aperture location, 0-127 MB [*]
  9540. 15-4 (PCI) memory aperture location, 0-4095 MB
  9541. 13-8 (MCA 16-bit) memory aperture location, 0-63 MB
  9542. 14-8 (MCA 32-bit) memory aperture location, 0-127 MB
  9543. Note: [*] if PORT 16EEh bit 3 is set and PORT FAEEh is non-zero, bits 15-4
  9544. are used to specify an address from 0-4095 MB
  9545. --------X-P600060FF--------------------------
  9546. PORT 6000-60FF - available for EISA slot 6
  9547. ----------P62E062EF--------------------------
  9548. PORT 62E0-62EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  9549.  
  9550. 62E1 RW GPIB (adapter 3)
  9551. --------V-P63C063CF--------------------------
  9552. PORT 63C0-63CF - Compaq QVision - BitBLT engine
  9553. --------X-P640064FF--------------------------
  9554. PORT 6400-64FF - available for EISA slot 6
  9555. --------V-P66EC------------------------------
  9556. PORT 66EC - ATI Mach64 - ???
  9557. SeeAlso: PORT 6AECh"Mach64"
  9558. --------X-P680068FF--------------------------
  9559. PORT 6800-68FF - available for EISA slot 6
  9560. --------V-P6AEC6AED--------------------------
  9561. PORT 6AEC-6AED - ATI Mach64 - ???
  9562. SeeAlso: PORT 66ECh"Mach64"
  9563. --------V-P6AEE------------------------------
  9564. PORT 6AEE - ATI Mach8/Mach32 - MAXIMUM WAIT STATES
  9565. SeeAlso: PORT 36EEh,PORT 6EEEh,PORT 76EEh,PORT 7AEEh,PORT 8EEEh
  9566.  
  9567. 6AEE RW maximum wait states (see #P363)
  9568.  
  9569. Bitfields for ATI Mach8/Mach32 wait state configuration:
  9570. Bit(s) Description (Table P363)
  9571. 10 leave alone ("PASSTHROUGH_OVERRIDE")
  9572. 9 enable for 16-bit I/O
  9573. 8 0=horizontal degree-mode line draws
  9574. --------X-P6C006CFF--------------------------
  9575. PORT 6C00-6CFF - available for EISA slot 6
  9576. --------X-P6C806C83--------------------------
  9577. PORT 6C80-6C83 - EISA board product ID (board in slot 6)
  9578. SeeAlso: PORT 1C80h-1C83h
  9579. --------V-P6C806C8F--------------------------
  9580. PORT 6C80-6C8F - VESA XGA Video in EISA slot 1
  9581. SeeAlso: PORT 1C80h-1C8Fh"XGA",PORT 2C80h-2C8Fh"XGA",PORT 5C80h-5C8Fh"XGA"
  9582.  
  9583. 6C80d RW EISA Video ID (see PORT 1C80h-1C83h)
  9584. 6C84 RW EISA Video expansion board control
  9585. 6C85 RW EISA Setup control
  9586. 6C88 RW EISA Video Programmable Option Select 0
  9587. 6C89 RW EISA Video Programmable Option Select 1
  9588. 6C8A RW EISA Video Programmable Option Select 2
  9589. 6C8B RW EISA Video Programmable Option Select 3
  9590. 6C8C RW EISA Video Programmable Option Select 4
  9591. 6C8D RW EISA Video Programmable Option Select 5
  9592. 6C8E RW EISA Video Programmable Option Select 6
  9593. 6C8F RW EISA Video Programmable Option Select 7
  9594. --------X-P6C84------------------------------
  9595. PORT 6C84 - EISA CONFIGURATION FLAGS (board in slot 6)
  9596.  
  9597. 6C84 RW configuration flags (see #P356)
  9598. --------V-P6EEC------------------------------
  9599. PORT 6EEC - ATI Mach64 - ???
  9600. SeeAlso: PORT 6AECh"Mach64"
  9601. --------V-P6EEE------------------------------
  9602. PORT 6EEE - ATI Mach8/Mach32 - ENGINE VIDEO BUFFER OFFSET LOW
  9603. SeeAlso: PORT 72EEh
  9604.  
  9605. 6AEEw -W low 16 bits of video buffer starting offset
  9606. --------X-P700070FF--------------------------
  9607. PORT 7000-70FF - available for EISA slot 7
  9608. --------V-P72EC------------------------------
  9609. PORT 72EC - ATI Mach64 - ???
  9610. SeeAlso: PORT 66ECh"Mach64",PORT 72EFh"Mach64"
  9611. --------V-P72EE------------------------------
  9612. PORT 72EE - ATI Mach8/Mach32 - ENGINE VIDEO BUFFER OFFSET HIGH
  9613. SeeAlso: PORT 6EEEh
  9614.  
  9615. 72EE -W high bits of video buffer starting offset
  9616. bits 1-0 for Mach-8
  9617. bits 3-0 for Mach-32
  9618. --------V-P72EE------------------------------
  9619. PORT 72EE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (LEFT)
  9620. SeeAlso: PORT 76EEh"BOUNDS",PORT 7AEEh"BOUNDS",PORT 7EEEh"BOUNDS"
  9621.  
  9622. 72EEw R- left edge of bounding box for points written via Line Draw register
  9623. --------V-P72EF------------------------------
  9624. PORT 72EF - ATI Mach64 - ???
  9625. SeeAlso: PORT 66ECh"Mach64",PORT 72ECh"Mach64"
  9626. --------X-P740074FF--------------------------
  9627. PORT 7400-74FF - available for EISA slot 7
  9628. --------V-P76EE------------------------------
  9629. PORT 76EE - ATI Mach8/Mach32 - ENGINE DISPLAY PITCH
  9630. SeeAlso: PORT 6AEEh,PORT 7AEEh
  9631.  
  9632. 76EE -W display pitch
  9633. --------V-P76EE------------------------------
  9634. PORT 76EE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (TOP)
  9635. SeeAlso: PORT 72EEh"BOUNDS",PORT 7AEEh"BOUNDS",PORT 7EEEh"BOUNDS"
  9636.  
  9637. 76EEw R- top edge of bounding box for points written via Line Draw register
  9638. --------X-P780078FF--------------------------
  9639. PORT 7800-78FF - available for EISA slot 7
  9640. --------V-P7AEE------------------------------
  9641. PORT 7AEE - ATI Mach8/Mach32 - EXTENDED GRAPHICS ENGINE CONGIFURATION
  9642. SeeAlso: PORT 8EEEh
  9643.  
  9644. 7AEEw -W extended graphics engine configuration (see #P364)
  9645.  
  9646. Bitfields for Mach8/Mach32 extended graphics engine configuration:
  9647. Bit(s) Description (Table P364)
  9648. 15 drawing pixel size to be written next (68800-6 only)
  9649. 14 enable 8-bit DAC (Mach-32 only)
  9650. 13-12 DAC address inputs RS(3:2) control (Mach-32 only)
  9651. 11 display pixel size to be written next (68800-6 only)
  9652. 10 24-bit color order (Mach-32 only)
  9653. 0 = RGB
  9654. 1 = BGR
  9655. 9 24-bit color configuration: pixels use 4 bytes instead of three
  9656. 8 DAC processes four pixels in parallel (Mach-32 only)
  9657. 7-6 16-bits-per-color word format (Mach-32 only)
  9658. 00 RGB(5,5,5)
  9659. 01 RGB(5,6,5)
  9660. 10 RGB(6,5,5)
  9661. 11 RGB(6,6,4)
  9662. 5-4 number of bits per pixel (Mach-32 only)
  9663. 00 four
  9664. 01 eight
  9665. 10 sixteen
  9666. 11 twenty-four
  9667. 3 report monitor alias instead of actual monitor
  9668. 2-0 alternate monitor ID (alias)
  9669. --------V-P7AEE------------------------------
  9670. PORT 7AEE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (RIGHT)
  9671. SeeAlso: PORT 72EEh"BOUNDS",PORT 76EEh"BOUNDS",PORT 7EEEh"BOUNDS"
  9672.  
  9673. 7AEEw R- right edge of bounding box for points written via Line Draw register
  9674. --------X-P7C007CFF--------------------------
  9675. PORT 7C00-7CFF - available for EISA slot 7
  9676. --------X-P7C807C83--------------------------
  9677. PORT 7C80-7C83 - EISA board product ID (board in slot 7)
  9678. SeeAlso: PORT 1C80h-1C83h
  9679. --------V-P7C807C8F--------------------------
  9680. PORT 7C80-7C8F - VESA XGA Video in EISA slot 7
  9681. SeeAlso: PORT 1C80h-1C8Fh,PORT 6C80h-6C8Fh
  9682.  
  9683. 7C80-7C83 RW EISA Video ID
  9684. 7C84 RW EISA Video expansion board control
  9685. 7C85 RW EISA Setup control
  9686. 7C88 RW EISA Video Programmable Option Select 0
  9687. 7C89-7C8F RW EISA Video Programmable Option Select 1-7
  9688. --------X-P7C84------------------------------
  9689. PORT 7C84 - EISA CONFIGURATION FLAGS (board in slot 7)
  9690.  
  9691. 7C84 RW configuration flags (see #P356)
  9692. --------V-P7EEE------------------------------
  9693. PORT 7EEE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (RIGHT)
  9694. SeeAlso: PORT 72EEh"BOUNDS",PORT 76EEh"BOUNDS",PORT 7AEEh"BOUNDS"
  9695.  
  9696. 7EEEw R- right edge of bounding box for points written via Line Draw register
  9697. --------X-P800080FF--------------------------
  9698. PORT 8000-80FF - available for EISA slot 8
  9699. ----------P82E082EF--------------------------
  9700. PORT 82E0-82EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  9701.  
  9702. 82E1 RW GPIB (adapter 4)
  9703. --------V-P82E882EF--------------------------
  9704. PORT 82E8-82EF - 8514/A and compatible video cards - DRAWING CONTROL
  9705. Notes: supported by ATI Mach8 and Mach32 chipsets
  9706. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9707. SeeAlso: PORT 86E8h
  9708.  
  9709. 82E8w -W drawing control: current Y position
  9710. --------S-P82F882FF--------------------------
  9711. PORT 82F8-82FF - serial port, description same as 03F8
  9712. --------V-P83C083CF--------------------------
  9713. PORT 83C0-83CF - Compaq QVision - Line Draw Engine
  9714. --------V-P83C4------------------------------
  9715. PORT 83C4 - Compaq Qvision EISA - Virtual Controller Select
  9716. --------V-P83C683C9--------------------------
  9717. PORT 83C6-83C9 - Compaq Qvision EISA - DAC color registers
  9718. --------S-P83F883FF--------------------------
  9719. PORT 83F8-83FF - serial port, description same as 03F8
  9720. --------X-P840084FF--------------------------
  9721. PORT 8400-84FF - available for EISA slot 8
  9722. --------V-P86E886EF--------------------------
  9723. PORT 86E8-86EF - 8514/A and compatible video cards - DRAWING CONTROL
  9724. Notes: supported by ATI Mach8 and Mach32 chipsets
  9725. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9726. SeeAlso: PORT 82E8h,PORT 8AE8h
  9727.  
  9728. 86E8w -W drawing control: current X position
  9729. --------X-P880088FF--------------------------
  9730. PORT 8800-88FF - available for EISA slot 8
  9731. --------V-P8AE88AEF--------------------------
  9732. PORT 8AE8-8AEF - 8514/A and compatible video cards - DRAWING CONTROL
  9733. Notes: supported by ATI Mach8 and Mach32 chipsets
  9734. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9735. SeeAlso: PORT 82E8h,PORT 86E8h
  9736.  
  9737. 8AE8w -W drawing control: destination Y position / axial step constant
  9738. Note: this port may be read on S3 chipsets
  9739. --------X-P8C008CFF--------------------------
  9740. PORT 8C00-8CFF - available for EISA slot 8
  9741. --------X-P8C808C83--------------------------
  9742. PORT 8C80-8C83 - EISA board product ID (board in slot 8)
  9743. SeeAlso: PORT 1C80h-1C83h
  9744. --------X-P8C84------------------------------
  9745. PORT 8C84 - EISA CONFIGURATION FLAGS (board in slot 8)
  9746.  
  9747. 8C84 RW configuration flags (see #P356)
  9748. --------V-P8EE88EEF--------------------------
  9749. PORT 8EE8-8EEF - 8514/A and compatible video cards - DRAWING CONTROL
  9750. Notes: supported by ATI Mach8 and Mach32 chipsets
  9751. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9752. SeeAlso: PORT DAEEh"Mach32"
  9753.  
  9754. 8EE8w -W drawing control: destination X position / axial step constant
  9755. --------V-P8EEE------------------------------
  9756. PORT 8EEE - ATI Mach32 - READ EXTENDED GRAPHICS CONFIGURATION
  9757. SeeAlso: PORT 72EEh
  9758.  
  9759. 8EEE R- read extended graphics configuration (see #P364)
  9760. --------X-P900090FF--------------------------
  9761. PORT 9000-90FF - available for EISA slot 9
  9762. --------V-P92E892EF--------------------------
  9763. PORT 92E8-92EF - 8514/A and compatible video cards - DRAWING CONTROL
  9764. Notes: supported by ATI Mach8 and Mach32 chipsets
  9765. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9766.  
  9767. 92E8w -W drawing control: Bresenham error term
  9768. --------X-P940094FF--------------------------
  9769. PORT 9400-94FF - available for EISA slot 9
  9770. --------V-P96E896EF--------------------------
  9771. PORT 96E8-96EF - 8514/A and hardware-compatible video cards - DRAWING CONTROL
  9772. Notes: supported by ATI Mach8 and Mach32 chipsets
  9773. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9774.  
  9775. 96E8w R- enter WD Enhanced Mode
  9776. 96E8w -W drawing control: major axis pixel count
  9777. --------X-P980098FF--------------------------
  9778. PORT 9800-98FF - available for EISA slot 9
  9779. --------V-P9AE89AE9--------------------------
  9780. PORT 9AE8-9AE9 - 8514/A Graphics Processor Status
  9781. Notes: supported by ATI Mach8 and Mach32 chipsets
  9782. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9783.  
  9784. 9AE8w R- drawing control: graphic processor status (see #P365)
  9785. 9AE8w -W drawing control: command register (see #P366)
  9786.  
  9787. Bitfields for 8514/A graphic processor status:
  9788. Bit(s) Description (Table P365)
  9789. 15-10 reserved
  9790. 9 hardware busy
  9791. 8 data ready
  9792. 7-0 status of queue (0=empty, 1=filled)
  9793. (each bit represents a position in queue)
  9794. SeeAlso: #P366
  9795.  
  9796. Bitfields for 8514/A command register :
  9797. Bit(s) Description (Table P366)
  9798. 15-13 command
  9799. 000 = no operation
  9800. 001 = draw vector
  9801. 010 = fast rectangle fill
  9802. 011 = rectangle fill vertical #1
  9803. 100 = rectangle fill vertical #2 (4 pixels)
  9804. 101 = draw vector, 1 pixel/scanline
  9805. 110 = copy rectangle
  9806. 111 = reserved
  9807. 12 byte sequence (0=high byte first, 1=low byte first)
  9808. 11-10 reserved
  9809. 9 enable 16-bit write access (16BIT)
  9810. 8 0=use 8514/A data, 1=pixel data trans reg (PCDATA)
  9811. 7 0=draw vector above, 1=draw vector below (INC_Y)
  9812. 6 0=x is maj. axis, 1=y is maj. axis (YMAJAXIS)
  9813. 5 0=draw vector left, 1=draw vector right (INC_X)
  9814. 4 0=move only, 1=draw and move (DRAW)
  9815. 3 0=Bresenham line, 1=direct vector (LINETYPE)
  9816. 2 0=draw last pixel, 1=don't draw last pixel (LASTPIX)
  9817. 1 0=single pixel, 1=4pixel (PLANAR)
  9818. 0 0=read data, 1=write data (RD/WR)
  9819. SeeAlso: #P365
  9820. --------V-P9AEE------------------------------
  9821. PORT 9AEE - ATI Mach8/Mach32 - LINEDRAW INDEX REGISTER
  9822. SeeAlso: PORT FEEEh
  9823.  
  9824. 9AEE -W linedraw index register (specifies interpretation of PORT FEEEh)
  9825. (see #P367)
  9826.  
  9827. (Table P367)
  9828. Values for ATI Mach8/Mach32 Linedraw Index Register:
  9829. 00h set current X
  9830. 01h set current Y
  9831. 02h set Line End X
  9832. 03h set Line End Y, draw line, and reset register to 02h
  9833. 04h set current X (perform moves instead of draws)
  9834. 05h set current Y and reset register to 04h
  9835. --------X-P9C009CFF--------------------------
  9836. PORT 9C00-9CFF - available for EISA slot 9
  9837. --------X-P9C809C83--------------------------
  9838. PORT 9C80-9C83 - EISA board product ID (board in slot 9)
  9839. SeeAlso: PORT 1C80h-1C83h
  9840. --------X-P9C84------------------------------
  9841. PORT 9C84 - EISA CONFIGURATION FLAGS (board in slot 9)
  9842.  
  9843. 9C84 RW configuration flags (see #P356)
  9844. --------V-P9EE8------------------------------
  9845. PORT 9EE8 - 8514/A and compatible video cards - SHORT STROKE
  9846. Notes: supported by ATI Mach8 and Mach32 chipsets
  9847. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9848.  
  9849. 9EE8w -W short line vector transfer
  9850. --------S-PA220------------------------------
  9851. PORT A220 - soundblaster support in AMI Hi-Flex BIOS ????
  9852. ----------PA2E0A2EF--------------------------
  9853. PORT A2E0-A2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  9854.  
  9855. A2E1 RW GPIB (adapter 5)
  9856. --------V-PA2E8A2EF--------------------------
  9857. PORT A2E8-A2EF - 8514/A and compatible video cards - DRAWING CONTROL
  9858. Notes: supported by ATI Mach8 and Mach32 chipsets
  9859. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9860. SeeAlso: PORT A6E8h
  9861.  
  9862. A2E8w -W drawing control: background color
  9863. --------V-PA2EEA2EF--------------------------
  9864. PORT A2EE-A2EF - ATI Mach8/Mach32 - LINE DRAW OPTIONS
  9865. SeeAlso: PORT 8EEEh,PORT CEEEh
  9866.  
  9867. A2EEw RW line drawing options (see #P368)
  9868.  
  9869. Bitfields for ATI Mach8/Mach32 line drawing options:
  9870. Bit(s) Description (Table P368)
  9871. 10-9 clipping mode
  9872. 00 disable clip exception
  9873. 01 stroked plain lines
  9874. 10 polygon boundary lines
  9875. 11 patterned lines
  9876. 8 reset all Bounds Accumulator registers
  9877. 7-5 OCTANT: direction for BitBlts or lines
  9878. 3 direction specification
  9879. 0 = Bresenham/Octant
  9880. bit 7: increment Y
  9881. bit 6: Y is major axis instead of X
  9882. bit 5: increment X
  9883. 1 = line-length and degrees
  9884. OCTANT field species N*45 degrees
  9885. 2 do NOT draw last pixel of a line
  9886. 1 polyline draw
  9887. --------V-PA6E8A6EF--------------------------
  9888. PORT A6E8-A6EF - 8514/A and compatible video cards - DRAWING CONTROL
  9889. Notes: supported by ATI Mach8 and Mach32 chipsets
  9890. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9891. SeeAlso: PORT A2E8h
  9892.  
  9893. A6E8w -W drawing control: foreground color
  9894. --------V-PAAE8AAEF--------------------------
  9895. PORT AAE8-AAEF - 8514/A and compatible video cards - WRITE MASK
  9896. Notes: supported by ATI Mach8 and Mach32 chipsets
  9897. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9898. SeeAlso: PORT AEE8h
  9899.  
  9900. AAE8w -W drawing control: write mask
  9901. --------V-PAEE8AEEF--------------------------
  9902. PORT AEE8-AEEF - 8514/A and compatible video cards - READ MASK
  9903. Notes: supported by ATI Mach8 and Mach32 chipsets
  9904. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9905. SeeAlso: PORT AAE8h
  9906.  
  9907. AEE8w -W drawing control: read mask
  9908. --------V-PAFFF------------------------------
  9909. PORT AFFF - VIDEO REGISTER
  9910.  
  9911. AFFF RW plane 0-3 system latch (video register)
  9912. --------S-PB220B227--------------------------
  9913. PORT B220-B227 - serial port, description same as 03F8
  9914. --------S-PB228B22F--------------------------
  9915. PORT B228-B22F - serial port, description same as 03F8
  9916. --------V-PB2E8B2EF--------------------------
  9917. PORT B2E8-B2EF - 8514/A and compatible video cards - COLOR COMPARE
  9918. Notes: supported by ATI Graphics Ultra
  9919. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9920.  
  9921. B2E8w -W drawing control: color compare
  9922. --------V-PB2EE------------------------------
  9923. PORT B2EE - ATI Mach32 - ???
  9924.  
  9925. B2EEw RW ???
  9926. --------V-PB6E8B6EF--------------------------
  9927. PORT B6E8-B6EF - 8514/A and compatible video cards - BACKGROUND MIX
  9928. Notes: supported by ATI Mach8 and Mach32 chipsets
  9929. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9930. SeeAlso: PORT BAE8h
  9931.  
  9932. B6E8w -W drawing control: background mix
  9933. --------V-PB6EE------------------------------
  9934. PORT B6EE - ATI Mach32 - ???
  9935.  
  9936. B6EEw RW ???
  9937. --------V-PBAE8BAEF--------------------------
  9938. PORT BAE8-BAEF - 8514/A and compatible video cards - FOREGROUND MIX
  9939. Notes: supported by ATI Mach8 and Mach32 chipsets
  9940. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9941. SeeAlso: PORT B6E8h
  9942.  
  9943. BAE8w -W drawing control: foreground mix
  9944. --------V-PBAEE------------------------------
  9945. PORT BAEE - ATI Mach32 - ???
  9946.  
  9947. BAEEw RW ???
  9948. --------V-PBEE8BEEF--------------------------
  9949. PORT BEE8-BEEF - 8514/A and compatible video cards - MULTIFUNCTION CONTROL
  9950. Notes: supported by ATI Mach8 and Mach32 chipsets
  9951. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  9952.  
  9953. BEE8w -W drawing control: multi-function control
  9954. (index in bits 15-12, data in bits 11-0) (see #P369)
  9955. BEE8w R- (S3) value of register specified by current value of multi-function
  9956. index 0Fh
  9957.  
  9958. (Table P369)
  9959. Values for index into 8514/A multi-function drawing control registers:
  9960. 00h RW minor axis pixel count
  9961. 01h RW top scissors
  9962. 02h RW left scissors
  9963. 03h RW bottom scissors
  9964. 04h RW right scissors
  9965. 05h -W memory control register
  9966. 08h -W fixed pattern low
  9967. 09h -W fixed pattern high
  9968. 0Ah RW data manipulation control
  9969. ---S3 chipsets---
  9970. 0Dh RW (S3 864/964) miscellaneous 2
  9971. 0Eh RW (S3 801+) miscellaneous
  9972. 0Fh -W (S3 801/805/928) read register select (see #P370)
  9973.  
  9974. (Table P370)
  9975. Values for S3 multifunction read select register:
  9976. 00h PORT BEE8h register 00h
  9977. 01h PORT BEE8h register 01h
  9978. 02h PORT BEE8h register 02h
  9979. 03h PORT BEE8h register 03h
  9980. 04h PORT BEE8h register 04h
  9981. 05h PORT BEE8h register 0Ah
  9982. 06h PORT BEE8h register 0Eh
  9983. 07h PORT 9AE8h (bits 11-0 only)
  9984. ---S3 864/964 only---
  9985. 08h PORT 42E8h (bits 11-0 only)
  9986. 09h PORT 46E8h
  9987. 0Ah PORT BEE8h register 0Dh
  9988. SeeAlso: #P369
  9989. ----------PC000C004--------------------------
  9990. PORT C000-C004 - Intel Pentium mboard ("Neptune" chipset)
  9991. SeeAlso: PORT C050h,PORT C200h-C204h,INT 15/AX=DA8Ch,#0798 at INT 1A/AX=B10Ah
  9992. --------X-PC000CFFF--------------------------
  9993. PORT C000-CFFF - PCI Configuration Mechanism 2 - CONFIGURATION SPACE
  9994. Note: to access the configuration space, write the target bus number to
  9995. PORT 0CFAh, then write to the Configuration Space Enable register
  9996. (PORT 03F8h), and finally read or write the appropriate I/O
  9997. port(s) in the range C000h to CFFFh (where Cxrrh accesses location
  9998. 'rr' in physical device 'x's configuration data)
  9999. SeeAlso: PORT 0CF8h"Mechanism 2",PORT 0CFAh"Mechanism 2"
  10000. SeeAlso: #0798 at INT 1A/AX=B10Ah
  10001. --------X-PC008------------------------------
  10002. PORT C008 - Intel Pentium mboard ("Neptune" chipset) - CHIPSET REVISION
  10003. Desc: the host/PCI bridge revision ID register is visible on this port when
  10004. the PCI configuration space has been opened via ports 0CF8h and 0CFAh
  10005. SeeAlso: PORT 0CF8h,PORT 0CFAh,PORT C000h-C004h,PORT C050h,PORT C065h
  10006. --------X-PC050------------------------------
  10007. PORT C050 - Intel Pentium mboard ("Neptune" chipset)
  10008. SeeAlso: PORT C052h
  10009.  
  10010. C050 RW ???
  10011. bit 0: ???
  10012. bit 1: ???
  10013. bit 2: enable secondary (L2) cache
  10014. --------X-PC051------------------------------
  10015. PORT C051 - Intel "Mercury"/"Neptune" chipsets - DETURBO SPEED CONTROL
  10016. SeeAlso: PORT 0CF9h
  10017.  
  10018. C051 RW slowdown factor when in de-turbo mode
  10019. --------X-PC052------------------------------
  10020. PORT C052 - Intel Pentium mboard ("Neptune" chipset)
  10021. SeeAlso: PORT 0CF8h,PORT 0CFAh,PORT C050h,PORT C059h,PORT C065h
  10022.  
  10023. C052 RW bit 0: ???
  10024. bit 1: ???
  10025. bits 6,7: ???
  10026. --------X-PC054------------------------------
  10027. PORT C054 - Intel Pentium mboard ("Neptune" chipset)
  10028. SeeAlso: PORT 0CF8h,PORT 0CFAh
  10029.  
  10030. C054 RW bit 2: ??? (set immediately upon booting)
  10031. --------X-PC059C05F--------------------------
  10032. PORT C059-C05F - Intel chipsets - PROGRAMMABLE ATTRIBUTE MAP
  10033. SeeAlso: #0851
  10034.  
  10035. C059 RW Programmable Attribute Map Register 0 (see #0902)
  10036. C05A RW Programmable Attribute Map Register 1
  10037. C05B RW Programmable Attribute Map Register 2
  10038. C05C RW Programmable Attribute Map Register 3
  10039. C05D RW Programmable Attribute Map Register 4
  10040. C05E RW Programmable Attribute Map Register 5
  10041. C05F RW Programmable Attribute Map Register 6 (see #0902)
  10042. --------X-PC060C067--------------------------
  10043. PORT C060-C067 - Intel chipsets - DRAM ROW BOUNDARY REGISTERS
  10044. Desc: these registers (some chipsets implement only four or six, rather than
  10045. eight) indicate the cumulative amount of memory in DRAM rows 0-N;
  10046. the last implemented boundary register contains the total amount of
  10047. installed memory
  10048. SeeAlso: INT 15/AX=DA88h,#0851
  10049.  
  10050. C060 RW DRAM Row Boundary register 0
  10051. C061 RW DRAM Row Boundary register 1
  10052. C062 RW DRAM Row Boundary register 2
  10053. C063 RW DRAM Row Boundary register 3
  10054. C064 RW DRAM Row Boundary register 4
  10055. C065 RW DRAM Row Boundary register 5
  10056. C066 RW DRAM Row Boundary register 6
  10057. C067 RW DRAM Row Boundary register 7
  10058. --------d-PC100C1FF--------------------------
  10059. PORT C100-C1FF - Intel Pentium mboard - PCTech RZ1000 EIDE controller
  10060. Desc: the PCI configuration registers for the EIDE controller are visible
  10061. on these ports when the PCI configuration space has been opened via
  10062. ports 0CF8h and 0CFAh
  10063. SeeAlso: PORT 03F0h"RZ1000",PORT 0CF8h,#0798 at INT 1A/AX=B10Ah
  10064. ----------PC200C204--------------------------
  10065. PORT C200-C204 - Intel Pentium mboard ("Neptune" chipset)
  10066. Desc: the PCI configuration registers for the motherboard chipset are visible
  10067. on these ports when the PCI configuration space has been opened via
  10068. ports 0CF8h and 0CFAh
  10069. SeeAlso: #0798 at INT 1A/AX=B10Ah
  10070. --------S-PC220C227--------------------------
  10071. PORT C220-C227 - serial port, description same as 03F8
  10072. --------S-PC228C22F--------------------------
  10073. PORT C228-C22F - serial port, description same as 03F8
  10074. ----------PC244------------------------------
  10075. PORT C244 - Intel Pentium mboard ("Neptune" chipset)
  10076. ----------PC2E0C2EF--------------------------
  10077. PORT C2E0-C2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  10078.  
  10079. C2E1 RW GPIB (adapter 6)
  10080. --------V-PC2EE------------------------------
  10081. PORT C2EE - ATI Mach32 - ???
  10082.  
  10083. C2EEw RW ???
  10084. --------V-PC6EE------------------------------
  10085. PORT C6EE - ATI Mach32 - SHORT-STROKE VECTOR
  10086.  
  10087. C6EEw -W short-stroke vector
  10088. --------V-PCAEE------------------------------
  10089. PORT CAEE - ATI Mach32 - ???
  10090.  
  10091. CAEEw RW ???
  10092. ----------PCEEE------------------------------
  10093. PORT CEEE - ATI Mach8/Mach32 - DATAPATH CONFIGURATION
  10094. SeeAlso: PORT 8EEEh
  10095.  
  10096. CEEEw -W datapath configuration (see #P371)
  10097.  
  10098. Bitfields for ATI Mach8/Mach32 datapath configuration:
  10099. Bit(s) Description (Table P371)
  10100. 15-13 foreground color source
  10101. 000 background color reg
  10102. 001 foreground color reg
  10103. 010 pixel transfer reg
  10104. 011 VRAM BitBlt source
  10105. 101 color pattern shift register
  10106. 12 least-significant byte first
  10107. 9 data width is 16 bits instead of 8 bits
  10108. 8-7 background color source
  10109. 00 background color reg
  10110. 01 foreground color reg
  10111. 10 pixel transfer reg
  10112. 11 VRAM BitBlt source
  10113. 6-5 monochrome data source
  10114. 00 always one
  10115. 01 mono pattern register
  10116. 10 pixel transfer register
  10117. 11 VRAM BitBlt source
  10118. 4 enable drawing
  10119. 2 read color data instead of monochrome data
  10120. 1 enable polygon fill BitBlt
  10121. 0 write data to drawing trajectory instead of reading from trajectory
  10122. --------S-PD220D227--------------------------
  10123. PORT D220-D227 - serial port, description same as 03F8
  10124. SeeAlso: PORT 03F8h,PORT D228h
  10125. --------S-PD228D22F--------------------------
  10126. PORT D228-D22F - serial port, description same as 03F8
  10127. SeeAlso: PORT 03F8h,PORT D220h
  10128. --------V-PD2EE------------------------------
  10129. PORT D2EE - ATI Mach32 - ???
  10130.  
  10131. D2EEw RW ???
  10132. --------V-PDAEEDAEF--------------------------
  10133. PORT DAEE-DAEF - ATI Mach8/Mach32 - SCISSORS REGION (LEFT)
  10134. SeeAlso: PORT 8EE8h,PORT DEEEh"SCISSORS",PORT E2EEh"SCISSORS"
  10135. SeeAlso: PORT E6EEh"SCISSORS"
  10136.  
  10137. DAEEw -W left edge of "scissors" drawing area (bits 11-0)
  10138. --------V-PDEEEDEEF--------------------------
  10139. PORT DEEE-DEEF - ATI Mach8/Mach32 - SCISSORS REGION (TOP)
  10140. SeeAlso: PORT DAEEh"SCISSORS",PORT E2EEh"SCISSORS",PORT E6EEh"SCISSORS"
  10141.  
  10142. DEEEw -W top edge of "scissors" drawing area (bits 11-0)
  10143. ----------PE2E0E2EF--------------------------
  10144. PORT E2E0-E2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  10145.  
  10146. E2E1 RW GPIB (adapter 7)
  10147. --------V-PE2E8E2EF--------------------------
  10148. PORT E2E8-E2EF - 8514/A and compatible video cards - PIXEL DATA TRANSFER
  10149. Notes: supported by ATI Graphics Ultra
  10150. supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  10151.  
  10152. E2E8w -W drawing control: pixel data transfer
  10153. E2EAw rW drawing control: pixel data transfer (S3 801+) for 32-bit transfers
  10154. --------V-PE2EEE2EF--------------------------
  10155. PORT E2EE-E2EF - ATI Mach8/Mach32 - SCISSORS REGION (BOTTOM)
  10156. SeeAlso: PORT DAEEh"SCISSORS",PORT DEEEh"SCISSORS",PORT E6EEh"SCISSORS"
  10157.  
  10158. E2EEw -W bottom edge of "scissors" drawing area (bits 11-0)
  10159. --------V-PE6EEE6EF--------------------------
  10160. PORT E6EE-E6EF - ATI Mach8/Mach32 - SCISSORS REGION (RIGHT)
  10161. SeeAlso: PORT DAEEh"SCISSORS",PORT DEEEh"SCISSORS",PORT E2EEh"SCISSORS"
  10162.  
  10163. E6EEw -W right edge of "scissors" drawing area (bits 11-0)
  10164. --------V-PFAEE------------------------------
  10165. PORT FAEE - ATI Mach32 - CHIP IDENTIFICATION REGISTER
  10166. SeeAlso: PORT 56EEh"Mach32",PORT 5EEEh"Mach32"
  10167. --------V-PFEEEFEEF--------------------------
  10168. PORT FEEE-FEEF - ATI Mach8/Mach32 - DIRECT LINE DRAW REGISTER
  10169. SeeAlso: PORT 9AEEh
  10170.  
  10171. FEEEw -W direct line-draw register
  10172. --------d-Pxxxx------------------------------
  10173. PORT xxxx - Future Domain TMC-3260 PCI SCSI adapter
  10174. Range: anywhere on 8 byte boundary???
  10175. Note: Future Domain TMC-3260 PCI SCSI adapter is based upon Future Domain
  10176. TMC-36C70 SCSI controller which is a PCI version of the TMC-18C30
  10177. ISA SCSI controller
  10178. SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
  10179. --------d-Pxxxx------------------------------
  10180. PORT xxxx - AMD Am53C974A PC-SCSI II SCSI adapter
  10181. Range: anywhere, on a 128-port boundary
  10182. SeeAlso: #0823
  10183.  
  10184. +000 R- current transfer count register (low)
  10185. +000 -W start transfer count register (low)
  10186. +004 R- current transfer count register (middle)
  10187. +004 -W start transfer count register (middle)
  10188. +008 RW SCSI FIFO register
  10189. +00C RW SCSI command register
  10190. +010 R- SCSI status register
  10191. +010 -W destination ID
  10192. +014 R- interrupt status
  10193. +014 -W SCSI timeout
  10194. +018 R- internal state
  10195. +018 -W synchronous transfer period
  10196. +01C R- current FIFO/internal state
  10197. +01C -W synchronous offset
  10198. +020 RW control register 1
  10199. +024 -W clock factor
  10200. +028 -W reserved
  10201. +02C RW control register 2
  10202. +030 RW control register 3
  10203. +034 RW control register 4
  10204. +038 R- current transfer count register (high) / ID code
  10205. +038 -W start current transfer count (high)
  10206. +03C reserved
  10207. +040 RW DMA command
  10208. +044d RW DMA starting transfer count (bits 23-0)
  10209. +048d RW DMA starting physical address
  10210. +04C R DMA working byte counter
  10211. +050d R DMA working address counter
  10212. +054 R DMA status register
  10213. +058d RW DMA starting memory descriptor list address
  10214. +05Cd R DMA working memory descriptor list counter
  10215. +070d Rw SCSI bus and control (bits 25-24 and 21-0)
  10216. Notes: the SCSI registers are mapped on DWORD boundaries, even though for most
  10217. only the least-significant byte is used
  10218. see "Am53C974A PCscsi(tm) II Technical Manual, Revision 1.0"
  10219. (file 19113A.PDF) for further details, as well as (file 19084A.PDF)
  10220. --------d-Pxxxx------------------------------
  10221. PORT xxxx - Adaptec AHA-2920 PCI SCSI adapter
  10222. Range: anywhere on 8 byte boundary???
  10223. Note: Adaptec AHA-2920 PCI SCSI adapter is based upon Future Domain TMC-36C70
  10224. SCSI controller which is a PCI version of Future Domain TMC-18C30 ISA
  10225. SCSI controller
  10226. SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
  10227. --------d-Pxxxx------------------------------
  10228. PORT xxxx - Intel 82371 - Bus Master IDE Registers
  10229.  
  10230. +000 RW command register, primary channel (see #P372)
  10231. +002 Rw status register, primary channel (see #P373)
  10232. +004d RW IDE descriptor table pointer, primary channel (see #P374)
  10233. +008 RW command register, secondary channel (see #P372)
  10234. +00A Rw status register, secondary channel (see #P373)
  10235. +00Cd RW IDE descriptor table pointer, secondary channel (see #P374)
  10236.  
  10237. Bitfields for Intel 82371 Bus Master IDE command register:
  10238. Bit(s) Description (Table P372)
  10239. 7-4 reserved
  10240. 3 bus master read/write control
  10241. =0 read
  10242. =1 write
  10243. 2-1 reserved
  10244. 0 start/stop bus master
  10245. =1 start
  10246. =0 stop
  10247. SeeAlso: #P373,#P374
  10248.  
  10249. Bitfields for Intel 82371 Bus Master IDE status register:
  10250. Bit(s) Description (Table P373)
  10251. 7 reserved (0)
  10252. 6 drive 1 is DMA-capable
  10253. 5 drive 0 is DMA_capable
  10254. 4-3 reserved
  10255. 2 IDE interrupt pending
  10256. write 1 to this bit to clear it
  10257. 1 IDE DMA error
  10258. write 1 to this bit to clear it
  10259. 0 bus master IDE active (read-only)
  10260. SeeAlso: #P372,#P374
  10261.  
  10262. Bitfields for Intel 82371 Bus Master IDE descriptor table pointer register:
  10263. Bit(s) Description (Table P374)
  10264. 31-2 descriptor table base address bits 31-2
  10265. 1-0 reserved
  10266. Note: the descriptor table must not cross a 4K boundary
  10267. SeeAlso: #P372,#P373
  10268. ----------Pxxxx------------------------------
  10269. PORT xxxx - Intel 82371SB - USB Host I/O Registers
  10270. InstallCheck: see #0913 at INT 1A/AX=B10Ah
  10271. SeeAlso: #0913
  10272.  
  10273. +000w RW USB command register (see #P375)
  10274. +002w Rw USB status (see #P376)
  10275. +004w RW USB interrupt enable (see #P377)
  10276. +006w RW Frame Number (see #P378)
  10277. +008d RW Frame List Base Address
  10278. (bits 11-0 must be written as zeros)
  10279. +00C RW Start of Frame Modify (see #P379)
  10280. +010w RW port 1 status/control (see #P380)
  10281. +012w RW port 2 status/control (see #P380)
  10282.  
  10283. Bitfields for Intel 82371SB USB command register:
  10284. Bit(s) Description (Table P375)
  10285. 15-8 reserved
  10286. 7 maximum packet size (0=32 bytes, 1=64 bytes)
  10287. 6 Host Controller has been configured (set by software)
  10288. 5 software debug mode
  10289. 4 force global resume
  10290. 3 enter global suspend mode
  10291. 2 global reset
  10292. 1 host controller reset
  10293. 0 run/stop schedule (0=stop, 1=run)
  10294. SeeAlso: #P376
  10295.  
  10296. Bitfields for Intel 82371SB USB status register:
  10297. Bit(s) Description (Table P376)
  10298. 15-6 reserved
  10299. 5 host controller halted
  10300. 4 host controller process error
  10301. 3 PCI bus error
  10302. 2 resume received
  10303. 1 USB error interrupt
  10304. 0 USB interrupt
  10305. Note: to clear a bit in this register, write a 1 to it
  10306. SeeAlso: #P375
  10307.  
  10308. Bitfields for Intel 82371SB USB interrupt enable register:
  10309. Bit(s) Description (Table P377)
  10310. 15-4 reserved
  10311. 3 enable short packet interrupts
  10312. 2 enable Interrupt On Complete
  10313. 1 enable Resume
  10314. 0 enable Timeout/CRC
  10315. SeeAlso: #P376,#P378
  10316.  
  10317. Bitfields for Intel 82371SB Frame Number register:
  10318. Bit(s) Description (Table P378)
  10319. 15-11 reserved
  10320. 10-0 Frame List Current Index/Frame Number
  10321. incremented at end of each time frame (~1ms)
  10322. Note: only WORD writes are allowed to this register
  10323. SeeAlso: #P375,#P377
  10324.  
  10325. Bitfields for Intel 82371SB Start of Frame Modify register:
  10326. Bit(s) Description (Table P379)
  10327. 7 reserved
  10328. 6-0 SOF timing value (default 64)
  10329. Note: SOF cycle time equals 11936+timing value
  10330. SeeAlso: #P375
  10331.  
  10332. Bitfields for Intel 82371SB Port 1/2 status/control register:
  10333. Bit(s) Description (Table P380)
  10334. 15-13 reserved (0)
  10335. 12 suspend port
  10336. 11-10 reserved
  10337. 9 port in Reset State
  10338. 8 low-speed device is attached (read-only)
  10339. 7 reserved (1)
  10340. 6 resume detected (read-only)
  10341. 5-4 line status (read-only)
  10342. bit 4: D+ signal line
  10343. bit 5: D- signal line
  10344. 3 port enabled/disabled status has changed
  10345. write 1 to this bit to clear it
  10346. 2 port is enabled
  10347. 1 connect status has changed
  10348. write 1 to this bit to clear it
  10349. 0 current connect status (read-only)
  10350. Note: only WORD writes are permitted to this register
  10351. SeeAlso: #P375
  10352. --------p-Pxxxx------------------------------
  10353. PORT xxxx - AMD-645 - Power Management Control/Status Registers
  10354. Range: anywhere on ???-byte boundary
  10355. SeeAlso: #0848,#0849
  10356. --------!---CREDITS--------------------------
  10357. Wim Osterholt <wim@djo.wtm.tudelft.nl> Original File
  10358. Chuck Proctor <71534.2302@CompuServe.COM>
  10359. Richard W. Watson <73042.1420@CompuServe.COM>
  10360. Matthias Paul <mpaul@ibh.rwth-aachen.de>
  10361. Serguei Shtyliov <serge.fido@coudert.msk.ru> Xirlink XL-22x
  10362. Serguei Shtyliov <serge.fido@coudert.msk.ru> TMC-16x0 SCSI
  10363. Serguei Shtyliov <serge.fido@coudert.msk.ru> AHA-154x SCSI
  10364. MPU-401 MIDI
  10365.  
  10366. Some of the information in this list was extracted from Frank van Gilluwe's
  10367. _The_Undocumented_PC_, a must-have book for anyone programming down to the
  10368. "bare metal" of a PC.
  10369.  
  10370. Some of the information in this list from the shareware version of Dave
  10371. Williams' DOSREF, v3.0.
  10372.  
  10373. 8514/A hardware ports found in FractInt v18.0 source file FR8514A.ASM
  10374.  
  10375. Compaq QVision info from the _COMPAQ_QVision_Graphics_System_Technical_
  10376. _Reference_Guide_, second edition (October 1993). Compaq part number
  10377. 073A/0693. Much more to come!
  10378.  
  10379. AMI keyboard controller PORT 0064h commands from the American Megatrends, Inc.
  10380. _Version_KF_and_KH_Keyboard_Controller_BIOS_Reference_, available on the
  10381. AMI BBS and american.megatrends.com as KFKHMAN.ZIP.
  10382.  
  10383. Various chipset infos from "Het BIOS Boekje" 2nd edition, by Alle Metzlar,
  10384. ISBN 90-72260-59-7 (1995).
  10385.  
  10386. ATA-3 info from "AT Attachment-3 Interface (ATA-3) Revision 1", dated
  10387. April 21, 1995.
  10388.  
  10389. Some additional EISA info from _EISA_System_Architecture_ (second edition),
  10390. by MindShare, Inc. (Addison-Wesley 1995, ISBN 0-201-40995-X).
  10391.  
  10392. AMI BIOS diagnostics codes (port 0080h) from file CHECKPTS on AMI BBS.
  10393.  
  10394. Some S3 and additional ATI Mach8/Mach32 info from Richard F. Ferraro's
  10395. _Programmer's_Guide_to_the_EGA,_VGA,_and_Super_VGA_Cards_, third edition.
  10396.  
  10397. PCnet-ISA info from _Am79C960_PCnet-ISA(tm)_Technical_Manual_, May 1992,
  10398. available from www.amd.com as 16850B.PDF; additional details from file
  10399. 16907B.PDF.
  10400.  
  10401. PCnet-SCSI info from _Am79C974 PCnet(tm)-SCSI_Combination_Ethernet_and_SCSI_
  10402. _Controller_for_PCI_Systems_, available from www.amd.com as 18681B.PDF.
  10403.  
  10404. PCnet-FAST info from _Am79C971 PCnet(tm)-FAST_Single-Chip_Full-Duplex_10/100_
  10405. _Mbps_Ethernet_Controller_for_PCI_Local_Bus_, available from www.amd.com as
  10406. 20550B.PDF.
  10407.  
  10408. S.M.A.R.T. information from _Self-Monitoring,_Analysis,_and_Reporting_
  10409. _Technology_(S.M.A.R.T.)_(SFF-8035i)_, Revision 2.0, April 1, 1996.
  10410. Available as 8035r2_0.PDF from fission.dt.wdc.com/pub/standards/SFF/.
  10411.  
  10412. A variety of ports from Frank van Giluwe's _The_Undocumented_PC_, second
  10413. edition.
  10414.  
  10415. AWARD Plug-and-Play POST codes from
  10416. http://www.asus.com.tw/Products/TECHREF/BIOS/pnp-post.html Added 24aug97.
  10417.  
  10418. AWARD non-Plug-and-Play POST codes from
  10419. http://www.asus.com.tw/Products/TECHREF/BIOS/npnp-post.html Added 24aug97.
  10420.  
  10421. OPTi 82C206 configuration register from
  10422. ftp://ftp.opti.com/pub/chipsets/archive/206/Db026_01.pdf.
  10423. Added by Ralf Brown, 05sep97.
  10424.  
  10425. OPTi 82C281/2 data from "OPTI Cache Sx/AT: 82C281 Data Book", Revision 1.1,
  10426. 22aug91. Available as ftp://ftp.opti.com/pub/chipsets/archive/206/82c281.pdf.
  10427. Added by Ralf Brown, 05sep97.
  10428.  
  10429. OPTi 82C283 data from "82C283: 386SX System Controller", available as
  10430. ftp://ftp.opti.com/pub/chipsets/archive/283/Db012_10.pdf.
  10431. Added by Ralf Brown, 05sep97.
  10432.  
  10433. OPTi 82C291 data from "82C291: SXWB PC/AT Chipset", available as
  10434. ftp://ftp.opti.com/pub/chipsets/archive/291/Db011_10.pdf.
  10435. Added by Ralf Brown, 05sep97.
  10436.  
  10437. OPTi 82C295 data from "82C295: SLCWB PC/AT Chipset", available as
  10438. ftp://ftp.opti.com/pub/chipsets/archive/295/Db010_10.pdf.
  10439.  
  10440. OPTi 82C381/82C382 data from "HiD/386 AT Chipset", available as
  10441. ftp://ftp.opti.com/pub/chipsets/archive/381/82c381.pdf. (to be added)
  10442.  
  10443. OPTi 82C391/82C392 data from "OPTi-386WB PC/AT Chipset: 82C391/82C392 Data
  10444. Book", Version 1.1, 19dec90, available as
  10445. ftp://ftp.opti.com/pub/chipsets/archive/391/82c391.pdf. (to be added)
  10446.  
  10447. OPTi 82C463MV data from "Mixed Voltage Single Chip Notebook: 82C463MV Data
  10448. Book", Version 1.0b, 30sep93, available as
  10449. ftp://ftp.opti.com/pub/chipsets/archive/463/Db463mv.pdf. (to be added)
  10450.  
  10451. OPTi 82C491/82C392 data from "OPTi-486WB PC/AT Chipset", Version 1.1, 26apr91,
  10452. available as ftp://ftp.opti.com/pub/chipsets/archive/491/Db491_11.pdf.
  10453. (to be added)
  10454.  
  10455. OPTi 82C465MV/MVA/MVB data from "";
  10456. ftp://ftp.opti.com/pub/chipsets/system/465/db016_20.pdf. (to be added)
  10457.  
  10458. OPTi 82C493/82C392 data from "OPTi-486SXWB PC/AT Chipset", Version 1.1,
  10459. 16aug91; ftp://ftp.opti.com/pub/chipsets/archive/493/82c493_392.pdf.
  10460. (to be added)
  10461.  
  10462. OPTi "Vendetta" (82C750) data from "Vendetta Single-Chip MultiMedia PC
  10463. Solution: Preliminary Data Book"; available as
  10464. ftp://ftp.opti.com/pub/chipsets/system/vendetta/pd020_20.pdf. (to be added)
  10465.  
  10466. OPTi "FireLink" (82C861) data from "FireLink / FireBlast 82C861/82C871
  10467. PCI-to-USB Bus Bridges: Preliminary Data Book"; available as
  10468. ftp://ftp.opti.com/pub/chipsets/system/861/pd022_20.pdf. (to be added)
  10469.  
  10470. OPTi "FireFox" (82C824) data from "FireFox 82C824 32-bit PC Card Controller:
  10471. Preliminary Data Book", Revision 3.0, 26aug96; available as
  10472. ftp://ftp.opti.com/pub/chipsets/system/824/pd013_30.pdf. (to be added)
  10473.  
  10474. OPTi "FireBridge 2" (82C825) data from "FireBridge II 82C825 Docking Station
  10475. Controller Data Book", Revision 1.0, 27jun97; available as
  10476. ftp://ftp.opti.com/pub/chipsets/system/825/db046_10.pdf. (to be added)
  10477.  
  10478. OPTi "FireFly" (82C852) data from "FireFly 82C852 16-bit PC Card Controller:
  10479. Preliminary Data Book", Revision 1.0, 6jun96; available as
  10480. ftp://ftp.opti.com/pub/chipsets/system/852/pd018_10.pdf. (to be added)
  10481.  
  10482. OPTi "Viper" (82C556/557/558) chipset data from "Viper-DP Desktop Chipset for
  10483. the 3.3V Pentium Processor, M1 and K5 Processors: Data Book", Revision 1.0,
  10484. 1/95; ftp://ftp.opti.com/pub/chipsets/archive/viper/Db023_10.pdf. (to be added)
  10485. --------!---Admin----------------------------
  10486. Highest Table Number = P382
  10487. --------!---FILELIST-------------------------
  10488. Please redistribute all of the files comprising the interrupt list (listed at
  10489. the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
  10490. quartet of archives named INTER55A through INTER55D (preferably the original
  10491. authenticated PKZIP archives), and the utility and hypertext programs in a trio
  10492. of additional archives called INTER55E.ZIP to INTER55G.ZIP.
  10493.  
  10494. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 Ralf Brown
  10495. --------!---CONTACT_INFO---------------------
  10496. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  10497. UUCP: {uunet,harvard}!pobox.com!ralf
  10498. FIDO: Ralf Brown 1:129/26.1
  10499. or post a message to me in the DR_DEBUG echo (I probably won't see it
  10500. unless you address it to me)
  10501. CIS: >INTERNET:ralf@pobox.com
Add Comment
Please, Sign In to add comment