INSIDE Logo


8. Appendix:

8.1. Numbers and Characters:

8.1.1. Number formats in INSIDE:

8.1.2. Representation of control characters in INSIDE:

dark
character
ASCII
number
ASCII
name
long ASCII name Notes
@ 00 $00 NUL Null Often used as end of a group of characters (ASCIIZ-string, C-string), sometimes as some "special kind" of space character.
A 01 $01 SOH Start of Header  
B 02 $02 STX Start of Text  
C 03 $03 ETX End of Text DOS detects this as break
D 04 $04 EOT End of Transmission  
E 05 $05 ENQ Enquire  
F 06 $06 ACK Acknowledge  
G 07 $07 BEL Bell generates a beep
H 08 $08 BS Backspace moves the cursor one position left, often: delete sign left from the cursor and move the cursor to that position
I 09 $09 TAB Tabulator  
J 10 $0A LF Line Feed moves the cursor one line down
K 11 $0B VT Vertical Tabulator  
L 12 $0C FF Form Feed clear screen/new page
M 13 $0D CR Carriage Return moves the cursor to the beginning of the line
N 14 $0E SO Shift Out  
O 15 $0F SI Shift In  
P 16 $10 DLE Data Link Escape  
Q 17 $11 DC1 Device Control 1 (XON)  
R 18 $12 DC2 Device Control 2 (Tape On)  
S 19 $13 DC3 Device Control 3 (XOFF)  
T 20 $14 DC4 Device Control 4 (Tape Off)  
U 21 $15 NAK Negative Acknowledge  
V 22 $16 SYN Synchronize  
W 23 $17 ETB End of Transmission Block  
X 24 $18 CAN Cancel  
Y 25 $19 EM End of Media (Tape)  
Z 26 $1A SUB Substitute end of file
[ 27 $1B ESC Escape needed for ANSI / printer control codes
\ 28 $1C FS Formular Separator  
] 29 $1D GS Group Separator  
^ 30 $1E RS Record Separator  
_ 31 $1F US Unit Separator  

8.1.3. Version numbers:

There are several methods of declaring a version number, the most usual is to declare two bytes, one containing the major version number (in front of the dot) and one containing the minor version number (behind the dot). The major version usually is not more than 9, the minor version is either between 0 and 9 or between 0 and 99. And exactly that is the problem: the minor version can be binary encoded or BCD encoded, one-digit numbers can be enhanced to two-digit numbers by adding a 0.

Another - very rare - possibility is to interpret the version number as a decimal number, multiply it with 10, $10=16 or 100 and return it as a BYTE or a WORD. This variation is very rare and is specially specified in program descriptions and various lists.

Examples for encoding a version number:

Version "1.2" "1.02" "1.20" "1.2" with
appended 0
BCD $01 $02 $01 $02 $01 $20=32 $01 $20=32
Binary $01 $02 $01 $02 $01 $14=20 $01 $14=20
*10 $0C=12 - - $0C=12
*$10=16 $1C - - $12
*100 $78=120 $66=102 $78=120 $78=120

As you can see, there are numerous ways to encode one version number. Unfortunately, manufacturers have different opinions about how to encode a version number even concerning standards like VESA SuperVGA BIOS extension, PCI BIOS extension etc. Fortunately all manufacturers put the major version number in one byte, limiting the number of possible encoding methods.

Examples for decoding a version number:

Declaration one digit two digits,
BCD
two digits,
binary
one digit,
appended 0,
BCD
one digit,
appended 0,
binary
$01 $02 1.2 1.02 1.02 - -
$01 $14=20 - 1.14 1.20 - 1.2
$01 $20=32 - 1.20 1.32 1.2 -

These are typical examples for VESA Super VGA cards. I have seen all those methods of encoding on several graphic cards with VESA version 1.2. INSIDE displays VESA and PCI version numbers as two-digit BCD. When INSIDE displays 1.02, 1.14, and 1.20 for different VESA SuperVGA cards, that means that all the cards have the same VESA Version 1.2 but that the version numbers were encoded differently by the several manufacturers.

8.2. Hardware

8.2.1. Wiring of loopback plugs (seen from soldered side):

If you'd like to have loopback plugs, I will make a set for you containing the following:

If you are interested, please contact me to agree upon a price.

8.2.1.1. Game port (male DSUB15):

Gameport Loopback Plug
Pin Nr. Signal
1 +5V
2 joystick A, button 1
3 joystick A, x-axis
4 GND
5 GND
6 joystick A, y-axis
7 joystick A, button 2
8 +5V
9 +5V
10 joystick B, button 1
11 joystick B, x-axis
12 GND or MIDI output
13 joystick B, y-axis
14 joystick B, button 2
15 +5V or MIDI input

All resistors 43..56 kOhm, ¼ W. The exact resistor value is not important, but should be equal on all four resistors. Due to the low precision of the game port, it's not necessary to use expensive metal film resistors, cheaper carbon resistors will do as well. ¼ W types with a tolerance of ±20% are sufficient for this loopback plug. Pins 12 and 15 are not used, so that sound cards are not damaged.

Colour code of the resistors:

a) Carbon resistors:

Carbon Resistor
Resistor 1st Ring (1) 2nd Ring (2) 3rd Ring (3)
43 kOhms yellow orange orange
47 kOhms yellow purple orange
51 kOhms green brown orange
56 kOhms green blue orange

Tolerance ring (4):

b) Metal film resistors:

Metal Film Resistor
Resistor 1st Ring (1) 2nd Ring (2) 3rd Ring (3) 4th Ring (4)
43 kOhms yellow orange black red
43,2 kOhms yellow orange red red
44,2 kOhms yellow yellow red red
45,3 kOhms yellow green orange red
46,4 kOhms yellow blue yellow red
47 kOhms yellow purple black red
47,5 kOhms yellow purple green red
48,7 kOhms yellow gray purple red
49,9 kOhms yellow white white red
51 kOhms green brown black red
51,1 kOhms green brown brown red
52,3 kOhms green red orange red
53,6 kOhms green orange blue red
54,9 kOhms green yellow white red
56 kOhms green blue black red

Tolerance ring (5):

8.2.1.2. Parallel port (male DSUB25):

These plugs can not only be used with INSIDE but also wit other programs, e.g. Norton Diagnostics (N-Loopback) or PARALLEL.EXE (Parallel Technologies Inc., Redmond; P-Loopback).

a) Parallel Technologies, Inc., Redmond (P-Loopback):

Parallel Technologies "build" this loopback by bending a paper-clip to an "U", whose open ends have a distance of about 2.5 mm (1/10"), and plugging it into a DSUB25 extension cable.

Looking at the 25 contact holes of the extension cable's socket, you must hold it with the longer edge (13 contacts) up and put the paper-clip into the fourth and fifth hole of the upper row counted from the left as you can see on the illustration. Do not put the paper pin deeper than 5 mm (1/5") into the socket, otherwise you'll damage the socket.

Please put the paper pin into the socket before plugging the extension cable into the computer. Please take care that the paper pin does not touch any metal parts.

Parallel Port Loopback Plug (P-Loopback)
Pin No. Signal
9 Data Bit 7
10 -Acknowledge

b) Norton (N-Loopback)

Parallel Port Loopback Plug (N-Loopback)
Pin No. Signal
2 Data Bit 0
3 Data Bit 1
4 Data Bit 2
5 Data Bit 3
6 Data Bit 4
10 -Acknowledge
11 +Busy
12 +Paper End
13 +Select
15 -Error

8.3. Last words:

8.3.1. Trademarks:

Many of the product names mentioned in this documentation are registered trademarks of the respective companies. They're only used for identification.

8.3.2. About INSIDE ("Will you give me the source code ?")

We are working on INSIDE since 1994, the first public Version is 1.01.

Currently, the source code of INSIDE consists of about 16.500 lines written in Borland Pascal 7.0 (real mode, can be compiled with Turbo Pascal 7.0, too) with a big amount of assembler routines and some of my utility units with similar size and amount of assembler routines. Therefore, the source code is a little bit less clear than Steve Grant's original SYSID, but above all it doesn't work without my utility units. In addition to this, the source code would be too much ballast during download. Above all I don't like people changing a bit and re-compiling my programs and making money with them. If someone needs a routine e.g. for UART detection, I will certainly give him a code snippet, the fastest way is e-mailing me.

8.3.3. Warranty

I only guarantee that INSIDE occupies space on floppy disk and/or harddisk and that it temporarily occupies memory. You use INSIDE on your own risk. I am not responsible for any damage that may occur directly or indirectly by proper or improper use of INSIDE or by errors in INSIDE, in the computer, or by any other reasons.

You use INSIDE on your OWN RISK !!!

I recommend to read and to understand this documentation before even thinking of running INSIDE.

You may use INSIDE on as many computers as you want and may copy it as often as you want. All parts of this program must be delivered completely and without any change. Any sale or commercial distribution of INSIDE is not allowed. Decompilation, deassemblation, and translation of the program or parts of the program is forbidden, too.

This documentation is delivered in a German and in an English version. In case of doubt, the German version is always leading, but I am not responsible for any damage that may occur due to errors in one or both versions of this documentation.

8.3.4. Credits:

During the development of INSIDE many people helped me by giving me their computers to test the program and/or their knowledge. Especially my brother's and main tester's computer and my beta tester's computers (Jens' and Kevin's PCs) often had to serve as test objects and survived many, partially provoked, system crashes of the alpha and beta (sometimes) versions without any damage.

8.3.5. Literature used/Sources:

(without any special order)


Documentation: Copyright © 1997 by Hendrik Foken
Program: Copyright © 1997 by Alexander Foken