dunkles Zeichen |
ASCII- Nummer |
ASCII- Name |
ASCII-Name lang | Bemerkungen |
---|---|---|---|---|
@ | 00 $00 | NUL | Null | Oft als Ende einer Zeichenkette benutzt (ASCIIZ-String, C-String), manchmal auch als "etwas anderes" Leerzeichen. |
A | 01 $01 | SOH | Start of Header | |
B | 02 $02 | STX | Start of Text | |
C | 03 $03 | ETX | End of Text | Wird von DOS als BREAK erkannt |
D | 04 $04 | EOT | End of Transmission | |
E | 05 $05 | ENQ | Enquire | |
F | 06 $06 | ACK | Acknowledge | |
G | 07 $07 | BEL | Bell | Erzeugt Pieps-Signal |
H | 08 $08 | BS | Backspace | Cursor ein Zeichen nach links, oft: Zeichen links vom Cursor löschen und Cursor an dessen Position |
I | 09 $09 | TAB | Tabulator | |
J | 10 $0A | LF | Line Feed | Cursor eine Zeile tiefer |
K | 11 $0B | VT | Vertical Tabulator | |
L | 12 $0C | FF | Form Feed | Bildschirm löschen / Neue Seite |
M | 13 $0D | CR | Carriage Return | Cursor an Zeilenanfang |
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 | Dateiende |
[ | 27 $1B | ESC | Escape | für ANSI und Druckersteuerung benötigt |
\ | 28 $1C | FS | Formular Separator | |
] | 29 $1D | GS | Group Separator | |
^ | 30 $1E | RS | Record Separator | |
_ | 31 $1F | US | Unit Separator |
Es gibt verschiedene Methoden eine Versionsnummer anzugeben, die gängigste ist es, zwei Bytes anzugeben, eines mit der Hauptversionsnummer (vor dem Punkt) und eines mit der Nebenversionsnummer (nach dem Punkt). Die Hauptversion ist meist nicht größer als 9, die Nebenversion liegt im Bereich von 0 bis 9 oder zwischen 0 und 99. Genau darin liegt das Problem: die Nebenversion kann binär oder BCD codiert sein, bei einstelligen Nebenversionsnummern kann eine 0 angehängt werden, so daß diese praktisch zweistellig werden.
Eine weitere - wenn auch seltene - Variante ist es, die Versionsnummer als Dezimalzahl aufzufassen, mit 10, $10=16 oder 100 zu multiplizieren und dann als BYTE oder WORD zurückzugeben. Diese Variante ist eher selten und wird in Programmbeschreibungen und diversen Listen besonders angegeben.
Beispiele zur Codierung einer Versionsnummer:
Version | "1.2" | "1.02" | "1.20" | "1.2", ange- hängte 0 |
---|---|---|---|---|
BCD | $01 $02 | $01 $02 | $01 $20=32 | $01 $20=32 |
Binär | $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 |
Wie man sieht, gibt es viele Möglichkeiten zur Codierung einer Versionsnummer. Leider gibt es selbst bei Standards wie VESA SuperVGA BIOS Extension, PCI BIOS Extension etc. unterschiedliche Meinungen der Hersteller, wie man die Versionsangabe codieren soll. Glücklicherweise ist man sich zumindest darüber einig, in einem Byte die Hauptversionsnummer abzulegen, was die Anzahl der möglichen Codierungen einschränkt.
Beispiele zur Decodierung einer Versionsnummer:
Angabe | einstellig | zweistellig, BCD |
zweistellig, Binär |
einstelling, angehängte 0, BCD |
einstellig, angehängte 0, binär |
---|---|---|---|---|---|
$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 | - |
Diese Beispiele sind typisch für VESA-SuperVGA-Karten. Bei verschiedenen Grafikkarten mit der VESA Version 1.2 habe ich schon alle 3 oben gezeigten Codierungen gesehen. INSIDE zeigt VESA- und PCI-Versionsnummern als zweistellig BCD an. Wenn INSIDE bei verschiedenen VESA-SuperVGA-Karten 1.02, 1.14 und 1.20 anzeigt, heißt das nicht, daß die Karten unterschiedliche VESA-Versionen haben, sondern daß die Hersteller die Version 1.2 jeweils unterschiedlich codiert haben.
Wenn Sie Prüfschleifenstecker haben möchten, fertige ich ihnen einen Prüfsteckersatz an:
Wenn Sie interessiert sind, melden Sie sich bitte bei mir, um einen Preis zu vereinbaren.
Pin Nr. | Belegung |
---|---|
1 | +5V |
2 | Joystick A, Taste 1 |
3 | Joystick A, X-Achse |
4 | GND |
5 | GND |
6 | Joystick A, Y-Achse |
7 | Joystick A, Taste 2 |
8 | +5V |
9 | +5V |
10 | Joystick B, Taste 1 |
11 | Joystick B, X-Achse |
12 | GND oder MIDI Ausgang |
13 | Joystick B, Y-Achse |
14 | Joystick B, Taste 2 |
15 | +5V oder MIDI Eingang |
Alle Widerstände 43..56 kOhm, ¼ W. Der genaue Widerstandswert ist unkritisch, sollte jedoch bei allen vier Widerständen gleich sein. Es genügt, billige Kohleschichtwiderstände zu verwenden, teurere Metallschichtwiderstände sind bei der ohnehin nur geringen Genauigkeit des Gameports nicht nötig. Eine Belastbarkeit von ¼ W und eine Toleranz von ±20 % reichen vollkommen aus. Die Pins 12 und 15 werden nicht beschaltet, damit Soundkarten nicht beschädigt werden.
Widerstand | 1. Ring (1) | 2. Ring (2) | 3. Ring (3) |
---|---|---|---|
43 kOhm | gelb | orange | orange |
47 kOhm | gelb | violett | orange |
51 kOhm | grün | braun | orange |
56 kOhm | grün | blau | orange |
Toleranzring (4):
Widerstand | 1. Ring (1) | 2. Ring (2) | 3. Ring (3) | 4. Ring (4) |
---|---|---|---|---|
43 kOhm | gelb | orange | schwarz | rot |
43,2 kOhm | gelb | orange | rot | rot |
44,2 kOhm | gelb | gelb | rot | rot |
45,3 kOhm | gelb | grün | orange | rot |
46,4 kOhm | gelb | blau | gelb | rot |
47 kOhm | gelb | violett | schwarz | rot |
47,5 kOhm | gelb | violett | grün | rot |
48,7 kOhm | gelb | grau | violett | rot |
49,9 kOhm | gelb | weiß | weiß | rot |
51 kOhm | grün | braun | schwarz | rot |
51,1 kOhm | grün | braun | braun | rot |
52,3 kOhm | grün | rot | orange | rot |
53,6 kOhm | grün | orange | blau | rot |
54,9 kOhm | grün | gelb | weiß | rot |
56 kOhm | grün | blau | schwarz | rot |
Toleranzring (5):
Diese Stecker können nicht nur von INSIDE, sondern z.B. auch von Norton Diagnostics (N-Loopback) oder PARALLEL.EXE (Parallel Technologies Inc., Redmond; P-Loopback) benutzt werden.
Parallel Technologies "bauen" diesen Loopback, indem sie eine Büroklammer zu einem "U" umbiegen, dessen offene Enden etwa 2,5 mm (1/10") auseinanderstehen, und diese Büroklammer in ein DSUB25-Verlängerungskabel stecken.
Wenn man die Kupplung des Kabels so hält, daß man in die 25 Kontaktöffnungen sehen kann, die kürzere Seite mit den zwölf Kontakten unten und die längere Seite mit den 13 Kontakten oben ist, dann muß man die Büroklammer wie auf der Abbildung in das von links gezählt vierte und fünfte Loch der oberen Reihe stecken. Die Büroklammer nicht tiefer als 5 mm (1/5") in die Kupplung stecken, sonst wird die Kupplung beschädigt !
Bitte erst die Büroklammer in die Verlängerung und dann die Verlängerung in den Computer stecken, dabei darauf achten, daß die Büroklammer keine Metallteile berührt.
Pin Nr. | Belegung |
---|---|
9 | Data Bit 7 |
10 | -Acknowledge |
Pin Nr. | Belegung |
---|---|
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 |
Die in dieser Dokumentation genannten Produktnamen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Hersteller. Sie werden nur zur Identifikation benutzt.
Wir arbeiten seit 1994 an INSIDE, die erste öffentliche Version heißt 1.01.
INSIDE besteht aus zur Zeit ca. 16500 Zeilen Quelltext in Borland Pascal 7.0 (Real Mode, kann also auch mit Turbo Pascal 7.0 compiliert werden) mit reichlich Assembler-Routinen und einige meiner Utility-Units mit ähnlichem Umfang und Gehalt an Assembler-Routinen. Der Sourcecode ist damit natürlich ein klein wenig weniger übersichtlich als das Original von Steve Grant, vor allem aber läuft er ohne meine Utility-Units nicht mehr. Dazu kommt, daß der Sourcecode für viele nur Ballast beim Download darstellt. Vor allem mag ich es aber nicht, wenn jemand meine Programme geringfügig ändert, neu compiliert und damit Geld verdient. Wer nur eine kleine Routine braucht um z.B. den UART-Typ festzustellen, wird natürlich mit einem Code-Schnipsel versorgt, am schnellsten per eMail.
Ich garantiere nur, daß INSIDE Speicherplatz auf Diskette und/oder Festplatte belegt und vorübergehend den Hauptspeicher belegt. Die Benutzung von INSIDE geschieht auf eigenes Risiko. Für Schäden, die direkt oder indirekt durch die sachgemäße oder unsachgemäße Benutzung von INSIDE oder durch Fehler in INSIDE, im Computer oder durch andere Ursachen auftreten, hafte ich nicht.
Sie benutzen INSIDE auf EIGENES RISIKO !!!
Ich empfehle, zunächst diese Dokumentation zu lesen und zu verstehen, bevor Sie auch nur daran denken, INSIDE zu starten.
Sie dürfen INSIDE auf beliebig vielen Computern einsetzen und beliebig oft kopieren. Das Programm darf aber nur vollständig und ohne jegliche Änderungen weitergegeben werden. Jeglicher Verkauf oder kommerzieller Vertrieb von INSIDE ist nicht erlaubt. Das Decompilieren, Disassemblieren oder Übersetzen des Programms oder von Teilen des Programms ist ebenfalls untersagt.
Diese Dokumentation wird in einer deutschen und in einer englischen Version mitgeliefert. Die deutsche Version ist in Zweifelsfällen immer maßgebend, für Schäden, die durch Fehler in einer oder in beiden Dokumentationen entstehen, hafte ich jedoch nicht.
Bei der Entwicklung von INSIDE haben mir viele Menschen geholfen, die ihren Computer als Testobjekt und/oder ihr Wissen zur Verfügung gestellt haben. Besonders der Computer von meinem Bruder und Haupttester Hendrik und die Computer der Beta-Tester Jens und Kevin mußten oft als Testobjekt herhalten und haben dabei einige, teilweise provozierte, Systemabstürze der Alpha- und (seltener) der Beta-Versionen unbeschadet überstanden.
(ohne besondere Reihenfolge)
Dokumentation: Copyright © 1997 by Hendrik Foken
Programm:
Copyright © 1997 by Alexander Foken