C 64
Datenfernübertragung (DFÜ)

Mailbox-Basic - der einfache Weg zu der eigenen Mailbox

Selbst gemacht ist immer noch am besten. Mit dieser speziellen Mailbox-Sprache brauchen Sie sich um die Bedienung der RS232-Schnittstelle keine Gedanken mehr zu machen.

Die Mailboxen schießen wie Pilze aus dem Boden. Darunter gibt es gute, aber auch schlechte, vor allem aber teure. Viele Mailboxen sind deshalb teuer, weil sie die zur Verfügung stehenden Möglichkeiten nicht richtig ausnutzen. So kommt es vor, daß immer wieder Wartezeiten entstehen, weil das Programm des Mailbox-Computers die geforderten 300 Baud nicht schafft. Mit Mailbox-Basic sind Sie in der Lage, eine schnelle eigene Mailbox zu schreiben. Eine einfache Mailbox ist meistens rasch geschrieben, so daß sie wenigstens im »trockenen«, also ohne Telefonanschluß, funktioniert. Um aber tatsächlich einen solchen »Briefkasten« am Telefonnetz zu betreiben, wird das Ganze schon schwieriger, denn die Hauptsache, die sehr zeitkritische RS232-Ein/Ausgabe fehlt noch. Dort treten dann die ersten Probleme auf. Wie wandelt man die Commodore- in ASCII-Zeichen um? Wie simuliert man einen Textspeicher? Wie umgeht man die Garbage Collection? Abhilfe bringt »Mailbox-Basic«, das diese und noch mehr Funktionen erfüllt.

Mailbox-Basic (siehe Listing 1) ist eine kleine Basic-Erweiterung, die 12 neue Befehle zur Verfügung stellt, welche dann die gesamte RS232-Steuerung übernehmen. Die Befehle kann man einfach und ohne Probleme in ein bereits bestehendes Programm implementieren.

Viele Möglichkeiten

Und hier die neuen Befehle:

!PRINTA${,X,C,S]

Dies ist ein umgewandelter PRINT-Befehl, der den Inhalt des Strings (hier A$) auf dem Bildschirm und auf die RS232-Schnittstelle (natürlich in ASCII-Form) ausgibt. Außerdem gibt es verschiedene Parametereinstellungen, die bestimmte Abbruch- und Stoppfunktionen nicht zulassen. Hierbei gilt:
1 = Abbruch zugelassen
0 = Abbruch nicht zugelassen

Die Parameterreihenfolge
!PRINT A$,CTRL/X,CTRL/C,CTRL/S
wird beispielsweise so geschrieben:
!PRINT A$,0,1,1.
Bei diesem Beispiel wird der CTRL/X-Abbruch verhindert, der CTRL/C-Abbruch und der CTRL/S-Stopp ermöglicht. Bei einem CTRL/S-Signal stoppt die Ausgabe für 120 Sekunden (bei Normalparametern). Dieser Stopp wird auch auf dem Bildschirm angezeigt (siehe Bildschirmanzeige).
!PRINT A$ (ohne Parameter)
Hier werden folgende Standardparameter gesetzt: CTRL/X-Abbruch und CTRL/S-Stopp möglich, das entspricht !PRINT A$,1,0,1. Die gesamten Abbruchroutinen bleiben nur so lange erhalten, wie sich der Computer in dieser Maschinen-Routine befindet (siehe !WAIT). Erfolgt ein Abbruch, so wird das entsprechende Bit in der Statusvariable gesetzt.

!WAIT A$ [X,C,S]

Im Prinzip entspricht dieser Befehl dem !PRINT-Befehl. Im Gegensatz zu !PRINT springt !WAIT wieder ins Basic, wenn der RS232-Ausgabepuffer geleert ist, das heißt, wenn alle Daten über das Telefon geschickt worden sind. Daher bleiben die Abbruchmöglichkeiten bis zuletzt erhalten. Das Warten in der !WAIT-Routine wird auf dem Bildschirm angezeigt (siehe Bildschirmanzeigen). Die Parametermöglichkeiten entsprechen denen des !PRINT-Befehls.

!INPUT A$ [,A [,Z1 [,Z2 ]]]

Hiermit wird eine Zeichenkette bis zu einem Return mit maximal »A« Zeichen Länge eingelesen, wobei (im Normalzustand) das Eingabegerät sowohl die Tastatur als auch die RS232-Schnittstelle sein kann. Ein Abbruch aus dieser Routine ist auch durch Drücken der CTRL/X-Taste möglich. Es gibt hier ein Eingabe-Timeout, das heißt wenn 60 Sekunden lang kein Zeichen eingegeben wird, springt die Routine zurück ins Basic und es wird ein Bit in der Statusvariable gesetzt. Der bis dahin eingegebene Text wird in einem String abgelegt. Übernommen werden nur die Standard-ASCII-Zeichen, alle anderen werden ignoriert. Hier gibt es ebenfalls Möglichkeiten zur Parametereingabe:
Zum Beispiel: !INPUT A$
Hier wird eine Eingabe von maximal 253 Zeichen gefordert. Sind diese erreicht, bricht die Routine beim nächsten eingegebenen Zeichen mit einem Return ab.
!INPUT A$,100
Hier wird die höchste zu übernehmende Zeichenzahl von 253 auf 100 Zeichen gesenkt.
!INPUT A$,20,ASC(.)
Hier werden höchstens 20 Zeichen übernommen, allerdings wird statt den eingegebenen Zeichen ein ».« (Punkt) auf die RS232-Schnittstelle gesendet. Die eingegebenen Zeichen bleiben im String erhalten (Anwendung: Paßwortabfrage).
!INPUT A$,20,ASC(.),ASC(?)
Hier wird zusätzlich statt dem eingegebenen Zeichen ein »?« auf dem Bildschirm ausgegeben.

Programmbeispiel (Namenseingabe):

10 A$=CHR$(38)+CHR$(224)
20 OPEN,2,2,A$
30 !WAIT "Dein Name = >"
40 !INPUT A$,20
50 !PRINT "Dein Name ist"
60 !WAIT A$
70 CLOSE2

Durch Verwendung von !WAIT vor !INPUT bleiben die Abbruchfunktionen bis zuletzt erhalten. Auch tritt dann die Eingabe-Timeout-Abfrage erst in Kraft, wenn der RS232-Teilnehmer den gesamten Text erhalten hat.

8188 Byte Pufferspeicher

!PUFFER L

Mit diesem Befehl werden bis zu 8188 Zeichen (ohne daß eines davon verloren geht) in einen internen Puffer eingelesen. Eingabegerät ist hier die Tastatur und/oder die RS232-Schnittstelle. Diese Routine übernimmt so lange Zeichen bis sie »…« + Return als Enderkennung erhält und übergibt dann die Länge des eingegebenen Textes in die Variable »TL«. Durch Drücken der CTRL/X-Taste oder durch ein Eingabe-Timeout wird diese Routine verlassen; die Enderkennung »…« + Return wird dabei selbständig vom Programm in den Puffer abgelegt, damit der bis dahin eingegebene Text noch weiter verwendet werden kann. Die Länge des einzulesenden Textes kann durch eine nachfolgende Variable festgelegt werden (hier »L«), Der interne Puffer beginnt bei $A000 (40960) und geht bis $BFFF (49151) und kann mit dem nächsten Befehl leicht ausgelesen werden.

!GET AD,A$

Durch diese Sequenz wird der interne Puffer ab der angegebenen Adresse (hier: AD) nach einem Return durchsucht, und dann in einen String übergeben.

Programmbeispiel:

110 A$=CHR$(38)+CHR$(224)
120 OPEN2,2,2,A$
130 !PUFFER 8188
140 A$="DerText:"
150 !WAIT A$+CHR$(13)
160 AD=40960
170 !GET AD,A$
180 IF A$="…"THEN 220
190 AD=AD+LEN(A$)
200 !PRINT A$+CHR$(13)
210GOTO 170
220 !WAIT"Das war’s."
230 CLOSE2

!GET# F,A$ [L [, A ]]

Hier wird eine Zeichenkette der bestimmten Länge »L«, oder bis zu einem bestimmten Abbruchzeichen »A« von dem durch die Dateinummer »F« angesprochenen Gerät eingelesen und in einen String übergeben. Zur Erkennung, wie der String zustande kam, das heißt, ob es ein Abbruch wegen erreichter Länge oder wegen erreichtem Abbruchzeichen war, werden entsprechende Bits in die Statusvariablen gesetzt.

Zum Beispiel: !GET# Dateinummer,A$. Es werden 255 Zeichen von dem Eingabegerät eingelesen. Das Abbruchzeichen wird automatisch auf 255 festgelegt.
!GET # Dateinummer,A$,10
Genau 10 Zeichen werden eingelesen.
!GET # Dateinummer,A$,255,13
Hier werden 255 Zeichen eingelesen, sofern sich kein Endkennzeichen mit dem CHR$-Wert 13 findet.

Programmbeispiel:

10 A$=CHR$(38)+CHR$(224)
20 OPEN2,2,2,A$
30 A$='Text,S,R"
40 OPEN 1,8,2,A$
50 !GET#1,A$,255,13
60 !WAIT A$
70 IF ST AND 64 THEN 50
80 CLOSE2

!CLR

Die Statusvariable »RS« wird bei gesetztem »kein Carrier«-Bit zurückgesetzt (siehe Carrier).

!RON/!ROFF

Schaltet die Ausgabe auf die RS232-Schnittstelle ein/aus. Bei !ROFF fallen sämtliche Timeouts sowie die Carrierabfrage weg (siehe Carrier).

!CON/!COFF

Schaltet die Carrierabfrage ein/aus (siehe Carrier).

Timeouts

!SET S,E,C1,C2

Hiermit können alle Timeouts verändert werden.
S = CTRL/S-Timeout: Timeout bei Betätigen der CTRL/S-Taste (1 bis 255 Sekunden). Bei 0 gibt es kein Timeout. E = Eingabetimeout: Timeout bei jeglicher Eingabeforderung (1 bis 255 Sekunden). Bei 0 gibt es kein Timeout.
C1 = Maximale Durchlaufzeit der Carrierabfrageroutine (2 bis 255 Sekunden)
C2 = Wie lange muß ein bestehendes Carrier gefunden werden, damit das Programm fortfährt (1 bis 30 Sekunden). C1 muß größer als C2 sein.

Kaltstart: Bei der Eingabe von SYS 49152 werden folgende Einschaltzustände gesetzt:
!SET 120,60,30,2
!RON /!CON /!CLR

Carrier: Fehlt das Carriersignal bei einer RS232-Ein/Ausgabe (User-Port:PB4 Pin H = 1 oder Bit4 in 56577 = 1), so springt das Programm in eine Carrier-Suchroutine, in der es (bei Normalparametern) 30 Sekunden lang ein zwei Sekunden langes Carrier-Signal sucht. Wird dies nach 30 Sekunden nicht gefunden, wird das »kein Carrier«-Bit in der Statusvariablen »RS« gesetzt. Spätere RS232-Ein/Ausgabeversuche sind zwecklos, da das entsprechende Programm sofort wieder ins Basic zurückspringt. Man kann allerdings mit !CLR das »kein Carrier«-Bit wieder löschen.

Statusvariable »RS«: Sie ist dafür zuständig, alle Rückmeldungen der angesprungenen Routinen in das Basic zu übergeben.

Bit:

76543210 (wenn Bit X=1)
10000000 = kein Carrier
1000000 = RS232 an
100000 = Eingabetimeout erreicht (bei !INPUT/!PUFFER)
10000 = interner Puffer voll (bei !PUFFER)
1000 = bei !GET#Dateinr.,A$ max. Zeichenzahl erreicht
100 = bei !GET#Dateinr.,A$ Abbruchzeichen gefunden
10 = CTRL/C-Abbruch
1 = CTRL/X-Abbruch

Beispiel einer Abfrage:
IF RS AND 2↑1 THEN GOTO
(wenn CTRL/C-Abbruch erfolgt, verzweige)

Bildschirmanzeige: Zur Kontrolle, in welcher Routine sich der Computer zur Zeit befindet, werden folgende Zustände rechts oben auf dem Bildschirm ausgegeben: »<-WCSIT->«

W = Programm befindet sich in der !WAIT-Routine
C = Carrier fehlte momentan und der Computer befindet sich in der Carrier-Suchroutine
S = Die CTRL/S-Taste wurde betätigt
I = Der Computer befindet sich in einer Eingabeanforderung
T = Ein Timeout ist bei dem laufenden Befehl festgesetzt

Wenn keine der Funktionen angesprochen ist, zeigt der Computer »<----->« auf dem Bildschirm an. Nach dem Verlassen der Routine wird der frühere Bildschirminhalt wieder hergestellt.

Funktionstastenbelegung: Zur besseren Übersicht wurden folgende Funktionstasten mit CHR$-Codes für eine einfachere Mailbox-Steuerung belegt.
F1 = CTRL/X
F3 = CTRL/C
F5 = CTRL/S
F7 = CTRL/Q
F8 = simuliert ein fehlendes Carrier (Anwendung: gewollter Rauswurf aus der Mailbox)

Cursor: Das Programm besitzt einen eigenen stehenden Cursor (kleiner Strich), der dem Benutzer immer die aktuelle Position bei einer Ein/Ausgabe anzeigt (bei !PRINT /!WAIT /!INPUT/!PUFFER).

Zum Schluß noch ein paar technische Daten. Das Programm belegt nach dem Starten zirka 2,5 KByte im $C000 (49152)-Bereich, also keinen Basic-Speicherplatz. Der interne Puffer (für !PUFFER) hat eine Länge von genau 8 KByte und liegt ab $A000 (40690) bis $BFFF (49151). Die gesamten Routinen sind für eine 7 Daten-Bit Host-Ein/Ausgabe mit beliebiger Baudrate (50 bis 2400 Baud) ausgelegt; das achte Bit bei einer 8 Daten-Bit-Ausgabe wird einfach ignoriert. Die Ausgabe wird wie gewöhnlich durch den Open-Befehl eingestellt (wieviel Daten-Bits, welche Baudrate). Die zur RS232-Übertragung möglichen Zeichen sind auf die normalen ASCII-Zeichen und alle Zeichen unter dem CHR$-Code 32 festgelegt. Allerdings werden ein Teil dieser Codes, wegen ihrer Steuerzeichenfunktion (CRSR-HOME, CRSR-UP/DOWN) nicht auf dem Bildschirm ausgegeben.

Garant

Diese Routinen halten, wenn richtig eingesetzt, das, was sie versprechen. Der beste Beweis hierfür ist wohl der praktische Einsatz einer Mailbox. In diesem Falle ist das die ACM-Club e.V.-Mailbox in München (089/8120338), die nun schon seit etwa sechs Monaten mit diesen Routinen einwandfrei arbeitet. Rufen Sie doch einmal an und verschaffen sich einen Eindruck von der Leistungsfähigkeit des Mailbox-Basic.

(R. Horstmann/aw)
PROGRAMM : MAILBOX-BASIC  0801 125F
-----------------------------------
0801 : 0D 08 C1 07 9E 28 32 30   B8
0809 : 36 33 29 00 00 00 A9 81   CD
0811 : A0 08 85 FB 84 FC A9 00   6D
0819 : A0 C0 85 FD 84 FE A2 0A   19
0821 : A8 8C 01 08 8C 02 08 B1   AD
0829 : FB 91 FD C8 D0 F9 E6 FC   F8
0831 : E6 FE CA D0 F2 A9 40 A0   22
0839 : 08 20 1E AB 4C 00 C0 93   3D
0841 : 0E 0D 20 20 20 20 CD 41   9F
0849 : 49 4C 42 4F 58 2D C2 41   AF
0851 : 53 49 43 0D 20 20 20 B8   B0
0859 : B8 B8 B8 B8 B8 B8 B8 B8   58
0861 : B8 B8 B8 B8 B8 B8 0D 0D   5A
0869 : 28 43 29 31 39 38 35 20   0E
0871 : 42 59 20 D2 2E C8 4F 52   CD
0879 : 53 54 4D 41 4E 4E 0D 00   FD
0881 : A9 40 8D 53 C6 A9 00 8D   ED
0889 : E1 C9 8D E7 C9 A9 78 8D   96
0891 : 45 C3 A9 3C 8D 9D C7 A9   E2
0899 : 1E 8D 08 C6 A9 02 8D 1E   76
08A1 : C6 A9 2E A0 C0 8D 08 03   7A
08A9 : 8C 09 03 4C 4A C6 20 73   46
08B1 : 00 C9 21 F0 06 20 79 00   44
08B9 : 4C E7 A7 A9 A7 48 A9 AD   D7
08C1 : 48 20 73 00 A9 00 8D E2   8D
08C9 : C9 AA A8 B9 C3 C0 F0 37   BD
08D1 : 20 79 00 F0 69 D9 C3 C0   C2
08D9 : D0 0A EE E2 C9 20 73 00   32
08E1 : C8 4C 4B C0 E0 0A F0 56   89
08E9 : E8 C8 B9 C3 C0 D0 FA C8   2C
08F1 : AD E2 C9 C9 01 90 D4 D0   44
08F9 : 45 C8 E0 07 F0 CD E0 09   CE
0901 : F0 C9 E0 04 D0 38 CA 8A   9D
0909 : 8D E2 C9 0A 18 6D E2 C9   C7
0911 : 8D 9C C0 A9 00 8D E4 C9   E5
0919 : 8D E7 C9 F0 FF 4C 3B C2   FF
0921 : 4C 14 C2 4C AB C3 4C EA   91
0929 : C4 4C BF C1 4C 1E C4 4C   9D
0931 : A9 C1 4C B4 C1 4C 9E C1   E1
0939 : 4C A1 C1 4C CD C1 A2 0B   DB
0941 : 4C 37 A4 99 00 92 00 85   25
0949 : 00 A1 00 9C 00 50 55 46   12
0951 : 46 45 52 00 52 91 00 52   25
0959 : 4F 46 46 00 43 91 00 43   A4
0961 : 4F 46 46 00 53 45 54 00   16
0969 : 20 42 F1 C9 00 F0 18 C9   DB
0971 : 8C D0 0D AD 53 C6 29 40   EF
0979 : F0 03 20 73 C6 A9 00 60   DC
0981 : A8 B9 5E C8 4C 18 C1 AD   9E
0989 : 53 C6 29 40 F0 0E 20 4F   30
0991 : F0 20 86 F0 29 7F F0 04   AB
0999 : A8 B9 5E C9 60 C9 00 F0   25
09A1 : 7C A8 B9 5E C8 8D E2 C9   C4
09A9 : AD 53 C6 29 40 F0 37 AD   9A
09B1 : E2 C9 20 E3 EF A4 FE AD   78
09B9 : E4 C9 F0 14 AD E2 C9 C9   ED
09C1 : 0D F0 0D C9 08 F0 09 C9   83
09C9 : 7F F0 05 A9 00 4C 61 C1   A2
09D1 : AD E2 C9 85 9E 20 17 F0   3B
09D9 : AD E2 C9 C9 0D D0 07 A9   6A
09E1 : 0A 85 9E 20 17 F0 AD E2   CF
09E9 : C9 A8 B9 5E C9 C9 9D D0   43
09F1 : 02 A9 14 AE E4 C9 10 0A   94
09F9 : C9 0D F0 06 C9 14 F0 02   4B
0A01 : A9 00 20 28 C8 C9 20 B0   74
0A09 : 08 C9 14 F0 04 C9 0D D0   7D
0A11 : 0C 48 20 16 E7 68 C9 0D   0F
0A19 : F0 03 20 17 C8 60 A9 00   AC
0A21 : 2C A9 FF 8D E1 C9 4C 4A   05
0A29 : C6 AD 53 C6 09 40 8D 53   E3
0A31 : C6 4C 4A C6 AD 53 C6 29   6C
0A39 : BF 8D 53 C6 4C 4A C6 AD   FA
0A41 : 53 C6 29 40 8D 53 C6 4C   71
0A49 : 52 C6 4C 48 B2 20 9E B7   31
0A51 : 8E EB C9 20 FD AE 20 9E   5E
0A59 : B7 8E EC C9 20 FD AE 20   B9
0A61 : 9E B7 E0 00 F0 E4 8E ED   5F
0A69 : C9 20 FD AE 20 9E B7 E0   2F
0A71 : 1F B0 D7 E0 00 F0 D3 EC   AB
0A79 : ED C9 B0 CE 8E 1E C6 AD   A1
0A81 : EB C9 8D 45 C3 AD EC C9   4E
0A89 : 8D 9D C7 AD ED C9 8D 08   00
0A91 : C6 4C 4A C6 A9 01 8D E5   8D
0A99 : C9 4C 40 C2 A9 FF 8D E5   8D
0AA1 : C9 AD 53 C6 29 40 F0 03   4D
0AA9 : 20 AB C6 4C A2 C2 AD A1   14
0AB1 : 02 29 01 D0 F6 4C 91 C3   42
0AB9 : 4C 48 B2 A9 00 8D E5 C9   A3
0AC1 : 20 9E AD 20 A3 B6 86 FB   A2
0AC9 : 84 FC 85 FD 20 79 00 D0   5C
0AD1 : 0E A2 01 8E DE C9 8E E0   7B
0AD9 : C9 CA 8E DF C9 F0 27 20   A8
0AE1 : FD AE 20 9E B7 E0 02 B0   FD
0AE9 : CF 8E DE C9 20 FD AE 20   DD
0AF1 : 9E B7 E0 02 B0 C2 8E DF   FE
0AF9 : C9 20 FD AE 20 9E B7 E0   BF
0B01 : 02 B0 B5 8E E0 C9 20 92   9C
0B09 : C6 20 4A C6 AD 53 C6 10   FB
0B11 : 03 4C 84 C3 A5 FD D0 03   67
0B19 : 4C 84 C3 A9 00 85 FE 20   36
0B21 : 17 C8 A9 01 20 CC C5 AD   02
0B29 : 53 C6 10 03 4C 9A C3 20   2D
0B31 : E8 C0 C9 18 D0 0D AD DE   D9
0B39 : C9 F0 E7 AD 53 C6 09 01   BB
0B41 : 4C D1 C2 C9 03 D0 1B AD   DE
0B49 : DF C9 F0 D6 AD 53 C6 09   C6
0B51 : 02 8D 53 C6 AD 9D 02 8D   B2
0B59 : 9E 02 A9 0D 20 1D C1 4C   8F
0B61 : 91 C3 C9 13 F0 03 4C 6A   D6
0B69 : C3 AD E0 C9 F0 B4 AD 9E   1D
0B71 : 02 48 AD 9D 02 8D 9E 02   C1
0B79 : 20 B1 C6 AD 53 C6 29 40   6A
0B81 : F0 10 AD 45 C3 F0 0B 20   BD
0B89 : B7 C6 20 31 C8 A9 00 8D   C7
0B91 : EA C9 A9 00 20 CC C5 AD   A5
0B99 : 53 C6 30 2C 20 E8 C0 C9   C1
0BA1 : 11 F0 25 C9 18 D0 05 AE   26
0BA9 : DE C9 D0 1C C9 03 D0 05   25
0BB1 : AE DF C9 D0 13 AD 45 C3   16
0BB9 : F0 D8 AD 53 C6 29 40 F0   84
0BC1 : D1 AD EA C9 C9 78 90 CA   95
0BC9 : 8D E2 C9 68 8D 9E 02 20   5D
0BD1 : 3F C6 20 85 C6 20 EB C6   D7
0BD9 : 20 F1 C6 AD 53 C6 30 31   E8
0BE1 : AD E2 C9 C9 11 F0 03 4C   E8
0BE9 : B2 C2 AD E5 C9 10 03 4C   E6
0BF1 : 2E C2 A4 FE B1 FB 20 1D   3F
0BF9 : C1 E6 FE A5 FE C5 FD F0   99
0C01 : 03 4C A2 C2 AD 53 C6 30   1C
0C09 : 08 AD E5 C9 F0 03 4C 1C   2B
0C11 : C2 20 28 C8 20 E5 C6 4C   EB
0C19 : 52 C6 A9 0D 20 1D C1 20   0D
0C21 : E5 C6 4C 52 C6 4C 48 B2   1C
0C29 : 4C 99 AD 20 8B B0 A6 0D   A4
0C31 : F0 F6 85 49 84 4A A9 FD   64
0C39 : 8D FE C3 20 79 00 F0 37   04
0C41 : 20 FD AE 20 9E B7 E0 FE   39
0C49 : B0 DB E0 00 F0 D7 8E FE   25
0C51 : C3 20 79 00 F0 21 20 FD   17
0C59 : AE 20 9E B7 8E 4C C1 A9   5B
0C61 : 01 8D E4 C9 20 79 00 F0   4B
0C69 : 0E 20 FD AE 20 9E B7 8E   CF
0C71 : 81 C1 A9 FF 8D E4 C9 20   A4
0C79 : 92 C6 20 4A C6 A9 FD 20   B2
0C81 : 5F C7 A5 FD 85 FB A9 F9   C0
0C89 : A0 C9 85 FC 84 FD A9 FB   E6
0C91 : A0 00 85 64 84 65 A5 FB   21
0C99 : 20 56 AA 4C 52 C6 20 8A   09
0CA1 : AD 20 B8 B1 A5 64 C9 1F   A5
0CA9 : 90 0B D0 06 A5 65 C9 FD   5C
0CB1 : 90 03 4C 48 B2 20 92 C6   E3
0CB9 : A9 00 A0 A0 85 FB 84 FC   E3
0CC1 : 18 A5 65 65 FB 85 14 A5   39
0CC9 : 64 65 FC 85 15 20 4A C6   D9
0CD1 : 38 A5 14 E5 FB 8D E2 C9   E9
0CD9 : A5 15 E5 FC D0 09 AD E2   F4
0CE1 : C9 F0 61 38 E9 01 2C A9   2C
0CE9 : FD 20 5F C7 8D E2 C9 A4   27
0CF1 : FD B9 F9 C9 91 FB 88 C0   1F
0CF9 : FF D0 F6 A4 FD A9 0D 91   37
0D01 : FB E6 FD A0 04 88 30 47   D7
0D09 : B9 F9 C9 D9 E6 C4 F0 F5   B1
0D11 : 18 A5 FB 65 FD 85 FB A5   EF
0D19 : FC 69 00 85 FC AD E2 C9   D7
0D21 : C9 18 F0 0C AD 53 C6 30   A5
0D29 : 07 29 20 D0 03 4C 50 C4   44
0D31 : 20 B6 C4 4C CF C4 A0 04   15
0D39 : 88 30 08 B9 E6 C4 91 FB   E5
0D41 : 4C B8 C4 60 20 B6 C4 AD   4D
0D49 : 53 C6 09 10 8D 53 C6 20   13
0D51 : 52 C6 38 A5 FB E9 FC A8   1D
0D59 : A5 FC E9 9F 20 95 B3 A9   BB
0D61 : 54 A0 4C 4C 5E C6 2E 2E   D3
0D69 : 2E 0D 20 79 00 C9 23 D0   D2
0D71 : 03 4C 46 C5 20 8A AD 20   32
0D79 : F7 B7 20 FD AE 20 8B B0   8F
0D81 : 24 0D D0 03 4C A8 C3 85   E4
0D89 : 49 84 4A AD 15 00 C9 A0   16
0D91 : B0 03 4C 48 B2 C9 C0 B0   BD
0D99 : F9 78 AD FF BF 48 A9 0D   39
0DA1 : 8D FF BF A5 01 48 29 FE   C7
0DA9 : 85 01 A0 00 B1 14 99 F9   ED
0DB1 : C9 C9 0D F0 04 C8 D0 F4   74
0DB9 : 88 84 FD 68 85 01 68 8D   2D
0DC1 : FF BF 58 4C 02 C4 20 73   ED
0DC9 : 00 20 9E B7 86 B8 20 FD   22
0DD1 : AE 20 8B B0 85 49 84 4A   D1
0DD9 : 24 0D 30 03 4C 99 AD A2   7E
0DE1 : FF 86 FB 86 FC 20 79 00   AA
0DE9 : F0 19 20 F1 B7 86 FB 8A   61
0DF1 : D0 03 4C 48 B2 20 79 00   71
0DF9 : F0 09 20 F1 B7 86 FD A2   A1
0E01 : 00 86 FC 20 4A C6 A6 B8   6E
0E09 : 20 C6 FF 90 03 4C 37 A4   57
0E11 : A0 00 20 CF FF 99 F9 C9   FC
0E19 : AA 24 FC 30 0E E4 FD D0   BC
0E21 : 0A AD 53 C6 09 08 8D 53   5D
0E29 : C6 D0 01 C8 C4 FB 90 08   2F
0E31 : AD 53 C6 09 04 8D 53 C6   E2
0E39 : AD 53 C6 29 0C D0 04 A5   09
0E41 : 90 F0 CF 20 CC FF 98 85   7B
0E49 : FD 4C 02 C4 8D E6 C9 AD   18
0E51 : E1 C9 D0 68 AD 53 C6 29   3B
0E59 : 40 F0 61 AD 53 C6 30 5B   02
0E61 : AD 01 DD 29 10 D0 55 20   48
0E69 : AE C6 AD 9E 02 48 AD 9D   0E
0E71 : 02 8D 9E 02 AD E6 C9 F0   3D
0E79 : 03 20 31 C8 A9 00 8D E9   96
0E81 : C9 AD E9 C9 8D E2 C9 C9   7F
0E89 : 1E B0 1E AD 01 DD 29 10   00
0E91 : F0 EF AD E9 C9 C9 FF F0   EE
0E99 : 10 38 ED E2 C9 C9 02 90   B1
0EA1 : EA 20 7C C6 29 40 4C 2C   B1
0EA9 : C6 20 73 C6 AD E6 C9 F0   50
0EB1 : 03 20 85 C6 68 8D 9E 02   70
0EB9 : 20 E8 C6 60 4C 7C C6 AD   2A
0EC1 : 53 C6 29 40 F0 03 20 28   C2
0EC9 : F0 60 AD 53 C6 29 C0 8D   93
0ED1 : 53 C6 A0 00 20 A2 B3 20   D6
0ED9 : 85 C6 A9 52 A0 53 85 45   BB
0EE1 : 84 46 20 0C BC 20 E7 B0   E0
0EE9 : 85 22 84 23 20 1B BC 20   13
0EF1 : DB BB 60 AD 53 C6 09 80   08
0EF9 : 8D 53 C6 60 AD 53 C6 29   D0
0F01 : 40 8D 53 C6 60 78 A9 31   88
0F09 : A0 EA 8D 14 03 8C 15 03   F3
0F11 : 58 60 AD 53 C6 29 40 F0   08
0F19 : 0C A9 02 A6 98 CA 30 06   FC
0F21 : DD 63 02 D0 F8 60 A2 03   6E
0F29 : 4C 37 A4 A2 00 2C A2 01   7C
0F31 : 2C A2 02 2C A2 03 2C A2   ED
0F39 : 04 AD E7 C9 D0 16 A9 20   EB
0F41 : 8D E7 C9 A0 06 B9 21 04   03
0F49 : 99 EB C9 B9 21 D8 99 F2   A6
0F51 : C9 88 10 F1 A9 01 24 0A   E8
0F59 : CA 10 FC 0D E7 C9 8D E7   DF
0F61 : C9 20 25 C7 60 A2 00 2C   F0
0F69 : A2 01 2C A2 02 2C A2 03   FD
0F71 : 2C A2 04 AD E7 C9 F0 EC   0F
0F79 : A9 01 24 0A CA 10 FC 49   A1
0F81 : 3F 2D E7 C9 8D E7 C9 AD   24
0F89 : E7 C9 C9 20 D0 17 A9 00   38
0F91 : 8D E7 C9 A0 06 B9 EB C9   0A
0F99 : 99 21 04 B9 F2 C9 99 21   21
0FA1 : D8 88 10 F1 60 AD E7 C9   A6
0FA9 : A8 A2 00 98 4A A8 90 04   EA
0FB1 : BD 58 C7 2C A9 2D 9D 22   D0
0FB9 : 04 AD 86 02 9D 22 D8 E8   96
0FC1 : E0 05 D0 E7 A9 3C 8D 21   4A
0FC9 : 04 A9 3E 8D 27 04 AD 86   39
0FD1 : 02 8D 21 D8 8D 27 D8 60   33
0FD9 : 97 83 93 89 94 A9 FD 8D   F1
0FE1 : E3 C9 A9 00 85 FD 85 FD   6E
0FE9 : 20 B4 C6 AD 53 C6 10 03   7C
0FF1 : 4C 11 C8 20 17 C8 AD 53   11
0FF9 : C6 29 40 F0 31 AD 9D C7   08
1001 : F0 2C 20 B7 C6 20 31 C8   CA
1009 : A9 00 8D EA C9 AD 53 C6   58
1011 : 29 40 F0 1A AD 9D C7 F0   A2
1019 : 15 AD EA C9 C9 3C 90 0E   D5
1021 : AD 53 C6 09 20 8D 53 C6   94
1029 : 20 28 C8 4C FB C7 A9 00   BE
1031 : 20 CC C5 AD 53 C6 30 F0   EC
1039 : 20 E8 C0 C9 00 F0 CE 48   8A
1041 : 20 85 C6 20 F1 C6 68 C9   64
1049 : 0D F0 30 C9 14 F0 0E C9   A8
1051 : 9D F0 0A C9 18 F0 24 C9   4F
1059 : 20 B0 0E D0 99 A4 FD F0   08
1061 : 95 C6 FD 20 1D C1 4C 76   DB
1069 : C7 A4 FD CC E3 C9 F0 0B   02
1071 : 99 F9 C9 20 1D C1 E6 FD   F5
1079 : 4C 76 C7 48 A9 0D A4 FD   8D
1081 : 99 F9 C9 20 1D C1 20 85   F9
1089 : C6 20 EE C6 20 F1 C6 68   71
1091 : 60 20 EE C6 A9 00 60 48   42
1099 : A4 D3 A9 64 91 D1 20 24   8E
10A1 : EA AD 86 02 91 F3 68 60   5F
10A9 : 48 A4 D3 A9 20 91 D1 68   14
10B1 : 60 78 A9 43 A0 C8 8D 14   CF
10B9 : 03 8C 15 03 A9 3C 8D E8   2D
10C1 : C9 58 60 CE E8 C9 D0 14   F0
10C9 : A9 3C 8D E8 C9 A2 01 BD   42
10D1 : E9 C9 C9 FF F0 03 FE E9   08
10D9 : C9 CA 10 F3 4C 31 EA 01   86
10E1 : 02 03 04 05 06 07 08 09   D1
10E9 : 0A 0B 0C 0D 0E 0F 10 11   D9
10F1 : 12 13 7F 15 16 17 18 19   BC
10F9 : 1A 1B 1C 1D 1E 1F 20 21   E9
1101 : 22 23 24 25 26 27 28 29   F1
1109 : 2A 2B 2C 2D 2E 2F 30 31   F9
1111 : 32 33 34 35 36 37 38 39   01
1119 : 3A 3B 3C 3D 3E 3F 40 61   49
1121 : 62 63 64 65 66 67 68 69   11
1129 : 6A 6B 6C 6D 6E 6F 70 71   19
1131 : 72 73 74 75 76 77 78 79   21
1139 : 7A 5B 5C 5D 5E 5F 40 41   88
1141 : 42 43 44 45 46 47 48 49   31
1149 : 4A 4B 4C 4D 4E 4F 50 51   39
1151 : 52 53 54 55 56 57 58 59   41
1159 : 5A 7B 7C 7D 7E 00 00 00   28
1161 : 00 00 00 18 03 13 11 00   72
1169 : 00 00 00 00 00 00 00 00   6A
1171 : 00 00 00 00 00 00 00 00   72
1179 : 00 00 00 08 00 00 20 00   FB
1181 : 00 00 00 00 00 00 00 00   82
1189 : 00 00 00 00 00 00 00 00   8A
1191 : 00 00 00 00 00 00 00 00   92
1199 : 00 00 00 00 00 00 00 41   1C
11A1 : 42 43 44 45 46 47 48 49   91
11A9 : 4A 4B 4C 4D 4E 4F 50 51   99
11B1 : 52 53 54 55 56 57 58 59   A1
11B9 : 5A 00 00 00 00 00 00 00   14
11C1 : 00 00 00 00 00 00 00 00   C2
11C9 : 00 00 00 00 00 00 00 00   CA
11D1 : 00 00 00 00 00 00 00 00   D2
11D9 : 00 00 00 00 00 00 00 01   DC
11E1 : 02 03 04 05 06 07 9D 08   26
11E9 : 0A 0B 0C 0D 0E 0F 10 11   D9
11F1 : 12 13 14 15 16 17 18 19   E1
11F9 : 1A 1B 1C 00 00 00 20 21   6B
1201 : 22 23 24 25 26 27 28 29   F1
1209 : 2A 2B 2C 2D 2E 2F 30 31   F9
1211 : 32 33 34 35 36 37 38 39   01
1219 : 3A 3B 3C 3D 3E 3F 40 C1   0A
1221 : C2 C3 C4 C5 C6 C7 C8 C9   10
1229 : CA CB CC CD CE CF D0 D1   18
1231 : D2 D3 D4 D5 D6 D7 D8 D9   20
1239 : DA 5B 5C 5D 5E 5F 00 41   E7
1241 : 42 43 44 45 46 47 48 49   31
1249 : 4A 4B 4C 4D 4E 4F 50 51   39
1251 : 52 53 54 55 56 57 58 59   41
1259 : 5A 7B 7C 7D 7E 14         32
Listing 1. Mailbox-Basic - der Schlüssel zur eigenen Mailbox. Bitte verwenden Sie zur Eingabe den MSE (Seite 8).
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →