
			 Ŀ
			   Programs Included With The Undocumented PC  
			 


   Diagnostic and Analysis Programs                                     

BIOSVIEW - Show the current BIOS data values in the 40h segment
along with detailed descriptions of each item. (includes source code)

CMOSVIEW - Shows the current contents of CMOS memory, with brief
descriptions. Also checks for extended CMOS memory, and displays
contents if found.  (includes source code)

DISKTEST - Read sectors from the specified disk to test how the BIOS
responds.  The test looks for problems when more than one track is read
at a time, using the BIOS service interrupt 13h.  Specify the disk
number on the command line; 0 and 1 for diskette drives, and 80 and 81
for hard disk drives.  (includes source code)

IOSPY - A TSR to monitor specific I/O port status on screen while
other programs are running.  Supports monitoring multiple I/O ports
at the same time, alerts on value changes, and many other options.

SERSLOW - Routine used help solve logic and design problems with
serial port software.  (includes source code)

SSPY - This TSR is a customized subset of IOSPY for monitoring
serial port modem status lines.  A great help for debugging serial
interface problems.  (includes source code)

TIMEVENT - Precisely monitor the actual time of software routines,
portions of code, interrupt latency, and hardware responses.
Events timing resolution is about one microsecond.  Testcase
program demonstrates how TIMEVENT is used.  (includes source code)

UNPC - Incorporates many of the programs supplied with The
Undocumented PC book.  View source code and run various utilities.
Also provides an advanced multiple I/O port viewer to monitor and
determine possible conflicts and I/O ports in use.


   Detection Utilities                                                  

CPURDMSR - Locates and displays any registers defined by the Read
Model Specific Register instruction. Most registers are identified by
name. Program will check all 4 billion possible register addresses.
(includes source code)

CPURDTSC - This routine continuously displays the values from the
undocumented Pentium Time Stamp Counter until Ctrl-Break is pressed.
(includes source code)

CPUTEST - Checks all unspecified opcodes not documented or not
already tested by CPUUNDOC.  Used to detect new hidden instructions.
(includes source code)

CPUTYPE - Identifies the exact CPU, the true instruction set
supported, MMX instruction set support, math coprocessor, the CPU
vendor name, processor speed, cache size, and other CPU information.
(includes source code)

CPUUNDOC - Tests all "known" undocumented instructions for the
specific CPU.  Shows result of test on each instruction.  (includes
source code)

KEYBIOS - Checks the BIOS to see if it support extended keyboard
services.  (includes source code)

MAX_XMIT and MAX_RECV - These pair of programs are used together
on two machines to see what the maximum serial port baud rate can be
reliably transferred, up to 115,000 baud! (includes source code)

PRNTYPE - Scans the parallel ports to locate any active ports and
check if the active parallel ports support undocumented extended
functions. (includes source code)

SERTYPE - Scans the serial ports to locate any active ports and
identify specific UART chips present. (includes source code)

SYSTYPE - Determine the system, PC, XT, AT, EISA, MCA, or PCI.
Also displays other data about the system such as the BIOS vendor and
date, diskette and hard drive information, video card type and vendor.
(includes source code)


   Demonstration Utilities                                              

A20TEST - Tests the ability of the keyboard controller to change
the A20 line. (includes source code)

BEEPx - Shows how to access interrupts and I/O ports from Microsoft C
or Borland C.  Program simply issues a 2 second beep using the
hardware timer.  Also shows the large overhead C compilers foist on
users as compared with assembly. (includes source code).

CTRL2CAP - Shows how keyboard keys can be ignored or changed.
This example TSR swaps the functions of the Caps-Lock key and the
Ctrl key. (includes source code)

DMA_READ - Subroutine shows how to perform a DMA transfer.
(includes source code)

IODELAY - Demonstrates the IODELAY subroutine, used to ensure a
set delay between successive port accesses.  (includes source code)

IRQREDIR - Shows how the interrupt controller can be reprogrammed
for improved performance on some systems. (includes source code)

KEYSCAN - Shows the actual keyboard codes for all keys, prior to
translation into scan codes. Also has option to show the translated
scan code. Helpful in understanding how to access the keyboard
controller directly, change the keyboard LEDs, and processing of
undocumented keyboard combinations.  (includes source code)

PRNASCII - Shows how to intercept characters sent to the printer.
This TSR converts all non ASCII characters sent to the printer into
standard ASCII characters.  Works with Print-Screen and all BIOS
print functions. (includes source code)

PRNSWAP - Swaps PRN1 and PRN2.  Not a TSR.  (includes source code)

TMRFAST - Demonstrates how the system timer can be boosted to get a
much higher interrupt rate for your application.  This TSR puts up
a white overstrike character on top of a changing green character,
with a black background. (includes source code)


   Other Files                                                          

UNDOCPC.INC - This is a collection of common equates and simple
macros used in the source code routines provided.

UNPCLIST.TXT - This list of file descriptions.

UNPCNOTE.TXT - Any last minute notes.

VCOM.MSG - File used by UNPC for information.


