Browse Source

Merge pull request #31 from ReZeroS/main

add x86-interrupt-list & try git gc
pull/34/head
闪客sun 3 years ago
committed by GitHub
parent
commit
c4a691ad18
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      .gitignore
  2. 85
      一些非必要的资料/x86-interrupt-list/README.md
  3. 6165
      一些非必要的资料/x86-interrupt-list/dvint43/DVINT.LST
  4. 7
      一些非必要的资料/x86-interrupt-list/dvint43/FILE_ID.DIZ
  5. 1878
      一些非必要的资料/x86-interrupt-list/dvint43/INTERRUP.1ST
  6. 415
      一些非必要的资料/x86-interrupt-list/dvint43/RBROWN.TXT
  7. 31
      一些非必要的资料/x86-interrupt-list/faq.lst
  8. 10
      一些非必要的资料/x86-interrupt-list/inter61a/FILE_ID.DIZ
  9. 9492
      一些非必要的资料/x86-interrupt-list/inter61a/INTERRUP.A
  10. 9839
      一些非必要的资料/x86-interrupt-list/inter61a/INTERRUP.B
  11. 9446
      一些非必要的资料/x86-interrupt-list/inter61a/INTERRUP.C
  12. 7948
      一些非必要的资料/x86-interrupt-list/inter61a/INTERRUP.D
  13. 30
      一些非必要的资料/x86-interrupt-list/inter61a/NEEDHELP.TXT
  14. 262
      一些非必要的资料/x86-interrupt-list/inter61a/OVERVIEW.LST
  15. 487
      一些非必要的资料/x86-interrupt-list/inter61a/RBROWN.TXT
  16. 18
      一些非必要的资料/x86-interrupt-list/inter61a/README.1
  17. 76
      一些非必要的资料/x86-interrupt-list/inter61a/README.NOW
  18. 25
      一些非必要的资料/x86-interrupt-list/inter61a/SAMPLE.FLT
  19. 19
      一些非必要的资料/x86-interrupt-list/inter61a/SAMPLE1.FLT
  20. 17
      一些非必要的资料/x86-interrupt-list/inter61a/SAMPLE2.FLT
  21. 184
      一些非必要的资料/x86-interrupt-list/inter61a/TABLES.LST
  22. 112
      一些非必要的资料/x86-interrupt-list/inter61a/_ADVERT.TXT
  23. 10
      一些非必要的资料/x86-interrupt-list/inter61b/FILE_ID.DIZ
  24. 1074
      一些非必要的资料/x86-interrupt-list/inter61b/GLOSSARY.LST
  25. 10000
      一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.E
  26. 7470
      一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.F
  27. 9112
      一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.G
  28. 7322
      一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.H
  29. 3714
      一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.I
  30. 10
      一些非必要的资料/x86-interrupt-list/inter61b/README.2
  31. 36
      一些非必要的资料/x86-interrupt-list/inter61c/CATEGORY.KEY
  32. 2178
      一些非必要的资料/x86-interrupt-list/inter61c/FARCALL.LST
  33. 10
      一些非必要的资料/x86-interrupt-list/inter61c/FILE_ID.DIZ
  34. 1629
      一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.1ST
  35. 9201
      一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.J
  36. 6210
      一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.K
  37. 9449
      一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.L
  38. 9968
      一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.M
  39. 9514
      一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.N
  40. 135
      一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.PRI
  41. BIN
      一些非必要的资料/x86-interrupt-list/inter61c/INTPRINT.COM
  42. 3606
      一些非必要的资料/x86-interrupt-list/inter61c/MEMORY.LST
  43. 2190
      一些非必要的资料/x86-interrupt-list/inter61c/MSR.LST
  44. 17
      一些非必要的资料/x86-interrupt-list/inter61c/README.3
  45. 291
      一些非必要的资料/x86-interrupt-list/inter61c/SMM.LST
  46. 27
      一些非必要的资料/x86-interrupt-list/inter61d/86BUGS.DOC
  47. 3004
      一些非必要的资料/x86-interrupt-list/inter61d/86BUGS.LST
  48. 1259
      一些非必要的资料/x86-interrupt-list/inter61d/BIBLIO.LST
  49. 2015
      一些非必要的资料/x86-interrupt-list/inter61d/CMOS.LST
  50. BIN
      一些非必要的资料/x86-interrupt-list/inter61d/COMBINE.COM
  51. 38
      一些非必要的资料/x86-interrupt-list/inter61d/COMBINE.DOC
  52. 10
      一些非必要的资料/x86-interrupt-list/inter61d/FILE_ID.DIZ
  53. 3563
      一些非必要的资料/x86-interrupt-list/inter61d/I2C.LST
  54. 8246
      一些非必要的资料/x86-interrupt-list/inter61d/INTERRUP.O
  55. 9205
      一些非必要的资料/x86-interrupt-list/inter61d/INTERRUP.P
  56. 9866
      一些非必要的资料/x86-interrupt-list/inter61d/INTERRUP.Q
  57. 5171
      一些非必要的资料/x86-interrupt-list/inter61d/INTERRUP.R
  58. 293
      一些非必要的资料/x86-interrupt-list/inter61d/INTPRINT.DOC
  59. 33936
      一些非必要的资料/x86-interrupt-list/inter61d/OPCODES.LST
  60. BIN
      一些非必要的资料/x86-interrupt-list/inter61d/PGP-SIGS.ZIP
  61. 9789
      一些非必要的资料/x86-interrupt-list/inter61d/PORTS.A
  62. 9548
      一些非必要的资料/x86-interrupt-list/inter61d/PORTS.B
  63. 4556
      一些非必要的资料/x86-interrupt-list/inter61d/PORTS.C
  64. 21
      一些非必要的资料/x86-interrupt-list/inter61d/README.4
  65. BIN
      一些非必要的资料/x86-interrupt-list/inter61e/86BUGS04.ZIP
  66. 494
      一些非必要的资料/x86-interrupt-list/inter61e/COMBINE.ASM
  67. 10
      一些非必要的资料/x86-interrupt-list/inter61e/FILE_ID.DIZ
  68. BIN
      一些非必要的资料/x86-interrupt-list/inter61e/II.ZIP
  69. BIN
      一些非必要的资料/x86-interrupt-list/inter61e/ILINA100.ZIP
  70. 723
      一些非必要的资料/x86-interrupt-list/inter61e/INT.C
  71. BIN
      一些非必要的资料/x86-interrupt-list/inter61e/INT.COM
  72. BIN
      一些非必要的资料/x86-interrupt-list/inter61e/INTHLP10.ZIP
  73. 1671
      一些非必要的资料/x86-interrupt-list/inter61e/INTLIST.E
  74. 2376
      一些非必要的资料/x86-interrupt-list/inter61e/INTPRINT.C
  75. BIN
      一些非必要的资料/x86-interrupt-list/inter61e/INTSUM16.ZIP
  76. BIN
      一些非必要的资料/x86-interrupt-list/inter61e/IVIEW102.ZIP
  77. 40
      一些非必要的资料/x86-interrupt-list/inter61e/README.5
  78. BIN
      一些非必要的资料/x86-interrupt-list/inter61e/VIEWINTL.ZIP
  79. 10
      一些非必要的资料/x86-interrupt-list/inter61f/FILE_ID.DIZ
  80. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/HINTSRCH.ZIP
  81. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/IL2ME102.ZIP
  82. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/INT2GUID.ZIP
  83. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/INT2HLP.ZIP
  84. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/INT2IPF.ZIP
  85. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/INT2QH.ZIP
  86. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/INT2RTF.ZIP
  87. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/INT2TPH.ZIP
  88. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/INT2WHLP.ZIP
  89. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/INTERRUP.ICO
  90. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/RB2NG116.ZIP
  91. 50
      一些非必要的资料/x86-interrupt-list/inter61f/README.6
  92. BIN
      一些非必要的资料/x86-interrupt-list/inter61f/WH_ED122.ZIP
  93. 17
      一些非必要的资料/x86-interrupt-list/rbpci119/10040005.PCI
  94. 20
      一些非必要的资料/x86-interrupt-list/rbpci119/10040006.PCI
  95. 19
      一些非必要的资料/x86-interrupt-list/rbpci119/10110009.PCI
  96. 20
      一些非必要的资料/x86-interrupt-list/rbpci119/10110014.PCI
  97. 24
      一些非必要的资料/x86-interrupt-list/rbpci119/10421000.PCI
  98. 271
      一些非必要的资料/x86-interrupt-list/rbpci119/11060585.PCI
  99. 266
      一些非必要的资料/x86-interrupt-list/rbpci119/11060598.PCI
  100. 15
      一些非必要的资料/x86-interrupt-list/rbpci119/53338811.PCI

1
.gitignore

@ -0,0 +1 @@
.idea/

85
一些非必要的资料/x86-interrupt-list/README.md

@ -0,0 +1,85 @@
x86 中断函数列表
一开始从 stackoverflow 上找到这个网站:
[http://www.ctyme.com/intr/int.htm](http://www.ctyme.com/intr/int.htm)
但是没找到下载地址,所以又搜了下找到了这个网站[Public Files on FTP.CS.CMU.EDU](https://www.cs.cmu.edu/~ralf/files.html)
目录和文件(可按文本格式打开)按照字母序,比如 `inter61a/INTERRUP.A` 包含了 `INT 00``INT 10`
文中会对指令作出较为详细的描述,以 [最近一篇文章中](https://mp.weixin.qq.com/s/hStc-y-sabP-KwJUDUesTw)的
[INT 13](https://github.com/sunym1993/flash-linux0.11-talk/blob/547ef4b440ff2ed1be2204e459316a39e9a734fc/%E4%B8%80%E4%BA%9B%E9%9D%9E%E5%BF%85%E8%A6%81%E7%9A%84%E8%B5%84%E6%96%99/linux-0.11/boot/bootsect.s#L71)
为例, 可以看到给 `AX` 赋值了 `#0x0200+SETUPLEN -> #0x0204``AH=02`
```assembly
mov ax,#0x0200+SETUPLEN ; service 2, nr of sectors
int 0x13
jnc ok_load_setup ; ok - continue
```
对应在 `inter61a/INTERRUP.B` 找到如下描述,可知 `CF` 用来做错误位设置,clear 时标志成功,
自然猜测接下来的 `jnc` 指令就是为了检查 READ SECTOR(S) INTO MEMORY 这一操作是否成功。
```shell
INT 13 - DISK - READ SECTOR(S) INTO MEMORY
AH = 02h
AL = number of sectors to read (must be nonzero)
CH = low eight bits of cylinder number
CL = sector number 1-63 (bits 0-5)
high two bits of cylinder (bits 6-7, hard disk only)
DH = head number
DL = drive number (bit 7 set for hard disk)
ES:BX -> data buffer
Return: CF set on error
if AH = 11h (corrected ECC error), AL = burst length
CF clear if successful
AH = status (see #00234)
AL = number of sectors transferred (only valid if CF set for some
BIOSes)
Notes: errors on a floppy may be due to the motor failing to spin up quickly
enough; the read should be retried at least three times, resetting
the disk with AH=00h between attempts
most BIOSes support "multitrack" reads, where the value in AL
exceeds the number of sectors remaining on the track, in which
case any additional sectors are read beginning at sector 1 on
the following head in the same cylinder; the MSDOS CONFIG.SYS command
MULTITRACK (or the Novell DOS DEBLOCK=) can be used to force DOS to
split disk accesses which would wrap across a track boundary into two
separate calls
the IBM AT BIOS and many other BIOSes use only the low four bits of
DH (head number) since the WD-1003 controller which is the standard
AT controller (and the controller that IDE emulates) only supports
16 heads
AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more
than 1024 cylinders by placing bits 10 and 11 of the cylinder number
into bits 6 and 7 of DH
under Windows95, a volume must be locked (see INT 21/AX=440Dh/CX=084Bh)
in order to perform direct accesses such as INT 13h reads and writes
all versions of MS-DOS (including MS-DOS 7 [Windows 95]) have a bug
which prevents booting on hard disks with 256 heads (FFh), so many
modern BIOSes provide mappings with at most 255 (FEh) heads
some cache drivers flush their buffers when detecting that DOS is
bypassed by directly issuing INT 13h from applications. A dummy
read can be used as one of several methods to force cache
flushing for unknown caches (e.g. before rebooting).
BUGS: When reading from floppies, some AMI BIOSes (around 1990-1991) trash
the byte following the data buffer, if it is not arranged to an even
memory boundary. A workaround is to either make the buffer word
aligned (which may also help to speed up things), or to add a dummy
byte after the buffer.
MS-DOS may leave interrupts disabled on return from this function.
Apparently some BIOSes or intercepting resident software have bugs
that may destroy DX on return or not properly set the Carry flag.
At least some Microsoft software frames calls to this function with
PUSH DX, STC, INT 13h, STI, POP DX.
on the original IBM AT BIOS (1984/01/10) this function does not disable
interrupts for harddisks (DL >= 80h). On these machines the MS-DOS/
PC DOS IO.SYS/IBMBIO.COM installs a special filter to bypass the
buggy code in the ROM (see CALL F000h:211Eh)
SeeAlso: AH=03h,AH=0Ah,AH=06h"V10DISK.SYS",AH=21h"PS/1",AH=42h"IBM"
SeeAlso: INT 21/AX=440Dh/CX=084Bh,INT 4D/AH=02h
# ···
```

6165
一些非必要的资料/x86-interrupt-list/dvint43/DVINT.LST

File diff suppressed because it is too large

7
一些非必要的资料/x86-interrupt-list/dvint43/FILE_ID.DIZ

@ -0,0 +1,7 @@
DESQview/QEMM Interrupt List, Release 43
A Comprehensive listing of interrupt
calls related to TopView, DESQview,
QEMM, and other Quarterdeck products,
both documented and undocumented.
Contains 110 entries and more than
200 tables.

1878
一些非必要的资料/x86-interrupt-list/dvint43/INTERRUP.1ST

File diff suppressed because it is too large

415
一些非必要的资料/x86-interrupt-list/dvint43/RBROWN.TXT

@ -0,0 +1,415 @@
Public Domain/Freeware/Shareware by Ralf Brown:
The MSDOS Interrupt List
A comprehensive listing of over 6550 functions available through
interrupt calls on IBM PCs and compatibles. Includes both
documented and undocumented functions.
Current version: INTER43A (release 43, 11/6/94)
INTER43B
INTER43C
INTER43D (conversion and utility programs)
DVINT
An extract of the MSDOS Interrupt List containing the DESQview
and QEMM API calls. Updated whenever there have been significant
additions to the DESQview/QEMM calls in the Interrupt List.
Current version: DVINT43 (11/6/94)
RBcomm
A DESQview-aware communications program which sports seamless DSZ,
PCZ, or PUMA/MPt integration for file transfers; ANSI/VT102, VT52,
and AVATAR emulation (including 132 columns); speeds to 115200 bps;
a powerful macro language; dialing directory; ANSI music; and
more. Runs in 65K with DSZ, 46K without. While it works under
plain DOS, additional features are available under DESQview.
Current version: RBCOM341 (v3.41 1/10/93)
SPAWNO
A replacement for the Turbo C and Microsoft C spawn..() functions
which swaps the current program to disk, EMS, XMS, or raw extended
memory while the spawned program executes, leaving less than 300
bytes in memory. Also includes a variant for Turbo Pascal v4.0 or
higher.
Current version: SPWNO413 (v4.13 12/12/92)
Price: libraries free, full source code $100.
RBkeyswap
Exchange left control and CapsLock keys, as well as Esc and `/~.
Loads itself high, using just 64 bytes; needs only 128 bytes low
if no high memory is available.
Current version: RBKEYSWP (v2.0 6/22/91; v3.0 included in AMISLIB)
AMISLIB
Public Domain library (with full source code and five sample TSRs)
for creating self-highloading TSRs which may be unloaded in any
order. Up to 256 TSRs created with AMISLIB may be installed
simultaneously, and TSRs can be as small as 128 bytes resident,
1.4K on disk. One of the sample TSRs is a popup which accesses
DOS.
Current version: AMISL091 (v0.91 10/16/92)
DV-GLUE
DESQview API bindings for Turbo C.
Current version: DVGLUE10 (source)
DVGLUL10 (compiled)
DVGLU101 (update) (v1.01 8/12/88)
Note: a very early beta of the next release is available on
FTP.CS.CMU.EDU and SoundingBoard (1/3/93)
DVKPOLL
"Poor man's version" of TAME. Makes programs give up CPU time when
they are in an idle loop polling the keyboard for keystrokes.
Current version: DVKPOLL2 (6/18/88)
Note: This program has been superseded by DVPTAME.
DVPTAME
"Not-so-poor man's version" of TAME. Tells DESQview to give the
remainder of a time slice away if the program is in an idle loop
polling the keyboard for keystrokes. Uses 0 bytes of memory.
Current version: DVPTAME (6/4/91)
DVdevload
Load device drivers only in those DESQview windows which need the
services of the driver, reducing the pre-DESQview overhead and thus
permitting larger DESQview windows.
Current version: DVDEVL12 (v1.20 1/3/93)
Note: as of DESQview 2.40, Quarterdeck's DEVICE.COM is able to install
drivers into the device chain in the same manner as DVdevload;
however, DEVICE uses eight times as much memory as DVdevload and
has a serious interaction with 4DOS/NDOS that can lead to system
crashes.
RBspeed
Switch the CPU speed of an Intel Pentium motherboard using the
"Neptune" chipset. Public Domain.
Current version: RBSPEED1 (v1.00 9/8/94)
SPTURBO
An integrated environment for Borland's Sprint word processor and
Turbo C, Turbo Pascal, Turbo Assembler, Turbo Debugger, and CDECL.
Knows which compiler to invoke based on the file's extension, and
can run MAKE for multi-file projects.
Current version: SPTURBO (v2.3 Aug 1,1989)
Note: Do not expect any updates, as I no longer use Sprint as a
programming environment.
PURGEMSG
Delete or copy *.MSG files such that you only see those messages
from a Fidonet echomail area which interest you.
Current version: PURGEMSG (v1.00, 8/4/91)
Note: beginning 1/1/91, all packages are distributed in PKZIP archives with
authenticity verification (v1.1 before 4/1/93, v2.0 after). Please
redistribute only the original archives to preserve the authenticity
information. If you receive an archive dated after 1/1/91 which fails
the authenticity check, you should treat it with caution. If you
receive an archive which passes the PKZIP check but displays an
authenticity code other than NWS235, then the archive has been
deliberately tampered with and should be deleted IMMEDIATELY.
-------------
Availability:
-------------
On the Internet, by standard anonymous FTP from FTP.CS.CMU.EDU [128.2.206.173].
Change directly to directory /afs/cs.cmu.edu/user/ralf/pub with a
single command (directories above this are not accessible via
anonymous FTP). [DV-GLUE is not available here]
Don't forget to set "binary" mode! If you are refused access to
the directory, try again later; a fileserver may have been down.
If connected to AFS, you can simply perform standard Unix/VMS/whatever
directory listing and file copies from the above directory.
On FIDOnet, from Soundingboard BBS 1:129/26 1-412-621-4604 28.8k HST, file req.
My programs are kept in file area 8 for those wishing to download
manually.
Alternate Distribution Points (new versions will be available here
usually within 24 hours of release):
Internet: SimTel Software Repository mirrors in directories /pub/msdos/X.
X is 'info' for the Interrupt List, 'modem' for RBcomm, 'c' for
SPAWNO, 'asmutl' for AMISLIB, 'desqview' for DV-GLUE/DVKPOLL/DVPTAME,
and 'sprint' for SPTURBO. Note that you must use mode "binary" to
successfully FTP the files. The SimTel mirror sites include
oak.oakland.edu [141.210.10.117], wuarchive.wustl.edu [128.252.135.4],
ftp.uu.net [137.39.1.9], nic.funet.fi [128.214.6.100],
src.doc.ic.ac.uk [146.169.3.7] and archie.au [139.130.4.6].
FIDO: SyncPoint BBS 1:261/1008 1-410-529-2584 File Requests.
Bitnet users may also retrieve items on SimTel via the following automated
mail servers:
(in the US) LISTSERV@RPITSVM (alias VM.ITS.RPI.EDU)
LISTSERV@NDSUVM1 (alias VM1.NODAK.EDU)
(in Europe) TRICKLE@AWIWUW11 (Austria)
TRICKLE@BANUFS11 (Belgium)
TRICKLE@DKTC11 (Denmark)
TRICKLE@FRMOP11 (France)
TRICKLE@DEARN (Germany)
TRICKLE@IMIPOLI (Italy)
TRICKLE@HEARN (Netherlands)
TRICKLE@EB0UB011 (Spain)
TRICKLE@SEARN (Sweden)
TRICKLE@TREARN (Turkey)
(elsewhere) TRICKLE@UNALCOL (Colombia)
TRICKLE@TAUNIVM (Israel)
Send a mail message containing the line
/HELP
in the body for instructions.
DV-GLUE, DVKPOLL, DVINT, DVPTAME, DVdevload, and RBcomm are also available on
Fidonet BBSs belonging to DVNet (listed below).
The Interrupt List and SPAWNO are also available on Fidonet BBSs belonging
to the Programmer's Distribution Network. Selected PDN member boards as of
January 1, 1993:
Tustin, CA 1:103/208 Homer 14400 HST/V32bis
La Palma, CA 1:103/234 The General Store 2400
Sunnyvale, CA 1:143/226 The Rabbit's Foot 9600 HST
San Diego, CA 1:202/302 Gandalf's 9600 HST
Marysville, CA 1:203/988 Amber Shadow 9600 HST
Honolulu, HI 1:345/2 Coconuts BBS 9600 HST
Enon, OH 1:110/270 The Blue Byte 9600 HST/V32
Palatine, IL 1:115/439 The Midrange System 14400 HST/V32bis
Grove City, OH 1:226/5300 MARDUK IV 14400 HST/V32bis
Canton, IL 1:232/26 The Proving Grounds 14400 HST/V32bis
Ottawa, ON 1:163/211 Ned's Opus 14400 HST/V32bis
Dumont, NJ 1:107/557 County Jail ][ 14400 HST/V32bis
Glen Falls, NY 1:267/54 The Final Frontier 9600 HST
Albany, NY 1:267/169 MCS *USA* 14400 HST/V32bis
Middletown, NY (HQ) 1:272/38 PRISM BBS 14400 HST/V32bis
New York, NY 1:278/707 The Laboratory BBS 14400 HST/V32bis
Greenville, PA 1:2601/513 Thiel College 2400
Mercer, PA 1:2601/531 Last Outpost 14400 HST/V32bis
Morris Plains, NJ 1:2606/583 Atrium Way 14400 HST/V32bis
Kansas City, MO 1:280/8 The Unicorn EIE 9600 HST/V32
Boulder, CO 1:104/415 World Peace BBS 14400 H96/V32bis
Colorado Springs, CO 1:128/60 Programmer's Playhous 14400 HST/V32bis
Merrimack, NH 1:132/130 Outer Limits 9600 HST/V32
Hudson, NH 1:132/159 The Toy Room BBS 9600 HST
Manchester, NH 1:132/122 Echo Beach 9600 HST
Pomfret, CT 1:320/101 Brain Damaged 14400 HST/V32bis
Coventry, RI 1:323/105 Prometheus System 14400 HST/V32bis
Providence, RI 1:323/120 ChowdaNet BBS 14400 HST/V32bis
Lawrence, MA 1:324/121 The Business Card 14400 HST/V32bis
Plainfield, CT 1:327/452 The Plainfield News 14400 HST/V32bis
Wenatchee, WA 1:344/61 Apple Capitol BBS 14400 HST/V32bis
Kindersley, Sask 1:140/501 The Big Electric Cat 14400 HST/V32bis
Nanaimo, BC 1:351/201 MegaByte BBS 14400 HST/V32bis
Crystal River, FL 1:365/12 Gulf Coast BBS 14400 HST/V32bis
Miami, FL 1:135/105 DevPalMiami 14400 HST/V32bis
Chattanooga, TN 1:362/101 STARFIRE COMMAND 14400 HST/V32bis
Caparra Heights, PR 1:367/15 The Island Sun 14400 HST/V32bis
Watkinsville, GA 1:370/510 Route 66 BBS 14400 HST/V32bis
Albany, GA 1:3617/3 Combat Override 9600 HST
Charlotte, NC 1:379/4 Programmer's Assistant 14400 HST/V32bis
Mobile, AL 1:3625/454 On-Line Aft LateNight 14400 HST
Corpus Christi, TX 1:160/140 Gethsemane 14400 HST/V32bis
San Antonio, TX 1:387/255 NUL 14400 HST/V32bis
Tulsa, OK 1:170/403 Software America Inc 14400 HST/V32bis
Walnut Ridge, AR 1:389/10 Phil's BBS 14400 HST/V32bis
Folsom, LA 1:390/3 Northlake Data Xchg 14400 HST/V32bis
Slidell, LA 1:390/11 The City O' Jazz 9600 HST/V32
Muskogee, OK 1:3813/309 Brushy Mountain BBS 9600 HST
---Europe---
Emmen, NL 2:282/1 Garfield's Home 14400 HST/V32bis
Enschede, NL 2:283/100 HAMLOT Services Brd 14400 HST/V32bis
Maaseik, Belgium 2:292/100 FD-Help 14400 HST/V32bis
Bologna, Italy 2:332/403 Active Line I 14400 HST/V32bis
Pisa, Italy 2:332/602 WolfNet Point's Line V32/PEP
Pisa, Italy 2:332/612 WolfNet Line #1 9600 HST/V32
------------------------------------------------------------------------
DVNet nodes as of August 1994:
DVNet node listing as of AUG 03, 1994
USA
------------------------------ --------- ------------ --------
AK 65'North, Fairbanks 1:355/38 907-452-1460 VFCV32b
AR Phil's BBS, Walnut Ridge 1:389/10 501-886-1701 HSTV32b
AR CrossFire, N Little Rock 1:3821/2 501-791-2993 H16V32b
AR MinnTelligence, Little Rock 1:3821/6 501-664-2237 V32b
AZ Analog Gate, Sierra Vista 1:309/9 602-458-0451 HSTV32
CA Carl's Corner, San Jose 1:10/1 408-248-9704 HSTV32
CA Central Computer Banks, LA 1:102/851 213-256-0871 HSTV32b
CA Gandalf's, El Cajon 1:202/302 619-466-9505 HSTV32
CA Stingray!, Clovis 1:205/12 209-298-9461 HST
CA Bertha Board, Manteca 1:208/1 209-823-0093 HST
CO Hole in the Wall, Parker 1:104/651 303-841-5515 HSTV32b
CO Prgrmmrs Playhouse, Colo Springs 1:128/60 719-380-8813 HST
CT Treasure Island, Danbury 1:141/730 203-791-8532 HSTV32b
CT Ascii Neighborhood, W Haven 1:141/333 203-934-9852 HST
CT Death's Domain, Enfield 1:142/629 203-749-6103 HSTV32
CT Plainfield News, Plainfield 1:327/452 203-564-8579 HST
DE KnowledgeBase BBS, Wilmington 1:150/360 302-633-4797 HSTV32
FL Stan's Shack, Jacksonville 1:112/5 904-768-3854 HSTV32
FL Silicon Dreams, Bradenton 1:137/200 813-746-7788 V32
FL Jos' Lounge, Naples 1:3630/40 813-592-1535 HSTV32
FL Other World, Tallahassee 1:3605/56 904-668-1092 HST
FL The Dog House, Tamarac 1:369/54 305-720-3637 HSTV32
FL archonRAINBOW, Ft Myers 1:371/13 813-939-3394 HST
FL Strat's Asylum, Cape Canaveral 1:374/12 407-799-0390 HSTV32b
FL E.I.L.C. BBS, Palm Bay 1:374/60 407-676-2998 HSTV32b
FL Southern Systems, Tampa 1:377/9 813-977-7065 HSTV32
GA Galaxy Info System, Atlanta 1:133/411 404-671-1024 V32
GA Code Plus, Warner Robins 1:3611/15 912-953-1053 HSTV32b
GA Combat Override, Albany 1:3617/3 912-883-1421 HST
HI CocoNuts BBS Service, Honolulu 1:345/2 808-845-7054 HSTV32
IA Icarus, Iowa City 1:283/657 319-337-9878 HSTV32
IL Midrange System, Mt Prospect 1:115/439 708-439-9679 HSTV32
IL Buzzard's Roost, Peoria 1:232/17 309-691-5469 HSTV32b
IN Someplace BBS, Indianapolis 1:231/120 317-353-9981 HST
IN Joker's Wild, Indianapolis 1:231/510 317-843-1371 HSTV32
IN The Jokerman BBS, Bluffton 1:236/12 219-824-5628 ZYXV32b
LA My Secret Garden, Shreveport 1:380/5 318-865-4503 H16V32b
LA *Silver Streak RBBS, New Orleans 1:396/15 504-888-6515 HSTV32b
MA Rainbow's Edge, Westwood 1:101/1 617-551-0495 HSTV32
MA Pioneer Valley PCUG1, Amherst 1:321/109 413-256-1037 HST
MA Denis's Opus, Ayer 1:322/2 508-772-6373 HSTV32
MA Waystar BBS, Marlborough 1:322/14 508-481-7147 HST
MA The Business Card, Lawrence 1:324/121 508-682-5329 HSTV32b
MD Addict's Attic, Germantown 1:109/423 301-428-8998 V32
MD AviTechnic ,Lutherville 1:261/662 301-252-0717 HSTV32
MI The Red Eye BBS, Westland 1:2410/213 313-728-0213 V32b
MI Fast Eddies BBS, Monroe 1:2380/101 313-243-0944 ZYXV32b
MN Riverside BBS, Elk River 1:282/1008 612-241-9963 V32
MO Cheswick's, St Louis 1:100/375 314-965-5296 HSTV32
MO Summit Forum, Holt's Summit 1:289/13 314-896-5393 HSTV32
MO Cmos, St Joseph 1:294/1 816-233-1357 HSTV32b
NC Crossed Wires, Dudley 1:3660/809 919-580-7194 H16V32b
NC Psychotronic BBS, Durham 1:3641/1 919-286-7738 HSTV32
NC Programmer's Asstnt, Charlotte 1:379/4 704-544-0010 HST
NH Our BBS Yours and Mine, Derry 1:132/193 603-432-5287 HSTV32b
NJ University BBS, Eatontown 1:107/411 908-544-8193 HSTV32b
NJ Maple Shade Opus, Maple Shade 1:266/12 609-482-8604 HSTV32b
NJ APFL- The BBS, Tenafly 1:2604/306 201-567-6994 HSTV32b
NJ Fleet Street, Somerville 1:2605/625 908-722-8962 V32
NJ Atrium Way, Morris Plains 1:2606/583 201-984-5555 HSTV32
NM Construction Net #6, Los Alamos 1:15/20 505-662-0659 HST
NV $in City Bit Pit, Las Vegas 1:209/711 702-647-4427 HSTV32
NV Danger Zone, Reno 1:213/720 702-828-4907 HSTV32
NY Rivendell * TAP/1, Syracuse 1:260/1 716-646-0227 HSTV32
OH The Mountain Top, Cincinnati 1:108/107 513-921-5568 HST
OH Blue Byte BBS, Enon 1:110/270 513-864-1143 HST
OH Nerd's Nook, Rocky River 1:157/3 216-356-1882 HSTV32b
OH NHampton Data, Cuyahoga Falls 1:157/533 216-928-8565 HSTV32
OH Computer Room, Pickerington 1:226/110 614-861-8377 HSTV32
OH Steel Valley BBS, Girard 1:237/500 216-545-2318 HSTV32
OH The Outer Limits, Chillicothe 1:2220/10 614-772-5520 H16VFC
OH South of the Bauder, Chillicothe 1:2220/70 614-773-2423 H16V32b
OK Ascension, Norman 1:147/46 405-360-4261 HST
OR Bink of an Aye, Portland 1:105/42 503-297-9043 PEPV32
OR Atarian BBS, Portland 1:105/10 503-245-9730 HSTV32
OR Busker's Boneyard, Portland 1:105/14 503-771-4773 PEP
OR Dimension 7, Eugene 1:152/7 503-461-2219 HST
PA The Other BBS, Harrisburg 1:270/101 717-657-2223 HST
PA Walsh Microsys, Philadelphia 1:273/917 215-725-9134 HST
PA Optical Illusion, Allentown 1:273/603 215-797-7409 HSTV32
PA U.S.S. Intrepid, Spring House 1:273/703 215-641-0270 HST
PA Programmer's Haven, Allentown 1:2607/103 610-797-9378 V32BVFC
PA Cheyenne BBS, Upper Darby 1:2614/409 215-544-0819 HSTV32b
PR Island Sun, Caparra Heights 1:367/15 809-783-9542 HST
SC Dreadnaught BBS, Columbia 1:376/50 803-731-3884 V32
SC Special Projects, Beech Island 1:360/13 803-827-1725 HSTV32b
SC Carolina Collections, Sumter 1:3647/1 803-499-4316 HSTV32b
TN EET BBS, Nashville 1:116/24 615-353-3476 HSTV32
TX Conch Opus, Houston 1:106/357 713-667-7213 HSTPCP
TX Inns of Court, Dallas 1:124/6101 214-458-2620 HSTV32
TX Spare Parts, Bedford 1:130/38 817-540-3527 HST
TX Southern Crossroads, Dallas 1:124/4115 817-481-8984 ZYXV32b
TX The Gas Company, Arlington 8:930/201 817-265-8938 HST
TX Wireline, Corpus Christi 1:160/40 512-241-1120 HST
TX Middle Earth, San Antonio 1:382/19 512-835-4848 HST
TX Hair of the Dog, Austin 1:382/44 512-219-9446 V32b
TX Last Chance TBBS, San Antonio 1:387/800 512-822-7519 HST
TX TSTI INFO NET, Waco 1:388/1000 817-799-1570 HST
TX Direct Connect!, Victoria 1:3802/213 512-573-0245 HSTV32b
VA Diving Board, Richmond 1:264/180 804-965-9082 HST
VA Host D, Newport News 1:271/295 804-887-0577 V32b
VA Host D, Newport News 1:271/296 804-887-2490 ZYXV32b
VA Host D, Newport News 1:271/294 804-887-8235 HST
VA ThunderBolt BBS, Fredericksburg 1:274/13 703-373-9289 HST
VA Terrapin Station, Norfolk 1:275/13 804-489-7450 HSTV32b
VT The Ozone Layer, Williston 1:325/118 802-862-5058 HSTV32b
WA Pacifier BBS, Vancouver 1:105/103 206-253-9770 HSTV32
WA Seattle/Everett Hub, Seattle 1:343/300 206-244-8860 HST
WA Sno-Valley SW Exchange, N Bend 1:343/108 206-888-9249 HSTV32
WA Sleepy Hollow BBS, Wenatchee 1:344/78 509-664-4021 V32b
WA Gecko Control, Fairchild AFB 1:346/26 509-244-0944 V32
WA SunDial BBS, Pasco 1:347/7 509-545-1789 HST
WI County Line BBS, W Allis 1:154/100 414-476-8468 HSTV32b
WI The Inn, Chippewa Falls 1:2300/10 715-723-3552 HSTV32b
WY Oregon Trail XRoads, Casper 1:303/5 307-472-3615 H96V32
WY Black Diamond, Greybull 1:15/24 307-682-6944 H14V32b
CANADA
------------------------------ --------- ------------ ----------
AB Logical Solutions, Calgary 1:134/10 403-299-9917 HST
AB Information Corner, Edmonton 1:342/20 403-483-1896 HST
BC Kiwi-Land, Surrey 1:153/909 604-536-0831 H16V32b
MB Polar Bear Heaven Winnipeg 1:348/405 204-837-9704 HST
NB Atlantic Access, St John W 1:255/2 506-635-1964 HST
ON AFI Comm, Nepean 1:163/115 613-829-0282 HST
ON Ned's Opus HST Ottawa 1:163/211 613-523-8965 HST
ON Alpha City BBS, Oshawa 1:229/2 416-579-6302 H14V32b
ON The Aardvark, Burlington 1:259/110 905-332-4127 H16V32b
PQ Arcane BBS, Laval 1:167/116 514-687-9586 HST
SK The DataForce, Regina 1:140/72 306-585-1958 HST
ZONE 2
--------------------------------- --------- -------------- -------
AU ZAP #3/Cuckoo's Nest 2:310/3 43-1-454330 HSTV32b
BE The Optimist, Antwerpen 2:292/856 32-3-2811450 ZYXV32b
DE The 49er's, Wuppertal 2:243/7801 49-202-305803 HST
DE Median, Berlin 2:2410/305 49-30-735148 H16V32Terbo
DE BoersenBox, Friedrichshafen 2:246/8501 49-7541-53191 HSTV32b
FR The Lys Valley, Comines 2:322/2 33-20631262 HSTV32Terbo
GB Enigma Variations, Worcester 2:2/544 44-905-795002 HST
GB GABBS, Gosport Hants 2:251/16 44-705-524805 HSTV32b
GB Komputer Knowledge, Cheddington 2:252/7 44-296-668148 HSTV32
GB Aureal, Market Harborough 2:254/153 44-858-466594 HST
GB Trinity I, Exeter 2:255/112 44-392-495899 HSTV32b
GB Dog & Duck, Hull 2:2503/3 44-482-444650 HSTV32
GB Power BBS, Wrexham Clwyd 2:442/78 44-978-824278 HSTV32b
GB Piston Popper's, Hastings 2:441/80 44-424-853361 HSTV32
IL Small BBS, Jerusalem 2:402/777 V32b
IT Venus, Pavia PV 2:331/318 39-382-575369 V32bZYX
IT Genova 2000, Genova 2:332/201 39-10-3770080 V32b
IT SUBALPINA's_Hub, Torino 2:334/300 39-11-6624400 HSTV32
NL TouchDown, Hoofddorp 2:280/414 31-2503-52030 H14V32b
NL Interface HQ, Den Haag 2:281/506 31-70-3360698 V32b
NL Kiss Software, Almelo 2:283/314 31-5490-13932 ZYXV32b
NL Programmers Support, Helmond 2:2802/108 31-4920-13558 H14V32b
NL Byteline! Systems, Hardinxveld 2:285/101 31-1846-17611 H14V32b
NL DOSSBoss Twente, Delden 2:500/149 31-5407-64701 ZYXV32b
NL The HEKOM Board 2:500/223 31-3483-4072 V32b
NL MotherBoard 2:512/197 31-50-187669 H14V32b
SE Capital City BBS,Haninge 2:201/111 46-8-53043088 H14V32
SE Fenix, Viksj” 2:201/298 46-8-58011629 V32b
ZONE 3
------------------------------ --------- ------------- -------
AU Marwick's MadHouse, Brisbane 3:640/820 61-7-870-2972 PEPV32
AU Sentry, Lane Cove NSW 3:711/401 61-2-428-4687 PEPV32
AU Sentry's Shadow, Lane Cove NSW 3:711/501 61-2-418-6682 V32bTerbo
AU Revelstone BBS, Doveton Vic 3:632/348 61-3-741-2353 PEP
AU Southern Mail CBCS Croyton Vic 3:632/386 61-3-725-1621 PEP
AU COMPUlink, Perth WA 3:690/628 61-9-451-7288 2400
AU Phone Box,Inglewood SA 3:800/854 61-8-3805505 V32
AU OZ-Board, Townsville Qsnlnd 3:640/715 61-77-21-3592 PEPV32RE
ZONE 6
------------------------------ --------- ------------- -------
HK TAIC Maximus Kowloon 6:700/1 85-2-789-1267 PEPV32

31
一些非必要的资料/x86-interrupt-list/faq.lst

@ -0,0 +1,31 @@
Frequently-Asked Questions Release 61 Last Edit 16jul00
Copyright 2000 Ralf Brown
Have a frequently-asked question about interrupts or ports and its answer?
Mail them to me for inclusion in this file (with credit to you).
ralf@pobox.com
---------------------------------------------
Index:
1. Is there an interrupt to get the BIOS serial number as shown on the
power-up screen?
---------------------------------------------
Q1: Is there an interrupt to get the BIOS serial number as shown on the
power-up screen?
A: (Ralf Brown)
There is no general way to get the serial number. In most cases, you
need to know the proper offset in the BIOS image for that particular
make, model, and revision of the BIOS (and that offset may not even
be present in the real-mode image loaded into shadow RAM!).
Further, with a flashable BIOS, it is quite likely that every single
machine that has been updated with a downloadable upgrade from the
Web will have identical serial numbers, assuming they weren't already
identical as shipped from the factory with the original BIOS version.
Because of this, the BIOS serial number is essentially useless for
any identification purposes.
---------------------------------------------
End of File

10
一些非必要的资料/x86-interrupt-list/inter61a/FILE_ID.DIZ

@ -0,0 +1,10 @@
x86/MS-DOS Interrupt List, Release 61
A Comprehensive listing of interrupt
calls, both documented and undocumented,
plus ports/memory/CMOS/etc. Over 9600
entries (plus 5400 tables) in INTER61A
to INTER61D, utility programs and
viewers in INTER61E, and hypertext
conversion progs & WinHelp utilities in
INTER60F. Over 8 million bytes of
text! Released 2000/07/16.

9492
一些非必要的资料/x86-interrupt-list/inter61a/INTERRUP.A

File diff suppressed because it is too large

9839
一些非必要的资料/x86-interrupt-list/inter61a/INTERRUP.B

File diff suppressed because it is too large

9446
一些非必要的资料/x86-interrupt-list/inter61a/INTERRUP.C

File diff suppressed because it is too large

7948
一些非必要的资料/x86-interrupt-list/inter61a/INTERRUP.D

File diff suppressed because it is too large

30
一些非必要的资料/x86-interrupt-list/inter61a/NEEDHELP.TXT

@ -0,0 +1,30 @@
VOLUNTEERS NEEDED
-----------------
15jul00:
I haven't been managing any transcriptions for a while due to lack of
time, but I hope to restart the process this fall. Once I'm ready to
go, I'll contact everyone who has volunteered in the past.
30aug98:
If you've always wanted to show your appreciation of the interrupt
list, but never had anything to contribute before, here's your chance!
I continue to have a need for volunteers to transcribe and condense the
information in various on-line documents into a suitable form for
inclusion in the list. A good job of transcription can save me 90% of
the effort it would otherwise take me, which means that I can get far
more information into the list -- and that helps everyone.
If you're interested in transcribing one or more documents, send me
mail and I'll provide you with the URL and a brief style guide. Let me
know whether you're willing to work on a large document or only a
small(ish) one. As an added incentive, those who contribute at least
120K of additions (roughly equivalent to the info from four motherboard
chipsets; figure around 50 hours of effort) get a free autographed
copy of one of my books.

262
一些非必要的资料/x86-interrupt-list/inter61a/OVERVIEW.LST

@ -0,0 +1,262 @@
[Provided by Bent Lynggaard <lynggaard@risoe.dk>. Last Edit 6/5/94]
This list is a brief description of each of the 256 interrupts. Each
description begins with "INT nn " where "nn" is a two digit hexadecimal
number 00 - FF. For automatic processing, do not rely on the order being
consecutive.
--------!---TITLES---------------------------
INT 00 - CPU-generated - DIVIDE ERROR
INT 01 - CPU-generated - SINGLE STEP; (80386+) - DEBUGGING EXCEPTIONS
INT 02 - external hardware - NON-MASKABLE INTERRUPT
INT 03 - CPU-generated - BREAKPOINT
INT 04 - CPU-generated - INTO DETECTED OVERFLOW
INT 05 - PRINT SCREEN; CPU-generated (80186+) - BOUND RANGE EXCEEDED
INT 06 - CPU-generated (80286+) - INVALID OPCODE
INT 07 - CPU-generated (80286+) - PROCESSOR EXTENSION NOT AVAILABLE
INT 08 - IRQ0 - SYSTEM TIMER; CPU-generated (80286+)
INT 09 - IRQ1 - KEYBOARD DATA READY; CPU-generated (80286,80386)
INT 0A - IRQ2 - LPT2/EGA,VGA/IRQ9; CPU-generated (80286+)
INT 0B - IRQ3 - SERIAL COMMUNICATIONS (COM2); CPU-generated (80286+)
INT 0C - IRQ4 - SERIAL COMMUNICATIONS (COM1); CPU-generated (80286+)
INT 0D - IRQ5 - FIXED DISK/LPT2/reserved; CPU-generated (80286+)
INT 0E - IRQ6 - DISKETTE CONTROLLER; CPU-generated (80386+)
INT 0F - IRQ7 - PARALLEL PRINTER
INT 10 - VIDEO; CPU-generated (80286+)
INT 11 - BIOS - GET EQUIPMENT LIST; CPU-generated (80486+)
INT 12 - BIOS - GET MEMORY SIZE
INT 13 - DISK
INT 14 - SERIAL
INT 15 - CASSETTE
INT 16 - KEYBOARD
INT 17 - PRINTER
INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
INT 19 - SYSTEM - BOOTSTRAP LOADER
INT 1A - TIME
INT 1B - KEYBOARD - CONTROL-BREAK HANDLER
INT 1C - TIME - SYSTEM TIMER TICK
INT 1D - SYSTEM DATA - VIDEO PARAMETER TABLES
INT 1E - SYSTEM DATA - DISKETTE PARAMETERS
INT 1F - SYSTEM DATA - 8x8 GRAPHICS FONT
INT 20 - DOS 1+ - TERMINATE PROGRAM
INT 21 - DOS 1+ - Function Calls
INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
INT 24 - DOS 1+ - CRITICAL ERROR HANDLER
INT 25 - DOS 1+ - ABSOLUTE DISK READ
INT 26 - DOS 1+ - ABSOLUTE DISK WRITE
INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
INT 28 - DOS 2+ - DOS IDLE INTERRUPT
INT 29 - DOS 2+ - FAST CONSOLE OUTPUT
INT 2A - NETBIOS
INT 2B - DOS 2+ - RESERVED
INT 2C - DOS 2+ - RESERVED
INT 2D - DOS 2+ - RESERVED
INT 2E - DOS 2+ - PASS COMMAND TO COMMAND INTERPRETER FOR EXECUTION
INT 2F - Multiplex
INT 30 - (NOT A VECTOR!) - DOS 1+ - FAR JMP instruction
INT 31 - overwritten by CP/M jump instruction in INT 30
INT 32 - (no special use)
INT 33 - MS MOUSE
INT 34 - FLOATING POINT EMULATION - OPCODE D8h
INT 35 - FLOATING POINT EMULATION - OPCODE D9h
INT 36 - FLOATING POINT EMULATION - OPCODE DAh
INT 37 - FLOATING POINT EMULATION - OPCODE DBh
INT 38 - FLOATING POINT EMULATION - OPCODE DCh
INT 39 - FLOATING POINT EMULATION - OPCODE DDh
INT 3A - FLOATING POINT EMULATION - OPCODE DEh
INT 3B - FLOATING POINT EMULATION - OPCODE DFh
INT 3C - FLOATING POINT EMULATION - SEGMENT OVERRIDE
INT 3D - FLOATING POINT EMULATION - STANDALONE FWAIT
INT 3E - FLOATING POINT EMULATION - Borland "SHORTCUT" CALL
INT 3F - Overlay manager interrupt (Microsoft/Borland)
INT 40 - DISKETTE - RELOCATED ROM BIOS DISKETTE HANDLER
INT 41 - SYSTEM DATA - HARD DISK 0 PARAMETER TABLE; CPU - MS Windows
INT 42 - VIDEO - RELOCATED DEFAULT INT 10 VIDEO SERVICES (EGA,VGA)
INT 43 - VIDEO DATA - CHARACTER TABLE (EGA,MCGA,VGA)
INT 44 - VIDEO DATA - CHARACTER FONT (PCjr); Novell NetWare
INT 45 - Z100/Acorn
INT 46 - SYSTEM DATA - HARD DISK 1 DRIVE PARAMETER TABLE
INT 47 - Z100/Acorn/Western Digital/SQL Base
INT 48 - KEYBOARD (PCjr) - Z100/Watstar/Acorn/Western Digital/Compaq
INT 49 - SYSTEM DATA (PCjr) - Z100/TI/Watstar/Acorn/MAGic
INT 4A - SYSTEM - USER ALARM HANDLER
INT 4B - IBM SCSI interface; Virtual DMA Specification (VDS)
INT 4C - Z100/Acorn/TI
INT 4D - Z100
INT 4E - TI/Z100
INT 4F - Common Access Method SCSI
INT 50 - IRQ0 relocated by software
INT 51 - IRQ1 relocated by software
INT 52 - IRQ2 relocated by software
INT 53 - IRQ3 relocated by software
INT 54 - IRQ4 relocated by software
INT 55 - IRQ5 relocated by software
INT 56 - IRQ6 relocated by software
INT 57 - IRQ7 relocated by software
INT 58 - IRQ8/0 relocated by software
INT 59 - IRQ9/1 relocated by software; GSS Computer Graphics Interface
INT 5A - IRQ10/2 relocated by software
INT 5B - IRQ11/3 relocated by software; Network
INT 5C - IRQ12/4 relocated by software; Network Interface
INT 5D - IRQ13/5 relocated by software
INT 5E - IRQ14/6 relocated by software
INT 5F - IRQ15/7 relocated by software; HP 95LX GRAPHICS PRIMITIVES
INT 60 - reserved for user interrupt; multiple purposes
INT 61 - reserved for user interrupt; multiple purposes
INT 62 - reserved for user interrupt; multiple purposes
INT 63 - reserved for user interrupt; multiple purposes
INT 64 - reserved for user interrupt; multiple purposes
INT 65 - reserved for user interrupt; multiple purposes
INT 66 - reserved for user interrupt; multiple purposes
INT 67 - reserved for user interrupt; LIM EMS; multiple purposes
INT 68 - multiple purposes
INT 69 - multiple purposes
INT 6A - multiple purposes
INT 6B - multiple purposes
INT 6C - CONVERTIBLE; DOS 3.2; DECnet DOS network scheduler
INT 6D - VGA - internal
INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
INT 6F - Novell NetWare; 10NET; MS Windows 3.0
INT 70 - IRQ8 - CMOS REAL-TIME CLOCK
INT 71 - IRQ9 - REDIRECTED TO INT 0A BY BIOS
INT 72 - IRQ10 - RESERVED
INT 73 - IRQ11 - RESERVED
INT 74 - IRQ12 - POINTING DEVICE (PS)
INT 75 - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
INT 76 - IRQ14 - HARD DISK CONTROLLER (AT and later)
INT 77 - IRQ15 - RESERVED (AT,PS); POWER CONSERVATION (Compaq)
INT 78 - DOS extenders; multiple purposes
INT 79 - multiple purposes
INT 7A - Novell NetWare; IBM 3270; multiple purposes
INT 7B - multiple purposes
INT 7C - multiple purposes
INT 7D - multiple purposes
INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY; multiple purposes
INT 7F - multiple purposes
INT 80 - reserved for BASIC; multiple purposes
INT 81 - reserved for BASIC
INT 82 - reserved for BASIC
INT 83 - reserved for BASIC
INT 84 - reserved for BASIC
INT 85 - reserved for BASIC
INT 86 - IBM ROM BASIC - used while in interpreter; multiple purposes
INT 87 - IBM ROM BASIC - used while in interpreter
INT 88 - IBM ROM BASIC - used while in interpreter; multiple purposes
INT 89 - IBM ROM BASIC - used while in interpreter
INT 8A - IBM ROM BASIC - used while in interpreter
INT 8B - IBM ROM BASIC - used while in interpreter
INT 8C - IBM ROM BASIC - used while in interpreter
INT 8D - IBM ROM BASIC - used while in interpreter
INT 8E - IBM ROM BASIC - used while in interpreter
INT 8F - IBM ROM BASIC - used while in interpreter
INT 90 - IBM ROM BASIC - used while in interpreter
INT 91 - IBM ROM BASIC - used while in interpreter
INT 92 - IBM ROM BASIC - used while in interpreter; multiple purposes
INT 93 - IBM ROM BASIC - used while in interpreter
INT 94 - IBM ROM BASIC - used while in interpreter; multiple purposes
INT 95 - IBM ROM BASIC - used while in interpreter
INT 96 - IBM ROM BASIC - used while in interpreter
INT 97 - IBM ROM BASIC - used while in interpreter
INT 98 - IBM ROM BASIC - used while in interpreter
INT 99 - IBM ROM BASIC - used while in interpreter
INT 9A - IBM ROM BASIC - used while in interpreter
INT 9B - IBM ROM BASIC - used while in interpreter
INT 9C - IBM ROM BASIC - used while in interpreter
INT 9D - IBM ROM BASIC - used while in interpreter
INT 9E - IBM ROM BASIC - used while in interpreter
INT 9F - IBM ROM BASIC - used while in interpreter
INT A0 - IBM ROM BASIC - used while in interpreter
INT A1 - IBM ROM BASIC - used while in interpreter
INT A2 - IBM ROM BASIC - used while in interpreter
INT A3 - IBM ROM BASIC - used while in interpreter
INT A4 - IBM ROM BASIC - used while in interpreter
INT A5 - IBM ROM BASIC - used while in interpreter
INT A6 - IBM ROM BASIC - used while in interpreter
INT A7 - IBM ROM BASIC - used while in interpreter
INT A8 - IBM ROM BASIC - used while in interpreter
INT A9 - IBM ROM BASIC - used while in interpreter
INT AA - IBM ROM BASIC - used while in interpreter
INT AB - IBM ROM BASIC - used while in interpreter
INT AC - IBM ROM BASIC - used while in interpreter
INT AD - IBM ROM BASIC - used while in interpreter
INT AE - IBM ROM BASIC - used while in interpreter
INT AF - IBM ROM BASIC - used while in interpreter
INT B0 - IBM ROM BASIC - used while in interpreter
INT B1 - IBM ROM BASIC - used while in interpreter
INT B2 - IBM ROM BASIC - used while in interpreter
INT B3 - IBM ROM BASIC - used while in interpreter
INT B4 - IBM ROM BASIC - used while in interpreter
INT B5 - IBM ROM BASIC - used while in interpreter
INT B6 - IBM ROM BASIC - used while in interpreter
INT B7 - IBM ROM BASIC - used while in interpreter
INT B8 - IBM ROM BASIC - used while in interpreter
INT B9 - IBM ROM BASIC - used while in interpreter
INT BA - IBM ROM BASIC - used while in interpreter
INT BB - IBM ROM BASIC - used while in interpreter
INT BC - IBM ROM BASIC - used while in interpreter
INT BD - IBM ROM BASIC - used while in interpreter
INT BE - IBM ROM BASIC - used while in interpreter
INT BF - IBM ROM BASIC - used while in interpreter
INT C0 - IBM ROM BASIC - used while in interpreter
INT C1 - IBM ROM BASIC - used while in interpreter
INT C2 - IBM ROM BASIC - used while in interpreter
INT C3 - IBM ROM BASIC - used while in interpreter
INT C4 - IBM ROM BASIC - used while in interpreter
INT C5 - IBM ROM BASIC - used while in interpreter
INT C6 - IBM ROM BASIC - used while in interpreter
INT C7 - IBM ROM BASIC - used while in interpreter
INT C8 - IBM ROM BASIC - used while in interpreter
INT C9 - IBM ROM BASIC - used while in interpreter
INT CA - IBM ROM BASIC - used while in interpreter
INT CB - IBM ROM BASIC - used while in interpreter
INT CC - IBM ROM BASIC - used while in interpreter
INT CD - IBM ROM BASIC - used while in interpreter
INT CE - IBM ROM BASIC - used while in interpreter
INT CF - IBM ROM BASIC - used while in interpreter
INT D0 - IBM ROM BASIC - used while in interpreter
INT D1 - IBM ROM BASIC - used while in interpreter
INT D2 - IBM ROM BASIC - used while in interpreter
INT D3 - IBM ROM BASIC - used while in interpreter
INT D4 - IBM ROM BASIC - used while in interpreter
INT D5 - IBM ROM BASIC - used while in interpreter
INT D6 - IBM ROM BASIC - used while in interpreter
INT D7 - IBM ROM BASIC - used while in interpreter
INT D8 - IBM ROM BASIC - used while in interpreter
INT D9 - IBM ROM BASIC - used while in interpreter
INT DA - IBM ROM BASIC - used while in interpreter
INT DB - IBM ROM BASIC - used while in interpreter
INT DC - IBM ROM BASIC - used while in interpreter
INT DD - IBM ROM BASIC - used while in interpreter
INT DE - IBM ROM BASIC - used while in interpreter
INT DF - IBM ROM BASIC - used while in interpreter
INT E0 - IBM ROM BASIC - used while in interpreter; multiple purposes
INT E1 - IBM ROM BASIC - used while in interpreter
INT E2 - IBM ROM BASIC - used while in interpreter
INT E3 - IBM ROM BASIC - used while in interpreter
INT E4 - IBM ROM BASIC - used while in interpreter
INT E5 - IBM ROM BASIC - used while in interpreter
INT E6 - IBM ROM BASIC - used while in interpreter
INT E7 - IBM ROM BASIC - used while in interpreter
INT E8 - IBM ROM BASIC - used while in interpreter
INT E9 - IBM ROM BASIC - used while in interpreter
INT EA - IBM ROM BASIC - used while in interpreter
INT EB - IBM ROM BASIC - used while in interpreter
INT EC - IBM ROM BASIC - used while in interpreter
INT ED - IBM ROM BASIC - used while in interpreter
INT EE - IBM ROM BASIC - used while in interpreter
INT EF - BASIC - ORIGINAL INT 09 VECTOR
INT F0 - BASICA.COM, GWBASIC, compiled BASIC - ORIGINAL INT 08 VECTOR
INT F1 - reserved for user interrupt
INT F2 - reserved for user interrupt
INT F3 - reserved for user interrupt
INT F4 - reserved for user interrupt
INT F5 - reserved for user interrupt
INT F6 - reserved for user interrupt
INT F7 - reserved for user interrupt
INT F8 - reserved for user interrupt
INT F9 - reserved for user interrupt
INT FA - reserved for user interrupt
INT FB - reserved for user interrupt
INT FC - reserved for user interrupt
INT FD - reserved for user interrupt
INT FE - AT/XT286/PS50+ - destroyed by return from protected mode
INT FF - AT/XT286/PS50+ - destroyed by return from protected mode

487
一些非必要的资料/x86-interrupt-list/inter61a/RBROWN.TXT

@ -0,0 +1,487 @@
Public Domain/Freeware/Shareware by Ralf Brown:
(URLs for use with your favorite WWW browser are at the end of this file)
The x86/MSDOS Interrupt List
A comprehensive listing of more than 8500 functions available through
interrupt calls on IBM PCs and compatibles. Includes both
documented and undocumented functions, plus lists of I/O port, CMOS,
and memory locations, far-call entry points, model-specific
registers, and system-management mode state save areas.
Current version: INTER61A (release 61, 16jul00)
INTER61B
INTER61C
INTER61D
INTER61E (utility programs)
INTER61F (hypertext conversion programs)
DVINT
An extract of the MSDOS Interrupt List containing the DESQview
and QEMM API calls. Updated whenever there have been significant
additions to the DESQview/QEMM calls in the Interrupt List.
Current version: DVINT43 (06jun94)
RBcomm
A DESQview-aware communications program which sports seamless DSZ,
PCZ, or PUMA/MPt integration for file transfers; ANSI/VT102, VT52,
and AVATAR emulation (including 132 columns); speeds to 115200 bps;
a powerful macro language; dialing directory; ANSI music; and
more. Runs in 65K with DSZ, 47K without. While it works under
plain DOS, additional features are available under DESQview.
Current version: RBCOM346 (v3.46 29jan95)
RBdualVGA
Use two color displays on one PC.
Current version: RBDUAL09 (v0.9 02jun96)
DUAL093S (v0.93 source code, 11sep98)
RBkeyswap
Exchange left control and CapsLock keys, as well as Esc and `/~.
Loads itself high, using just 64 bytes; needs only 128 bytes low
if no high memory is available.
Current version: RBKEYSWP (v2.0 22jun91; v3.0 included in AMISLIB)
RBpci
Print out more than you ever wanted to know about the devices
on the PCI bus inside your computer. All device-specific data
files are plain text, to let you update/customize them yourself
(updates for new chips which are sent to the author will be
included in the following release). Includes full source code
for the program.
Current version: RBPCI119 (v1.19, 10jan99)
SPAWNO
A replacement for the Turbo C and Microsoft C spawn..() functions
which swaps the current program to disk, EMS, XMS, or raw extended
memory while the spawned program executes, leaving less than 300
bytes in memory. Also includes a variant for Turbo Pascal v4.0 or
higher.
Current version: SPWNO413 (v4.13 12dec92)
Price: libraries free, full source code $100.
AMISLIB
Public Domain library (with full source code and five sample TSRs)
for creating self-highloading TSRs which may be unloaded in any
order. Up to 256 TSRs created with AMISLIB may be installed
simultaneously, and TSRs can be as small as 128 bytes resident,
1.4K on disk. One of the sample TSRs is a popup which accesses
DOS.
Current version: AMISL092 (v0.92 24sep95)
DV-GLUE
DESQview API bindings for Turbo/Borland C (also mostly compatible
with MS C).
Current version: DVGLU172 (source & compiled) (v1.72 01oct95)
DVKPOLL
"Poor man's version" of TAME. Makes programs give up CPU time when
they are in an idle loop polling the keyboard for keystrokes.
Current version: DVKPOLL2 (18jun88)
Note: This program has been superseded by DVPTAME.
DVPTAME
"Not-so-poor man's version" of TAME. Tells DESQview to give the
remainder of a time slice away if the program is in an idle loop
polling the keyboard for keystrokes. Uses 0 bytes of memory.
Current version: DVPTAME (04jun91)
DVdevload
Load device drivers only in those DESQview windows which need the
services of the driver, reducing the pre-DESQview overhead and thus
permitting larger DESQview windows.
Current version: DVDEVL12 (v1.20 03jan93)
Note: as of DESQview 2.40, Quarterdeck's DEVICE.COM is able to install
drivers into the device chain in the same manner as DVdevload;
however, DEVICE uses eight times as much memory as DVdevload and
has a serious interaction with 4DOS/NDOS that can lead to system
crashes.
RBspeed
Switch the CPU speed of an Intel Pentium motherboard using the
"Neptune" chipset. Public Domain.
Current version: RBSPEED1 (v1.00 08sep94)
SPTURBO
An integrated environment for Borland's Sprint word processor and
Turbo C, Turbo Pascal, Turbo Assembler, Turbo Debugger, and CDECL.
Knows which compiler to invoke based on the file's extension, and
can run MAKE for multi-file projects.
Current version: SPTURBO (v2.3 Aug 1,1989)
Note: There will be no further updates of this package.
PURGEMSG
Delete or copy *.MSG files such that you only see those messages
from a Fidonet echomail area which interest you.
Current version: PURGEMSG (v1.00, 04aug91)
--------------
Authentication
--------------
Beginning 1/1/91, all packages are distributed in PKZIP archives with
authenticity verification (v1.1 before 4/1/93, v2.0 after). Please
redistribute only the original archives to preserve the authenticity
information. If you receive an archive dated after 1/1/91 which fails
the authenticity check, you should treat it with caution. If you
receive an archive which passes the PKZIP check but displays an
authenticity code other than NWS235, then the archive has been
deliberately tampered with and should be deleted IMMEDIATELY.
Beginning 9/24/95, all packages additionally include detached PGP
signatures in an enclosed archive named PGP-SIGS.ZIP. My PGP keys
are available from http://pobox.com/~ralf/ralf.asc or
ftp://ftp.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/ralf.asc
-------------
Availability:
-------------
On the Internet, by standard anonymous FTP from FTP.CS.CMU.EDU [128.2.206.173].
Change directly to directory /afs/cs.cmu.edu/user/ralf/pub with a
single command (directories above this are not accessible via
anonymous FTP). [DV-GLUE is not available here]
Don't forget to set "binary" mode! If you are refused access to
the directory, try again later; a fileserver may have been down.
If connected to AFS, you can simply perform standard Unix/VMS/whatever
directory listing and file copies from the above directory.
Or visit my home page, and grab the files with your favorite web browser:
http://www.pobox.com/~ralf
On FIDOnet, from Soundingboard BBS 1:129/26 1-412-621-4604 28.8k HST, file req.
My programs are kept in file area 8 for those wishing to download
manually.
Alternate Distribution Points (new versions will be available here
usually within 24 hours of release):
Internet: SimTel Software Repository mirrors in directories /SimTel/msdos/X.
X is 'info' for the Interrupt List, 'modem' for RBcomm, 'c' for
SPAWNO, 'asmutl' for AMISLIB, 'desqview' for DV-GLUE/DVKPOLL/DVPTAME,
and 'sprint' for SPTURBO. Note that you must use mode "binary" to
successfully FTP the files. The SimTel mirror sites include
oak.oakland.edu [141.210.10.117], wuarchive.wustl.edu [128.252.135.4],
ftp.uu.net [137.39.1.9], nic.funet.fi [128.214.6.100],
src.doc.ic.ac.uk [146.169.3.7] and archie.au [139.130.4.6].
Some packages are also on GARBO.UWASA.FI in /pc/programming.
Bitnet users may also retrieve items on SimTel via the following automated
mail servers:
(in the US) LISTSERV@RPITSVM (alias VM.ITS.RPI.EDU)
LISTSERV@NDSUVM1 (alias VM1.NODAK.EDU)
(in Europe) TRICKLE@AWIWUW11 (Austria)
TRICKLE@BANUFS11 (Belgium)
TRICKLE@DKTC11 (Denmark)
TRICKLE@FRMOP11 (France)
BITFTP@BITFTP.BITNET (Germany)
TRICKLE@IMIPOLI (Italy)
TRICKLE@HEARN (Netherlands)
TRICKLE@EB0UB011 (Spain)
TRICKLE@SEARN (Sweden)
TRICKLE@TREARN (Turkey)
(elsewhere) TRICKLE@UNALCOL (Colombia)
TRICKLE@TAUNIVM (Israel)
Send a mail message containing the line
/HELP
in the body for instructions.
DV-GLUE, DVKPOLL, DVINT, DVPTAME, DVdevload, and RBcomm are also available on
Fidonet BBSs belonging to DVNet (listed below).
The Interrupt List and SPAWNO are also available on Fidonet BBSs belonging
to the Programmer's Distribution Network. Selected PDN member boards as of
March, 1998:
1:232/16 Martin Belcke Peoria, IL (http://www.filegate.org) 1-309-672-4430
1:270/101 George Peace Harrisburg, PA -paonline.com (Internet)
1:3615/50 Planet Connect Satellite Systems
1:154/280 EXEC-PC BBS Elm Grove, WI
1:124/3210 Glenn O'Gorman Garland, TX
1:167/132 Roland Larocque Canada
1:115/10 Tom Huber Crystal Lake, IL
1:2320/38 Janis Kracht Louisville, KY (PDN,MISSING,UTIL,PAS,PCB,HAM,STN)
(http://jkracht.aye.net) BBS: 1-502-245-6778
1:272/125 Thomas Gabrinowiz Montgomery, NY
1:140/53 Frank Cox Melville Sask. Canada
1:285/85 Richard Rasmussen Omaha, Nebraska
1:153/9117 Darrell Harder Whiterock, BC
1:321/212 Vern Pero Dalton MA
1:342/52 Vincent Danen Edmonton_AB
1:2605/638 Douglas Vogt Bridewater NJ
1:3803/7 Ben Ritchey Lafayette, LA
2:20/11 Peter Bygden Stockholm, Sweden
2:341/68 Juan Enrique Gomez Madrid, Spain
2:5032/5 Dmitry Maevsky Novgorod, Russia
3:774/605 Barry Blackford Hamilton, NZ
1:133/2 Chuck Robinson Lawrenceville, GA (ftp://ftp.ftbbs.com/fdn)
2:25/75 Graham Print (RAR, T-MAIL, FSFAN)
2:254/61 Dave Carter Croydon, Surrey
2:254/211 Bill Hayles Foots Cray, Kent
2:254/212 Bill Hayles Foots Cray, Kent
2:254/233 Peter Friedlos London
2:254/620 Michael Mehmet London
2:251/21 Mike Forbes Southsea
2:251/50 Jim Reeves Gosport, Hampshire
2:251/101 Roy Arnold Bournemouth
2:251/203 Robert Leach Fareham, Hampshire
2:252/7 Andrew Eaves Princes Risborough, Buckinghamshire
2:252/314 Dwayne Heaton Binfield, Hants
2:252/555 Andrew Chant Farnborough
2:255/1 John Burden Exeter. MNL
2:257/71 Darren Parker Hitchin, Herts
2:443/13 Colin Turner Bangor, Co. Down, N.Ireland
2:481/56 Rafel Slimakowski Poland
2:281/506 Ron Huiskes (SDC,LUX,NOVL,PAS)
2:245/5530 Michael Bauer Mainz, Germany
2:205/498 Bo Jakobsen Alta, Sweeden
2:235/200 Brian Vinberg Copenhagen, Denmark
2:236/64 Richard Hansen Glumsoe, Denmark
2:236/1111 J�rgen llgrd Slangerup, Denmark
2:244/1530 Edgar Schaettle Schwalbach, Germany
2:291/709 Pierre-Claude Demanet Brussels, Belgium
2:292/826 Gerry Van Steerteghem Zoersel, Belgium
2:301/714 Rolf Taschler Zuerich, Switzerland
2:310/700 Sascha Vogt Vienna, Austria
2:333/304 Enzo Gasparini Padova, Italy
2:403/138 Nemrod Kedem Rishon le Zion, Israel
2:2480/220 Uwe Schirm Muenchen, Germany
3:633/2 Malcolm Miles Melbourne Victoria Australia
4:823/1 Adolfo Justiniano Bolivia, South America
4:806/7 Brazil Marcio Gordiano
4:901/148 Argentina Fernando Bertuccelli
4:840/1 Peru Daniel Pizarro
4:851/1 Uruguay Alejandro Hernandez
5:7104/2 Henk Wolsink Port Elizabeth, Rep. of South Africa
6:751/321 Terry Roati Makati City, Philippines
6:750/213 Manila (Albert Godinez)
6:750/401 Kalookan City (Albert Uy)
6:751/15 San Fernando (Jun Martin)
6:751/2 Quezon City (William Villanueva)
6:751/20 Olongapo City (Rudy Ordiz)
6:751/101 Pasig (Victor Reyes)
6:751/222 Greenhills (Stewart Buckingham)
6:751/417 Paranaque (Marco Antonio Cabrazal)
6:754/10 Cebu City (Jojo Sybico)
6:754/201 Bacolod City (Eduardo M Joven)
------------------------------------------------------------------------
DVNet nodes as of August 1994:
DVNet node listing as of AUG 03, 1994
USA
------------------------------ --------- ------------ --------
AK 65'North, Fairbanks 1:355/38 907-452-1460 VFCV32b
AR Phil's BBS, Walnut Ridge 1:389/10 501-886-1701 HSTV32b
AR CrossFire, N Little Rock 1:3821/2 501-791-2993 H16V32b
AR MinnTelligence, Little Rock 1:3821/6 501-664-2237 V32b
AZ Analog Gate, Sierra Vista 1:309/9 602-458-0451 HSTV32
CA Carl's Corner, San Jose 1:10/1 408-248-9704 HSTV32
CA Central Computer Banks, LA 1:102/851 213-256-0871 HSTV32b
CA Gandalf's, El Cajon 1:202/302 619-466-9505 HSTV32
CA Stingray!, Clovis 1:205/12 209-298-9461 HST
CA Bertha Board, Manteca 1:208/1 209-823-0093 HST
CO Hole in the Wall, Parker 1:104/651 303-841-5515 HSTV32b
CO Prgrmmrs Playhouse, Colo Springs 1:128/60 719-380-8813 HST
CT Treasure Island, Danbury 1:141/730 203-791-8532 HSTV32b
CT Ascii Neighborhood, W Haven 1:141/333 203-934-9852 HST
CT Death's Domain, Enfield 1:142/629 203-749-6103 HSTV32
CT Plainfield News, Plainfield 1:327/452 203-564-8579 HST
DE KnowledgeBase BBS, Wilmington 1:150/360 302-633-4797 HSTV32
FL Stan's Shack, Jacksonville 1:112/5 904-768-3854 HSTV32
FL Silicon Dreams, Bradenton 1:137/200 813-746-7788 V32
FL Jos' Lounge, Naples 1:3630/40 813-592-1535 HSTV32
FL Other World, Tallahassee 1:3605/56 904-668-1092 HST
FL The Dog House, Tamarac 1:369/54 305-720-3637 HSTV32
FL archonRAINBOW, Ft Myers 1:371/13 813-939-3394 HST
FL Strat's Asylum, Cape Canaveral 1:374/12 407-799-0390 HSTV32b
FL E.I.L.C. BBS, Palm Bay 1:374/60 407-676-2998 HSTV32b
FL Southern Systems, Tampa 1:377/9 813-977-7065 HSTV32
GA Galaxy Info System, Atlanta 1:133/411 404-671-1024 V32
GA Code Plus, Warner Robins 1:3611/15 912-953-1053 HSTV32b
GA Combat Override, Albany 1:3617/3 912-883-1421 HST
HI CocoNuts BBS Service, Honolulu 1:345/2 808-845-7054 HSTV32
IA Icarus, Iowa City 1:283/657 319-337-9878 HSTV32
IL Midrange System, Mt Prospect 1:115/439 708-439-9679 HSTV32
IL Buzzard's Roost, Peoria 1:232/17 309-691-5469 HSTV32b
IN Someplace BBS, Indianapolis 1:231/120 317-353-9981 HST
IN Joker's Wild, Indianapolis 1:231/510 317-843-1371 HSTV32
IN The Jokerman BBS, Bluffton 1:236/12 219-824-5628 ZYXV32b
LA My Secret Garden, Shreveport 1:380/5 318-865-4503 H16V32b
LA *Silver Streak RBBS, New Orleans 1:396/15 504-888-6515 HSTV32b
MA Rainbow's Edge, Westwood 1:101/1 617-551-0495 HSTV32
MA Pioneer Valley PCUG1, Amherst 1:321/109 413-256-1037 HST
MA Denis's Opus, Ayer 1:322/2 508-772-6373 HSTV32
MA Waystar BBS, Marlborough 1:322/14 508-481-7147 HST
MA The Business Card, Lawrence 1:324/121 508-682-5329 HSTV32b
MD Addict's Attic, Germantown 1:109/423 301-428-8998 V32
MD AviTechnic ,Lutherville 1:261/662 301-252-0717 HSTV32
MI The Red Eye BBS, Westland 1:2410/213 313-728-0213 V32b
MI Fast Eddies BBS, Monroe 1:2380/101 313-243-0944 ZYXV32b
MN Riverside BBS, Elk River 1:282/1008 612-241-9963 V32
MO Cheswick's, St Louis 1:100/375 314-965-5296 HSTV32
MO Summit Forum, Holt's Summit 1:289/13 314-896-5393 HSTV32
MO Cmos, St Joseph 1:294/1 816-233-1357 HSTV32b
NC Crossed Wires, Dudley 1:3660/809 919-580-7194 H16V32b
NC Psychotronic BBS, Durham 1:3641/1 919-286-7738 HSTV32
NC Programmer's Asstnt, Charlotte 1:379/4 704-544-0010 HST
NH Our BBS Yours and Mine, Derry 1:132/193 603-432-5287 HSTV32b
NJ University BBS, Eatontown 1:107/411 908-544-8193 HSTV32b
NJ Maple Shade Opus, Maple Shade 1:266/12 609-482-8604 HSTV32b
NJ APFL- The BBS, Tenafly 1:2604/306 201-567-6994 HSTV32b
NJ Fleet Street, Somerville 1:2605/625 908-722-8962 V32
NJ Atrium Way, Morris Plains 1:2606/583 201-984-5555 HSTV32
NM Construction Net #6, Los Alamos 1:15/20 505-662-0659 HST
NV $in City Bit Pit, Las Vegas 1:209/711 702-647-4427 HSTV32
NV Danger Zone, Reno 1:213/720 702-828-4907 HSTV32
NY Rivendell * TAP/1, Syracuse 1:260/1 716-646-0227 HSTV32
OH The Mountain Top, Cincinnati 1:108/107 513-921-5568 HST
OH Blue Byte BBS, Enon 1:110/270 513-864-1143 HST
OH Nerd's Nook, Rocky River 1:157/3 216-356-1882 HSTV32b
OH NHampton Data, Cuyahoga Falls 1:157/533 216-928-8565 HSTV32
OH Computer Room, Pickerington 1:226/110 614-861-8377 HSTV32
OH Steel Valley BBS, Girard 1:237/500 216-545-2318 HSTV32
OH The Outer Limits, Chillicothe 1:2220/10 614-772-5520 H16VFC
OH South of the Bauder, Chillicothe 1:2220/70 614-773-2423 H16V32b
OK Ascension, Norman 1:147/46 405-360-4261 HST
OR Bink of an Aye, Portland 1:105/42 503-297-9043 PEPV32
OR Atarian BBS, Portland 1:105/10 503-245-9730 HSTV32
OR Busker's Boneyard, Portland 1:105/14 503-771-4773 PEP
OR Dimension 7, Eugene 1:152/7 503-461-2219 HST
PA The Other BBS, Harrisburg 1:270/101 717-657-2223 HST
PA Walsh Microsys, Philadelphia 1:273/917 215-725-9134 HST
PA Optical Illusion, Allentown 1:273/603 215-797-7409 HSTV32
PA U.S.S. Intrepid, Spring House 1:273/703 215-641-0270 HST
PA Programmer's Haven, Allentown 1:2607/103 610-797-9378 V32BVFC
PA Cheyenne BBS, Upper Darby 1:2614/409 215-544-0819 HSTV32b
PR Island Sun, Caparra Heights 1:367/15 809-783-9542 HST
SC Dreadnaught BBS, Columbia 1:376/50 803-731-3884 V32
SC Special Projects, Beech Island 1:360/13 803-827-1725 HSTV32b
SC Carolina Collections, Sumter 1:3647/1 803-499-4316 HSTV32b
TN EET BBS, Nashville 1:116/24 615-353-3476 HSTV32
TX Conch Opus, Houston 1:106/357 713-667-7213 HSTPCP
TX Inns of Court, Dallas 1:124/6101 214-458-2620 HSTV32
TX Spare Parts, Bedford 1:130/38 817-540-3527 HST
TX Southern Crossroads, Dallas 1:124/4115 817-481-8984 ZYXV32b
TX The Gas Company, Arlington 8:930/201 817-265-8938 HST
TX Wireline, Corpus Christi 1:160/40 512-241-1120 HST
TX Middle Earth, San Antonio 1:382/19 512-835-4848 HST
TX Hair of the Dog, Austin 1:382/44 512-219-9446 V32b
TX Last Chance TBBS, San Antonio 1:387/800 512-822-7519 HST
TX TSTI INFO NET, Waco 1:388/1000 817-799-1570 HST
TX Direct Connect!, Victoria 1:3802/213 512-573-0245 HSTV32b
VA Diving Board, Richmond 1:264/180 804-965-9082 HST
VA Host D, Newport News 1:271/295 804-887-0577 V32b
VA Host D, Newport News 1:271/296 804-887-2490 ZYXV32b
VA Host D, Newport News 1:271/294 804-887-8235 HST
VA ThunderBolt BBS, Fredericksburg 1:274/13 703-373-9289 HST
VA Terrapin Station, Norfolk 1:275/13 804-489-7450 HSTV32b
VT The Ozone Layer, Williston 1:325/118 802-862-5058 HSTV32b
WA Pacifier BBS, Vancouver 1:105/103 206-253-9770 HSTV32
WA Seattle/Everett Hub, Seattle 1:343/300 206-244-8860 HST
WA Sno-Valley SW Exchange, N Bend 1:343/108 206-888-9249 HSTV32
WA Sleepy Hollow BBS, Wenatchee 1:344/78 509-664-4021 V32b
WA Gecko Control, Fairchild AFB 1:346/26 509-244-0944 V32
WA SunDial BBS, Pasco 1:347/7 509-545-1789 HST
WI County Line BBS, W Allis 1:154/100 414-476-8468 HSTV32b
WI The Inn, Chippewa Falls 1:2300/10 715-723-3552 HSTV32b
WY Oregon Trail XRoads, Casper 1:303/5 307-472-3615 H96V32
WY Black Diamond, Greybull 1:15/24 307-682-6944 H14V32b
CANADA
------------------------------ --------- ------------ ----------
AB Logical Solutions, Calgary 1:134/10 403-299-9917 HST
AB Information Corner, Edmonton 1:342/20 403-483-1896 HST
BC Kiwi-Land, Surrey 1:153/909 604-536-0831 H16V32b
MB Polar Bear Heaven Winnipeg 1:348/405 204-837-9704 HST
NB Atlantic Access, St John W 1:255/2 506-635-1964 HST
ON AFI Comm, Nepean 1:163/115 613-829-0282 HST
ON Ned's Opus HST Ottawa 1:163/211 613-523-8965 HST
ON Alpha City BBS, Oshawa 1:229/2 416-579-6302 H14V32b
ON The Aardvark, Burlington 1:259/110 905-332-4127 H16V32b
PQ Arcane BBS, Laval 1:167/116 514-687-9586 HST
SK The DataForce, Regina 1:140/72 306-585-1958 HST
ZONE 2
--------------------------------- --------- -------------- -------
AU ZAP #3/Cuckoo's Nest 2:310/3 43-1-454330 HSTV32b
BE The Optimist, Antwerpen 2:292/856 32-3-2811450 ZYXV32b
DE The 49er's, Wuppertal 2:243/7801 49-202-305803 HST
DE Median, Berlin 2:2410/305 49-30-735148 H16V32Terbo
DE BoersenBox, Friedrichshafen 2:246/8501 49-7541-53191 HSTV32b
FR The Lys Valley, Comines 2:322/2 33-20631262 HSTV32Terbo
GB Enigma Variations, Worcester 2:2/544 44-905-795002 HST
GB GABBS, Gosport Hants 2:251/16 44-705-524805 HSTV32b
GB Komputer Knowledge, Cheddington 2:252/7 44-296-668148 HSTV32
GB Aureal, Market Harborough 2:254/153 44-858-466594 HST
GB Trinity I, Exeter 2:255/112 44-392-495899 HSTV32b
GB Dog & Duck, Hull 2:2503/3 44-482-444650 HSTV32
GB Power BBS, Wrexham Clwyd 2:442/78 44-978-824278 HSTV32b
GB Piston Popper's, Hastings 2:441/80 44-424-853361 HSTV32
IL Small BBS, Jerusalem 2:402/777 V32b
IT Venus, Pavia PV 2:331/318 39-382-575369 V32bZYX
IT Genova 2000, Genova 2:332/201 39-10-3770080 V32b
IT SUBALPINA's_Hub, Torino 2:334/300 39-11-6624400 HSTV32
NL TouchDown, Hoofddorp 2:280/414 31-2503-52030 H14V32b
NL Interface HQ, Den Haag 2:281/506 31-70-3360698 V32b
NL Kiss Software, Almelo 2:283/314 31-5490-13932 ZYXV32b
NL Programmers Support, Helmond 2:2802/108 31-4920-13558 H14V32b
NL Byteline! Systems, Hardinxveld 2:285/101 31-1846-17611 H14V32b
NL DOSSBoss Twente, Delden 2:500/149 31-5407-64701 ZYXV32b
NL The HEKOM Board 2:500/223 31-3483-4072 V32b
NL MotherBoard 2:512/197 31-50-187669 H14V32b
SE Capital City BBS,Haninge 2:201/111 46-8-53043088 H14V32
SE Fenix, Viksj” 2:201/298 46-8-58011629 V32b
ZONE 3
------------------------------ --------- ------------- -------
AU Marwick's MadHouse, Brisbane 3:640/820 61-7-3870-2972 PEPV32
AU Sentry, Lane Cove NSW 3:711/401 61-2-9428-4687 PEPV32
AU Sentry's Shadow, Lane Cove NSW 3:711/501 61-2-9418-6682 V32bTerbo
AU Revelstone BBS, Doveton Vic 3:632/348 61-3-9741-2353 PEP
AU Southern Mail CBCS Croyton Vic 3:632/386 61-3-9725-1621 PEP
AU COMPUlink, Perth WA 3:690/628 61-8-9451-7288 2400
AU Phone Box,Inglewood SA 3:800/854 61-8-8380-5505 V32
The following phone number will come into effect in November 1997
AU OZ-Board, Townsville Qsnlnd 3:640/715 61-7-4721-3592 PEPV32RE
ZONE 6
------------------------------ --------- ------------- -------
HK TAIC Maximus Kowloon 6:700/1 85-2-789-1267 PEPV32
======================================================================
URLs:
Home page: http://www.pobox.com/~ralf
Files in my FTP area:
http://www.pobox.com/~ralf/files.html
ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/
Files on SimTel and mirrors:
ftp://ftp.simtel.net/pub/simtelnet/msdos/info/ [look for inter???.zip]
ftp://ftp.simtel.net/pub/simtelnet/msdos/c/spwno413.zip
ftp://ftp.simtel.net/pub/simtelnet/msdos/desqview/dvint43.zip
ftp://ftp.simtel.net/pub/simtelnet/msdos/desqview/dvglu172.zip
ftp://ftp.simtel.net/pub/simtelnet/msdos/modem/rbcom346.zip
Files at Garbo:
ftp://garbo.uwasa.fi/pc/programming/inter61a.zip
ftp://garbo.uwasa.fi/pc/programming/inter61b.zip
ftp://garbo.uwasa.fi/pc/programming/inter61c.zip
ftp://garbo.uwasa.fi/pc/programming/inter61d.zip
ftp://garbo.uwasa.fi/pc/programming/inter61e.zip
ftp://garbo.uwasa.fi/pc/programming/inter61f.zip

18
一些非必要的资料/x86-interrupt-list/inter61a/README.1

@ -0,0 +1,18 @@
This is the first of six archives containing the x86/MSDOS Interrupt List,
release 61. It should contain the following files:
README.NOW
README.1
INTERRUP.A
INTERRUP.B
INTERRUP.C
INTERRUP.D
FAQ.LST
OVERVIEW.LST
TABLES.LST
SAMPLE.FLT
SAMPLE1.FLT
SAMPLE2.FLT
NEEDHELP.TXT
RBROWN.TXT
_ADVERT.TXT

76
一些非必要的资料/x86-interrupt-list/inter61a/README.NOW

@ -0,0 +1,76 @@
As usual, I still have a queue of unprocessed submissions.... If
you've sent in any contributions which don't appear in this release but
which I've acknowledged, they are still on my queue and will appear in
the future.
Still on the queue: more OpenDOS info, the rest of the TI Professional
info, lots of chipset info (see NEEDHELP.TXT), ....
UPCOMING CHANGES
================
The individual sections of the list will be larger in future releases
so that there are fewer parts. I'm planning on 720K per section unless
there are strong objections.
WHAT'S NEW
==========
INTER61
-------
New files:
FAQ.LST start of an FAQ -- submissions welcome!
updated files:
OPCODES.LST
new info:
over 400k of additions, including: AHA-154x commands, ATASPI,
more MSRs (including AMD Athlon), lots of DR-DOS/OpenDOS/PTS-DOS/S-DOS
info (with more still to be added), AMIGATSR, MULTIJOY, USB4DOS,
VXDLDR, etc.
Other changes:
INTERxxF and INTERxxG have been merged.
Note: I have deliberately omitted the usual renumbering of tables because
I still have lots of pending updates referencing tables using the
numbering from INTER60 (and there are no doubt some dangling
cross-references due to incomplete updating). As a result, many
table numbers will be out of order.
INTER60
-------
updated files:
OPCODES.LST
updated programs:
INT2WHLP can now handle the new five-character table numbers
new info:
Econet, VESA VBE/AF, Matrox VESA-OEM functions, more Soft-ICE backdoor
commands, XBIOS, EZ-Drive, Adaptec AIC-7xxx and AHA-152x ports,
GEM/ViewMAX, WinTel API, TrLit API, VHRBIOS.SYS, Philips SAA7110(A),
Intel 82595FX
INTER59
-------
format changes:
all table numbers are now five characters in length, and just in time,
too: PORTS.LST now has 1014 tables....
updated files:
OPCODES.LST
new info:
chipsets: Intel 440BX/EX/LX, Intel 82371MX, OPTi "Vendetta", OPTi
82C493/82C382, Via VT82C496G "486SXWB", Via VT82C570M "Apollo Master"
PicoPower Vesuvius
other hardware: C&T 82C9001A, C&T 64200/64310, Ensoniq ES1370/1371,
Cirrus CL-PD6710/6722, Cirrus CL-PD6729
Award-BIOS password algorithm, more PCI vendor IDs

25
一些非必要的资料/x86-interrupt-list/inter61a/SAMPLE.FLT

@ -0,0 +1,25 @@
# Sample filtering file. Lines starting with a hash mark in the first
# column are comments. Actual filtering lines start with either a dash
# or a plus sign in the first column (additional modes may be added in
# the future). Lines starting with a dash specify that interrupt list
# entries containing that string in the first line will be omitted from
# the formatted output; lines starting with a plus sign specify that
# interrupt list entries containing that string are to be included in
# the formatted output unless one of the minus lines matches.
# Extract MS-DOS calls, but exclude DR-DOS-specific, DOS-extender, and
# non-DOS networking calls. Note: a few extraneous calls are still included.
#
+ DOS
-DR DOS
-DR-DOS
-DR Multiuser DOS
-Concurrent DOS
-DOS/16M
-DOS4GX
-DOS/4G
-extender
-LAN Manager
-DECnet DOS
#
# end of SAMPLE.FLT

19
一些非必要的资料/x86-interrupt-list/inter61a/SAMPLE1.FLT

@ -0,0 +1,19 @@
# SAMPLE1.FLT
# Sample filtering file number 1, using only title includes/excludes.
# Extract MS-DOS calls, but exclude DR-DOS-specific, DOS-extender, and
# non-DOS networking calls.
# Note: a few extraneous calls are still included.
#
+ DOS
-DR DOS
-DR-DOS
-DR Multiuser DOS
-Concurrent DOS
-DOS/16M
-DOS4GX
-DOS/4G
-extender
-LAN Manager
-DECnet DOS
#
# end of SAMPLE1.FLT

17
一些非必要的资料/x86-interrupt-list/inter61a/SAMPLE2.FLT

@ -0,0 +1,17 @@
# SAMPLE2.FLT
# Sample filtering file number 2, using category includes/excludes. Extract
# MS-DOS and DR-DOS calls, but exclude OS/2 and other operating systems.
#
# unconditionally include the DOS category
>D
# include 'other OSes' category, but remove OS/2, VMiX, PC-MOS, etc.
iO
-OS/2
-VMiX
-PC-MOS
-STARLITE
-WinDOS
-Acorn BBC
-Linux DOSEMU
#
# end of SAMPLE2.FLT

184
一些非必要的资料/x86-interrupt-list/inter61a/TABLES.LST

@ -0,0 +1,184 @@
SELECTED TABLES Release 61 Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown
--------!------------------------------------
Buses
EISA (see INT 15/AX=D800h)
I2C / IIC bus (see I2C 00h)
PCI bus -- see below
System Management Bus (see INT 15/AX=53B0h/BH=01h)
Universal Serial Bus OpenHCI (see #00902 at INT 1A/AX=B10Ah)
Country-Specific Information:
country codes (see #01400 at INT 21/AH=38h)
country-specific information (see #01398,#01399)
country-dependent capitalization (see INT 21/AX=6520h)
code pages (see #00470,#01757)
extended country-specific info (see #01750 at INT 21/AX=6500h)
uppercase table (see #01751)
filename uppercase table (see #01753)
filename terminator table (see #01754)
collating table (see #01755)
DBCS lead byte table (see #01756)
yes/no response (see INT 21/AX=6523h)
DESQview
.PIF / .DVP file format (see #00427 at INT 15/AX=102Ch)
TopView panel file format (see #00436 at INT 15/AH=12h)
TopView/DESQview streams (see #00446,#00447,#00448 at INT 15/AH=12h)
Device Drivers
command code (see #02595 at INT 2F/AX=0802h)
device driver header (see #01646 at INT 21/AH=52h)
device attributes (see #01647,#01648 at INT 21/AH=52h)
error codes (see #02598 at INT 2F/AX=0802h)
request header (see #02596 at INT 2F/AX=0802h)
Disks
BIOS Parameter Block (BPB) (see #01663)
diskette drive type (see #00242 at INT 13/AH=08h)
diskette parameter table (see #01264 at INT 1E)
DOS drive parameter block (see #01357 at INT 21/AH=1Fh)
DOS media ID byte (see #01356 at INT 21/AH=1Bh)
hard disk master boot sector (see #00650 at INT 19)
hard disk partition record (see #00651 at INT 19)
IDE controller commands (see #P0515 at PORT 01F0h)
Partition Types (see #00652 at INT 19)
serial number (see #01565 at INT 21/AX=440Dh,#01766 at INT 21/AH=69h)
DOS (general)
DOS commandline (see #02585 at INT 2E)
DOS Environment block (see #01378 at INT 21/AH=26h,#01395)
DOS memory allocation strategy (see #01679 at INT 21/AH=58h)
DOS OEM number (see #01394 at INT 21/AH=30h)
DOS error codes (see INT 21/AH=59h)
critical error (see #02545 at INT 24)
extended error codes (see #01680)
error class (see #01682)
error locus (see #01684)
media ID structure (see #01681)
recommended action (see #01683)
DOS EXEC function (see INT 21/AH=4Bh):
EXEC parameter block (see #01590,#01591,#01592)
.EXE file formats (see #01594,#01596,#01609,#01616)
Program Segment Prefix (PSP) (see #01378 at INT 21/AH=26h)
DOS extenders
DPMI error codes (see #03143 at INT 21/AX=0000h)
DPMI mode switch (see #02718 at INT 2F/AX=1687h)
DPMI vendor-specific API (see #02719 at INT 2F/AX=168Ah)
DPMS registration structure (see #02793 at INT 2F/AX=43E0h)
VCPI (see INT 67/AX=DE00h)
mode switch (see #03665 at INT 67/AX=DE0Ch)
DOS-internal data (see INT 21/AH=52h)
Current Directory Structure (see #01643,#01644,#01645)
Disk buffer (see #01649,#01650,#01652,#01653,#01655)
DOS Parameter List (DPL) (see #01686 at INT 21/AX=5D00h)
IFS entry point (see #01658)
List of Lists (SYSVARS) (see #01627)
Memory Control Block (see #01628,#01630,#01633)
Novell DOS (see #01584,#01585 at INT 21/AX=4458h)
SHARE hooks (see #01636)
Swappable Data Area (SDA) (see #01687,#01690 at INT 21/AX=5D0Bh)
System File Table (SFT) (see #01639,#01640,#01641,#01642)
Error Codes (Other)
AMI/Award/C&T/etc. BIOS diagnostics (POST) codes (see #P0410,#P0412)
Advanced Power Management [APM] (see #00473 at INT 15/AX=5300h)
EMS (see #03648 at INT 67/AH=40h)
PRINT.EXE (see #02594 at INT 2F/AX=0101h)
XMS (see #02775 at INT 2F/AX=4310h)
Files and Directories
Directory Entry: MS-DOS, DR DOS, Novell DOS (see #01352)
file attributes (see #01401 at INT 21/AH=3Ch)
File Control Block (FCB) (see #01345 at INT 21/AH=0Fh)
File Date and Time (see #01665,#01666 at INT 21/AX=5700h)
file-sharing behavior (see #01403 at INT 21/AH=3Dh)
FindFirst data block (see #01626 at INT 21/AH=4Eh)
Long File Names (see INT 21/AH=71h,#01355 at INT 21/AH=11h)
Keyboard
keyboard controller commands (see #P0386,#P0401)
scan codes (see #00006 at INT 09"IRQ1")
shift states (see #00587,#00588 at INT 16/AH=12h)
Memory
memory size (see INT 12,INT 15/AH=88h,INT 15/AX=E820h)
SDRAM/DIMM configuration data (see #I0047 at I2C A0h)
NetWare
DOS Requester entry point (see #02859 at INT 2F/AX=7A20h)
error codes (see #01807 at INT 21/AH=BCh,#01811,#01834 at INT 21/AH=E1h)
LSL status (see #02989 at INT 2F/AX=C000h"LSL")
NetWare Core Protocol functions (see #02095 at INT 21/AH=F2h)
VLM error codes (see #02860 at INT 2F/AX=7A20h)
VLM header (see #02862 at INT 2F/AX=7A20h)
VLM identifier (see #02861 at INT 2F/AX=7A20h)
PCI Bus
PCI BIOS error codes (see #00729 at INT 1A/AX=B101h)
PCI configuration data (see #00878 at INT 1A/AX=B10Ah)
PCI vendor ID (see #00732 at INT 1A/AX=B102h)
PCI IRQ Routing Table (see #01259 at INT 1A/AX=B406h)
Plug-and-Play
Plug-and-Play Installation Structure (see #F0024)
Plug-and-Play error codes (see #F0081)
Plug-and-Play device type codes (see #F0085)
Extended System Configuration Data (ESCD)(see #01244 at INT 1A/AX=B401h)
generic device IDs (see #F0086)
Power Management
Advanced Power Management [APM] (see INT 15/AX=5300h)
Advanced Configuration and Power Interface [ACPI]
(see #M0094 at MEM xxxxh:xxx0h"ACPI")
Real-Time Clock (see also CMOS.LST)
status registers (see #00406,#00407,#00408 at INT 15/AH=01h"Amstrad")
Serial Port
serial port parameters (see #00300 at INT 14/AH=00h)
serial line status (see #00304 at INT 14/AH=03h)
modem status (see #00305 at INT 14/AH=03h)
Sound
Adlib/SoundBlaster registers (see #P0645 at PORT 0388h"AdLib")
Gravis UltraSound
registers (see #P0593 at PORT 0340h"Gravis")
board version (see PORT 0746h"Gravis")
MegaEm (see INT 21/AX=FD12h,#03975 at INT 81/AX=0200h)
SoundBlaster SBSIM (see #03972 at INT 80"SBSIM")
Windows Sound System (see #P0895 at PORT 0530h"Windows Sound")
Video
character attributes (see #00014 at INT 10/AH=08h)
Display Combination Code (DCC) (see #00039 at INT 10/AX=1A00h)
TopView/RSIS shadow buffer [virtual screen] (see INT 10/AH=FEh)
VESA DDC monitor information (see #00127 at INT 10/AX=4F15h/BL=01h)
VESA SuperVGA information (see #00077 at INT 10/AX=4F00h)
video modes
mode numbers (see #00010 at INT 10/AH=00h)
UltraVision modes (see #00220 at INT 10/AX=CD04h)
VESA modes (see #00083 at INT 10/AX=4F02h)
video parameters (see #01263 at INT 1D)
Windows
Global EMM Import record (see #01515 at INT 21/AX=4402h)
Startup Information Structure (see #02631 at INT 2F/AX=1605h)
VMMCALL (see INT 20"Windows")
VxD identifiers (see #02642 at INT 2F/AX=1684h)
Other Tables
AMIS signatures (see #02569,#02570 at INT 2D/AH=00h)
BIOS equipment list (see #00226 at INT 11)
BIOS32 Service Directory (see #F0021)
Interrupt Sharing Protocol (ISP) header (see #02568 at INT 2D)
Multiprocessor Specification - Floating Pointer Structure (see #M0113)
Option ROM header (see #F0082)
ROM configuration table (see #00509 at INT 15/AH=C0h)
--------!---CONTACT_INFO---------------------
E-mail: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)

112
一些非必要的资料/x86-interrupt-list/inter61a/_ADVERT.TXT

@ -0,0 +1,112 @@
Warning: Blatant advertisements follow
Tired of wearing out printer ribbons getting a hardcopy of the interrupt
list? Want the list split up by subject and thoroughly indexed? Try
PC Interrupts:
A Programmer's Reference to BIOS, DOS, and Third-Party Calls
(second edition)
Ralf Brown and Jim Kyle
1210 pages
Addison-Wesley
ISBN 0-201-62485-0
$39.95
Corresponds to the non-networking portions of INTER36 with a few of the
additions from INTER37.
The companion book Network Interrupts corresponds to the networking
portions of INTER37 with a few of the additions from INTER38.
Network Interrupts: A Programmer's Reference to Network APIs
Ralf Brown and Jim Kyle
730 pages
Addison-Wesley 1994
ISBN 0-201-6644-6
$29.95
Now (December 1994) available:
Uninterrupted Interrupts: A Programmer's CD-ROM Reference to
Network APIs, and to the BIOS, DOS, and Third-Party Calls
Ralf Brown and Jim Kyle
Addison-Wesley
ISBN 0-201-40966-6
$49.95
CD-ROM containing the full text of both PC Interrupts (2nd ed) and
Network Interrupts, updated to include information added through INTER42.
-------
PC Interrupts is now available in Chinese. I don't know the exact title
(and couldn't reproduce it here), but it is a three-volume set which
appears to be a straight translation of the Interrupt List, circa
INTER26.
ISBN 957-652-272-2 (INT 00h-1Fh) 516 pages, NT$ 300
ISBN 957-652-271-4 (INT 20h-30h) 704 pages, NT$ 400
ISBN 957-652-261-7 (INT 31h-FFh) 488 pages, NT$ 280
Also available in Russian.... ISBN 5-03-002989-3 (vol. 1)
ISBN 5-03-002990-7 (vol. 2)
The Russian version is a translation of the first edition.
-------
Undocumented DOS:
A Programmer's Guide to Reserved MS-DOS Functions and Data Structures
(second edition)
Andrew Schulman, Ralf Brown, David Maxey, Raymond J. Michels, and
Jim Kyle
880 pages, 7-3/8" x 9-1/8"
Addison-Wesley
ISBN 0-201-63287-X
$44.95 (book and 1.44M disk)
Includes a repackaged version of INTER36, script-based interrupt
monitoring utility, source for a sample network redirector, discussions
of TSRs/multitasking/networks/installable file systems/debugging,
lots of examples, etc.
Jolt Productivity Award winner, 1991 (first edition)
-------
Undocumented DOS (first edition) is now also available in Chinese.
ISBN 7-302-01071-4.
-------
WindowBook, Inc., the folks who prepared the hypertext version for
_Undocumented_DOS_, first edition, is tracking my releases of the
interrupt list, and offering the WindowBook version for $39.95 ($19.95
for updates). You can reach them at 800-524-0380 or 617-661-9515. Note
that I have no financial interest whatsoever in WindowBook's offering,
I'm just letting people know of value-added versions of the list.
Window Book, Inc.
61 Howard Street
Cambridge, MA 02139
-------
The following books may also be of interest:
DOS Internals
Geoff Chappell
740 pages + 1.44M disk, $39.95
Addison-Wesley
ISBN 0-201-60835-9
The Undocumented PC: A Programmer's Guide to I/O, CPUs, and
Fixed Memory Areas
Frank van Gilluwe
916 pages + 1.44M disk, $44.95
Addison-Wesley
ISBN 0-201-62277-7
Again, I have no financial interest in the above (though I have met both
authors).

10
一些非必要的资料/x86-interrupt-list/inter61b/FILE_ID.DIZ

@ -0,0 +1,10 @@
x86/MS-DOS Interrupt List, Release 61
A Comprehensive listing of interrupt
calls, both documented and undocumented,
plus ports/memory/CMOS/etc. Over 9600
entries (plus 5400 tables) in INTER61A
to INTER61D, utility programs and
viewers in INTER61E, and hypertext
conversion progs & WinHelp utilities in
INTER60F. Over 8 million bytes of
text! Released 2000/07/16.

1074
一些非必要的资料/x86-interrupt-list/inter61b/GLOSSARY.LST

File diff suppressed because it is too large

10000
一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.E

File diff suppressed because it is too large

7470
一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.F

File diff suppressed because it is too large

9112
一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.G

File diff suppressed because it is too large

7322
一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.H

File diff suppressed because it is too large

3714
一些非必要的资料/x86-interrupt-list/inter61b/INTERRUP.I

File diff suppressed because it is too large

10
一些非必要的资料/x86-interrupt-list/inter61b/README.2

@ -0,0 +1,10 @@
This is the second of six archives containing the x86/MSDOS Interrupt List,
release 61. It should contain the following files:
README.2
INTERRUP.E
INTERRUP.F
INTERRUP.G
INTERRUP.H
INTERRUP.I
GLOSSARY.LST

36
一些非必要的资料/x86-interrupt-list/inter61c/CATEGORY.KEY

@ -0,0 +1,36 @@
[File provided by Bent Lynggaard <lynggaard@risoe.dk>]
This list suggests keywords for search on different categories. More than
one keyword are suggested for some categories, separated by a semicolon.
--------!---CATEGORYKEYS----------------------
A - applications, a - access software;screen readers,
B - BIOS;Basic In/Out System (BIOS);In/Out system (BIOS);Out/In system (BIOS),
b - vendor-specific BIOS;BIOS (vendor-specific);extensions (BIOS),
C - CPU-generated, c - caches;spoolers,
D - DOS kernel;kernel (DOS);operating system (DOS),
d - disk I/O enhancements;enhancements (disk I/O),
E - DOS extenders;extenders (DOS),
e - electronic mail;e-mail;mail (electronic),
F - FAX;telefax, f - file manipulation,
G - debuggers;debugging tools, g - games
H - hardware, h - vendor-specific hardware;hardware (vendor-specific),
I - IBM workstation;IBM terminal emulators,
i - system info;system monitoring
J - Japanese, j - joke programs,
K - keyboard enhancers;enhancers (keyboard),
k - file compression;compression (files),
l - shells;command interpreters,
M - mouse;pointing device, m - memory management,
N - network, n - non-traditional input devices;special input devices,
O - other operating systems;non-standard operating systems;operating systems (non-standard),
P - printer enhancements;enhancements (printer), p - power management,
Q - DESQview programs;TopView programs;Quarterdeck programs,
R - remote control;remote file access, r - runtime support,
S - serial I/O;COM port I/O, s - sound;speech,
T - DOS-based task switchers;task switchers;multitaskers,
t - TSR libraries
U - resident utilities;utilities (resident);TSR utilities,
u - emulators,
V - video, v - virus;antivirus, W - MS Windows;Windows,
X - expansion bus BIOSes;BIOSes (expansion bus),
y - security, * - reserved

2178
一些非必要的资料/x86-interrupt-list/inter61c/FARCALL.LST

File diff suppressed because it is too large

10
一些非必要的资料/x86-interrupt-list/inter61c/FILE_ID.DIZ

@ -0,0 +1,10 @@
x86/MS-DOS Interrupt List, Release 61
A Comprehensive listing of interrupt
calls, both documented and undocumented,
plus ports/memory/CMOS/etc. Over 9600
entries (plus 5400 tables) in INTER61A
to INTER61D, utility programs and
viewers in INTER61E, and hypertext
conversion progs & WinHelp utilities in
INTER60F. Over 8 million bytes of
text! Released 2000/07/16.

1629
一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.1ST

File diff suppressed because it is too large

9201
一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.J

File diff suppressed because it is too large

6210
一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.K

File diff suppressed because it is too large

9449
一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.L

File diff suppressed because it is too large

9968
一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.M

File diff suppressed because it is too large

9514
一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.N

File diff suppressed because it is too large

135
一些非必要的资料/x86-interrupt-list/inter61c/INTERRUP.PRI

@ -0,0 +1,135 @@
iAPX 86 Interrupt Primer
------------------------
by Ralf Brown
12/87
Updated 6/88, 4/90, 9/92, 1/97
What is an interrupt?
---------------------
An interrupt is a hardware signal that tells the CPU to temporarily
stop what it is doing and go do something else. Without interrupts,
the CPU would have to constantly check for external events; with
interrupts, the CPU can work on something else and still respond to
an event as soon as it occurs.
CPUs typically have an instruction to disable interrupts for use
when a section of code has to run without being disturbed by
external events. Because of this, most CPUs also have a special
interrupt called a Non-Maskable Interrupt (NMI), which is responded
to even when all other interrupts are disabled. The NMI is used to
signal calamities such as memory failure or imminent power loss.
Why so many different interrupts?
---------------------------------
The 8086 family of processors has the ability to recognize 256
different interrupts. They also have the ability to let a program
invoke any of these interrupts with a special instruction, known as
a software interrupt (as opposed to a hardware interrupt which is
signalled from outside the processor). Software interrupts are
treated just like hardware interrupts, except that they are never
disabled and do not result in an acknowledgement to other chips in
the computer. The software interrupt instruction on the 8086 family
is called INT, and is given the number of the interrupt. Thus an
INT 21h instruction invokes interrupt number 33 decimal.
Other processors also have software interrupts, though they often
use different names, such as the Motorola 68000 family TRAP
instruction, the Intel 8080 RST (ReSTart) instruction, or many
mainframes' SVC (SuperVisor Call).
Since a program can invoke an interrupt by number rather than by its
address (as it has to in calling subroutines), interrupts are a
convenient way of providing services without having to recompile a
program whenever the address of the code providing the service
changes. This also allows a user program to enhance the services
provided by directing the interrupt to itself. These enhanced
services can then be made available to other programs.
How does an interrupt work in real-address mode?
------------------------------------------------
The 8086 reserves the lowest 1024 bytes of memory for a table (IVT,
Interrupt Vector Table) containing the addresses for each of the 256
possible interrupts. When an interrupt occurs (hardware or
software), the processor multiplies its number by 4 and looks at the
resulting memory location to find the address of the piece of code
which handles the interrupt. It then places the current address in
the program and the processor flags on the stack, and jumps to the
beginning of the interrupt handler.
When the interrupt handler finishes, it invokes a special
instruction to return from the interrupt. This instruction takes
the previously saved flags and program address off of the stack and
places them back in the appropriate registers in the CPU.
The interrupt handler has to be careful to preserve any registers
that it uses which are not used to communicate results to the
program that invoked the interrupt. If the interrupt can be
triggered by a hardware interrupt (only certain ones can on IBM
PC's, XT's, and AT's), then the interrupt handler has to preserve
ALL registers, since the interrupt could have happened anywhere.
How does an interrupt work in protected mode?
---------------------------------------------
The 80286 and later processors can also operate in protected mode,
in which case the interrupt handling is somewhat different. First,
the interrupt table consists of eight-byte descriptors instead of
four-byte addresses, and need not be located at physical address
zero, nor contain the full 256 entries (the address and size of the
Interrupt Descriptor Table (IDT) may be manipulated with the LIDT
and SIDT instructions).
Second, in protected mode, the descriptor for an interrupt number
specifies HOW control is transferred to the interrupt handler.
Three types of transfer are possible: Interrupt Gate, Trap Gate,
and Task Gate. The first two types transfer control to a handler
running in the same process as the active program, while a Task Gate
performs a complete context switch in order to invoke a handler in
a different process from the active program. Interrupt and Trap
gates are identical except that an Interrupt Gate will clear IF
and thus disable interrupts, while a Trap Gate leaves IF unchanged.
How does an interrupt work in virtual-86 (V86) mode?
----------------------------------------------------
The 80386 and later processors provide a virtual-8086 mode which is
a protected mode that appears to software to be the same as Real
mode. Because it is a protected mode, however, interrupts and
various other actions that potentially affect system integrity do
not execute directly, but instead invoke a supervisor program running
in standard protected mode. Thus, whenever a program running in
V86 mode invokes an interrupt call, the CPU switches to protected
mode and transfers control to the interrupt handler specified by
the protected-mode IDT, rather than the real-mode IVT. The
supervisor program may handle the interrupt call in any way it
likes, but typically switches the CPU back into V86 mode and jumps
to the address specified in the real-mode IVT (a process which is
known as "reflecting" the interrupt).
GLOSSARY
--------
API (Application Program[ming] Interface)
An API is the set of function calls and services that a program
makes available to other processes (applications). Each function or
service has a set format which specifies the values to be supplied
by the caller and the values which are returned. Because of this
interface specification, the underlying organization of the function
or service can be changed without affecting the applications which
use it. For example, the DOS INT 21h file access functions remained
unchanged between DOS 2.x and DOS 3.x, even though the internal data
structures and code organization changed significantly.
IDT (Interrupt Descriptor Table)
IVT (Interrupt Vector Table)
NMI (Non-Maskable Interrupt)
Most external (hardware) interrupts can be disabled by the CLI
(CLear Interrupt enable flag) instruction when the CPU is executing
critical code that should not be interrupted, such as switching from
one stack to another. However, there are some situations so dire
that the CPU must act on them immediately no matter what else it is
doing, even if it has disabled interrupts. The Non-Maskable
Interrupt serves precisely this purpose, as it cannot be disabled
(masked) by the CPU.

BIN
一些非必要的资料/x86-interrupt-list/inter61c/INTPRINT.COM

Binary file not shown.

3606
一些非必要的资料/x86-interrupt-list/inter61c/MEMORY.LST

File diff suppressed because it is too large

2190
一些非必要的资料/x86-interrupt-list/inter61c/MSR.LST

File diff suppressed because it is too large

17
一些非必要的资料/x86-interrupt-list/inter61c/README.3

@ -0,0 +1,17 @@
This is the third of six archives containing the x86/MSDOS Interrupt List,
release 61. It should contain:
README.3
INTERRUP.1ST
INTERRUP.J
INTERRUP.K
INTERRUP.L
INTERRUP.M
INTERRUP.N
INTERRUP.PRI
FARCALL.LST
MEMORY.LST
MSR.LST
SMM.LST
INTPRINT.COM
CATEGORY.KEY

291
一些非必要的资料/x86-interrupt-list/inter61c/SMM.LST

@ -0,0 +1,291 @@
SYSTEM-MANAGEMENT MODE Release 61 Last change 16jul00
Copyright (c) 1997,1998,1999,2000 Ralf Brown
---------------------------------------------
SMM Am486
Format of Am486 SMM State-Save Map:
Offset Size Description (Table S0001)
FE00h reserved
FEE4h DWORD DR3
FEE8h DWORD DR2
FEECh DWORD DR1
FEF0h DWORD DR0
FEF4h DWORD CR2
FEF8h DWORD SMM state dump base address
fEFCh DWORD SMM revision ID (see #S0004)
FF00h WORD I/O restart
(set to 00FFh to re-execute trapped I/O)
FF02h WORD halt auto restart
(bit 0 set on entry if SMI during HLT)
(set to 00FFh to restart from HLT)
FF04h DWORD I/O trap word (see #S0002)
FF08h DWORD reserved
FF0Ch DWORD reserved
FF10h DWORD previous EIP
FF14h 5 DWORDs ???
FF28h DWORD reserved
FF2Ch DWORD reserved
FF30h DWORD ES limit
FF34h DWORD ES base
FF38h DWORD ES attributes
FF3Ch DWORD CS limit
FF40h DWORD CS base
FF44h DWORD CS attributes
FF48h DWORD SS limit
FF4Ch DWORD SS base
FF50h DWORD SS attributes
FF54h DWORD DS limit
FF58h DWORD DS base
FF5Ch DWORD DS attributes
FF60h DWORD FS limit
FF64h DWORD FS base
FF68h DWORD FS attributes
FF6Ch DWORD GS limit
FF70h DWORD GS base
FF74h DWORD GS attributes
FF78h DWORD LDT limit
FF7Ch DWORD LDT base
FF80h DWORD LDT attribute
FF84h DWORD GDT limit
FF88h DWORD GDT base
FF8Ch DWORD GDT attribute
FF90h DWORD IDT limit
FF94h DWORD IDT base
FF98h DWORD IDT attribute
FF9Ch DWORD TSS limit
FFA0h DWORD TSS base
FFA4h DWORD TSS attribute
FFA8h WORD ES
FFAAh WORD unused???
FFACh WORD CS
FFAEh WORD unused???
FFB0h WORD SS
FFB2h WORD unused???
FFB4h WORD DS
FFB6h WORD unused???
FFB8h WORD FS
FFBAh WORD unused???
FFBCh WORD GS
FFBEh WORD unused???
FFC0h DWORD LDTR
FFC4h DWORD TR
FFC8h DWORD DR7
FFCCh DWORD DR6
FFD0h DWORD EAX
FFD4h DWORD ECX
FFD8h DWORD EDX
FFDCh DWORD EBX
FFE0h DWORD ESP
FFE4h DWORD EBP
FFE8h DWORD ESI
FFECh DWORD EDI
FFF0h DWORD EIP
FFF4h DWORD EFLAGS
FFF8h DWORD CR3
FFFCh DWORD CR0
SeeAlso: #S0003
Bitfields for AMD Am486 I/O trap word:
Bit(s) Description (Table S0002)
31-16 I/O address
15-2 reserved
1 valid I/O instruction
0 direction
SeeAlso: #S0001
---------------------------------------------
SMM AMD-K5
Format of AMD K5 SMM State-Save Area:
Offset Size Description (Table S0003)
FE00h reserved
FEF8h DWORD SMM base address
(may be set to any multiple of 32K; initially 00030000h)
FEFCh DWORD SMM revision identifier (see #S0004)
FF00h WORD I/O trap restart slot (see #S0007)
FF02h WORD HLT restart slot (see #S0005)
FF04h DWORD I/O restart EDI
FF08h DWORD I/O restart ECX
FF0Ch DWORD I/O restart ESI
FF10h DWORD CR4
FF14h DWORD CR2
FF18h 3 DWORDs reserved
FF24h DWORD ES limit
FF28h DWORD ES base
FF2Ch DWORD ES attributes
FF30h DWORD CS limit
FF34h DWORD CS base
FF38h DWORD CS attributes
FF3Ch DWORD SS limit
FF40h DWORD SS base
FF44h DWORD SS attributes
FF48h DWORD DS limit
FF4Ch DWORD DS base
FF50h DWORD DS attributes
FF54h DWORD FS limit
FF58h DWORD FS base
FF5Ch DWORD FS attributes
FF60h DWORD GS limit
FF64h DWORD GS base
FF68h DWORD GS attributes
FF6Ch DWORD LDT limit
FF70h DWORD LDT base
FF74h DWORD LDT attributes
FF78h DWORD TSS limit
FF7Ch DWORD TSS base
FF80h DWORD TSS attributes
FF84h DWORD GDT limit
FF88h DWORD GDT base
FF8Ch DWORD IDT limit
FF90h DWORD IDT base
FF94h 2 DWORDs reserved
FF9Ch DWORD I/O trap EIP
FFA0h DWORD reserved
FFA4h DWORD I/O trap DWORD (see #S0006)
FFA8h WORD ES
FFAAh WORD unused???
FFACh WORD CS
FFAEh WORD unused???
FFB0h WORD SS
FFB2h WORD unused???
FFB4h WORD DS
FFB6h WORD unused???
FFB8h WORD FS
FFBAh WORD unused???
FFBCh WORD GS
FFBEh WORD unused???
FFC0h DWORD LDTR
FFC4h DWORD TR
FFC8h DWORD DR7
FFCCh DWORD DR6
FFD0h DWORD EAX
FFD4h DWORD ECX
FFD8h DWORD EDX
FFDCh DWORD EBX
FFE0h DWORD ESP
FFE4h DWORD EBP
FFE8h DWORD ESI
FFECh DWORD EDI
FFF0h DWORD EIP
FFF4h DWORD EFLAGS
FFF8h DWORD CR3
FFFCh DWORD CR0
SeeAlso: #S0001
Bitfields for AMD K5 SMM Revision Identifier:
Bit(s) Description (Table S0004)
31-18 reserved (0)
17 SMM base address relocation available (always 1 [enabled] on K5)
16 I/O trap restart supported (always 1 on K5)
15-0 SMM revision level (currently 0000h)
SeeAlso: #S0003
Bitfields for AMD K5 Halt Restart Slot:
Bit(s) Description (Table S0005)
15-1 undefined
0 (on SMM entry) entered SMM from Halt state
(at RSM) return to Halt state instead of state in SMM state-save area
SeeAlso: #S0003
Bitfields for AMD K5 I/O Trap DWORD:
Bit(s) Description (Table S0006)
31-16 I/O port address
15 I/O was string operation (INS,OUTS,etc.)
14-2 reserved
1 valid I/O instruction
0 direction (0 = output, 1 = input)
SeeAlso: #S0003,#S0007
Bitfields for AMD K5 I/O Trap Restart Slot:
Bit(s) Description (Table S0007)
31-16 reserved
15-0 I/O instruction restart on RSM
0000h resume at next instruction following trapped I/O instruction
(default on SMM entry)
00FFh re-execute the trapped I/O instruction
Note: before changing the restart value, check that the I/O instruction is
actually valid (see #S0006)
SeeAlso: #S0003,#S0006
---------------------------------------------
SMM Pentium
Format of Pentium State Dump record:
Offset Size Description (Table S0008)
FE00h 248 BYTEs officially reserved, actually unused
FEF8h DWORD state dump base address (must be multiple of 32K)
FEFCh DWORD SMM revision identifier
bits 15-0: SMM revision level
bit 16: I/O trap extension is present (offset FF00h)
bit 17: SMM base relocation supported (offset FEF8h)
bits 31-18: reserved
FF00h WORD I/O Trap restart
(set to 00FFh to re-execute trapped I/O)
FF02h WORD Halt auto-restart
(bit 0 set on entry if SMI during HLT; if handler clears it,
the CPU returns to the instruction after the interrupted HLT
rather than to the HLT instruction)
FF04h DWORD (undoc) I/O restart EDI / CR0
FF08h DWORD (undoc) I/O restart ECX
FF0Ch DWORD (undoc) I/O restart ESI
FF10h DWORD (undoc) I/O restart EIP
FF14h 16 BYTEs unused
FF24h WORD (undoc) alternate DR6
FF26h WORD (undoc) RSM control
if bit 0 set on return, the low word of DR6 is loaded from FF26h
instead of FFCCh
FF28h DWORD (undoc) CR4
FF2Ch DWORD unused
FF30h 12 BYTEs (undoc) ES descriptor cache
DWORD limit
DWORD base address
DWORD type
FF3Ch 12 BYTEs (undoc) CS descriptor cache
FF48h 12 BYTEs (undoc) SS descriptor cache
FF54h 12 BYTEs (undoc) DS descriptor cache
FF60h 12 BYTEs (undoc) FS descriptor cache
FF6Ch 12 BYTEs (undoc) GS descriptor cache
FF78h 12 BYTEs (undoc) LDT descriptor cache
FF84h 12 BYTEs (undoc) GDT descriptor cache
FF90h 12 BYTEs (undoc) IDT descriptor cache
FF9Ch 12 BYTEs (undoc) TSS descriptor cache
FFA8h WORD ES
FFAAh WORD reserved
FFACh WORD CS
FFAEh WORD reserved
FFB0h WORD SS
FFB2h WORD reserved
FFB4h WORD DS
FFB6h WORD reserved
FFB8h WORD FS
FFBAh WORD reserved
FFBCh WORD GS
FFBEh WORD reserved
FFC0h DWORD LDTR
FFC4h DWORD TR
FFC8h DWORD DR7
FFCCh DWORD DR6
FFD0h DWORD EAX
FFD4h DWORD ECX
FFD8h DWORD EDX
FFDCh DWORD EBX
FFE0h DWORD ESP
FFE4h DWORD EBP
FFE8h DWORD ESI
FFECh DWORD EDI
FFF0h DWORD EIP
FFF4h DWORD EFLAGS
FFF8h DWORD CR3
FFFCh DWORD CR0
SeeAlso: #S0003
--------!---Admin----------------------------
Highest Table Number = S0008
--------!---FILELIST-------------------------
Please redistribute all of the files comprising the interrupt list (listed at
the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
quartet of archives named INTER61A through INTER61D (preferably the original
authenticated PKZIP archives), and the utility and hypertext conversion
programs in two additional archives called INTER61E.ZIP and INTER61F.ZIP.
Copyright (c) 1989-1999,2000 Ralf Brown
--------!---CONTACT_INFO---------------------
E-mail: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)

27
一些非必要的资料/x86-interrupt-list/inter61d/86BUGS.DOC

@ -0,0 +1,27 @@
Hamarsoft (R) 86BUGS list, supplemental programs.
The 86BUGSxy archive should contain the following files:
- 86BUGS.HLP Microsoft QuickHelp hypertext version of the list.
- 86LISTnn.LST The text version of the 86BUGS list.
- FILE_ID.DIZ An upload description for Bulletin Boards.
- iAPX122.ZIP Testing software archive from Chris Lueders, Germany.
- INFO.EXE CPU info program with various information regarding your
processor.
- STAT.EXE Pentium Processor Pipeline & features performance monitor.
Both STAT and INFO are provided by Christian Ludloff. These programs are
based on his article in the german C't Magazine of November 1994 (issue 11).
iAPX122 is a testing program provided by Chris Lueders. It tests for some
of the bugs mentioned in the 86BUGS list.
All programs are provided with this list as a service from Hamarsoft to the
readers of the 86BUGS list. Hamarsoft does not accept any liability for
these programs whatsoever.
The 86BUGS list is also distributed with Ralf Brown's Interrupt List.
[86BUGS.HLP has been omitted for space reasons, and the other files except
for 86LISTnn.LST are located in INTERrrD.ZIP. 86LISTnn.LST has been
renamed to 86BUGS.LST for compatibility with hypertext conversion
programs expecting that name.]

3004
一些非必要的资料/x86-interrupt-list/inter61d/86BUGS.LST

File diff suppressed because it is too large

1259
一些非必要的资料/x86-interrupt-list/inter61d/BIBLIO.LST

File diff suppressed because it is too large

2015
一些非必要的资料/x86-interrupt-list/inter61d/CMOS.LST

File diff suppressed because it is too large

BIN
一些非必要的资料/x86-interrupt-list/inter61d/COMBINE.COM

Binary file not shown.

38
一些非必要的资料/x86-interrupt-list/inter61d/COMBINE.DOC

@ -0,0 +1,38 @@
COMBINE.COM v2.10
by Ralf Brown
22 March 1998
COMBINE.COM will concatenate all of the partial files in the interrupt
list distribution archives into a single master file for interrupts and
a single master file for I/O ports, which is required by some viewers
and hypertext conversion programs.
To use COMBINE, just change to the directory into which you extracted
the distribution archives, and type
COMBINE {dir} (for interrupts)
and then
COMBINE -p {dir} (for ports)
where {dir} is the name of the directory in which you want the combined
list to be stored (typically, you will type "COMBINE ." to store the
result in the same directory as the individual sections). If there is
not enough free disk space to hold both the individual sections and the
combined list, you will be told and given the option of running COMBINE
again with an option to tell it that it should delete each section as
it is added to the combined file:
COMBINE -d {dir}
COMBINE will skip any missing sections of the interrupt list; if at
least one section other than INTERRUP.A (PORTS.A with -p) is present,
it will stop as soon as the last section has been processed (otherwise,
it will continue trying all names through INTERRUP.Z/PORTS.Z). On
completion, it sets the combined file's timestamp to be the same as
that of the last of the individual sections.
System Requirements:
DOS 2.0+ or a DOS compatibility box
64K available RAM
a copy of the interrupt list :-)
sufficient free disk space (~360K with the -d option)

10
一些非必要的资料/x86-interrupt-list/inter61d/FILE_ID.DIZ

@ -0,0 +1,10 @@
x86/MS-DOS Interrupt List, Release 61
A Comprehensive listing of interrupt
calls, both documented and undocumented,
plus ports/memory/CMOS/etc. Over 9600
entries (plus 5400 tables) in INTER61A
to INTER61D, utility programs and
viewers in INTER61E, and hypertext
conversion progs & WinHelp utilities in
INTER60F. Over 8 million bytes of
text! Released 2000/07/16.

3563
一些非必要的资料/x86-interrupt-list/inter61d/I2C.LST

File diff suppressed because it is too large

8246
一些非必要的资料/x86-interrupt-list/inter61d/INTERRUP.O

File diff suppressed because it is too large

9205
一些非必要的资料/x86-interrupt-list/inter61d/INTERRUP.P

File diff suppressed because it is too large

9866
一些非必要的资料/x86-interrupt-list/inter61d/INTERRUP.Q

File diff suppressed because it is too large

5171
一些非必要的资料/x86-interrupt-list/inter61d/INTERRUP.R

File diff suppressed because it is too large

293
一些非必要的资料/x86-interrupt-list/inter61d/INTPRINT.DOC

@ -0,0 +1,293 @@
INTPRINT v3.11
by Ralf Brown
The INTPRINT program is hereby donated to the public domain, with the sincere
hope that proper credit will be retained in all copies and derivatives.
------------------------------------------------------------------------------
INTPRINT.COM is a simple formatter for the interrupt list, both
INTERRUP.LST and the other *.LST files. Use this program to print only
a portion of the list, prevent widow lines at the beginning of a
function call, number the pages, boldface key portions, center the
printout, or create a summary of the function calls. After formatting
is complete, the total number of pages is displayed on the screen.
Usage:
intprint [options] intlist [[>|>>]outfile]
where the options are:
-b boldface the title lines, Return:, and Notes: by overprinting
-B boldface by sending printer control sequences
-d (duplex) print even/odd pages with different margins; suitable
for binding the printout.
-e assume printer is in elite mode (96 characters per line), and
indent the output eight spaces to center the printout. This
is primarily for the default printer, as other printers may
force the equivalent or override this option.
-ffile create a file containing only the data structures described
in the interrupt list.
NOTE: you must put the filename immediately after the 'f'; no
blanks are allowed.
-Ffile filter the listing based on include and exclude strings
in 'file'. Only entries whose headers match none of the
exclude strings and at least one of the include strings
will be processed. All others will be skipped.
NOTE: you must put the filename immediately after the 'F'; no
blanks are allowed.
-H print a heading on each page indicating which interrupts
are listed on the page
-iN indent the output N spaces. The output device is assumed to be
at least 80+N characters wide.
NOTE: you must put the number immediately after the 'i'; no
blanks are allowed.
-I assume the printer is capable of producing IBM character
graphics. Printers other than "default" may force this option.
-k keep original divider lines instead of replacing them
with all dashes.
-lN print N lines per pages, overriding the printer-specific
default. Use 0 to omit page breaks (in this case, the
reported number of pages and -r page restriction may be
incorrect unless you also use -L); this can be useful if
you only want to filter the list before processing it
further.
-LN assume N lines on a page. If this is more than the number of
lines to print on each page, INTPRINT will use line feeds to
advance to the next page instead of form feeds.
-m specify that the interrupt list is in multiple parts beginning
with the named file. INTPRINT will increment the last
character of the name to get the next filename, and continue
until it is unable to open the file thus selected.
-nN assume N pages have already been printed, and start numbering
at N+1. This option allows you to create a properly-numbered
printout even if there is not enough disk space to concatenate
the parts of the interrupt list or hold a complete output file.
See the examples below.
NOTE: you must put the number immediately after the 'n'; no
blanks are allowed.
-p print the page number at the bottom center of each page
-Pname use control codes for the specified printer (-P? lists the
supported printers). The printer name may be given in either
case and abbreviated to a unique prefix; use either dashes or
underscores in place of blanks in the printer name.
-rN:M print only pages N through M. The entire input is processed
for use in -s and -f summaries (see below) even though only
a portion is formatted for printing. If filtering is enabled,
(see -F), page numbers are based on entries selected by the
filter file.
NOTE: you must put the page numbers immediately after the 'r';
no blanks are allowed. When using -l0 together with -r,
you must specify the appropriate page length with -L so
that page numbers can be computed correctly.
-sfile create a one-line-per-function summary and write it to "file"
if -n is also given, the summary will be appended to "file",
allowing a properly numbered summary file to be created even if
there is not enough disk space to concatenate the parts of the
list. See the examples below. If -p is also given, page
numbers will be included in the summary. If -V is also given,
byte offsets for use by INTERVUE will be included.
NOTE: you must put the filename immediately after the 's'; no
blanks are allowed.
-tN select typeface N for the chosen printer (currently supported
only for the HP).
-Tfile create a one-line-per-table summary and write it to "file"
if -n is also given, the summary will be appended to the named
file. If -p is also given, page numbers will be included in
the summary. If -V is also given, byte offsets for use by
INTERVUE will be included.
NOTE: you must put the filename immediately after the 'T'; no
blanks are allowed.
-V indicate that the summary file is intended for use by INTERVUE.
INTPRINT will output byte offsets that allow INTERVUE to jump
directly to an entry. Also forces -I.
-wN (widow lines) search N lines from the end of the page for a
good place to break. The default is eight lines; the valid
range is from 3 to one-half of the page length.
NOTE: you must put the number immediately after the 'w'; no
blanks are allowed.
-x include Index: lines in formatted listing. These lines are
are excluded by default because they are intended primarily
for use by hypertext converters.
Options may not be merged; "-ep" is illegal and the "p" will be ignored.
Use "-e -p" instead.
The formatted result of the input file is sent to the specified output file,
or to standard output if no output file is given. Standard output may be
redirected using the usual Unix or MSDOS redirection characters > or >>. If
you only want a summary file or data formats file, send or redirect the
output to the null device ("NUL" under MSDOS, "/dev/null" under Unix).
FILTER FILE:
------------
The filter file specified with -F is a simple text file containing
include lines, exclude lines, and comment lines. Both 'include' and
'exclude' lines may be based on either a category code or a substring
of the entry's title line. Comment lines start with a hash mark (#) in
the first column and are ignored. The other valid command characters
in the first column are:
> unconditionally include any entry with the specified category letter
< unconditionally exclude any entry with the specified category letter
+ include entries containing the specified string, unless unconditionally
excluded
- exclude entries containing the specified string, unless unconditionally
included
i include entries with the given category letter unless specifically
excluded by a '-' line
o override '-' line and include entry anyway if it has the given
category letter
Note that any category letters or selection strings must immediately
follow the command character. All spaces on '+' include and '-' exclude
lines are significant. Thus,
+ DOS
will only match entries containing the four-letter sequence " DOS",
while
+DOS
will match any entries containing the sequence "DOS", whether or not it
is preceded by a blank.
If a filter file is specified, only entries whose title lines contain at
least one of the '+' include lines (ignoring uppercase/lowercase
distinctions), none of the '-' exclude lines, or whose category codes
have been selected by other include/exclude lines, are processed. Thus,
a filter file must contain at least one include line, or INTPRINT will
skip all interrupt entries and print only the non-interrupt text in the
file.
----cut here----
# SAMPLE1.FLT
# Sample filtering file number 1, using only title includes/excludes.
# Extract MS-DOS calls, but exclude DR-DOS-specific, DOS-extender, and
# non-DOS networking calls.
# Note: a few extraneous calls are still included.
#
+ DOS
-DR DOS
-DR-DOS
-DR Multiuser DOS
-Concurrent DOS
-DOS/16M
-DOS4GX
-DOS/4G
-extender
-LAN Manager
-DECnet DOS
#
# end of SAMPLE1.FLT
----cut here----
----cut here----
# SAMPLE2.FLT
# Sample filtering file number 2, using category includes/excludes. Extract
# MS-DOS and DR-DOS calls, but exclude OS/2 and other operating systems.
#
# unconditionally include the DOS category
>D
# include 'other OSes' category, but remove OS/2, VMiX, PC-MOS, etc.
iO
-OS/2
-VMiX
-PC-MOS
-STARLITE
-WinDOS
-Acorn BBC
-Linux DOSEMU
#
# end of SAMPLE2.FLT
----cut here----
------------------------------------------------------------------------------
EXAMPLES:
---------
Print the interrupt list with page numbers, and create a summary file,
without concatenating INTERRUP.A, INTERRUP.B, and INTERRUP.C:
A> intprint -sb:interrup.sum -p interrup.a >prn
146 pages [screen output from INTPRINT]
A> intprint -sb:interrup.sum -p -n146 interrup.b prn
285 pages [screen output from INTPRINT]
A> intprint -sb:interrup.sum -p -n285 interrup.c >prn
403 pages [screen output from INTPRINT]
or, more easily:
A> intprint -sb:interrup.sum -m -p interrup.a prn
1587 pages [screen output from INTPRINT]
Create only a summary file:
C> intprint -sinterrupt.sum interrup.lst nul
Create a listing of the tables in the interrupt list:
C> intprint -Tinterrup.tbl interrup.lst nul
Print only those entries containing the string "DOS", except
those containing the string "DR-DOS"
C> type dos
+DOS
-DR-DOS
C> intprint -Fdos interrup.lst nul
Print the interrupt list on an Epson FX80, using 54 lines per page and
omitting both page numbers and summary:
C> intprint -Pepson -l54 interrup.lst >prn
Print the interrupt list using 120 lines on every 132-line page (using
superscript mode, for example), and make divider lines using IBM
character graphics:
C> intprint -I -l120 -L132 interrup.lst >prn
Print only pages 123 through 127, assuming that 106 pages are contained
in the first section of the list:
C> intprint -n106 -r123:127 interrup.b prn
Print using HP PCL4/5 escape sequences, numbering pages, from file
"interrup.lst" to file "interrup.pcl", at the default 69 lines per
page, using form-feeds:
C> intprint -Php -p interrup.lst >interrup.pcl
1587 pages [screen output from INTPRINT]
------------------------------------------------------------------------------
PORTABILITY:
------------
INTPRINT.C contains the source code for INTPRINT, for those people who
are using the interrupt list on a machine which does not run MSDOS.
This code has been tested with Turbo C v2.0, Borland C++ v3.1, and Mach
(BSD 4.3 Unix) "cc" and "gcc".

33936
一些非必要的资料/x86-interrupt-list/inter61d/OPCODES.LST

File diff suppressed because it is too large

BIN
一些非必要的资料/x86-interrupt-list/inter61d/PGP-SIGS.ZIP

Binary file not shown.

9789
一些非必要的资料/x86-interrupt-list/inter61d/PORTS.A

File diff suppressed because it is too large

9548
一些非必要的资料/x86-interrupt-list/inter61d/PORTS.B

File diff suppressed because it is too large

4556
一些非必要的资料/x86-interrupt-list/inter61d/PORTS.C

File diff suppressed because it is too large

21
一些非必要的资料/x86-interrupt-list/inter61d/README.4

@ -0,0 +1,21 @@
This is the fourth of six archives containing the x86/MSDOS Interrupt List,
release 61. It should contain:
README.4
INTERRUP.O
INTERRUP.P
INTERRUP.Q
INTERRUP.R
86BUGS.LST
BIBLIO.LST
CMOS.LST
I2C.LST
OPCODES.LST
PORTS.A
PORTS.B
PORTS.C
86BUGS.DOC
COMBINE.COM
COMBINE.DOC
INTPRINT.DOC
PGP-SIGS.ZIP

BIN
一些非必要的资料/x86-interrupt-list/inter61e/86BUGS04.ZIP

Binary file not shown.

494
一些非必要的资料/x86-interrupt-list/inter61e/COMBINE.ASM

@ -0,0 +1,494 @@
; COMBINE.ASM Interrupt List combiner
; by Ralf Brown
; last edit: 22mar98
NAME COMBINE
TITLE Combine Interrupt List sections
; declare all the segments in the order in which they are to appear in the
; executable
CODE SEGMENT 'CODE'
CODE ENDS
STACKSEG SEGMENT PUBLIC WORD 'STACK'
STACKSEG ENDS
BUFFERSEG SEGMENT PUBLIC WORD 'DATA'
BUFFERSEG ENDS
;
DGROUP GROUP CODE,STACKSEG,BUFFERSEG
;;------------------------------------------------------------------------
FFBLK struc
ff_reserved db 15h dup (?)
ff_attrib db ?
ff_ftime dw ?
ff_fdate dw ?
ff_fsize dd ?
ff_fname db 13 dup (?)
FFBLK ends
;;------------------------------------------------------------------------
CODE SEGMENT 'CODE'
ORG 100h ; this is a .COM file
ASSUME CS:DGROUP,DS:DGROUP,ES:DGROUP,SS:DGROUP
combine:
jmp near ptr main
banner db 13,"COMBINE v2.10",9,"Ralf Brown 1996,1998",13,10,"$",26
usage_msg db "Usage:",9,"COMBINE [options] dest-dir",13,10
db 9,"where {dest-dir} is the directory in which to place",13,10
db 9," the combined list ('.' for the current directory)",13,10
db 10
db 9,"options:",13,10
db 9,9,"-d",9,"delete sections after copying",13,10
db 9,9,"-p",9,"combine PORTS.LST instead of INTERRUP.LST",13,10
db 10
db "All sections of the interrupt/ports list must be in the current directory."
db "$"
bad_dos_msg db "Need DOS 2.0+$"
bad_drive_msg db "Invalid destination drive$"
no_mem_msg db "Insufficient memory$"
no_files_msg db "No section files found!$"
readerr_msg db "Read Error$"
writeerr_msg db "Write Error$"
diskfull_msg db "Disk full? while writing$"
no_disk_msg db "Out of space on destination drive",13,10,"$"
retry_msg db "Try again with -d to delete while copying$"
cant_create_msg db "Check directory name -- unable to create "
combined_file db "INTERRUP.LST",0,"$"
combined_file2 db "PORTS.LST",0
combined_file2_len equ $-combined_file2
section_file1 db "INTERRUP.A",0,"$"
section_letter equ section_file1+9
section_file2 db " PORTS"
section_file2_len equ $-section_file2
section_file2_ofs equ 3
missing_msg db "unavailable (skipped)"
crlf db 13,10,"$"
section_heading1 db "Interrupt List, part "
section_hdr_len1 equ $-section_heading1
section_heading2 db "Ports List, part "
section_hdr_len2 equ $-section_heading2
complete_msg db "Done.$"
;
; flags affecting operation
;
del_after_copy db 0
section_file dw offset section_file1
section_heading dw offset section_heading1
section_hdr_len dw section_hdr_len1
;
; data needed while processing
;
filehandle equ di ; output file's handle
numsections db 26
dest_drive db 0
nondefault_dest db 0
ftime dw 0
fdate dw 0
filesize_lo dw 0
filesize_hi equ bp
; (since we don't use disk_buffer until after FindFirst is no longer needed,
; save memory by overlaying the two)
FindFirst equ DGROUP:disk_buffer
;;------------------------------------------------------------------------
write_string:
mov ah,9
int 21h
ret
;;------------------------------------------------------------------------
skip_whitespace:
lodsb
cmp al,' '
je skip_whitespace
cmp al,9
je skip_whitespace
dec si ; unget the last character
; set ZF to indicate whether we got to end of cmdline
cmp al,0Dh
ret
;;------------------------------------------------------------------------
get_destination_file:
mov bx,si ; remember start of destination name
get_dest_file_loop:
lodsb
cmp al,' '
je got_dest_end
cmp al,9
je got_dest_end
cmp al,0Dh
jne get_dest_file_loop
got_dest_end:
dec si ; unget last character
mov di,si
mov al,[si-1] ; check end of path -- is it terminated
cmp al,'\' ; by a slash or backslash?
je dest_has_slash
cmp al,'/'
je dest_has_slash
cmp al,':'
je dest_has_slash
mov al,'\'
stosb
dest_has_slash:
mov si,offset combined_file
dest_copy_loop:
lodsb
stosb
cmp al,0
jne dest_copy_loop
; OK, now open the destination file
; (BX is still pointing at start of pathname)
cmp byte ptr [bx+1],':'
jne got_dest_drive
mov al,[bx]
and al,0DFh ; force to uppercase
sub al,'A'
jb got_dest_drive
cmp al,dest_drive
je got_dest_drive
mov dest_drive,al
mov nondefault_dest,al
got_dest_drive:
mov ah,3Ch ; create the output file
xor cx,cx ; no special file attributes
mov dx,bx
int 21h
mov dx,offset cant_create_msg
jc exit_with_err_2
mov filehandle,ax
ret
;;------------------------------------------------------------------------
check_total_size:
mov byte ptr section_letter,'A'-1
mov ah,1Ah ; set DTA
mov dx,offset FindFirst
int 21h
xor si,si ; keep track of # of sections found
check_size_loop:
inc byte ptr section_letter
cmp byte ptr section_letter,'Z'
ja short get_free_space
mov ah,4Eh ; find first
mov cx,001Fh ; ...regardless of attribute
mov dx,section_file
int 21h
jc check_size_loop
inc si ; another section found
mov ax,FindFirst.ff_ftime
mov ftime,ax
mov ax,FindFirst.ff_fdate
mov fdate,ax
mov ax,word ptr FindFirst.ff_fsize
mov dx,word ptr FindFirst.ff_fsize+2
cmp del_after_copy,0
je count_full_size
cmp nondefault_dest,0
jnz count_full_size
cmp dx,filesize_hi
jb check_size_loop
ja check_size_bigger
cmp ax,filesize_lo
jbe check_size_loop
check_size_bigger:
mov filesize_lo,ax
mov filesize_hi,dx
jmp check_size_loop
count_full_size:
add filesize_lo,ax
adc filesize_hi,dx
jmp check_size_loop
get_free_space:
test si,si ; check number of sections found
mov dx,offset no_files_msg
jz short exit_with_err_2
mov dl,dest_drive
inc dx
mov ah,36h ; get free disk space
int 21h
cmp ax,0FFFFh
jne got_free_space
mov dx,offset bad_drive_msg
exit_with_err_2:
jmp near ptr exit_with_errmsg
got_free_space:
mul cx ; DX:AX <- AX*CX
mov cx,dx ; store high half of intermediate
mul bx ; DX:AX <- low(AX*CX)*BX
xchg ax,bx ; store low half of second interm.
xchg cx,dx ; store high half of second interm.
mul dx ; DX:AX <- high(AX*CX)*BX
xchg ax,bx ; DX:BX:0000h + CX:AX = result
add bx,cx
adc dx,0 ; DX:BX:AX = AX*BX*CX = free space
jnz plenty_free_space ; >4G free?
sub ax,filesize_lo
sbb bx,filesize_hi
jnb plenty_free_space
not_enough_space:
mov dx,offset no_disk_msg
call write_string
cmp nondefault_dest,0
jnz size_check_failed
cmp del_after_copy,0
jne size_check_failed
mov dx,offset retry_msg
call write_string
size_check_failed:
mov al,2
jmp exit
plenty_free_space:
ret
;;------------------------------------------------------------------------
check_section_header:
push si
push di
mov si,offset DGROUP:disk_buffer
mov di,section_heading
mov cx,section_hdr_len
or cx,cx
rep cmpsb
jnz not_section_heading
scan_curr_section:
lodsb
cmp al,' ' ; scan for the " of "
jne scan_curr_section
add si,3 ; skip "of "
xor cl,cl
num_sections_loop:
lodsb
sub al,'0'
jb num_sections_done
cmp al,9
ja num_sections_done
mov ch,al
mov al,10
mul cl
mov cl,al
add cl,ch
jmp num_sections_loop
num_sections_done:
mov numsections,cl
got_num_sections:
not_section_heading:
pop di
pop si
ret
;;------------------------------------------------------------------------
; in: SI = file handle for current section
copy_section:
mov ax,4201h
xor cx,cx
xor dx,dx
mov bx,filehandle
int 21h
mov filesize_lo,ax
mov filesize_hi,dx
copy_section_loop:
mov ah,3Fh
mov bx,si
mov cx,disk_buffer_end - disk_buffer
mov dx,offset DGROUP:disk_buffer
int 21h
jc copy_read_error
mov cx,ax ; write same number of bytes read
mov ah,40h
;; mov dx,offset DGROUP:disk_buffer
mov bx,filehandle
int 21h
mov dx,offset writeerr_msg
jc copy_error
mov dx,offset diskfull_msg
cmp ax,cx
jb copy_error
; check for section header at start of buffer, and extract number
; of sections from it
push cx
call check_section_header
pop ax
cmp ax,disk_buffer_end - disk_buffer ; continue until only partial
je copy_section_loop ; buffer read (EOF hit)
ret
copy_read_error:
mov dx,offset readerr_msg
copy_error:
; truncate output to size before section was started
push dx ; store error message
mov ax,4200h
mov cx,filesize_hi
mov dx,filesize_lo
mov bx,filehandle
int 21h
mov ah,40h
xor cx,cx ; write zero bytes to truncate
int 21h
pop dx ; get back error message
;; fall through to exit_with_errmsg ;;
;;------------------------------------------------------------------------
exit_with_errmsg:
call write_string
; exit with errorlevel 1
mov al,01h
jmp near ptr exit
main:
ASSUME CS:DGROUP, DS:DGROUP, ES:DGROUP, SS:DGROUP
mov dx,offset banner
call write_string
; relocate the stack
mov sp,offset DGROUP:stackbot
; ensure that we have enough memory
mov ax,cs
add ax,1000h ; require 64K memory
cmp ax,ds:[0002h] ; is end of mem at least 64K above CS?
mov dx,offset no_mem_msg
ja exit_with_errmsg
mov si,81h ; point at start of cmdline
mov bl,[si-1] ; get length of cmdline
mov bh,0
mov byte ptr [bx+si],0Dh ; ensure cmdline properly terminated
cld
call skip_whitespace
mov dx,offset usage_msg
jz exit_with_errmsg
get_cmdline_switches:
call skip_whitespace
jz not_a_switch
cmp al,'-' ; is it a switch?
jne not_a_switch
lodsb ; get the switch character
lodsb ; get the switch itself
and al,0DFh ; force to uppercase
cmp al,'P'
je want_ports
cmp al,'D'
;; mov dx,offset usage_msg
jne exit_with_errmsg
mov del_after_copy,1
jmp get_cmdline_switches
want_ports:
jmp config_for_ports
not_a_switch:
mov ah,19h ; get default drive
int 21h
mov dest_drive,al
mov ah,30h
int 21h
cmp al,2
mov dx,offset bad_dos_msg
jb exit_with_errmsg
call get_destination_file
xor filesize_hi,filesize_hi
call check_total_size
;
; OK, all the preliminaries are done now, so go concatenate the
; sections of the interrupt list
;
mov al,'A'-1
concat_loop:
inc ax
mov section_letter,al
sub al,'A'-1
cmp al,numsections
ja concat_done
mov dx,section_file
call write_string
mov ax,3D00h
int 21h
mov dx,offset missing_msg
jc concat_loop_end
mov si,ax
call copy_section
mov bx,si ; BX <- section file's handle
mov ah,3Eh ; DOS function: close file handle
int 21h
cmp del_after_copy,0
je concat_no_del
mov ah,41h ; DOS function: delete file
mov dx,section_file
int 21h
concat_no_del:
mov dx,offset crlf
concat_loop_end:
call write_string
mov al,section_letter
jmp concat_loop
concat_done:
mov dx,offset complete_msg
call write_string
mov al,00h ; successful completion
exit:
push ax
mov dx,offset crlf
call write_string
mov ax,5701h ; (set file time & date)
mov bx,filehandle
mov cx,ftime ; set timestamp of combined file to
mov dx,fdate ; be that of the last of the sections
int 21h
mov ah,3Eh ; DOS function: close file handle
int 21h
pop ax
mov ah,4Ch
int 21h
config_for_ports:
mov section_heading,offset section_heading2
mov section_hdr_len,section_hdr_len2
push di
push si
push cx
;; copy combined_file2 over combined_file
mov cx,combined_file2_len
mov si,offset combined_file2
mov di,offset combined_file
rep movsb
;; copy section_file2 over section_file1
mov cx,section_file2_len
mov si,offset section_file2
mov di,offset section_file1
rep movsb
pop cx
pop si
pop di
add section_file,section_file2_ofs
jmp get_cmdline_switches
CODE ENDS
STACKSEG SEGMENT PUBLIC WORD 'STACK'
stacktop dw 160 dup (?)
stackbot label byte
STACKSEG ENDS
BUFFERSEG SEGMENT PUBLIC WORD 'DATA'
disk_buffer db 62*1024 dup (?)
disk_buffer_end label byte
BUFFERSEG ENDS
END combine

10
一些非必要的资料/x86-interrupt-list/inter61e/FILE_ID.DIZ

@ -0,0 +1,10 @@
x86/MS-DOS Interrupt List, Release 61
A Comprehensive listing of interrupt
calls, both documented and undocumented,
plus ports/memory/CMOS/etc. Over 9600
entries (plus 5400 tables) in INTER61A
to INTER61D, utility programs and
viewers in INTER61E, and hypertext
conversion progs & WinHelp utilities in
INTER60F. Over 8 million bytes of
text! Released 2000/07/16.

BIN
一些非必要的资料/x86-interrupt-list/inter61e/II.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61e/ILINA100.ZIP

Binary file not shown.

723
一些非必要的资料/x86-interrupt-list/inter61e/INT.C

@ -0,0 +1,723 @@
/*
* File: int.c
*
* Synopsis: PC interrupt caller, memory R/W, I/O port R/W
*
* System: MSDOS - Turbo C or Borland C (other compilers need some work)
*
* A utility for PC systems programmers to:
* - perform and visualise the results of interrupt calls
* - use buffers (inc files) to set register pairs
* - view the interrupt vector table
* - read & write I/O ports
*
* NB: This utility must be used with EXTREME CARE. Using bad interrupt and/or
* I/O calls can destroy data on your memory/disk(s) and might crash your
* machine.
*
* Compatible with int.c ditributed with Ralf Brown's interrupt lists
* Comments/suggestions welcome on the email address below.
*
*
* Copyright (c) 1992-1994 Angelo Haritsis <ah@doc.ic.ac.uk>
*
* Redistribution and use in source and binary forms are permitted provided
* that the above copyright notice and this paragraph are duplicated in all
* such forms and that any documentation, advertising materials, and other
* materials related to such distribution and use acknowledge that the
* software was developed by Angelo Haritsis.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* TODO:
* > -fbuf filename (write mem with vals from a file)
*/
#ifndef lint
static char rcsid[] = "$Header: E:/SRC/MISC\RCS\int.c 1.2 1994/04/11 20:11:36 ah Exp ah $";
#endif
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <ctype.h>
#include <dos.h>
#define PROG "int"
#define VERSION "1.0"
#define NOTREACHED 0
#define PARSE_JUSTARGS 0x01
#define PARSE_NOACTION 0x02
/*
* Types
*/
typedef int (*fun_ptr) (char **, int *);
typedef struct s_opt {
char *opts; /* option name */
int size; /* bytes for the ptr element (1, 2, 4);
* 0 means execute the function following
* parsing (argv, &opt_now)
*/
void *ptr; /* pointer to the data element to be loaded or a function if size = 0 */
} OPTION;
typedef struct s_dbuff {
unsigned *ptr_to_seg; /* the area where the segment is held */
unsigned *ptr_to_off; /* the area where the offset is held */
void far *addr; /* the address (when explicitly given) */
char logo[20];
#define DBUFF_HEX 0x01
#define DBUFF_ASC 0x02
#define DBUFF_BIN 0x04
int mode; /* display mode */
long bytes; /* # of bytes to show */
} DBUFFER;
typedef struct s_doserr {
int errno;
int class;
int action;
int locus;
} DOS_ERROR;
/*
* Globals
*/
char switchchar[] = "-+/";
char usage[] =
"usage: " PROG " [-h] [-q] [int=# | int# | -int #] [[-]reg[=]val] ...\n"
" [-buf sreg:reg=\"str\"]\n"
" [-d[a|b|hx] sreg:reg[:#bytes]] [-d[a|hx] faraddr[:#bytes]]\n"
" [-divt int#-int#]]\n"
" [-in[w] port#] [-out[w] port#,val]\n"
" str: printf fmt (%#s allowed to setup buffers)\n";
char help[] =
" eg.\n"
" o Interrupts (+ buffer setup)\n"
" " PROG " 0x10 -ax 0x12 same as: int int=0x10 ax=0x12 (set VGA graphics mode)\n"
" " PROG " 0x10 ah=0x10 al=1 bh=9 (set VGA border color; use to adjust display)\n"
" " PROG " 0x21 -ah 9 -buf ds:dx=\"hello world\\n$\" -q (INT 21,9 'hello world')\n"
" " PROG " an_int -buf es:bx=\"%512s\" (creates a scratch buffer of 512 bytes)\n"
" " PROG " 0x33 ax=9 bx=0 cx=0 -fbuf es:bx=cursor.dat (mouse cursor from file)\n"
" o Memory (-d: display: called after interrupt)\n"
" " PROG " -q -dhx 0x400049:18 (BIOS video area data)\n"
" " PROG " -q es=0x40 -bx 0x49 -dhx es:bx:18 (same as above)\n"
" " PROG " -q -db 0xF8000000:512 >file (binary dump of AMIBIOS serial data)\n"
" o IVT\n"
" " PROG " -q -divt (display vectors from interrupt vector table = IVT)\n"
" " PROG " -q -divt 0x10-0x1F (display IVT slots 0x10 to 0x1F)\n"
" o I/O Ports\n"
" " PROG " -out 0x70,0 -in 0x71 (read seconds from CMOS)\n"
" " PROG " -out 0x70,0 -out 0x71,0 (zero-out seconds in CMOS)\n";
char *int_error[] = {
NULL,
"Parse",
};
char str_flags[] = "0N..ODITSZ0A0P1C"; /* 80x86 flag register */
union REGS reg;
struct SREGS sreg;
unsigned int reg_bp, reg_sp, flags;
int int_call; /* the interrupt to be called */
int dos_errno;
int quiet_mode = 0; /* quiet means just execute int - no reg display * /* does not apply on display
* opts */
int buff_now = 0;
char *buff[10]; /* array of read buffer pointers */
int dbuff_now = 0;
DBUFFER dbuff[10]; /* the buffers to show at end of intr */
/* --- Prototypes --- */
OPTION *parse_an_opt(char *argv[], int *opt_now, int mode);
void doit(void);
void reg_display(void);
int set_int_val(char **argv, int *opt_now);
int ivt_display(char **argv, int *opt_now);
int ioport_out(char **argv, int *opt_now);
int ioport_in(char **argv, int *opt_now);
int read_escape(char **p);
int set_buff(char **argv, int *opt_now);
int set_fbuff(char **argv, int *opt_now);
int set_dbuff(char **argv, int *opt_now);
int dbuff_parse(void **ptr, char *tok);
int set_dbuff(char **argv, int *opt_now);
int show_help(char **argv, int *opt_now);
int set_quiet(char **argv, int *opt_now);
void error_exit(int err, char *s);
/* --- */
/*
* Structure with all the `action' to be done for an option
* NB: Care with matching prefixes (longer must come first)
*/
OPTION Opt[] = {
/* NB: put the longer strings first ! */
{"$DEFAULT", 0, (void *) set_int_val},
{"DIVT", 0, (void *) ivt_display}, /* display int vector table */
{"INT", 2, (void *) &int_call},
{"OUTW", 0, (void *) ioport_out}, /* I/O port write, read */
{"OUT", 0, (void *) ioport_out},
{"INW", 0, (void *) ioport_in},
{"IN", 0, (void *) ioport_in},
{"DBUF", 0, (void *) set_dbuff},
{"FBUF", 0, (void *) set_fbuff},
{"BUF", 0, (void *) set_buff},
{"DHX", 0, (void *) set_dbuff}, /* display mem contents (hex) */
{"FL", 2, (void *) &(reg.x.flags)}, /* set flags (won't affect anything) */
{"AX", 2, (void *) &(reg.x.ax)}, /* set general registers */
{"BX", 2, (void *) &(reg.x.bx)},
{"CX", 2, (void *) &(reg.x.cx)},
{"DX", 2, (void *) &(reg.x.dx)},
{"AH", 1, (void *) &(reg.h.ah)},
{"BH", 1, (void *) &(reg.h.bh)},
{"CH", 1, (void *) &(reg.h.ch)},
{"DH", 1, (void *) &(reg.h.dh)},
{"AL", 1, (void *) &(reg.h.al)},
{"BL", 1, (void *) &(reg.h.bl)},
{"CL", 1, (void *) &(reg.h.cl)},
{"DL", 1, (void *) &(reg.h.dl)},
{"SI", 2, (void *) &(reg.x.si)}, /* set index, stack registers */
{"DI", 2, (void *) &(reg.x.di)},
{"BP", 0, 0},
{"SP", 0, 0},
{"CS", 2, (void *) &(sreg.cs)}, /* set segment registers */
{"DS", 2, (void *) &(sreg.ds)},
{"ES", 2, (void *) &(sreg.es)},
{"SS", 2, (void *) &(sreg.ss)},
{"DA", 0, (void *) set_dbuff}, /* display mem contents (ascii) */
{"D", 0, (void *) set_dbuff}, /* display mem contents (ascii+hex) */
{"Q", 0, (void *) set_quiet}, /* quiet (no disply of reg contents) */
{"H", 0, (void *) show_help}, /* help */
};
int cdecl
main(int argc, char *argv[])
{
int opt_now;
if (argc == 1)
error_exit(0, NULL);
/* parse the arguments and do proper action */
for (opt_now = 1; opt_now < argc; opt_now++)
if (parse_an_opt(argv, &opt_now, 0) == NULL)
error_exit(1, NULL);
doit();
return (0);
}
/*
* Parses an argument and calls proper function or assigns numbers
* accordingly. Reentrant.
*/
OPTION *
parse_an_opt(char *argv[], int *opt_now, int mode)
{
int i, arg_len, get_next_arg;
char *opts, *optarg, *p;
long val;
opts = argv[*opt_now];
if (strchr(switchchar, opts[0])) /* option starts with a switch char, skip it */
opts++, argv[*opt_now]++;
for (i = 0; i < (sizeof(Opt) / sizeof(OPTION)); i++) {
arg_len = strlen(Opt[i].opts);
get_next_arg = opts[arg_len] == 0;
if (strncmpi(opts, Opt[i].opts, arg_len) == 0) {
if (mode & PARSE_NOACTION) /* do not perform action */
return (&Opt[i]); /* just return ptr to Opt slot */
switch (Opt[i].size) {
case 0: /* call the function */
if (!(mode & PARSE_JUSTARGS) && Opt[i].ptr != (void *) 0)
if ((*((fun_ptr) Opt[i].ptr)) (argv, opt_now) == 0)
return (NULL); /* error */
return (&Opt[i]);
case 1: /* ptr is a byte, short, int */
case 2:
case 4:
if (get_next_arg)
optarg = argv[++(*opt_now)]; /* get next option */
else
optarg = opts + arg_len + 1; /* skip a separator (eg =) */
val = strtol(optarg, &p, 0);
if (p == optarg)
return (NULL);
switch (Opt[i].size) {
case 1:
*((char *) Opt[i].ptr) = (char) val;
break;
case 2:
*((short *) Opt[i].ptr) = (short) val;
break;
case 4:
*((long *) Opt[i].ptr) = (long) val;
break;
}
return (&Opt[i]);
default:
assert(NOTREACHED);
}
}
}
if (mode & PARSE_JUSTARGS)
return (&Opt[0]); /* default */
else {
i = (*((fun_ptr) Opt[0].ptr)) (argv, opt_now); /* default */
return (i == 0 ? NULL : &Opt[0]);
}
}
/*
* Call the interrupt if asked and display the result buffers
*/
void
doit(void)
{
int i;
long j;
unsigned char far *ptr;
unsigned char b;
dos_errno = 0;
if (int_call != -1) {
reg_bp = _BP;
reg_sp = _SP;
flags = _FLAGS;
reg_display();
}
if (int_call > 0 && int_call < 256) {
quiet_mode || printf("\nINT: 0x%02X\n", int_call);
int86x(int_call, &reg, &reg, &sreg); /**/
if (reg.x.cflag != 0) /* error occured */
dos_errno = _doserrno;
reg_bp = _BP;
reg_sp = _SP;
quiet_mode || printf("\n");
flags = reg.x.flags;
reg_display();
if (!quiet_mode && (int_call == 0x21 || int_call == 0x24)) /* dos call */
printf("DOSERR: %04X (%u)\n", dos_errno, dos_errno);
}
/* display dbuffers */
for (i = 0; i < dbuff_now; i++) {
ptr = (unsigned char far *) MK_FP(*(dbuff[i].ptr_to_seg), *(dbuff[i].ptr_to_off));
if (dbuff[i].mode & DBUFF_BIN) /* binary */
setmode(1, O_BINARY);
else
printf("\n*<%s> {\n", dbuff[i].logo);
for (j = 0; j < dbuff[i].bytes; j++, ptr++) {
b = *ptr & 0x00FF; /* byte to display */
if (dbuff[i].mode & DBUFF_BIN) { /* binary */
putchar(b);
continue; /* nothing else */
}
if (dbuff[i].mode & DBUFF_HEX)
printf("%02X", b);
if (dbuff[i].mode == DBUFF_ASC)
putchar(iscntrl(b) ? '.' : b);
else if (dbuff[i].mode & DBUFF_ASC)
printf("(%c)", iscntrl(b) ? '.' : b);
if (dbuff[i].mode != DBUFF_ASC)
printf(" ");
}
fflush(stdout);
if (dbuff[i].mode & DBUFF_BIN) /* binary */
setmode(1, O_TEXT);
else
printf("}\n");
}
/* free the read buffers allocated */
for (i = 0; i < buff_now; i++)
free(buff[i]);
}
void
reg_display(void)
{
char s[32];
int i, bit_on;
if (quiet_mode)
return;
printf(
"AX=%04X BX=%04X CX=%04X DX=%04X\n"
"SI=%04X DI=%04X BP=%04X SP=%04X\n"
"CS=%04X DS=%04X ES=%04X SS=%04X",
reg.x.ax, reg.x.bx, reg.x.cx, reg.x.dx,
reg.x.si, reg.x.di, reg_bp, reg_sp,
sreg.cs, sreg.ds, sreg.es, sreg.ss);
strncpy(s, str_flags, 32); /* use a scratch copy */
/* and now the flags */
flags = reg.x.flags;
for (i = 0; i < 16; i++) {
bit_on = (flags & ((unsigned) 0x8000 >> i)) != 0;
if (s[i] == '.')
s[i] = bit_on ? '1' : '0';
else
s[i] = bit_on ? s[i] : tolower(s[i]);
}
printf(" CPU Flags: %16s\n", s);
}
/*
* 'default' argument function - see if it is an interrupt
*/
int
set_int_val(char **argv, int *opt_now)
{
long val;
char *p;
val = strtol(argv[*opt_now], &p, 0);
if (val <= 0 || val > 255 || p - argv[*opt_now] != strlen(argv[*opt_now]))
return (0); /* problems */
int_call = (int) val;
return (1);
}
/*
* Display a slot of the Interrupt Vector Table
*/
int
ivt_display(char **argv, int *opt_now)
{
char sfrom[20], sto[20];
int from, to, i;
void far *p;
if ((i = sscanf(argv[*opt_now + 1], "%[0-9xX]-%s", sfrom, sto)) == 2) { /* is a range given ? */
(*opt_now)++; /* consume next arg */
from = (int) strtol(sfrom, (char **) &sfrom, 0);
to = (int) strtol(sto, (char **) &sto, 0);
} else {
from = 0;
to = 255;
}
/* do it now */
printf("Interrupt Vector Table (0x%02X to 0x%02X)\n", from, to);
for (i = from; i <= to; i++) {
disable(); /* just in case ... */
p = (void far *) *((long far *) (4L * i));
enable();
printf(" * 0x%02X (%3u): %Fp\n", i, i, p);
}
printf("\n");
return (1);
}
int
ioport_out(char **argv, int *opt_now)
{
char *optarg, sport[10], sval[10];
int word_op, port, val;
optarg = argv[*opt_now];
word_op = (toupper(optarg[3]) == 'W') ? 1 : 0;
if (isdigit(optarg[3 + word_op])) /* arg follows with no delimiter */
optarg += 3 + word_op;
else
optarg = argv[++(*opt_now)];
if (sscanf(optarg, "%[^ ,;]%*[ ,;]%s", sport, sval) != 2)
return (0);
port = (int) strtol(sport, (char **) &sport, 0);
val = (int) strtol(sval, (char **) &sval, 0);
if (word_op)
outport(port, (unsigned) val);
else
outportb(port, val);
int_call = -1;
return (1);
}
int
ioport_in(char **argv, int *opt_now)
{
char *optarg, sport[10];
int word_op, port, val;
optarg = argv[*opt_now];
word_op = (toupper(optarg[2]) == 'W') ? 1 : 0;
if (isdigit(optarg[2 + word_op])) /* arg follows with no delimiter */
optarg += 2 + word_op;
else
optarg = argv[++(*opt_now)];
if (sscanf(optarg, "%s", sport) != 1)
return (0);
port = (int) strtol(sport, (char **) &sport, 0);
if (word_op) {
val = inport(port);
quiet_mode || printf("INW 0x%04X (%5u): 0x%04X (%5u)\n", port, port, val, val);
} else {
val = inportb(port);
quiet_mode || printf("IN 0x%04X (%5u): 0x%02X (%3u)\n", port, port, val, val);
}
quiet_mode || printf("\n");
int_call = -1;
return (1);
}
#define ESCAPES 10
static int esc_to_code[ESCAPES][2] = {
{'n', '\n'},
{'t', '\t'},
{'v', '\v'},
{'b', 'b'},
{'r', '\r'},
{'f', '\f'},
{'a', '\a'},
{'\\', '\\'},
{'\?', '?'},
{'\'', '\''},
};
/*
* returns with *p pointing to char after the one(s) consumed
*/
int
read_escape(char **p)
{
int i;
if (isdigit(**p)) /* octal */
return ((int) strtol(*p, p, 8));
else if (**p == 'x') /* hex */
return ((int) strtol(*p + 1, p, 16));
for (i = 0; i < ESCAPES; i++)
if (**p == esc_to_code[i][0]) {
(*p)++; /* consume it */
return (esc_to_code[i][1]);
}
/* otherwise, return the character un-translated */
(*p)++; /* consume it */
return (**p);
}
/*
* load seg register values to point ot the created buffer
*/
void
load_regpair(char *s_seg, char *s_off, void far *buff)
{
int len;
char stmp[50], *argv_fake[3];
/* load the regs */
argv_fake[0] = stmp;
argv_fake[1] = "";
len = 0;
sprintf(stmp, "-%s 0x%X", s_seg, FP_SEG(buff));
parse_an_opt(argv_fake, (int *) &len, PARSE_JUSTARGS); /* make it think it's an option */
sprintf(stmp, "-%s 0x%X", s_off, FP_OFF(buff));
parse_an_opt(argv_fake, (int *) &len, PARSE_JUSTARGS); /* and again for offs register */
}
/*
* set registers accordingly
*/
int
set_buff(char **argv, int *opt_now)
{
char *optarg, *p, *dp;
char s_seg[10], s_off[10];
char stmp[50];
static char dummy[] = ""; /* for case of %s in fmt str */
unsigned int len;
optarg = argv[++(*opt_now)]; /* s_off pair */
sscanf(optarg, "%[^:]:%s", &s_seg, &s_off);
if (s_off[2] == '=')
s_off[2] = 0;
optarg = argv[++(*opt_now)]; /* printf like string */
/* how big a buffer ? */
len = strlen(optarg);
/* add the %# lengths (extra buffer space) */
for (p = strchr(optarg, '%'); p != NULL; p = strchr(p + 1, '%'))
len += atoi(p + 1);
if ((buff[buff_now] = (char *) malloc(len)) == NULL)
return (0);
/* create escape chars again (since cmd processing makes \ into \\) */
p = optarg, dp = stmp;
while (*p)
if (*p == '\\') {
p++; /* consume \ */
*dp++ = read_escape(&p);
} else
*dp++ = *p++;
/* load the buffer; 5 % fields are enough (XXX ..f func problem if \0 appears before end of fmt) */
sprintf(buff[buff_now], stmp, dummy, dummy, dummy, dummy, dummy);
load_regpair(s_seg, s_off, (void far *) buff[buff_now]);
buff_now++;
return (1);
}
/*
* set register pair to point to buffer with data from a file
*/
int
set_fbuff(char **argv, int *opt_now)
{
char *optarg, *fname;
char s_seg[10], s_off[80];
long len;
FILE *f;
optarg = argv[++(*opt_now)]; /* s_off pair */
sscanf(optarg, "%[^:]:%s", &s_seg, &s_off);
if (s_off[2] == '=') {
s_off[2] = 0;
fname = &s_off[3];
} else
return (0);
if ((f = fopen(fname, "rb")) == NULL)
return (0);
len = filelength(fileno(f));
if (len > 65500L || (buff[buff_now] = (char *) malloc((unsigned int)len)) == NULL)
return (0);
if (fread(buff[buff_now], (int) len, 1, f) != 1)
return (0);
load_regpair(s_seg, s_off, (void far *) buff[buff_now]);
buff_now++;
fclose(f);
return (1);
}
int
dbuff_parse(void **ptr, char *tok)
{
char stmp[50], *argv_fake[3];
OPTION *p_opt;
int len = 0;
argv_fake[0] = stmp;
argv_fake[1] = "";
sprintf(stmp, "-%s 0", tok);
p_opt = parse_an_opt(argv_fake, &len, PARSE_JUSTARGS | PARSE_NOACTION);
if (p_opt == NULL || p_opt == &Opt[0])
return (0);
*ptr = (unsigned *) p_opt->ptr;
return (1);
}
/*
* add to the list of the buffers to be displayed at end
*/
int
set_dbuff(char **argv, int *opt_now)
{
char mode_char;
char *optarg, *p;
char tok[3][15]; /* max 3 tokens of 15 chars each */
int i;
long addr;
unsigned long num = 1L; /* number of bytes to display */
DBUFFER *dpb;
dpb = &dbuff[dbuff_now];
dpb->mode = DBUFF_HEX | DBUFF_ASC;
mode_char = toupper(argv[*opt_now][1]);
dpb->mode &= (mode_char == 'A') ? ~DBUFF_HEX : ~0;
dpb->mode &= (mode_char == 'H') ? ~DBUFF_ASC : ~0;
if (mode_char == 'B') { /* binary mode */
dpb->mode &= ~(DBUFF_HEX | DBUFF_ASC);
dpb->mode |= DBUFF_BIN;
}
optarg = argv[++(*opt_now)]; /* reg pair */
strncpy(dpb->logo, optarg, 20);
/* collect tokens */
for (i = 0, p = strtok(optarg, ":="); p; p = strtok(NULL, ":="))
strcpy(tok[i++], p);
if (i > 3)
return (0);
/* process them */
addr = strtoul(tok[0], &p, 0);
if ((p - tok[0]) > 0) { /* first is addr */
if (i > 1) { /* there's a 2nd token */
num = strtoul(tok[1], &p, 0);
if ((p - tok[1]) == 0 || num == 0)
return (0); /* wrong argument */
}
dpb->addr = (void far *) addr;
dpb->ptr_to_off = (unsigned *) &(dpb->addr);
dpb->ptr_to_seg = ((unsigned *) &(dpb->addr)) + 1;
} else { /* should be Reg:Reg[:#] format */
if (dbuff_parse((void **) &(dpb->ptr_to_seg), tok[0]) == 0)
return (0);
if (dbuff_parse((void **) &(dpb->ptr_to_off), tok[1]) == 0)
return (0);
if (i > 2) { /* num argument */
num = strtoul(tok[2], &p, 0);
if ((p - tok[2]) == 0 || num == 0)
return (0); /* wrong argument */
}
}
dpb->bytes = num;
dbuff_now++; /* have inserted an element */
return (1);
}
int
set_quiet(char **argv, int *opt_now)
{
argv = argv, opt_now = opt_now; /* eliminate warning */
return (quiet_mode = 1);
}
#define fmsg stdout /* DOS stderr cannot be redir'ed >:-{ */
int
show_help(char **argv, int *opt_now)
{
argv = argv, opt_now = opt_now; /* eliminate warning */
fprintf(fmsg,
PROG ": Execute and investigate interrupts/system data (ver " VERSION ")\n"
"Copyright (c) 1992-1994 A. Haritsis <ah@doc.ic.ac.uk>. Distribute freely.\n");
error_exit(0, help);
return (1);
}
void
error_exit(int err, char *s)
{
if (err > 0)
fprintf(fmsg, PROG ": %s error\n", int_error[err]);
fprintf(fmsg, "%s", usage);
if (s != NULL)
fprintf(fmsg, "%s", s);
exit(err);
}

BIN
一些非必要的资料/x86-interrupt-list/inter61e/INT.COM

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61e/INTHLP10.ZIP

Binary file not shown.

1671
一些非必要的资料/x86-interrupt-list/inter61e/INTLIST.E

File diff suppressed because it is too large

2376
一些非必要的资料/x86-interrupt-list/inter61e/INTPRINT.C

File diff suppressed because it is too large

BIN
一些非必要的资料/x86-interrupt-list/inter61e/INTSUM16.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61e/IVIEW102.ZIP

Binary file not shown.

40
一些非必要的资料/x86-interrupt-list/inter61e/README.5

@ -0,0 +1,40 @@
This is the fifth of six archives containing the x/86MS-DOS Interrupt List,
Release 61.
This archive contains utility programs and viewers for the interrupt
list. Most of these programs have been contributed by others; if you
have problems with a contributed program, please contact the author of
the program with which you experienced difficulties.
The DOS viewers Interrupt Helper, Interrupt Summary, and IVIEW are
offered in this archive, as is the Windows viewer ILINA. Interrupt
Summary is designed to be keystroke-compatible with INTERVUE (which is
no longer included), while offering additional functionality. IVIEW is
designed to conserve disk space by not requiring any additional index
files and by itself being as compact as possible (under 2K!).
In addition, the source code for COMBINE, INTPRINT, INT.COM, and the
Epsilon extension code I use while editing the list are included in
this archive.
Ralf Brown
Files in this archive:
README.5 this file
86BUGS04.ZIP
COMBINE.ASM source code for COMBINE.COM
II.ZIP interrupt list viewer by Martin Rystrand
ILINA100.ZIP Interrupt LIst NAvigator for MS Windows
INT.C source for INT.COM
INT.COM invoke an interrupt from the command line
INTHLP10.ZIP Interrupt Helper
INTLIST.E code for Epsilon editor extensions for intlist
INTPRINT.C INTPRINT source code
INTSUM16.ZIP Interrupt Summary (including source)
IVIEW102.ZIP
VIEWINTL.ZIP list viewer by Sly Golovanov
Note: PCICFG is now distributed separately in RBPCIxxx.ZIP (v1.17 as of
this writing), available at
http://www.pobox.com/~ralf/files.html#RBpci

BIN
一些非必要的资料/x86-interrupt-list/inter61e/VIEWINTL.ZIP

Binary file not shown.

10
一些非必要的资料/x86-interrupt-list/inter61f/FILE_ID.DIZ

@ -0,0 +1,10 @@
x86/MS-DOS Interrupt List, Release 61
A Comprehensive listing of interrupt
calls, both documented and undocumented,
plus ports/memory/CMOS/etc. Over 9600
entries (plus 5400 tables) in INTER61A
to INTER61D, utility programs and
viewers in INTER61E, and hypertext
conversion progs & WinHelp utilities in
INTER60F. Over 8 million bytes of
text! Released 2000/07/16.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/HINTSRCH.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/IL2ME102.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/INT2GUID.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/INT2HLP.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/INT2IPF.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/INT2QH.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/INT2RTF.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/INT2TPH.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/INT2WHLP.ZIP

Binary file not shown.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/INTERRUP.ICO

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

BIN
一些非必要的资料/x86-interrupt-list/inter61f/RB2NG116.ZIP

Binary file not shown.

50
一些非必要的资料/x86-interrupt-list/inter61f/README.6

@ -0,0 +1,50 @@
This is the sixth of six archives containing the x86/MS-DOS Interrupt List,
Release 61.
This archive contains programs to convert the MS-DOS interrupt list
into hypertext databases for a number of popular hypertext help
systems. These programs have been contributed by others; I have not
tested most of them personally because I do not own the help systems
for which they produce databases. If you have problems, please contact
the author of the program with which you experienced difficulties.
Some of these programs predate, and will thus not take advantage of,
recent enhancements to the list's format. MOST OF THESE CONVERSION
UTILITIES ARE NOT STAND-ALONE PRODUCTS! You must have the appropriate
help system compiler to create an actual hypertext database which can
be read by the help system; these are not included because they are
commercial products, usually distributed together with the hypertext
viewer.
Not included here because it is rather large and is distributed
separately by the author, is IL2HDK by Ron Loewy, a conversion program
to put the interrupt list into Help Development Kit format, from which
it can be converted into about a dozen different formats, including
WinHelp, QuickHelp, Borland THELP, OS/2 IPF, POPHELP, and DESQview/X
help. At the time of this writing, the current freeware version was 3.5
(IL2HDK35), with v4.3 included in the commercial version of HLPDK
(see http://www.hyperact.com/hact8.html).
[NOTE: due to the change in table numbering introduced with Release 59,
some or all of the following programs may fail to properly cross-reference
tables.]
Files in this archive:
README.6
HINTSRCH.ZIP full-text search DLL
IL2ME102.ZIP convert list into Multi-Edit help database
INT2RTF.ZIP Slava Gostrenko's converter
INT2WHLP.ZIP converter by Christian M�ller-Planitz / Bent Lynggaard
INT2GUID.ZIP convert list into TurboPower GUIDE or POPHELP database
INT2HLP.ZIP convert list into QuickHelp database
INT2IPF.ZIP convert list into OS/2 .IPF file
INT2QH.ZIP convert list into QuickHelp database
INT2TPH.ZIP convert to Borland THELP/Borl.Pascal help file (.TPH)
INTERRUP.ICO icon for interrupt list
RB2NG116.ZIP convert list into Norton Guides database
WH_ED122.ZIP WinHelp color editor
Note: in order to save space, the DOS extender used by both INT2RTF and
INT2TPH is distributed *only* with INT2TPH; if you do not already have
copies of RTM.EXE and DPMI16BI.OVL, you will need to download
INTERrrG.

BIN
一些非必要的资料/x86-interrupt-list/inter61f/WH_ED122.ZIP

Binary file not shown.

17
一些非必要的资料/x86-interrupt-list/rbpci119/10040005.PCI

@ -0,0 +1,17 @@
%! Detailed register description file for PCICFG.EXE by Ralf Brown
%!
%! Filename 10040005.PCI = Vendor 1004h, Device 0005h
%! Last Edit 9/27/97 by Ralf Brown
%!
[See file BLANK.PCI for description of formatting specification and how
to create your own device descriptions.]
!begin
VLSI VL82C591 Host/PCI Bridge registers in detail:
Bus Number: %[40]2d
Subordinate Bus: %[41]2d
Device-Specific: %[54]2x %[55]2x %[58]2x %[59]2x %[5C]2x %[5D]2x %[5E]2x %[5F]2x %[60]2x %[FF]2x
!end
%! end of file

20
一些非必要的资料/x86-interrupt-list/rbpci119/10040006.PCI

@ -0,0 +1,20 @@
%! Detailed register description file for PCICFG.EXE by Ralf Brown
%!
%! Filename 10040005.PCI = Vendor 1004h, Device 0005h
%! Last Edit 9/27/97 by Ralf Brown
%!
[See file BLANK.PCI for description of formatting specification and how
to create your own device descriptions.]
!begin
VLSI VL82C593 PCI/ISA Bridge registers in detail:
Device-Specific: %[50]2x %[51]2x %[52]2x %[53]2x %[54]2x %[55]2x %[56]2x %[57]2x
%[58]2x %[59]2x %[5A]2x -- %[5C]2x %[5D]2d %[5E]2x %[5F]2x
%[60]2x %[61]2x %[62]2x %[63]2x %[64]2x %[65]2x %[66]2x %[67]2x
%[68]2x %[69]2x %[6A]2x %[6B]2x %[6C]2x %[6D]2x %[6E]2x %[6F]2x
%[70]2x %[71]2x %[72]2x %[73]2x %[74]2x
%[FF]2x
!end
%! end of file

19
一些非必要的资料/x86-interrupt-list/rbpci119/10110009.PCI

@ -0,0 +1,19 @@
%! Detailed register description file for PCICFG.EXE by Ralf Brown
%!
%! Filename 10110009.PCI = Vendor 1011h, Device 0009h = DEC DC24140(A)
%! Last Edit 04feb98 by Ralf Brown
%!
[See file BLANK.PCI for description of formatting specification and how
to create your own device descriptions.]
!begin
DEC DC24140%[08:7-4]|;;A| Tulip Fast Ethernet registers in detail:
Chip Stepping: %[08:7-4]d Revision within Stepping: %[08:3-0]d
Configuration Driver Information:
Sleep Mode: %[40:31]ed
Snooze Mode: %[40:30]ed
Driver Use: %[40:15-8]2x
!end
%! end of file

20
一些非必要的资料/x86-interrupt-list/rbpci119/10110014.PCI

@ -0,0 +1,20 @@
%! Detailed register description file for PCICFG.EXE by Ralf Brown
%!
%! Filename 10110014.PCI = Vendor 1011h, Device 0014h = DEC DC24014
%! Last Edit 04feb98 by Ralf Brown
%!
[See file BLANK.PCI for description of formatting specification and how
to create your own device descriptions.]
!begin
DEC DC24014 Tulip Plus registers in detail:
Chip Stepping: %[08:7-4]d Revision within Stepping: %[08:3-0]d
Configuration Driver Information:
Sleep Mode: %[40:31]ed
Snooze Mode: %[40:30]ed
Driver Use: %[40:15-8]2x
?: %[40]2x
!end
%! end of file

24
一些非必要的资料/x86-interrupt-list/rbpci119/10421000.PCI

@ -0,0 +1,24 @@
%! Detailed register description file for PCICFG.EXE by Ralf Brown
%!
%! Filename 10421000.PCI = Vendor 1042h, Device 1000h -- PC Techn. RZ-1000
%! Last Edit 9/27/97 by Ralf Brown
%!
Everything preceding a line beginning with the six characters "!begin" is
a comment and will be ignored (with the proviso that the total file size
not exceed 64K). Everything from the !begin line to a line starting with
the four characters "!end" forms part of the device description, in a
format similar to that used for printf().
[See file BLANK.PCI for description of formatting specification and how
to create your own device descriptions.]
!begin
PC Technology RZ-1000 registers in detail:
Read-Ahead Mode: %[40:13]ed
?: %[40:31-0]8x
?: %[44:31-0]8x
?: %[48]2x %[49]2x %[4A]2x %[4B]2x %[4C]2x %[4D]2x %[4E]2x %[4F]2x
!end
%! end of file

271
一些非必要的资料/x86-interrupt-list/rbpci119/11060585.PCI

@ -0,0 +1,271 @@
%! Detailed register description file for PCICFG.EXE
%!
%! Filename 11060585.PCI -- VIA VT82C585VPX Host Bus-PCI Bridge
%! Last Edit 20sep98 by Denis Vlasenko
%!
%! Source: 580VPX.PDF file from VIA WWW site.
%! Very detailed. All registers dumped in binary and all bits shown.
%!
%! '%!??' - doubtful and/or untested places.
!begin
VIA VPX Host Bus-PCI Bridge registers in detail: [by Denis Vlasenko]
(50) Cache Control 1 %[50]8b
7-6 Cache Enable: %[50:7-6]|00 disabled;01 init;10 enabled;11 reserved|
5 Linear Burst Enabled: %[50:5]Y
4-3 Tag Configuration: %[50:4-3]|00 8 tag bits, no dirty bit;01 7 tag bits + dirty bit;10 10 tag bits, no dirty bit;11 9 tag bits + dirty bit|
2 SDRAM Interface Select: %[50:2]|0 CWE[0-7]#;1 GWE#, BWE#, SCASx#, SRASx#, SWEx#|
(Selects the function of pins 90-93 and 73-76)
1-0 SRAM Type: %[50:1-0]|00 no SRAM;01 reserved;10 burst SRAM;11 pipelined burst SRAM|
(51) Cache Control 2 %[51]8b
7-6 Reserved: %[51:7-6]2b
5 Backoff CPU: %[51:5]|0 defer ready return until L2 is filled;1 backoff CPU until L2 is filled|
4 Reserved: %[51:4]1b
3 SRAM Banks: %[51:3]|1 bank;2 banks|
2 Reserved: %[51:2]1b
1-0 Cache Size: %[51:1-0]|00 256K;01 512K;10 1M;11 2M|
(52) Non-Cacheable Control %[52]8b
Cacheable & Write-Protected:
7 C0000-C7FFF: %[52:7]Y
6 D0000-DFFFF: %[52:6]Y
5 E0000-EFFFF: %[52:5]Y
4 F0000-FFFFF: %[52:4]Y
3 Reserved: %[52:3]1b
2 L2 fill: %[52:2]|0 normal;1 forced (ignores CPU CACHE#)|
1 Reserved: %[52:1]1b
0 L2 mode: %[52:0]|0 write-back;1 write-through|
(53) System Performance Control %[53]8b
7 Read Around Write: %[53:7]ed
6 Cache Read Pipeline Cycle: %[53:6]ed
5 Cache Write Pipeline Cycle: %[53:5]ed
4 DRAM Pipeline Cycle: %[53:4]ed
3 PCI Master Peer Concurrency: %[53:3]ed
2-0 Reserved: %[53:2-0]3b
(54-55) Non-Cacheable Region #1 %[54]8b %[55]8b %!?? VIA's pdf says: 54:15-8 Base Address MSBs - A<28:21>
15-3 Address: %[54|55:7-3<16]8x hex %! 55:7-3 Base Address LSBs - A<20:16>
2-0 Size: %[55:2-0](RegionSize) %! 55:2-0 Range (Region Size)
(56-57) Non-Cacheable Region #2 %[56]8b %[57]8b %!?? Similar to above
15-3 Address: %[56|57:7-3<16]8x hex
2-0 Size: %[57:2-0](RegionSize)
(58) DRAM Configuration 1 %[58]8b
7-5 Bank 0/1 MA Map Type (EDO/FPG): %[58:7-5](EDOmapType)
Bank 0/1 MA Map Type (SDRAM): %[58:7]|0xx 16Mbit SDRAM;1xx 64Mbit SDRAM|
4 Reserved: %[58:4]1b
3-1 Bank 2/3 MA Map Type (EDO/FPG): %[58:3-1](EDOmapType)
Bank 2/3 MA Map Type (SDRAM): %[58:3]|0xx 16Mbit SDRAM;1xx 64Mbit SDRAM|
0 Reserved: %[58:1]1b
(59) DRAM Configuration 2 %[59]8b
7-5 Bank 4/5 MA Map Type (EDO/FPG): %[59:7-5](EDOmapType)
Bank 4/5 MA Map Type (SDRAM): %[59:7]|0xx 16Mbit SDRAM;1xx 64Mbit SDRAM|
4-3 Reserved: %[59:4-3]2b
2-0 Last Bank DRAM Populated: %[59:2-0]|000 bank 0;001 bank 1;010 bank 2;011 bank 3;100 bank 4;101 bank 5;11x reserved|
(5A) Bank 0 Ending (HA[29:22]): %[5A]8b %[5A<2]4dMb
(5B) Bank 1 Ending (HA[29:22]): %[5B]8b %[5B<2]4dMb
(5C) Bank 2 Ending (HA[29:22]): %[5C]8b %[5C<2]4dMb
(5D) Bank 3 Ending (HA[29:22]): %[5D]8b %[5D<2]4dMb
(5E) Bank 4 Ending (HA[29:22]): %[5E]8b %[5E<2]4dMb
(5F) Bank 5 Ending (HA[29:22]): %[5F]8b %[5F<2]4dMb
(60) DRAM Type %[60]8b
7-6 Reserved: %[60:7-6]2b
5-4 DRAM Type for Bank 4/5: %[60:5-4](DRAMtype)
3-2 DRAM Type for Bank 2/3: %[60:3-2](DRAMtype)
1-0 DRAM Type for Bank 0/1: %[60:1-0](DRAMtype)
(61) Shadow RAM Control 1 %[61]8b
7-6 CC000h-CFFFFh: %[61:7-6](Shadow)
5-4 C8000h-CBFFFh: %[61:5-4](Shadow)
3-2 C4000h-C7FFFh: %[61:3-2](Shadow)
1-0 C0000h-C3FFFh: %[61:1-0](Shadow)
(62) Shadow RAM Control 2 %[62]8b
7-6 DC000h-DFFFFh: %[62:7-6](Shadow)
5-4 D8000h-DBFFFh: %[62:5-4](Shadow)
3-2 D4000h-D7FFFh: %[62:3-2](Shadow)
1-0 D0000h-D3FFFh: %[62:1-0](Shadow)
(63) Shadow RAM Control 3 %[63]8b
7-6 E0000h-EFFFFh %[63:7-6](Shadow)
5-4 F0000h-FFFFFh %[63:5-4](Shadow)
3-2 Memory Hole %[63:3-2]|00 none;01 512K-640K;10 15M-16M (1M);11 14M-16M (2M)|
1 SMI Redirect to A0000h-BFFFFh: %[63:1]ed
0 I/O in A0000h-BFFFFh: %[63:0]|0 accesses VGA;1 accesses DRAM (not VGA!)|
(64) DRAM Reference Timing (FPG Only) %[64]8b
7-6 RAS Precharge Time: %[64:7-6]|00 2T;01 3T;10 4T;11 6T|
5-4 RAS Pulse Width: %[64:5-4]|00 3T;01 4T;10 5T;11 6T|
3-2 CAS Read Pulse Width: %[64:3-2]|00 1T;01 2T (FPG), 1T (EDO);10 3T (FPG), 2T (EDO);11 4T (FPG), 3T (EDO)|
1 CAS Write Pulse Width: %[64:1]|0 1T;1 2T|
0 Column Address to CAS Delay: %[64:0]|0 1T;1 2T|
(see also 67:7)
(65) DRAM Timing Control 1 (EDO/SDRAM) %[65]8b
7-6 Page Mode Control: %[65:7-6]|00 page closes after access;01 reserved;10 page stays open after access;11 page closes if CPU is idle|
5 Fast DRAM Decoding Enable: %[65:5]|0 end of second T2;1 end of first T2|
4 EDO Leadoff Cycle Reduction: %[65:4]|0 normal leadoff cycle;1 reduce leadoff cycle by 1T|
3 DRAM Data Latch Delay: %[65:3]|0 latch DRAM data 1 cycle before CPU;1 latch DRAM data 1/2 cycle before CPU|
2 Pin 88 Function Select: %[65:2]|0 DB32;1 TA9|
1 Reserved: %[65:1]1b
0 Relaxed DRAM Read Cycle Latency:%[65:0]|0 DRAM decoding time is end of T2;1 DRAM decoding time is the end of the second T2 if the write-buffer is not empty|
(66) DRAM Timing Control 2 (EDO/SDRAM) %[66]8b
7 EDO Test Mode Enable: %[66:7]|0 normal mode;1 test mode|
6 Reserved: %[66:6]1b
5,6C:3 SDRAM CAS Latency: %[66:5|6C:3]|00 latency is 2;<>00 latency is 3|
4 Reserved: %[66:4]1b
3 Turbo EDO Mode Enable: %[66:3]|0 -2-2-2 two-cycle burst;1 -1-1-1 one-cycle burst|
2 DRAM-to-CPU FIFO Control: %[66:2]|0 -1-1-1 to pop data from FIFO to CPU;1 -2-2-2 to pop data from FIFO to CPU|
1 SDRAM RAS-Precharge Reduction: %[66:1]|0 use 64:7-6 for RAS-precharge time;1 reduce 64:7-6 RAS precharge time by 1T|
0 SDRAM RAS-to-CAS Delay Reduct.: %[66:0]|0 use 64:0 for col addr to CAS delay;1 column address to CAS delay is 1T|
(67) 32-Bit DRAM Width %[67]8b
7 RAS to Column Address Delay: %[67:7]|0 1T;1 2T|
6 NA# Delay: %[67:6]|0 no NA# delay, 3-1-1-1-2-1-1-1;1 delay NA# 1T, 3-1-1-1-3-1-1-1|
(This bit only applies when 2 banks of PBSRAM are installed.)
5 Bank 5 Width: %[67:5]|0 64 bit;1 32 bit|
4 Bank 4 Width: %[67:4]|0 64 bit;1 32 bit|
3 Bank 3 Width: %[67:3]|0 64 bit;1 32 bit|
2 Bank 2 Width: %[67:2]|0 64 bit;1 32 bit|
1 Bank 1 Width: %[67:1]|0 64 bit;1 32 bit|
0 Bank 0 Width: %[67:0]|0 64 bit;1 32 bit|
(68) Reserved (Do Not Program) %[68]8b
7-4 Reserved (do not program): %[68:7-4]4b
3 Pin 126 Function Select: %[68:3]|0 remains high all the time;1 pin 126 is MA12 for 64Mb DRAM support|
(0 - backward compatibility with VP)
2-0 Reserved (do not program): %[68:2-0]3b
(69) Reserved (Do Not Program) %[69]8b
(6A) Refresh Counter: %[6A]dx16 CPUCLKs
(When set to 0, DRAM refresh is disabled)
(6B) Refresh Control %[6B]8b
7 CBR (CAS-before-RAS) Refresh: %[6B:7]ed
6 Burst Refresh (Burst 4 Times): %[6B:6]ed
5-3 Reserved: %[6B:5-3]3b
2 Extended Timing: %[6B:2]|0 normal timing;1 force 2T from MA to RAS# and CAS# falling for all cases|
1-0 Reserved: %[6B:1-0]2b
(6C) SDRAM Control %[6C]8b
7 SDRAM Interleave (64Mbit only): %[6C:7]|0 2-bank interleave;1 4-bank interleave|
(16Mbit can have 2-bank interleave only)
6 SDRAM Burst Write: %[6C:6]ed
5 SDRAM Bank Interleave Enable: %[6C:5]ed
4 Reserved: %[6C:4]1b
3,66:5 SDRAM CAS Latency: %[6C:3|66:5]|00 latency is 2;<>00 latency is 3|
2-0 SDRAM Operation Mode Select: %[6C:2-0]|000 normal;001 NOP command enabled;010 all-banks-precharge command enabled;011 CPU-to-DRAM cycles conv to commands;100 CBR cycle enabled;101 reserved;11x reserved|
(6D) DRAM Control Drive Strength %[6D]8b
7 Bank Decoding Test: %[6D:7]1b
6 MA[0:1] Drive: %[6D:6]|0 12mA;1 24mA|
5 Duplicate Copy of MA[0:1]: %[6D:5]|0 RAS5# RAS4# bit 0;1 MA1 MA0 bit 6|
4 Force SMM Mode: %[6D:4]1b
3 SDRAM Command Drive: %[6D:3]|0 12mA;1 24mA|
2 MA[2:13] / WE# Drive: %[6D:2]|0 12mA;1 24mA|
1 CAS# Drive: %[6D:1]|0 8mA;1 12mA|
0 RAS# Drive: %[6D:0]|0 12mA;1 24mA|
(70) PCI Buffer Control %[70]8b
7 CPU to PCI Post-Write: %[70:7]ed
6 PCI Master to DRAM Post-Write: %[70:6]ed
5 PCI Master to DRAM Prefetch: %[70:5]ed
4-2 Reserved: %[70:4-2]3b
1 PCI Retry for CPU QW Access: %[70:1]ed
0 PCI Master Flushes PCI Buffer: %[70:0]|0 yes;1 no|
(71) CPU to PCI Flow Control 1 %[71]8b
7,3 CPU writes burst on PCI: %[71:7|71:3]|00 PCI bursts disabled;01 only burst writes;1x all writes burst if possible|
6 Byte Merge: %[71:6]ed
5 Reserved: %[71:5]1b
4 PCI I/O Cycle Post Write: %[71:4]ed
2 PCI Fast Back-to-Back Write: %[71:2]ed
1 Quick Frame Generation: %[71:1]ed
0 1 Wait State PCI Cycles: %[71:0]ed
(72) CPU to PCI Flow Control 2 %[72]8b
7 Retry Status over 16/64 Times: %[72:7]|0 no retry occurred;1 retry occurred (write 1 to clear)|
6 Retry Timeout Action: %[72:6]|0 retry forever;1 flush buffer/return FFFFFFFF for read|
5-4 Retry Count and Retry Backoff: %[72:5-4]|00 retry 2 times, back off CPU;01 retry 16 times;10 retry 4 times, back off CPU;11 retry 64 times|
3 Clear Failed Data and Continue Retry: %[72:3]|0 disabled;1 keep posting|
2 CPU Backoff on PCI Read Retry Failure: %[72:2]|0 disabled;1 backoff CPU|
1 Reduce 1T for FRAME# Generation: %[72:1]ed
0 Reduce 1T for CPU Read PCI Slave: %[72:0]|0 disabled;1 enabled (bypass TRDY# to LRDY#)|
(73) PCI Master Control 1 %[73]8b
7 Local Memory Decoding: %[73:7]|0 fast (address phase);1 slow (first data phase)|
6 PCI Master 1-Wait-State Write: %[73:6]|0 zero wait state TRDY# response;1 one wait state TRDY# response|
5 PCI Master 1-Wait-State Read: %[73:5]|0 zero wait state TRDY# response;1 one wait state TRDY# response|
4 Reserved: %[73:4]1b
Assert STOP#...
3 ..after PCI Master Wrt Timeout: %[73:3]ed
2 ..after PCI Master Read Timeout:%[73:2]ed
1 LOCK# Function: %[73:1]ed
0 PCI Master Broken Timer Enable: %[73:0]ed
(Enabled - force into arbitration when there is no
FRAME# 16 PCICLK's after the GRANT)
(74) PCI Master Control 2 %[74]8b
7 PCI Enhance Command Support: %[74:7]ed
6 PCI Master Single Write Merge: %[74:6]ed
5-0 Reserved: %[74:5-0]6b
(75) PCI Arbitration 1 %[75]8b
7 Arbitration Mechanism: %[75:7]|0 PCI has priority;1 fair arbitration between PCI and CPU|
6 Arbitration Mode: %[75:6]|0 REQ-based (arbitrate at end of REQ#);1 frame-based (arbitrate at end of each FRAME#)|
5-4 Reserved: %[75:5-4]2b
3-0 PCI Master Bus Time-Out: %[75:3-0]dx32 PCICLKs
(force into arbitration after a period of time)
(0 - disable)
(76) PCI Arbitration 2 %[76]8b
7 Master Priority Rotation Enable:%[76:7]|0 disabled (arbitration per 75:7);1 enabled (arbitration per 76:5-4)|
6 Reserved: %[76:6]1b
5-4 Master Priority Rotation Ctrl: %[76:5-4]|00 disabled (arbitration per 75:7);01 grant to CPU after every PCI master grant;10 grant to CPU after every 2 PCI master grants;11 grant to CPU after every 3 PCI master grants|
3-0 Reserved: %[76:3-0]4b
!end
!enum EDOmapType
000 8-bit column address
001 9-bit column address
010 10-bit column address
011 11-bit column address
100 12-bit column address
101 reserved
11x reserved
!end
!enum RegionSize
000 region disabled
001 64K
010 128K
011 256K
100 512K
101 1M
110 2M
111 4M
!end
!enum DRAMtype
00 Fast Page Mode DRAM
01 EDO DRAM
10 reserved
11 Synchronous DRAM
!end
!enum Shadow
00 read/write disabled
01 write enabled
10 read enabled
11 read/write enabled
!end

266
一些非必要的资料/x86-interrupt-list/rbpci119/11060598.PCI

@ -0,0 +1,266 @@
%! Detailed register description file for PCICFG.EXE by Ralf Brown
%!
%! Filename 11060598.PCI = Vendor 1106h, Device 0598h
%! VIA Technologies VT82C598MVP Host Bridge
%!
%! Written by Maurizio Vairani, email: mvairani@cloverinformatica.com
%! Created 08jan99 by Maurizio Vairani
%! Last edit 10jan99 by Ralf Brown
%!
!begin
Via VT82C598MVP Host Bridge registers in detail: [by Maurizio Vairani]
Cache Control
Offset 50-51 - Cache Control
Cache enable/initialize: %[50:7-6]|cache disable;cache initialize - L2 fill;cache enable;reserved|
Linear Burst: %[50:5]e Tag Configuration: %[50:4-3]|8+0;7+1;reserved|
Backoff CPU: %[51:5]|defer ready return until L2 filled;backoff CPU until L2 filled|
Cache Size: %[51:1-0]|256K;512K;1M;2M| SRAM Banks: %[51:3+1]d
Offset 52 - Non-Cacheable Control
C0000-C7FFF Cacheable & Write-Protected: %[52:7]Y
D0000-DFFFF Cacheable & Write-Protected: %[52:6]Y
E0000-EFFFF Cacheable & Write-Protected: %[52:5]Y
F0000-FFFFF Cacheable & Write-Protected: %[52:4]Y
L2 Fill on Single Read: %[52:2]|normal;force (fastest)|
L2 Write-Thru/Write-Back: %[52:0]|write-thru;write-back|
Offset 53 - System Performance Control
Read Around Write: %[53:7]e
Cache Pipeline Cycle: Read = %[53:6]e Write = %[53:5]e
DRAM Read Pipeline Cycle: %[53:4]e
Offset 55-54 - Non-Cacheable region #1
Base Address: %[54:15-3<16]xh (%[54:15-3*128]dKb) Size: %[54:2-0](Range)
Offset 57-56 - Non-Cacheable region #2
Base Address: %[56:15-3<16]xh (%[56:15-3*128]dKb) Size: %[56:2-0](Range)
DRAM Control
Offset 59-58 - DRAM MA (Memory Address) Map Type
Bank 5/4 MA Map Type: %[60:5-4|58:15-13](EDO_FPG_SDRAM)
Bank 5/4 Virtual Channel Enable: %[58:12]Y
Bank 3/2 MA Map Type: %[60:3-2|58:3-1](EDO_FPG_SDRAM)
Bank 3/2 Virtual Channel Enable: %[58:0]Y
Bank 1/0 MA Map Type: %[60:1-0|58:7-5](EDO_FPG_SDRAM)
Bank 1/0 Virtual Channel Enable: %[58:4]Y
Offset 5F-5A - DRAM Row Ending Addresses
Offset 5A - Bank 0 Ending: %[5A<23]8xh (%[5A*8]3dMb)
Offset 5B - Bank 1 Ending: %[5B<23]8xh (%[5B*8]3dMb)
Offset 5C - Bank 2 Ending: %[5C<23]8xh (%[5C*8]3dMb)
Offset 5D - Bank 3 Ending: %[5D<23]8xh (%[5D*8]3dMb)
Offset 5E - Bank 4 Ending: %[5E<23]8xh (%[5E*8]3dMb)
Offset 5F - Bank 5 Ending: %[5F<23]8xh (%[5F*8]3dMb)
Offset 60 - DRAM Type
DRAM Type for Bank 5/4: %[60:5-4](DRAM)
DRAM Type for Bank 3/2: %[60:3-2](DRAM)
DRAM Type for Bank 1/0: %[60:1-0](DRAM)
Offset 61,62,63 - Shadow RAM Control
C0000h-C3FFFh: %[61:1-0](Shadow) D0000h-D3FFFh: %[62:1-0](Shadow)
C4000h-C7FFFh: %[61:3-2](Shadow) D4000h-D7FFFh: %[62:3-2](Shadow)
C8000h-CBFFFh: %[61:5-4](Shadow) D8000h-DBFFFh: %[62:5-4](Shadow)
CC000h-CFFFFh: %[61:7-6](Shadow) DC000h-DFFFFh: %[62:7-6](Shadow)
E0000h-EFFFFh: %[63:7-6](Shadow) F0000h-FFFFFh: %[63:5-4](Shadow)
Memory Hole: %[63:3-2]|none;512K-640K;15M-16M (1M);14M-16M (2M)|
SMI Mapping Control: %[63:1-0]|disable SMI address redirection;allow access DRAM Axxxx-Bxxxx for both
normal and SMI cycles;reserved;allow SMI Axxxx-Bxxxx DRAM access|
Offset 64 - DRAM Timing for Banks 0,1
if DRAM is EDO/FPG:
RAS Precharge Time: %[64:7+3]dT Pulse Width: %[64:6+4]dT
CAS Pulse Width: Read = %[64:5-4]dT Write = %[64:3+1]dT
MA-to-CAS Delay: %[64:2+1]dT RAS to MA Delay: %[64:1+1]dT
if DRAM is SDRAM:
Precharge Command to Activate Command Period, Trp: %[64:7+2]dT
Activate Command to Precharge Command Period, Tras: %[64:6+5]dT
CAS Latency: %[64:5-4]|SDRAM 1T or SDRAM-II n/a;SDRAM 2T or SDRAM-II n/a;SDRAM 3T or SDRAM-II 2T,2.5T;SDRAM n/a or SDRAM-II 3T|
DDR Write Enable (SDRAM-II Only): %[64:3]e
ACTIVE Command to CMD Command Period: %[64:2+2]dT
Bank Interleave: %[64:1-0]|no interleave;2-way;4-way;reserved|
Offset 65 - DRAM Timing for Banks 2,3
if DRAM is EDO/FPG:
RAS Precharge Time: %[65:7+3]dT Pulse Width: %[65:6+4]dT
CAS Pulse Width: Read = %[65:5-4]dT Write = %[65:3+1]dT
MA-to-CAS Delay: %[65:2+1]dT RAS to MA Delay: %[65:1+1]dT
if DRAM is SDRAM:
Precharge Command to Activate Command Period, Trp: %[65:7+2]dT
Activate Command to Precharge Command Period, Tras: %[65:6+5]dT
CAS Latency: %[65:5-4]|SDRAM 1T or SDRAM-II n/a;SDRAM 2T or SDRAM-II n/a;SDRAM 3T or SDRAM-II 2T,2.5T;SDRAM n/a or SDRAM-II 3T|
DDR Write Enable (SDRAM-II Only): %[65:3]e
ACTIVE Command to CMD Command Period: %[65:2+2]dT
Bank Interleave: %[65:1-0]|no interleave;2-way;4-way;reserved|
Offset 65 - DRAM Timing for Banks 4,5
if DRAM is EDO/FPG:
RAS Precharge Time: %[66:7+3]dT Pulse Width: %[66:6+4]dT
CAS Pulse Width: Read = %[66:5-4]dT Write = %[66:3+1]dT
MA-to-CAS Delay: %[66:2+1]dT RAS to MA Delay: %[66:1+1]dT
if DRAM is SDRAM:
Precharge Command to Activate Command Period, Trp: %[66:7+2]dT
Activate Command to Precharge Command Period, Tras: %[66:6+5]dT
CAS Latency: %[66:5-4]|SDRAM 1T or SDRAM-II n/a;SDRAM 2T or SDRAM-II n/a;SDRAM 3T or SDRAM-II 2T,2.5T;SDRAM n/a or SDRAM-II 3T|
DDR Write Enable (SDRAM-II Only): %[66:3]e
ACTIVE Command to CMD Command Period: %[66:2+2]dT
Bank Interleave: %[66:1-0]|no interleave;2-way;4-way;reserved|
Offset 68 - DRAM Control
SDRAM Open Page Control: %[68:7]|always precharge SDRAM banks when accessing
EDO/FPG DRAMs;SDRAM banks remain active when accessing
EDO/FPG banks|
Bank Page Control: %[68:6]|allow only pages of the same bank active;allow pages of different banks to be active|
EDO Pipeline Burst Rate: X-2-2-2-%[68:5]|2-2-2-2;3-2-2-2|
EDO Test Mode: %[68:3]e
Burst Refresh: %[68:2]e
System Frequency Divider: CPU/PCI Frequency Ratio %[68:1-0]|2x (66MHz);3x (100MHz);2x (66MHz);2.5x (75/83 MHz)|
Offset 69 - DRAM Clock select
DRAM Operating Frequency: Same as %[69:7]|CPU Frequency (66/75/83/100 MHz);AGP Frequency (66 MHz)|
Offset 6A - DRAM Refresh Counter: %[6A]e, %[6A*16+16]d CPUCLKs (valid if enable)
Offset 6B - DRAM Arbitration Control
Arbitration Parking Policy: %[6B:7-6]|park at last bus owner;park at CPU side; park at AGP side;reserved|
Multi-Page Open: %[6B:0]e
Offset 6C - SDRAM Control
DRAM Start Cycle: %[6C:6]|concurrent with cache hit detection (for 66MHz);after cache hit detection (for 100MHz)|
MD-to-HD Pop: %[6C:5]|normal;add 1T latency for 100MHz|
DDR Write-to-Read Turnaround: %[6C:4+1]dT turnaround
Single RW Burst Stop Command: %[6C:3]e
SDRAM Operation Mode Select: %[6C:2-0](SDRAM_Mode)
Offset 6D - DRAM Drive Setting
Delay DRAM read Latch: %[6D:6-5]|disable;0.5 ns;1.0 ns;2.0 ns|
MD Drive: %[6D:4]|8;6| mA
SDRAM Command Drive: %[6D:3]|16;24| mA CAS# Drive: %[6D:1]|8;12| mA
MA[2:13]/WE# Drive: %[6D:2]|16;24| mA RAS# Drive: %[6D:0]|16;24| mA
Offset 6E - ECC Control
ECC / ECMode select: %[6E:7]|ECC checking and reporting;ECC checking, reporting and correcting|
Enable (Assert) SERR# on ECC / EC Multi-Bit Error: %[6E:5]Y
Enable (Assert) SERR# on ECC / EC Single-Bit Error: %[6E:4]Y
ECC / EC Enable Bank 5/4 (DIMM 2): %[6E:2]e
ECC / EC Enable Bank 3/2 (DIMM 1): %[6E:1]e
ECC / EC Enable Bank 1/0 (DIMM 0): %[6E:0]e
Offset 6F - ECC Status
Multi-Bit Error Detected: %[6F:7]Y DRAM Bank: %[6F:6-4]d
Single-Bit Error Detected: %[6F:3]Y DRAM Bank: %[6F:2-0]d
PCI Bus #1 Control
Offset 70 - PCI Buffer Control
CPU to PCI Post-Write: %[70:7]e
PCI Master to DRAM Post-Write: %[70:6]e
CPU-to-PCI Prefetch: %[70:5]e
PCI Master to DRAM Prefetch Disable: %[70:4]e
PCI Master Read Caching: %[70:2]e
Delay Transaction: %[70:1]e
Offset 71,72 - CPU to PCI Flow Control
Dynamic Burst: %[71:7]e PCI I/O Cycle Post Write: %[71:4]e
Byte Merge: %[71:6]e PCI Burst: %[71:3]e
PCI Fast Back-to-Back Write: %[71:2]e
Quick Frame Generation: %[71:1]e
1 Wait State PCI Cycles: %[71:0]e
Retry Status: retry occured %[72:7]|less;more| than retry limit (see Retry Limit)
Retry Timeout Action: %[72:6]|retry forever (record status only);flush buffer for write or return all 1s for read|
Retry Limit: retry %[72:5-4]|2;16;4;64| times
Clear Failed Data and Continue Retry: %[72:3]|flush the entire post-write buffer;when data is posting and master (or
target) abort fails, pop the failed data if any, and keep posting|
CPU Backoff on PCI Read Retry Failure: %[72:2]e
Reduce 1T for FRAME# Generation: %[72:1]e
Offset 73,74 - PCI Master Control
PCI Master 1-Wait-State Write: %[73:6]|zero;one| wait state TRDY# response
PCI Master 1-Wait-State Read: %[73:5]|zero;one| wait state TRDY# response
Prefetch Disable: %[73:4]e
Assert STOP# after PCI Master Write Timeout: %[73:3]e
Assert STOP# after PCI Master Read Timeout: %[73:2]e
LOCK# Function: %[73:1]e
PCI Master Broken Timer Enable: %[73:0]e
PCI Master Read Prefetch by Enhance Command: %[74:7]|always prefetch;prefetch only if enhance
command|
PCI Master Write Merge: %[74:6]e
Offset 75,76 - PCI Arbitration
Arbitration Mechanism: %[75:7]|PCI has priority;fair arbitration between PCI and CPU|
Arbitration Mode: %[75:6]|REQ-based (at the end of REQ#);frame-based (at #FRAME assertion)|
Latency Timer: %[75:5-4]d
PCI Master Bus Time-Out (0 means disable): %[75:3-0*32]d
PCI #2 Master Access PCI #1 Retry Disconnect: %[76:7]e
CPU Latency Timer Bit-0: %[76:6]|CPU has at least 1 PCLK time slot when CPU has
PCI bus;CPU has no time slot|
Master Priority Rotation Control: Grant CPU after every %[76:5-4]d PCI master
grant(s)
Offset 78 - PMU Control
I/O Port 22 Access: CPU access to I/O address 22h is %[78:7]|passed on to PCI bus;processed internally|
Suspend Refresh Type: %[78:6]|CBR;self| refresh
Normal Refresh: %[78:5]|suspend refresh using SUSCLK;normal resresh|
Dynamic Clock Control: %[78:4]|normal (clock is always running);clock to various internal functional blocks is
disabled when those blocks are not being used|
GCKRUN# De-assertion: GCKRUN# %[78:3]|always low;could be high due to PCKRUN#|
PCKRUN# / GCKRUN# Pin Control: %[78:1]e
Memory Clock Enable (CKE) Function: %[78:0]e
Graphics Address Relocation Table (GART) / Graphics Aperture (GA) Control
Offset 83-80 - GART/TLB Control
Flush Page TLB: %[80:7]e
PCI#1 Master Address Translation for GA Access: %[80:3]e
PCI#2 Master Address Translation for GA Access: %[80:2]e
CPU Address Translation for GA Access: %[80:1]e
AGP Address Translation for GA Access: %[80:0]e
Offset 84 - Graphics Aperture Size: %[84:7-5](GA_SIZE) (%[88:1]ed)
Offset 8B-88 - GA Translation Table Base
Graphics Aperture Translation Table Base: %[88:31-12]8x
PCI Master Directly Accesses DRAM if in GART Range: %[88:2]e
Translation Table is %[88:0]|;non-|cacheable
!end
!enum Range
disabled
64K
128K
256K
512K
1M
2M
4M
!end
!enum DRAM
Fast Page Mode DRAM (FPG)
EDO DRAM (EDO)
SDRAM Double Data Rate (DDR SDRAM-II)
SDRAM Single Data Rate (SDR SDRAM)
!end
!enum EDO_FPG_SDRAM
8-bit Column Address
9-bit Column Address
10-bit Column Address
11-bit Column Address
12-bit Column Address
reserved
reserved
reserved
16Mbit SDRAM
16Mbit SDRAM
16Mbit SDRAM
16Mbit SDRAM
64Mbit SDRAM
reserved
!end
!enum SDRAM_Mode
normal
NOP command enable
All-Banks-Precharge command enable
MSR enable
CRB cycle enable
reserved
!end
!enum GA_SIZE
256M
invalid
invalid
invalid
128M
invalid
64M
32M or less
!end
!enum Shadow
read/write disable
write enable \
read enable \
read/write enable
!end
%! end of file

15
一些非必要的资料/x86-interrupt-list/rbpci119/53338811.PCI

@ -0,0 +1,15 @@
%! Detailed register description file for PCICFG.EXE by Ralf Brown
%!
%! Filename 53338811.PCI = Vendor 5333h, Device 8811h -- S3 Trio64V+
%! Last Edit 9/27/97 by Ralf Brown
%!
[See file BLANK.PCI for description of formatting specification and how
to create your own device descriptions.]
!begin
S3 Trio64V+ registers in detail:
The Trio64 doesn't seem to use any device-specific registers
!end
%! end of file

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save