1.0 Codes
Durch die Speicherstellen $8504 erhalten sie den ASCII-Wert der zuletzt gedrückten Taste(n). Wenn Sie mehrere Tasten gleichzeitig drücken, wird entsprechend die Summe der Tastaturwerte ausgegeben. Entsprechend können Sie auch abfragen, welche Tastaturkombination (z.B. C= q) gedrückt wurde .
1.1 Tastatur-Codes - Geos ASCII ($01-$3f)
Key Hex Dec Key Hex Dec
f1 $01 1 - $2d 45
F2 $02 2 . $2e 46
f3 $03 3 / $2f 47
F4 $04 4 0 $30 48
f5 $05 5 1 $31 49
F6 $06 6 2 $32 50
no scroll $07 7 nur 128 3 $33 51
Cursor links $08 8 4 $34 52
tab $09 9 nur 128 5 $35 53
LINE FEED $0a 10 nur 128 6 $36 54
Enter $0b 11 nur 128 7 $37 55
keine Geos $0c 12 8 $38 56
RETURN $0d 13 9 $39 57
f7 $0e 14 : $3a 58
F8 $0f 15 ; $3b 59
Cursor Up $10 16 < $3c 60
Cursor Down $11 17 = $3d 61
HOME $12 18 > $3e 62
CLR $13 19 ? $3f 63
Back $14 20 @ $40 64
keine Geos $15 21 A $41 65
STOP $16 22 B $42 66
RUN $17 23 C $43 67
Brit.Pfund $18 24 D $44 68
HELP $19 25 nur 128 E $45 69
ALT $1a 26 nur 128 F $46 70
ESC $1b 27 nur 128 G $47 71
INS $1c 28 H $48 72
DEL $1d 29 I $49 73
Cursor rechts $1e 30 J $4a 74
SHIFT/CTRL $1f 31 K $4b 75
SPACE $20 32 L $4c 76
! $21 33 M $4d 77
" $22 34 N $4e 78
# $23 35 O $4f 79
$ $24 36 P $50 80
% $25 37 Q $51 81
& $26 38 R $52 82
' $27 39 S $53 83
( $28 40 T $54 84
) $29 41 U $55 85
* $2a 42 V $56 86
+ $2b 43 W $57 87
, $2c 44 X $58 88
Y $59 89 m $6d 109
Z $5a 90 n $6e 110
Ä $5b 91 o $6f 111
Ö $5c 92 p $70 112
Ü $5d 93 q $71 113
^ $5e 94 r $72 114
_ $5f 95 s $73 115
` $60 96 t $74 116
a $61 97 u $75 117
b $62 98 v $76 118
c $63 99 w $77 119
d $64 100 x $78 120
e $65 101 y $79 121
f $66 102 z $7a 122
g $67 103 ä $7b 123
h $68 104 ö $7c 124
i $69 105 ü $7d 125
j $6a 106 ß $7e 126
k $6b 107 DEL $7f 127
l $6c 108 C= $80 128
1.2 Die Zeichenausgabe-Codes
Die Zeichenausgabe-codes unterscheiden sich nur von Zeichen $00 bis $1f. Ansonsten ist der Code der gleiche wie bei der Tastatur. Deshalb sind auch hier nur die ersten Codes (Steuerzeichen) erwähnt.
Hexa Deci Bedeutung Hexa Deci Bedeutung
$00 00 Null Stringende $11 17 ESC_Ruler
$01 01 nicht implement. $12 18 REVON (Rev. ein)
$02 02 nicht implement $13 19 REVOFF (Rev. aus)
$03 03 nicht implement $14 20 GOTOX (2 Byte)
$04 04 nicht implement $15 21 GOTOY (1 Byte)
$05 05 nicht implement $16 22 GOTOXY (3 Byte)
$06 06 nicht implement $17 23 NEWCARDSET
$07 07 nicht implement $18 24 BOLDON (Fett ein)
$08 08 BACKSPACE $19 25 ITALICON
$09 09 FORWARDSPACE/TAB $1a 26 OUTLINEON
$0a 10 LF (CRSR down) $1b 27 PLAINTEXT
$0b 11 HOME (x=0,y=0) $1c 28 nicht implement
$0c 12 UPLINE(CRSR up) $1d 29 nicht implement
$0d 13 CR (Carrige Return) $1e 30 nicht implement
$0e 14 ULINEON $1f 31 nicht implement
$0f 15 ULINEOFF
$10 16 ESC_GRAPHICS
Die weiteren Zeichen sind identisch mit den Tastaturcodes !
2.0 Das Diskettenformat
Geos unterstützt folgende Diskettenlaufwerke von Commodore: 1541, 1570 (als 1541), 1571 und 1581. Außerdem kann man unter Geos verschiedene RAM-Erweiterungen (GEORAM, REU 1750, RAM-Link. . .) nutzen und dabei die oben genannten Diskettenlaufwerke simulieren. Geos hält sich weitestgehend an das DOS-Floppy-Format, es werden nur mehr oder weniger einige Zeichen ergänzt. Für die 1581 wird eine künstliche BAM erzeugt. Die BAM (Block Availability MAP, Blockbelegungstabelle) enthält Informationen wie Diskettenname, Disk-ID, Verzeichnis der belegten und nichtbelegten Blöcke. Sie steht immer an erster Stelle der Directory -> 1541 und 1571 bei Track 18 Spur0 und bei 1581 der Track 40 Spur 3 .
2.1 BAM
Byte Inhalt:
0,1 $00,$01 Track-/Sektorverkettung ; zeigt auf den ersten Directoryblock (1541/1571 ->18/1, 1581->40/3)
2 $02 DOS-Formatkennzeichen (1541/1571-> a ($41) 1581->d ($44)
3 $03 Flag für doppelseitige Disk (nur 1571)
4-143 $04-$8f Blockbelegungstabelle (bitte dem jeweiligen Hand- buch zur Floppy entnehmen)
144-159 $90-$9f Diskettenname aufgefüllt mit 160 ($a0)
160,161 $a0,$a1 nicht benutzt ($a0)
162-166 $a2-$a6 Disk-ID und Format ( $2a bei 1541,70,71 und $3d für 1581, aber unter Geos unwichtig
167-170 $a7-$aa nicht benutzt ($a0)
171,172 $ab,$ac Track/Sektor des Borderblocks
173-188 $ad-$bc Text "GEOS format V1.0"
189 $bd Disk-Byte: $42-> Systemdisk, $50-> Hauptdisk $00-> Arbeitsdisk
190-220 $be-$dc nicht benutzt ($a0)
221-255 $dd-$ff 1541/70/81: mit $00 belegt;1571: Anzahl derfreien Blöcke der Spuren 36-70 (bei Spur 50 immer 0).
2.2 Directory
An die BAM folgt die Directory, sie enthält pro Block 8 File-Einträge. Alle Laufwerke können maximal 144 Files auf einer Diskette abspeichern. Das Grundformat jedes Blockes ist :
Byte Inhalt
0,1 $00,$01 Track und Sektor des nächsten Directory-Blocks
2-31 $02-$1f File Eintrag #1
32,33 $20,$21 unbenutzt
34-63 $22-$3f File Eintrag #2
64,65 $40,$41 unbenutzt
66-95 $42-$5f File Eintrag #3
96,97 $60,$61 unbenutzt
98-127 $62-$7f File Eintrag #4
128,129 $80,$81 unbenutzt
130,159 $82-$9f File Eintrag #5
160,161 $a0,$a1 unbenutzt
162-191 $a2-$bf File Eintrag #6
192,193 $c0,$c1 unbenutzt
194-223 $c2-$df File Eintrag #7
224,225 $e0.$e1 unbenutzt
226-255 $e2-$ff File Eintrag #8
Der Directory-Block (z.B.2-31 ($02-$1f)) ist wie folgt zusammengesetzt :
Byte Inhalt
0 $00 CBM-Filetyp PRG($82), PRG<($c2), SEQ($81),
SEQ<($c1), USR($83), USR<($c3), DEL($00)
- < = mit Löschschutz
1,2 $01,$02 Track/Sektor des ersten Blocks seq.Files/VLIR
3-18 $03-$12 Name des Files (aufgefüllt mit $a0)
19,20 $13,$14 Track / Sektor des Infoblocks
21 $15 Filestruktur: 0 für seq, 1 für VLIR
22 $16 Geos-Filetyp:
0 $00 - nicht Geos
1 $01 - Basic-Programm
2 $02 - Assemblerprogramm
3 $03 - Datenfile
4 $04 - Systemdatei
5 $05 - Hilfsprogramm (DA)
6 $06 - Anwendung (Applikation)
7 $07 - Dokument (einer Applikation)
8 $08 - Zeichensatz (Font)
9 $09 - Druckertreiber (Printer Driver)
10 $0a - Eingabetreiber (Input Driver)
11 $0b - Laufwerkstreiber (Disk Driver)
12 $0c - Startprogramm (z.B. Geos Boot)
13 $0d - Temporär (z.B. SWAP Files)
14 $0e - selbstausführend
15 $0f - Eingabetreiber 128
23 $17 Jahr (zweistellig - 93)
24 $18 Monat
25 $19 Tag
26 $1a Stunde
27 $1b Minute
28,29 $1c,$1d Anzahl der Blöcke, die das File belegt
2.3 Info-Block
Hier stehen u.a. auch Infos, die Sie mit c= Q im Desktop aus, von jedem File abfragen können. Die anderen Infos sind nur über Monitor sichtbar :
Byte Inhalt:
0,1 $00,$01 immer $00,$ff (kein Folgeblock)
2 $02 Breite des Icons in Cards, 24/8 = 3
3 $03 Höhe des Icons : 21
4 $04 Kopfbyte des Icons
$bf(=191 = 62 ungepackte Daten)
5-67 $05-$43 Icon-Bitmap in unkomprimierter Form
68 $44 Commodore Filetyp (z.B.$82 = PRG)
69 $45 Geos-Filetyp
70 $46 Filestruktur (0 = seq; 1 = VLIR)
71,72 $47,$48 Ladeadresse für Applikat. / Desk acc. -> Low,High)
73,74 $49,$4a Endadresse ( Low, High)
75,76 $4b,$4c Startadresse (Low, High)
77-93 $4d-$5d Class:
94,95 $5e,$5f unbenutzt
96 $60 Bildschirmflag für Geos 128
$00 = nur 40 Zeichen-Modus
$40 = 40 und 80 Zeichen-Modus
$80 = nur unter Geos 64 lauffähig
$c0 = nur 80 Zeichen-Modus
97-116 $61-$74 Autor
117-133 $75-$85 Class der Applikation, die das File erzeugt hat
134-159 $86-$9f Frei für Daten, z.B.bei geoWrite
160-255 $a0-$ff Infotext, abgeschlossen mit Nullbyte
bei allen Applikations-Datenfiles z.B. geoWrite-Dokumenten
77-88 $4d-$58 Permanenter Filename bzw. Dok.-Kennzeichnung
89-93 $59-$5d Versionsangabe(V.x.x)
2.4 VLIR-Struktur
Der erste Datenblock jedes VLIR-Files ist der Index-block. Darin stehen nach einem $00,$ff (keine Folgeblock) im Track- Sektorformat die einzelnen Einzelfiles dieses Filetypes. Diese Einzelfiles sind wiederrum normal im sequentiellen Format durch Track-/Sektorverkettung aneinander gehängt.
Diese Einzelfiles heißen Records. Aus maximal 127 Records kann ein VLIR-File bestehen. Nicht benötigte Bytes in diesem Block sind mit $00,$00-Belegung gekennzeichnet.
3.0 Erläuterungen zu wichtigen Files:
3.1 geoWrite-Dokumente
Info-Block :
Byte Inhalt:
0,1 $00,$01 immer $00,$ff (kein Folgeblock)
2 $02 Breite des Icons in Cards, 24/8 = 3
3 $03 Höhe des Icons : 21
4 $04 Kopfbyte des Icons
5-67 $05-$43 Icon-Bitmap in unkomprimierter Form
68 $44 Commodore Filetyp ($83)
69 $45 Geos-Filetyp (07=Dokument)
70 $46 Filestruktur (1 = VLIR)
71,72 $47,$48 Ladeadresse ($0000)
73,74 $49,$4a Endadresse ($ffff)
75,76 $4b,$4c Startadresse ($0000)
77-88 $4d-$58 Permanenter Filename (Write Image )
89-92 $59-$5c Versionsangabe(V.x.x)
93-116 $5d-$74 aufgefüllt mit $00
117-132 $75-$84 Class: geoWrite. .
133-136 $85-$88 aufgefüllt mit $00
137,138 $89-$8a nur ab V2.0 - Seitennummer der 1.Seite im LOW- HIGH-Format , sonst $01
139 $8b nur ab V2.0 - 64 , wenn NLQ-Abstand aktiviert
=128, bei Funkion "Titelseite" aktiviert, auch beides möglich
140,141 $8c,$8d nur ab V2.0 - Höhe der Kopfzeilen in Bildpunkten
142,143 $8e,8f nur ab V2.0 - Höhe der Fußzeilen in Bildpunkten
144,145 $90,$91 Seitenhöhe, abhängig von der Drucker- treibervoreinstellung
146-159 $94-$9f nicht belegt ->$00
160-255 $a0-$ff Infotext, abgeschlossen mit Nullbyte
Index-Sektor:
Byte Inhalt:
0,1 $00,$01 immer $00,$ff - kein Folgeblock
2,3 $02,$03 Datensätze 0 bis 60 =Textseiten 0 - 60, dabei Datensatz0 = Seite 1 bzw. durch "1.Seitenzahl" gesetzten Seite. Weist auf TR/SE der einzelnen Seite hin. Bis 120,121 Datensatz 60 = Seite 61
122,123 $7a,$7b Track/Sektor der Kopfzeile (als Datensatz 61)
124,125 $7c,$7d Track/Sektor der Fußzeile (als Datensatz 62)
126,127 $7e,$7f unbenutzt
128,129 $80,$81 Datensätze 64-127 = Fotoscraps 0 - 64, dabei Datensatz 64 = Byte 128,129 = Scrap 1 in komprim. Form bis 254,255 = Datensatz 127
Aufbau der einzelnen Datensätze (0-60) bei geoWrite V1.1
Byte Inhalt
0,1 $00,$01 linker Rand in Bildpunkten (0-144,in 8er Schritten)
2,3 $02,$03 rechter Rand in Bildpunkten (224 -479, in 8er )
4-19 $04-$a3 Tabulatoren, achtmal 2 Bytes. Bei nicht gesetzt steht hier Wert des rechten Randes
20-23 $a4-$a7 NEWCARDSET
24-Ende $a8-Ende Text im Geos-Zeichencode mit folgender Ausnahme:
$01 - Seitenende
$09 - Tabulatorensprung
$0c - RETURN
$10 - GRAPHIC-ESCAPE-Einleitung
$17 - NEWCARDSET-Einleitung
$00 - Dokument-Ende
Dabei können sich Zeichencodes (ab 31) und Steuercodes abwechseln, je nach Schreibweise !
Aufbau der einzelnen Datensäze (0-60) bei geoWrite V2.0 / 2.1
Byte Inhalt
0-27 $00-$1b RULER-ESCAPE-Definierung
28-31 $1c-$1f NEWCARDSET-Einheit
32-Ende $20-Ende Text im GEOS-Zeichencode mit folgenden Ausnahmen:
$09 - Tabulatorensprung
$10 - GRAPHIC-ESCAPE-Einleitung
$11 - RULER-ESCAPE-Einleitung
$17 - NEWCARDSET-Einleitung
$00 - Dokument-Ende
Text und Steuerzeichen können sich dabei abwechseln ! Eine neue Seite beginnt mit einem ESC-Ruler !
3.2 Aufbau von Text-Scraps
Byte Inhalt
0,1 $00,$01 Anzahl der noch folgenden Bytes im File
2 $02 NEWCARDSET: Einleitungsbyte $17
3,4 $03,$04 Zeichensatz-Kennung
Bit 0-5 : Punktgröße
Bit 6 - 15 : Zeichensatz-Kennziffer
5 $05 Schriftart ( alles 0 = normal)
1 = Subscript 2 = Superscript 3 = Outline
4 = Italic 5 = Revers 6 = Bold
7 = Unterstrichen
6 - Ende $06-Ende Text in ASCII-Format mit folgenden ausnahmen:
$09 - Tabulator-Sprung
$11 - RULER-ESCAPE-Einleitung (erst ab V2.0)
$17 - NEWCARDSET-Einleitung
Dabei können Text und Steuerzeichen abwechseln !
3.3 Definitionen
GRAPHIC-ESCAPE (Byte $10 + 5)
Byte Inhalt:
0 $10 - Einleitung
1 Breite
2,3 Höhe in Bildschirmzeilen
4,5 Datensatznummer (nur 64 - 127 möglich)
NEWCARDSET ( Byte $17 + 3)
Byte Inhalt
0 $17 - Einleitung
1,2 Bit 0 - 5= Punktgröße des verwendeten Zeichensatzes
Bit 6 - 15= Zeichensatz-Kennziffer
3 aktuelle Schriftart
RULER-ESCAPE ( nur ab Geowrite V2.0)
Byte Inhalt
1 $11 - Ruler-Einleitung
2,3 linker Rand in Bildpunkten (0-392 bei V2.0 / 0-552 bei V2.1)
4,5 rechter Rand in Bildpunkten (80 - 479 bei V2.0 / 80-639 bei V2.1)
6-21 Tabulatoren, wobei pro Tabulator 2 Byte vorhanden sind mit folgender Belegung:
Bit 15 gesetzt = Dezimaltabulator
Bit 15 gelöscht = Text-Tabulator
Bit 0 -14 = Tabulatorenposition in Bildpunkten
22,23 linke Einrückung des aktuellen Absatzes vom linken Rand (Werte wie beim linken Rand)
24 Formatierung /Zeilenabstand als FLAG
0,1 = %00 - linksbündig
%01 - zentriert
%10 - rechtsbündig
%11 - Blocksatz
2/3 = %00 - einfacher Abstand
%01 - anderthalbfacher Abstand
%11 - zweifacher Abstand
25 Textfarbe (noch unbenutzt)
26,27 noch unbenutzt
3.4 Aufbau eines Geopaint-bildes
Grafik allgemein:
Bei C64 und C128-40 Zeichendarstellung:
- 320 x 200 Punkte = 64000 Bildpunkte in 8000 Bytes (je 8 Bit)
- Bitmap ist als Kachel aufgebaut
- 1 Kachel = 64 Pixel = 8 x 8 Feld ,
dabei 1 Byte (=8 Bit waagerecht x 8 Zeilen)
- das erste Feld steht im Speicher ab $a000 und stellt das oberste linke Feld (8x8) dar
- Hintergrundgrafik gleich, ab $6000
Bei C128-80 Zeichendarstellung:
- alle Infos Reihe für Reihe bitweise nebeneinander
- die erste Reihe = 640 Bits = 80 Bytes = 1. Zeile
- zweite Reihe = 640 Bits = 80 Bytes = 2.Zeile usw.
- Hintergrundgrafik wie Vordergrund, jedoch in 2 Teilen ,ab $a000 und ab $6000
zu GeoPaint-bildern (40 Zeichen):
- VLIR-File
- 160 Kacheln, also 2 Kachelreihen in einem Datensatz
- hinter den Kacheln schließen sich 8 Nullbytes an (für die Zukunft reserviert)
- danach folgen 160 Bytes für die Kachelfarben
Hintergrundfarbe = Bit 4 - 7
Vordergrundfarbe = Bit 0 - 3 (Daten für gepackt oder ungepackt)
- für das Kachelformat zählt das Bitmap-Format von Geos
3.5 Aufbau eines Foto-Scraps
Byte Inhalt
0 $00 Breite in Bytes (8-Pixelweise)
1,2 $01,$02 Höhe in Bildschirmzeilen
3-x $03-x Modus-Byte + Daten (auch abwechselnd)
x+1 Farbtabelle im komprimierten Format, die sich aber auf unkomprimiertes Bitmap bezieht.
Modus-Byte:
0 = Ende der Grafikdaten
1 - 127 = gibt an, wie oft das nächste Byte wiederholt werden soll. Bei unkomp. Grafik = 1 + Daten + 1 + Daten + 1 . . . .
128 - 220 = minus 128, gibt an wieviele Daten folgen
221 - 255 = minus 220, gibt an, wieviele Bytes das folgende Muster insgesamt aufweist.
3.6 Aufbau des Notizblockes
Der Aufbau des Notizblockes - Datei "Notes" ist sehr simpel. Für jede Seite die existiert, ist im Index-Block ein Datensatz vorhanden . Die einzelnen Datensätze können maximal 253 Bytes enthalten. Das Byte 254 ist immer $00. Als mögliches Steuerzeichen ist nur $0d (CR-RETURN) zugelassen !
Index-Block:
Byte 0/1 $00,$01 kein Folgeblock
2,3 $02,$03 Seite 1 des Notizblockes = Datensatz 0
bis 254 Byte $255 = $00
3.7 Zeichensätze-Aufbau
Info-Block :
Byte Inhalt:
0,1 $00,$01 immer $00,$ff (kein Folgeblock)
2 $02 Breite des Icons in Cards, 24/8 = 3
3 $03 Höhe des Icons : 21
4 $04 Kopfbyte des Icons
5-67 $05-$43 Icon-Bitmap in unkomprimierter Form
68 $44 Commodore Filetyp ($83)
69 $45 Geos-Filetyp (08=Font)
70 $46 Filestruktur (1 = VLIR)
71,72 $47,$48 Ladeadresse (Low, High)
73,74 $49,$4a Endadresse (Low, High)
75,76 $4b,$4c Startadresse (Low, High)->$0000
77-93 $4d-$5d Class:
94,95 $5e,$5f unbenutzt
96 $60 Bildschirmflag für Geos 128
97-121 $61-$74 Größe der einzelnen Punktgrößen im LOW-HIGH- Format in Bytes - von der kleinsten bis zur größten Punktgröße
122-127 $75-$7f frei
128,129 $80,$81 Zeichensatz-Kennziffer im LOW-HIGH-Format (0-1023 möglich)->BSW9 =$00, BSW128=$20
130-154 $82-$9a max. 12 Datensätze im LOW-HIGH-Format für die einzelnen Punktgrößen von der kleinsten bis zur größten. Diese enthalten im Bit 6-15 eine Kopie der Kennziffer und im Bit 0-5 die Punktgröße.
155-159 $9b-$a0 frei
160-255 $a0-$ff Infotext, abgeschlossen mit Nullbyte
Aufbau
Fonts haben eine VLIR-Struktur. Der Index-Block des jeweiligen Fonts ist so aufgebaut:
Byte Inhalt:
0,1 $00,$01 $00,$ff - kein Folgeblock
2,3 $02,$03 ab dieser Bytefolge steht für jede Punktgröße ein Zeiger auf den entsprechenden Track/Sektor,wo diese Punktgröße gespeichert ist. Nicht vorhandene Punktgrößen sind nicht belegt. Punktgröße10 ist z.B. Datensatz10 und steht bei $20,$21.
Der 1. Block des Datensatzes steht (ohne Byte 0,1) ebenso im Speicher:
Byte Inhalt:
0,1 $00,$ff Folge-Track/Sektor
2 $02 Abstand der Baseline von der obersten Reihe der Zeichen
3,4 $03,$04 Länge (LOW,HIGH) der Bit-Streamreihe
5 $05 Höhe des Zeichensatzes(Anzahl der Bit-Streamreihen
6,7 $06,$07 Zeiger auf die Indextabelle ($0008)
8,9 $08,$09 Zeiger auf die erste Bit-Streamreihe
10-x $0a-x Indextabelle: enthält für jedes Zeichen einen Zeiger auf das erste Bit dieses Zeichens in der Bit-Streamreihe (Geteilt durch 8)
4.0 Geos-Fehlermeldungen
Nummer Inhalt
01 $01 Diskette voll
02 $02 ungültiger Track
03 $03 Diskette voll
04 $04 Inhaltsverzeichnis voll (max.144 Einträge möglich)
05 $05 Datei nicht gefunden
06 $06 BAM fehlerhaft
07 $07 VLIR-Datei noch nicht geöffnet
08 $08 ungültiger Datensatz
09 $09 zu viele Datensätze (max. 127 Records möglich)
10 $0a falsche Dateistruktur
11 $0b Pufferüberlauf beim Laden
12 $0c absichtlicher Abbruchfehler
13 $0d Gerät nicht vorhanden
32 $20 File-Header nicht gefunden
33 $21 keine SYNC-Markierung auf Disk
34 $22 Datenblock nicht vorhanden
35 $23 Daten-Prüfsummmenfehler
37 $25 Fehler beim Schreiben
38 $26 Schreibschutz auf Disk
39 $27 Header-Prüfsummenfehler
41 $29 falsche Disk-ID
46 $2e Byte-Dekodierungsfehler
115 $73 Diskette mit falscher DOS-Marke
5.0 Bit setzen in Hexa/Deci
Bei bestimmten Adressen können bis zu 8 Bits (0 - 7) einzeln oder zusammen gesetzt bzw. abgefragt werden. Die einzelnen Bits haben dabei folgende Werte :
Bit 7 6 5 4 3 2 1 0
Deci 128 64 32 16 8 4 2 1
Hexa $80 $40 $20 $19 $08 $04 $02 $01
Ist der Wert = 0 oder wird Null gepokt, bedeutet dies kein Bit gesetzt. Zum Setzen von z.B. Bit 6 und 7 werden die jeweiligen Werte also 64 ($40) und 128 ($80) addiert. Poken und Peeken, also schreiben und auslesen können Sie in Hexa oder Deci-Form. Beachten Sie bitte nur dabei die Variablenform und das vorhergehende Zeichen ($).
Empfohlene Literatur
- "Das große GEOS- Buch" , Kerkloh,Tornsdorf
Verlag Data Becker - Bestellnr.ISB N 3-89011-208-0 Preis: 49.00
besonders Kapitel 6 ! Wird aber nicht mehr verlegt, deshalb nur in Bibliotheken oder Antiquariaten erhältlich.
- "Megaassembler" ,Walter Knupa u.a.
Verlag Markt % Technik - Preis: DM 89.00
- "C64 - Geos 1.3 deutsch" , Florian Müller, Thorsten Petrowski
Verlag Markt & Technik - Bestellnr. ISB N 3-89090-570-6 Preis: 59.00 DM
besonders Teil B ! Wird nicht mehr verlegt, deshalb nur noch in Bibliotheken oder Antiquariaten erhältlich .
- "64'er Sonderheft 59-Neues von GEOS"
Verlag Markt & Technik,64er Redaktion - Bestellnr.SH00059
- "GeoBasic"