Eine Diskette aus heiterem Himmel
Es gibt wirklich nicht mehr viele Aktive zum Thema BasiCode, doch der Vorsitzende des Plus/4-Clubs ist einer davon.
Seit 1991 erscheint das Diskettenmagazin "Club-Info" und Abonnenten bekommen noch Bonus-Disketten zu dieser Club-Diskette
beigelegt. Der jüngsten Sendung lag eine BasiCode-Diskette bei, auf der ich neben vielen mir bereits bekannten Programmen
auch "neue" fand, die ich natürlich hier vorstellen möchte.
|
Keinen Geburtstag mehr verpassen
Das erste (Screenshot aus dem Commodore-plus/4-Emulator YAPE) stammt von einem User aus Weixdorf, dem nördlichsten
Stadtteil von Dresden. Man kann hier in den DATA-Zeilen Verwandte und Freunde mit ihrem Geburtstag und sonstigen Daten eintragen.
Gibt man nun das aktuelle Datum ein, bekommt man für einen wählbaren Zeitraum von bis zu vier Wochen im Voraus die anstehenden
Jubiläen angezeigt. Dergleichen erledigt mittlerweile mit weniger Mühe der Alleskönner Smartphone, daher wenden wir uns gleich
dem nächsten Programm zu.
|
Gedankenspiele
Die Übertragung von hochauflösenden Grafiken auf andersartige Computer ist nicht trivial, denn jeder 8-bit-Oldie
speichert die Pixel in seiner eigenen Reihenfolge ab, ganz zu schweigen davon, dass es unterschiedliche Auflösungen gibt.
Am leichtesten wäre der Transfer in Form von Binärdateien, Speicherabzügen. Doch das ist in BasiCode leider nicht vorgesehen.
Bei den "WDR-Computerclub"-Sendungen gab es ein Übertragungsverfahren namens Videodat. Zwei BasiCode-Programme
(Videodat
und Alf-2 auf der Sammelkassette 9) nutzen dieses und auf der
JOYCE Homepage stellte ich eine daran angelehnte Methode vor, die Pixelgruppen als Buchstaben verschlüsselt,um
Bilder als ASCII-Dateien auszutauschen, doch auch das stößt wegen abweichender
Zeichensätze z.B. bei Sinclair und Commodore auf Schwierigkeiten im BasiCode-System.
|
Bilder laden im C64-Stil
Ganz ähnliche Überlegungen scheint ein User aus Brand-Erbisdorf angestellt zu haben. Der Autor entschied sich für einem
Speicherabzug eines Commodore-Rechners, legte die PEEK-Werte einfach in den DATA-Zeilen ab. Somit sind sie gleich im,
dann allerdings riesigen, Programm und nicht in einer separaten Datei enthalten. Zum Aufbauen der Grafik werden diese Bytes
"einzeln angefaßt" und die Pixel mit der Subroutine 620 von BasiCode gesetzt.
Hier stößt man leider an die Grenzen von BasiCode: es dauert natürlich lange, bis das Bild
fertig aufgebaut ist. Außerdem sind meist nur Bildschirmausschnitte übertragbar, denn bei vielen 8-bit-Oldies passen nicht
genug DATA-Zeilen in den verfügbaren Speicher, so gehört zu dem Kopf des "BasiCode-Girls" weiter unten eigentlich noch eine
stützende Hand. Noch eine Einschränkung (für diesen Grafik-Transfer) ist der Verzicht auf Farben, das ist auf den diversen
Modellen zu unterschiedlich gelöst und lässt sich nicht unter einen Hut bringen, weil einfach auch nicht genug Ressourcen
zur Verfügung stehen.
|
Die kenn' ich doch ?
Beim zweiten Programm traf ich auf eine "alte Bekannte", das Mädel, deren Portrait seinerzeit wohl die Mailboxen verstopfte,
dennoch hatte ich bis heute nirgends die Daten für diese Grafik ausfindig machen können. Ich kenne das Bild aus einer
Computerzeitschrift für den Amstrad CPC und habe es bereits in o.g.
Beitrag für den JOYCE vorgestellt. Hier habe ich die
CP/M Box, den Amstrad PCW Emulator von habisoft benutzt.
|
LIEBER BASICODE-USER !
======================
DIES IST MEIN ERSTES EIGENES BASICODE-3-POGRAMM ! DAMIT KANN ICH JEDEM BEI DEM
ES LAEUFT GRAFIKEN NACH VORLAGE UND/ODER WUNSCH VOM SCANNER ODER AUS EINER
UMFANGREICHEN GRAFIK-SAMMLUNG VOM COMMODORE C+4 ODER C64 ANBIETEN!
----------------------
ZUR KONTROLLE DER VERBREITUNG OPFERE BITTE EINE POSTKARTE MIT BESTAETIGUNG
ODER AUSDRUCK DER GRAFIK AN MICH !!
----------------------
BEI PORTOERSTATTUNG UND DATENTRAEGER SENDE ICH WUNSCHGRAFIK(EN) ZURUECK.
SPAETERE WUENSCHE DANN GEGEN UNKOSTENERSTATTUNG (VB)
Fälscher am Werk ?
Das dritte Programm (Screenshot aus dem
Hagemans-online-Bascoder) ist das gleiche, aber mit einer anderen Grafik,
einem Scan einer damals gebräuchlichen Banknote, dem Portrait von Clara Schumann. Für das Fertigen besserer Blüten
war die Technik damals noch nicht fortgeschritten genug. ;-)
|
Das Programm hat mich so begeistert, daß ich selbst gleich einige Bilder codiert habe. Hier ein paar, vielleicht hilfreiche,
Anmerkungen:
Nach meinem Geschmack hätten die Pixel zeilenweise ausgelesen werden sollen (und nicht Commodore-typisch 8x8-Blockweise),
aber das ist weniger relevant, an zwei oder drei ineinander verschachtelten Schleifen kommt man in keinem Fall vorbei.
Auf dem JOYCE-Monitor (oder zum Beispiel auf dem CPC in MODE 2 sowie bei Basics auf dem PC) wird das Bild wegen der
höheren horizontalen Auflösung in der Breite gestaucht erscheinen. Dann helfen folgende Änderungen.
1000 A=210:GOTO 20:REM *** COMMODORE-GRAFIK DEKODIEREN ***
1010 SW=1/HG:SS=1/VG:S=32:Z=24:P=8
⭢ SW=2/HG: ...
1020 GOSUB 600:CN=0
. . .
1050 CN=0:GOSUB 620:HO=HO+SW:RETURN
⭢ 1050 CN=0:GOSUB 620:HO=HO+0.5*SW:GOSUB 620:HO=HO+0.5*SW:RETURN
. . .
1150 IF X=255 THEN HO=HO+P*SW:GOTO 1330
1160 IF X=0 THEN GOSUB 620:HO=HO+SW*P:GOSUB 630:GOTO 1330
⭢ REM IF X=0...
1170 IF X>127 THEN GOSUB 1070:X=X-128:GOTO 1190
. . .
Die Zeilen 1150 und 1160 dienen übrigens der Beschleunigung des Zeichnens: wird keins der acht Pixel des Bytes gesetzt,
wird nur der Grafikcursor weiterbewegt - sollen alle gesetzt werden, wird eine Linie gezogen, statt die Pixel einzeln zu setzen.
Eine clevere Idee!
Sollte das Bild mit vertauschten Farben erscheinen, wie folgt ändern:
1140 READ X:IF X=1.5 THEN 1390
⭢ READ X:X=255-X:IF X=253.5 THEN 1390
Durch Rundungsfehler möglicherweise auftretende waagerechte/senkrechte Störlinien verschwinden nach folgenden Korrekturen:
1090 HO=0:VE=0
⭢ 1090 HO=0.002:VE=0.002
1370 HO=0:VE=VE+P*SS
⭢ 1370 HO=0.002:VE=VE+P*SS
Etwas moderner?
Keine Lust, den JOYCE hervorzuräumen? BasiCode lässt sich auch in modernerer Umgebung nutzen. Auf aktuellen PCs lassen sich die
historischen Computer als Emulationen nutzen, in manchen Fällen ohne Installation, einfach als online-Version im Internet-Browser,
wie im Fall des Portraits des AMSTRAD-Chefs. Dieses habe ich, wie die nächsten fünf Bilder, auf der Basis des Programms erstellt.
|
Diese beiden Bilder stammen ebenfalls aus Emulationen, nämlich eines ATARI- und eines AMIGA-Computers.
|
Falls aber das moderne Betriebssystem eine Emulation nicht arbeiten lassen will
(wie die alte Version JOYC134D von John Elliott), kann eine Einkapselung in die DOSBox helfen. Hier ist der Schöpfer der
Grafiken im Beitrag Pixel-Portraits abgebildet. Dank an ihn für seine Vorlagen!
|
Eine Anwendung der DOSBox ist
Basicode@DFend, vorgestellt auf
dieser Homepage. Dort werden dem Nutzer die erforderlichen Einstellungen abgenommen.
Emuliert wurde ein Robotron KC 85/4.
|
GW-Basic auf heutigen Maschinen
BasiCode arbeitet mit Zeilennummern, daher sind die heutigen Versionen von Basic nicht nutzbar. Doch alte Basics von
IBM-Kompatiblen laufen vielleicht auch nicht mehr, deswegen schrieb Rob Hagemans
PC-Basic
und für dieses auch den passenden Bascoder.
Am aller bequemsten ist wohl das schon mehrfach erwähnte Verfahren, das BasiCode-Listing einfach ins Textfenster des
online-Bascoders
(ebenfalls von Rob Hagemans geschrieben) zu ziehen. Es ist sogar möglich, diese website auf seinem PC zu speichern und damit
zu arbeiten, wenn man nicht mit dem Internet verbunden ist.
Zur höheren Bequemlichkeit dieser Varianten kommt der Vorteil hinzu, daß auch das Tempo deutlich höher ist - es gibt
also wirklich keine Ausreden mehr, das eine oder andere Programm auch einmal selbst auszuprobieren, statt immer nur darüber zu lesen.
Hat jemand mitgezählt ?
Ein und dasselbe Programm lief hier in acht unterschiedlichen Umgebungen, genau das ist für mich der Reiz von BasiCode:
Commodore-, Sinclair-, Schneider/Amstrad-, Atari-, auch MSX- und DOS/Windows-Nutzer können gemeinsam arbeiten.
Die DDR war eine Hochburg für dieses Programmiersystem geworden und von hier aus (bzw. später aus dem "Neufünfland") wurden noch
regelmäßig BasiCode-Listings über den Rundfunk ausgestrahlt, als andere Stationen solche Sendungen längst wieder eingestellt hatten.
Heute erscheint es paradox, daß ich BasiCode zu seiner Hoch-Zeit nur ganz am Rande (wie durch kleine Artikel in der Fernsehzeitschrift)
mitbekommen habe. Das Interesse am Programmieren war zwar vorhanden, doch eigene Hardware war finanziell noch unerreichbar, außerdem
war ich junger Familienvater und seit 1979 schon Schichtarbeiter…
Es war üblich, als letzte REM-Zeile zu vermerken,
wann es eine Rundfunkausstrahlung gab. Bei der Geburtstagsliste findet sich ein solcher Eintrag:
32130 REM ERSTAUSSTRAHLUNG: DS-KULTUR
32140 REM-SPEZIAL 920415 ,
doch beim "BC-GIRL" und der "GELDDAME" fehlt so ein Hinweis. Nun hatten sich auch hier die inzwischen leichter erhältlichen,
mittlerweile für den Hobbyisten besser bezahlbaren und (anscheinend?) attraktiveren Computer ausgebreitet und der Stern von
BasiCode sank unter den Horizont. Das Internet konnte die Verbindung unter den Anhängern noch nicht übernehmen.
So sollte es eben fast dreißig Jahre dauern, bis die Programme auch in meinen Bestand gelangten - mal sehen, welche
Überraschungen noch auf mich warten!
Thomas Rademacher im Juni 2020
Hier geht's zum Download der ASCII-Files
|