Category : System Diagnostics for your computer
Archive   : SPC_52.ZIP
Filename : SPC.DOC

Output of file : SPC.DOC contained in archive : SPC_52.ZIP
SPC 5.2

The integrated multidrive equipment utility

Bob Eyer
Mar 20, 1991

SPC [? H A F E D S port] [=identification] [>file/PRN/COMx]

Options (any order, any case, any combination)
? or H or HELP - Brief help screen. Default is no help.

A - Use standard ASCII character set, to accommodate Epson
compatible printers. Default is to use extended ASCII
character set for display.

F - Include drives A: and B: in drive report. No include is the

E - Exclude UNDEF drives from totals. See Appendix on drive
measurement for details. Default is to include drives
flagged as UNDEF in totals.

D - Force DUPlicate detection instead of SUBSTed detection in
drive report and net duplicates out of the totals. The
default is SUBSTed detection, unless a supported network is
detected, in which case SPC defaults to DUPlicate
detection. The D or S options are used for overriding these
defaults. For details see discussion below and the Appendix
on drive measurement.

S - Force SUBSTed detection instead of DUPlicate detection in
drive report and net SUBSTed drives out of the totals.

= - Identification string. SPC puts your identification string
on the right half of Line 1 of the display, overriding the
author credit, if you use '=' followed by your selected
identification information. SPC looks for the occurrence of
the equals sign on the commandline and interprets everything
following it (up to but not including redirection and piping
symbols) as an identification string rather than as an
option. SPC no longer converts your ID string to upper
case. Maximum length is 21 characters. Default is to
display author credit.

Use of SPC options
SPC options are provided largely to supply fine-tuning in SPC
applications as well as solutions to specialised problems which
few users will have. For example, only network operators who are
not using the network types which SPC can detect will find it
necessary to use the D option.

Generally, use of SPC's options will not be needed.

To get help on the use of SPC options, just enter



Much of what an SPC display means is fairly self-explanatory.
However, it is useful here to identify systematically all the
parts of the main display, so as to avoid confusion. The
following is a hypothetical display, showing all equipment
connected, a scenario in which SPC is run remote via
communications in a shell to a node connected to a small netbios
LAN. The node in question has VGA, a 3 button MS compatible
mouse, and so on. (Command: 'SPC =Lan remote')

Ú Tuesday 03-19-1991 21:44:29 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SPC 5.2 ¿
³ DOS 3.20 VGA Color 3 MB 1 LPT1: S* PM ID: Lan remote ³
³ FC (01/15/88) ISA - K R 8259 - E-CNS 1 COM1: 16450 MR TR RS CD ³
³ 80386 36.8: X....1.......2.........3.*.....4............. 80387 ³
³ VER SHARE PC LAN 655360/204144 - EMS 4.0: 1524/934 1 ³
³ Drv ÄÄ Status Ä Sector Ä Cluster ÄÄÄ Free Ä Allocated Ä Total Ä Drv ³
³ C: BOOT 512 2048 0.541 17.832 18.373 C: ³
³ D: 512 4096 5.640 5.612 11.252 D: ³
³ E: 512 4096 2.265 5.386 7.651 E: ³
³ F: 512 4096 4.309 1.049 5.358 F: ³
³ Z: Totals less DUPlicate drives: 12.755 29.879 42.634 Z: ³

Let's take this apart line by line.

Line 1 (DOS, peripherals, and ID string)
This line, with the exception of the DOS version, is devoted to
peripheral equipment, type of adaptor (now supporting
identification of 8514 terminals and EGA adaptors used with CGA
monitors), color/mono, number of MS-compatible Mouse Buttons,
number of printer ports (LPT), which port active, whether printer
is Selected, Disconnected, out of paper, busy, whether the DOS
PRINT multiplexer is loaded, and the optional identification

DOS 3.20 VGA Color 3 MB 1 LPT1: S* PM ID: Lan remote
DOS ver Video & Mouse PRN stat & Mult Identification string

Line 1 adds more detailed printer support. To the left of "LPT"
is the number of installed printer ports. In LPTx, x refers to
the first port installed. Three flags follow:

Primary printer status:
S: Selected
D: Disconnected
O: Out of paper
-: none of the above

Secondary printer status:
*: Busy
blank: not busy

PRINT Multiplexer status:
PM: loaded
-: not loaded

Line 2 (ROM bios information, keyboard, and communications)
The dash ("-") is used throughout SPC to indicate logic low, zero,
or that the feature is not installed.

FC (01/15/88) ISA - K R 8259 - E-CNS 1 COM1: 16450 MR TR RS CD
BIOS motherboard information Keybd Communications

In order, within each category, the information is as follows:

BIOS info -
Model number (e.g. FC)
BIOS release date (e.g. 01/15/88)
Bus type (MCA or ISA)
Wait for external event installed (E or -)
Keyboard intercept used (K or -)
Real time clock installed (R or -)
Second 8259 installed (8259 or -)
HD BIOS uses DMA channel 3 (3 or -)

Keyboard info -
Enhanced keyboard (E or -)
Insert mode (I or -)
Caps lock set (C or -)
Num lock set (N or -)
Scroll lock set (S or -)

Communications info -
Number of serial ports (1, 2, or -)
Port selected on command line (1 or 2) default is 1.
UART on port card (8250, 16450, 16550, 16550A, or -)
If no communications card available for designated port, UART
will return logic low.
Modem Response (MR or -)
If modem not connected to designated port, or is defective,
this will be logic low.
Data terminal ready (TR or -)
Should be TR (logic high) if communication in progress.
Request to send (RS or -)
Should be RS (logic high) if RTS/CTS hardware handshaking
Carrier detect (CD or -)
Required (CD) for communications connect.

Items needing comment:
- Model number specifies a species in the genus "IBM compatible
computer" which in fact identifies the main type of basic
input/output system (bios) used in the machine. For example,
IBM's main list goes as follows:

FB - IBM PC-XT(rev 1)
FA - IBM PS/2 Model 30
F9 - IBM PC Convertible
F8 - IBM PS/2 Model 80

- MCA means microchannel (for PS/2 models) while ISA refers to the
standard IBM compatible architecture. The keyboard intercept
refers to scancode interpretation automatically performed by the
BIOS, if supported. Real time clock (R) means the real time
clock is on the motherboard, not on a multi-i/o card. Advanced
motherboard architectures use a second programmable interrupt
controller (8259) to achieve 16 interrupt levels for smoother
processing. And some BIOS types use DMA channel 3 for hard disk

BIOS fields following the bus type (MCA or ISA) are replaced by
blanks for BIOS versions which do not support extended
information recovery.

Line 3 (The processor line)
Line 3 presents 4 pieces of information, left to right: The
processor type, the Norton-based CPU speed index, a graph of the
speed index and the coprocessor. The speed graph is a 45-point
one-line logarithmic scale which enables display of the position
of a specific computer's processor within the spectrum of
processors actively in use today.

(80386 36.8: X....1.......2.........3.*.....4............. -)
80386 36.8: X....1.......2.........3.*......4............. 80387

Benchmark Processor
----------- -------------------------
X 1.0 8088, 4.77 MHz, (IBM XT)
1 2.0 80186, 4.77 MHz
2 7.0 80286, 6 MHz
3 29.0 80386, 16 MHz
4 94.0 80486, 16 MHz [486 criterion]

* 36.8 This machine (386/20)

The relation which SPC uses to map the CPU speed index to a
specific point in this 45-point scale is:

Point # = 1 + 6.838 * LN (index)

1 corresponds to the CPU index value of 1, while Point 45
corresponds to the value of 579.2 for the index. Thus, this graph
will probably be able to handle representation of the speed of
80586 machines when they are produced.

Line 4 (Verify/Network/Memory Line)
The fourth line is devoted to memory - what critical software is
loaded, how much standard memory, how much extended, and so on.

(VER SHARE PC LAN 655360/204144 - No Expanded Memory)
VER SHARE PC LAN 655360/204144 - EMS 4.0: 1524/934 1
C Net/MTask RAM EXT Expanded memory

C info -
The C field indicates whether DOS VERify is set.

Net/MT info -
SHARE status (SHARE or -)
Network/multitasking status (type active or -)

RAM info -
Total RAM available in bytes
Free RAM available in bytes
(New feature: previous SPC versions only displayed RAM in
thousands of bytes)

EXT info -
Total Extended memory available (in 1000s)

Expanded memory info -
EMS version number
Total EMS memory (in 1000s)
Free EMS memory
Number of EMS handles in use

Items needing comment:
- Unlike other equipment programs, SPC displays numerical
information in decimal format, rather than mixed decimal/binary.

- Three network types are supported - PC LAN, MS/LANtastic/3Com,
and Novell Netware; as well, SPC supports identification of two
multitaskers - Desqview and DoubleDos. there a network is
present, the network id overrides any multitasking indicator.
(However, the presence of a network does not override
multitasking detection and SPC's action of pausing task
switching during certain critical operations.)

The purpose of detecting networks is chiefly to enable SPC to
select the proper detection default for drive measurement. See
discussion of the Totals Line below.

The main purpose of detecting multitasking status is to enable
SPC to pause task-switching during sections of SPC's code which
are known to cause interference with operations occurring
concurrently in other multiplexed windows. This is what makes
SPC "DD/DV aware".

Line 6+ (drive report)

C: BOOT 512 2048 0.541 17.832 18.373 C:

Here, the sector and cluster sizes appear in bytes, whereas the
Free, Allocated, and Total numbers appear in megabytes. 5/4
rounding and units place dash replacement for zeroes is used
consistently in SPC 5.2 as in previous versions.

The Status column indicates the special role a particular drive
may play in the overall system. SPC supports BOOT, DUP, SUBST,
CSPEC, and UNDEF specifiers.

For DOS 4.0+, BOOT indicates from which drive the machine was
originally booted, while CSPEC indicates on which drive DOS looks
for COMMAND.COM. Where these drives are the same, the BOOT
indicator overrides the CSPEC indicator. For earlier versions of
DOS, SPC does not distinguish the boot and comspecked drives, but
merely labels the drive on which DOS looks for COMMAND.COM as the
BOOT drive.

DUP means that the given drive has the same total and free space
as some other drive listed earlier in the alphabetic sequence
(such as a duplicate link in a network), and so is not counted in
the grand totals. DUP is not assigned where the drive is reported

SUBST means that DOS sees the given drive as SUBSTed from a
directory of another drive, and the numbers associated with the
SUBSTed drive are not accumulated in the grand totals.

UNDEF means that the number of clusters on the given drive equals
65,535 (FFFFh), indicating that DOS cannot define the number of
clusters. The limitation of cluster measurement is due to the
fact that DOS represents the number of clusters as a hex word,
rather than as a double word.

SPC 5.2, however, merely reports the statistics which DOS returns
for such drives, while providing a warning to the user in the form
of the UNDEF flag that the total and free space numbers may not be
reliable. The E commandline option excludes UNDEF statistics from
the grand totals at the bottom of the SPC display, otherwise these
statistics are included.

See Appendix on drive measurement below for further details.

Last Line (Lastdrive, Totals Line)
Z: Totals less DUPlicate drives: 12.755 29.879 42.634 Z:

The drive listed at the beginning and end of the line is the value
of LASTDRIVE specified in CONFIG.SYS (or which DOS uses as a
default). SPC will report a blank for LASTDRIVE in versions of
DOS preceding 3.0.

The title of the line shows which kind of detection is in force
during an SPC run. If DUPlicate detection is active, the title
will read "Totals less DUPlicate drives"; if SUBSTed detection is
active, the title will read "Totals less SUBSTed drives". These
two modes are mutually exclusive.

SPC in default mode uses the following set of conditions to
activate duplicate mode as the detection default:

(1) SPC detects DOS 4+ and a supported network.

(2) SPC detects DOS 3+, and either the SHARE condition (for IBM
LAN or TAPESTRY-like networks) or a supported network.

If neither of these conditions is met (as would typically be the
case in standalone environments), SPC defaults to SUBSTed
detection. Specifically, even though DOS 4+ requires SHARE, SPC
will default to SUBSTed detection, unless it detects a network.
However, for DOS levels below 4.0, SPC uses the SHARE condition as
indicating the presence of a network requiring DUPlicate

The user may override SPC's internal defaulting activity by
specifying what mode to use on the commandline. S means SUBSTed
detection; D means DUPlicate detection.


SUBSTed and Duplicate drives
SPC uses DOS Services to identify SUBSTed drives. This method
corrects the old bug of not displaying the last real drive in the
list, when a SUBSTed drive is defined with a drive letter which is
prior to the letter used for the last real drive. The DOS
Services approach to SUBSTed drives is supported as far back as
DOS 2.0.

The disadvantage of using SUBSTed detection is that it leads to
difficulties when SPC is run in local area networks. Such
networks already redirect drives during network configuration,
causing drive redirection to have a different meaning than SUBSTed
redirection. Therefore, SPC attempts to detect the presence of a
network; and the resulting information is used to determine the
drive detection default.

Where SPC sees that SUBSTed detection is inappropriate, or where
the user selects the D commandline option, SPC uses duplicate
detection rather than SUBSTed detection.

The network detection system is fairly adequate but not complete;
and so, the user may find it necessary to employ the D option to
override the system default on the commandline if the network
environment is not detected by SPC. If SPC does not detect your
network properly, then you need to use the D option explicitly; if
you use such a network, please let me know about it.

In SPC, a drive is said to be a "duplicate" of another drive if,
and only if,

(a) it occurs later in the alphabetic drive display than its
original, and

(b) it has the same total and free space as its original.

When the D option is used, duplicate drives are netted out of the
grand totals at the bottom of the main display.


The speed graph
The SPC speed benchmark graph, as previously noted, is a 45-point
logarithmic scale which shows the position of the test machine in
the spectrum of all the main types of IBM/DOS-compatible equipment
in use today.

Details on the speed index
SPC's speed loop contains an imbedded loop; each one of these runs
1000 integer additions. The relation between the number of outer
loops executed and the rating is expressed by the following
regression formula:

RATING = -1.3318 + 0.0628 * LOOPS

This formula is determined by plugging loop counts and
corresponding Norton SI data into a standard linear regression
analysis. The purpose of doing this was to make sure that the
index relates to the Norton SI, at least within the range for
which the Norton Index was originally designed (XT's and AT's).
All of the points used were in the range below SI = 10.

Above SI=10, SPC's index will begin to diverge markedly from
Norton's, especially for models in the 386 or 486 class. For
example, SPC measures the speed of a Micronics 386/20 at about
36.8, whereas the Norton measure is about 22.0. 486 machines are
measured by SPC in the 94-240 range, reflecting their enormously
greater calculating power, but the Norton measure merely places
them, indifferently, in the high 30's. An Apricot 486/25 measures
out to 152, while the same machine is measured by the Norton index
merely at 38.8.

The presence of TSRs, and therefore different versions of DOS, may
have a small effect on speed readings. The normal speed of a
386/20 machine operating under DOS 3.20 with no EMS active and no
DMA refresh adjustment should be 36.8.

I wish to give special thanks to Paul Tucker for providing the
hint that led to the solution of the SUBSTed detection problem.
Thanks to Paul also for providing much testing and debugging
assistance as well as certain programming ideas which are used by
SPC in the network detection area. Thanks also to Jud Newell and
Ian Singer, who tested some versions for compatibility problems in
very large Novell networks. Thanks to Lee Perryman who pointed
out the problem with running SPC 4.2 on PS/2 Model 70's, and to
Rob Campbell who did most of the DoubleDos multitasking
experiments. Also I wish to thank Greg Andrews at Compuserve
IBMCOM for conveying to me the correct procedure for detecting
UART types. And I must also express my gratitude for the fine
work done by Hal White in critically reviewing SPC's
documentation, and to Ralf Brown, without whose interrupt
documentation this program would not have been impossible.

This program is circulated as copyrighted freeware without any
guarantee or warranty; and the user, by downloading this program,
or any variant thereof or by receiving it or any of its versions
in any other form, agrees to accept full responsibility for its
use. It is therefore understood that the user accepts this
program or any previous version as is.

Bob Eyer The author may also be reached at
Compuserve [73230,2620] ROSE MEDIA 416-733-2285 (Main Conf)
Toronto CMIX 416-277-2363 (Main Conference)
Canada CANADA REMOTE 416-629-7044 (IBM Conf)
End of documentation.

  3 Responses to “Category : System Diagnostics for your computer
Archive   : SPC_52.ZIP
Filename : SPC.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: