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 |
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.
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.
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.
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):
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):
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).
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.
Pin No. | Signal |
---|---|
9 | Data Bit 7 |
10 | -Acknowledge |
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 |
Many of the product names mentioned in this documentation are registered trademarks of the respective companies. They're only used for identification.
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.
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.
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.
(without any special order)
Documentation: Copyright © 1997 by Hendrik Foken
Program:
Copyright © 1997 by Alexander Foken