Der Agon Light 2

Loading

Ich habe in meinem Blog ja schon mal den Retro-Computer MinZ-C besprochen. Das ist ein Z180 Rechner mit CP/M als Betriebssystem und einer RAM- und ROM-Disk. Weitere Programme kann man auf einer SD-Karte ablegen. Nachdem ich auf den Agon Light aufmerksam gemacht wurde, habe ich mir einen zugelegt. Um es genauer zu sagen, den Agon Light 2, der kommerziell von Olimex hergestellt wird. Der Agon Light wird von seinem Schöpfer als „over engineered“ angegeben, Da bei den Geräten sehr schnell Extrakosten hinzukommen, habe ich ihn schließlich bei Mouser bestellt und er kam obwohl erst für den 12. Juni avisiert schon zwei Tage nach der Bestellung am 5.6.2023 an. Gekostet hat er mit Mehrwertsteuer schlussendlich 76 anstatt 58 Euro, immer noch billiger als beim Hersteller Olimex wo mit Versand und Zoll der Preis von 50 auf 95 Euro kletterte.

Der Agon Light 2 ist vom Aufbau her eher ein Retrocomputer als das MinZ-C System. Er ähnelt aber eher einem „klassischen“ Heimcomputer wie dem C64, auch wenn er nur als Platine wie ein Raspberry Pi verkauft wird (Gehäuse ist verfügbar, kostet aber extra) und man ihn in einigen Aspekten durchaus mit diesem Bastelcomputer vergleichen kann.

Der Rechner hat einen eZ80 Prozessor getaktet mit 20 MHz. Ein eZ80 ist eine Microcontrollerversion des Z80, hat 128 kB integriertes Flash-ROM, 8 KB internes RAM, einen Ethernetport und er kann 16 MB adressieren und ist dreimal schneller als ein Z80 mit derselben Taktfrequenz. Dazu kommen 512 KB RAM. Ein eigenes Betriebssystem ist im ROM untergebracht.

Dazu kommt ein ESP32 Pico als Videoprozessor. Im originalen Agon Light hat der satte 8 MB Speicher und kann VGA Auflösung mit bis zu 64 Farben. In dieser kommerziellen Variante (das „2“ am Ende) sind es bei VGA nur 16 Farben, wobei mir 8 MB RAM für VGA Auflösung auch als ziemlich viel erscheinen. Wenn ich mich an Super-VGA Karten in den Achtzigern erinnere, kamen die eigentlich mit 256 KB Speicher aus. Die VideoRAM Größe des Agon Light 2 ist nicht angegeben.

Es gibt eine Menge Anschlüsse. Die Tastatur wird über USB angeschlossen, muss aber PS/2 kompatibel sein. Eine Cherry Tastatur aus dem Regal machte keine Probleme, ein Nachbau des Modell M also eine mechanische IBM Tastatur der ersten PC-Stunde wurde aber nicht erkannt. Wenn man eine Tastatur hat, für es einen USB zu PS/2 Stecker mitgeliefert wird, dann dürfte die passen. Die Grafikausgabe geht über einen VGA-Port, den haben gottseidank auch die modernsten LED-Fernseher noch als Eingang. Versorgt wird der Rechner über einen USB-C Port, wie man ihn von Smartphones kennt. Bei mir hängt er an einem USB Port des PC, aber ein Netzteil geht sicher auch. Alternativ gibt es einen Port auf der Platine wo man eine propietäre LiPO4-Batterie anschließen kann die sogar langsam aufgeladen wird, wenn man eine Stromversorgung am USB-C Port anschließt. Der Massenspeicher ist ein Steckplatz für eine Mini-SD Karte bis 32 GB.

Dazu kommt ein 40-poliger GPIO Port wie beim Raspbery Pi und ein achtpoliger User Port für den es von Olimex, dem Hersteller auch Addons gibt wie LED Modul, MP3-Player und sogar ein Wifi-Inteface. Dank es Etherports des eZ80 gibt es sogar einen Textbrowser fürs Internet, womit der Rechner dann wohl der einzige weltweit wäre, für den man keinen Virenschutz braucht. Als letztes hat er noch den obligaten Reset Taster, den man z.b. braucht wenn man die SD-Karte zwischendurch wechselt – er arbeitet problemlos weiter, erkennt beim Neueinstecken aber nicht neu aufgespielte Programme auf der Karte.

Inbetriebnahme

Ich steckte eine Micro-SD Karte mit 8 GB in den Slot, verband VGA Port mit dem Monitor, steckte Tastatur an und dann das USB-C Kabel und wechselte beim Monitor den Eingang und nach einigen Sekunden kam ein Textbildschirm mit zwei Bootmeldungen. Das hatte ich nicht erwartet. Beim MinZ-System muss man erst mal Treiber installieren die COM-Schnittstellen über USB emulieren und dann noch ein Terminalprogramm starten bzw. erst installieren. Nur über dieses funktioniert die Kommunikation.

Nach dem Eintippen von „dir“ sah ich dann auch das Verzeichnis der SD-Karte und war positiv überrascht. Das sah nämlich aus wie unter Windows. Es war wie ich an den Dateien feststellte, die Bootpartition eines Raspberry Pi Systems. Aber eben mit vollen Dateinamen, nicht wie man es bei einem 8 Bit System erwarten, würde mit 8:3 gekürzten Dateinamen wie man das noch von DOS kennt.

Danach formatierte ich die SD-Karte erst mal komplett. Sie muss als FAT32 formatiert sein. Danach kam aber die Ernüchterung. Denn auch wenn so das Überspielen von Dateien einfach ist – auf dem PC im Internet runterladen, auf Micro-SD Karte schreiben und dann die Karte wieder einstecken, das war es auch schon was der Retro-PC selbst kann. Beim MiniZ System war im ROM ein CP/M mit einigen Dienstprogrammen enthalten, das hier war „nackt“. Kein Hilsprogramm, nicht mal das BBCBASIC das so angepriesen wurde. Nachdem ich das Basic „bbcbasic.bin“ kopiert und gestartet hatte (zuerst LOAD bbcnasic.bin, dann RUN, man sollte vorher aber mit SET KEYBOARD 2 auf das deutsche Layout wechseln und bitte aufpassen, vorher ist das „y“ auf dem „Z“). kam die erste Ernüchterung. Nach einigen Jahrzehnten wollte ich mal wieder ein „Hallo Welt“ Programm schreiben und tippte ein:

print „Hallo Welt!“

Nachdem ich zweimal auf Enter drücken musste – wie sich zeigte musste man das immer bei BBCbasic tun kam ein:

„Mistake“

okay, jedes BASIC das ich kenne war auch interaktiv nutzbar, also als Programm:

10 print „Hallo Welt!“

run

„Mistake“

list

„Mistake“

Dann fand ich aus worum es diesen Fehler gab. Das ist das einzige BASIC das ich jemals sah, das darauf besteht das Befehlsworte in Großbuchstaben eingegeben werden also:

PRINT „Hallo Welt!“

Hallo Welt!

Damit habe ich den Ausflug in die BASIC Welt erst mal beendet. Ich suchte nach der Doku für das BASIC, vor allem weil mich interessierte, wie fortschrittlich es ist. Also es gibt ja die einfachen BASIC die in den Interpretern der Heimcomputer in den Achtzigern verbaut war und es gibt bessere Basic die ohne Zeilennummern auskommen, lokale Variablen und Parametern kennen wie GFA-Basic, Turbo Basic oder Power Basic. Aber nach der Doku und auch der kleinen Binärdatei (15 kb) s scheint es sich eher um eines der einfaches BASIC zu handeln.

Und da komme ich zum Hauptproblem: Der Dokumentation denn die ist rar und muss entweder aus Github-Archiven mit dem Sourcecode extrahiert werden oder im Falle von der Doku des Rechners durch Olimex sind es Bilder oder nicht verlinkte PDF! Sodas man dort enthaltene Links nicht mal anklicken kann.

Nach etwas stöbern fand ich dann die „Dokumentation“ des BASIC. Es kommt auch bei Variablen nicht mit Kleinbuchstaben zurecht. Ich habe mir parallel eine CP/M Version auf mein miniZ-System überspielt weil es da wesentlich komfortabler zugeht. Ein paar Tests, um zu sehen wie viel Speicher man frei hat (44 k) und dann ein einfaches Programm, das nur von 1 bis 1000 zählt und die Zahl ausgibt. Lief verhältnismäßig langsam, bedenkt man das die CPU mit 33 MHz läuft. Also hochskaliert wäre das BASIC das mein CPC damals hatte schneller auf dieser CPU.

Das BASIC auf dem Agon Light ist dagegen eine Qual. Zum einen weil der „Return-Tasten“ bug nicht nur bei Kommandos zuschlägt. Sondern wenn ich mit „RUN“ das Programm starte tut sich nichts. Erst wenn ich zweimal hintereinander auf RETURN haue kommt eine Zahl, das muss man bei jeder Programmzeile die abgearbeitet wird tun. Zwischen jedem Schleifendurchlauf liegen aber einige Sekunden. Eine andere Tastatur die ich hatte, wird leider nicht erkannt. Aber im Betriebssystem brauche ich keine doppelten Return, also scheint das ein Fehler des bbcbasic zu sein. Immerhin, es rückt den Quelltext automatisch ein, ein Feature das bei anderen Programmiersprachen relativ neu ist (wenn auch schon 20 Jahre alt). Was mich natürlich interessiert sind die Grafikfähigkeiten. Und die wurden nicht in das BASIC integriert. Das originale BBC-BASIC hatte einfache Grafikkommandos wie „Line“. Es lief ja auf einem grafikfähigen Heimcomputer. Die fielen dann beim Port weg, obwohl die Befehlswörter noch reserviert sind. Das heißt das Schlüsselwort „LINE“ ergibt ein „sorry“ kein „Mistake“. Stattdessen muss man über ein „Mode“ Kommando dem VDP direkt Anweisungen geben und das einzige Element das etwas zeichnet ist der Plot Befehl, also ein einziger Punkt. Keine Linien, kein Kreis, keine Füllroutine, nicht die Platzierung von Text an wählbaren Koordinaten.

Das ist für mich ein Rückschritt in die wirklich ganz frühe Zeit der Heimcomputer, den die meisten konnten Grafik mit einfachen Befehlen bis auf die Commodore Geräte. Der C64 war zwar grafikfähig, aber das BASIC hatte da von der CBM Serie übernommen keine Anweisungen dafür. Es fehlen auch viele Text-Anweisungen wie PRINT USING oder LOCATE. PRINT gibt immer eine Zeile aus, ich bin gewohnt das ein Komma als letzter Parameter dazu führt das die nächste Ausgabe an die alte anschließt.

BBCBASIC ist so für mich rudimentär, wegen des RETURN Bugs auch unbenutzbar. Der einzige Nutzen den es hat, ist das es viel Speicher für Programme lässt. Auf dem MiniZ System lief eine CP/M Version von BBCBASIC bei der waren 44.544 Bytes für Programme frei, das ist schon ein guter wert, der nur von wenigen Rechnern übertroffen wird wie dem C128. Auf dem Argon Light sind es sogar 48.640 Bytes, weil CP/M als Betriebssystem wegfällt.

CP/M 2.2

Auf genau das wechselte ich nun. CP/M ist keine Alternative zu dem Betriebssystem des Agon Lite sondern ein Programm das unter ihm läuft, das heißt es wird mit LOAD geladen und mit RUN gestartet. Es sieht anders aus – die Buchstaben sind anders gerendert, aber es ersetzt das Betriebssystem nicht. Die TPA ist etwas kleiner als beim MiniZ, das eine 57 K TPA hat, hier sind es 512 Bytes weniger, für ein Non-Banking CP/M 2.2 aber trotzdem viel. CP/M 2.2 macht auch nicht Gebrauch von der Struktur der SD-Karte, ist daran nicht angepasst, sondern liest und schreibt in maximal 16 feste Dateien mit den Namen cpmX.dsk also cpma.dsk, cpmb.dsk etc…. Die sind je 8 MB groß, die größte Festplattengröße die CP/M 2.2 unterstützt. Für heutige Verhältnisse winzig, doch für 8 Bit Programme riesig. Das entsprach je nachdem welches Diskdrive man hatte, 10 bis 40 Disketten. Auf drei Disk Images sind Turbo Pascal 3, Wordstar 4 und Supercalc 2 drauf, die vierte ist leer und kann so auch als Vorlage für weitere „Festplatten“ genutzt werden. CP/M 2.2 unterstützt bis zu 16 Laufwerke, also beim Buchstaben P: ist Schluss.

Zum bearbeiten braucht man dann die CP/M Tools. Die sind ziemlich alt und laufen nur in einer Kommandozeile. Das Hauptproblem sieht man aber, wenn man ein Programm startet, in meinem Falle Turbo Pascal, weil ich ein Benchmarkprogramm laufen lassen wollte. Jeder Computer hat Steuercodes mit denen er den Cursor an einer bestimmten Stelle positionieren kann, Zeichen, Zeilen oder den Bildschirm löschen kann, oft auch invertierte Darstellung ein-/ausschalten kann. Ohne diese ist ein Bildschirmeditor, wie er in Turbo Pascal eingebaut ist, nutzlos. Klar das kann man mit TINST einstellen, aber welches Codes bitte? Weder beim Agon Light noch beim CP/M Port ist etwas dokumentiert. Bei Supercalc, dass im Video gezeigt wird, hat man einen Screen Editor, aber auch hier der Tastaturbug. Die Pfeiltasten reagieren träge, erst bei mehrmaligem Betätigen. Das war beim MiniZ anders. Da war dokumentiert, das die Ausgabe nach dem Terminalstandard VT100 erfolgt, ich musste das in meinem Terminalprogramm nur einstellen und es lief. So ist das CP/M aber praktisch unbenutzbar.

Was bleibt?

Der Agon Light ist ein Rechner der alleine funktioniert, ohne PC. Das war es aber dann auch schon. Das Basic ist unbedienbar und rudimentär, der CP/M Port auch. Die Grafikfähigkeiten nur unter BASIC aufwendig anzusprechen, 384 K Speicher ebenfalls vom BASIC aus als Datenhalde über User Functions.

Man kann über den Zweck dieser Retrocomputer streiten. Real will ich nicht mehr mit Turbo Pascal 3 entwickeln und mit Wordstar Texte verarbeiten, aber mit dem MiniZ geht das wenigstens bequemer als damals, mit einer 1 MB RAM Disk und einer 0,5 MB ROM Disk. Man kann mit einem Terminalprogramm sich komfortabel verbinden und das Editieren ist so auch bequemer.

Es bleibt die GPIO Leiste, die aber zumindest von dem Abstand nicht kompatibel zum Raspberry pi ist. Nur wenn ich das vorhabe, dann kann ich gleich zu einem Raspberry Pi greifen. Für den gibt es auch das BBCBASIC, aber auch eine komfortablere Version das MMBASIC. Einfacher ist es aber, man lässt sich auf eine neue Programmiersprache ein. Als ich meinen Ölstandsmesser als Makerprojekt umsetzte, habe ich ja auch von Pascal auf Python gewechselt, weil die Zeitmessung mit der Systemfunktion bei Pascal zu ungenau war und die Python Lib für die GPIO Anbindung eben besser ist und einen Hardware Timer enthält. War mein erstes Python Programm, klappte trotzdem.

Wenn ich nach einem echten Retrocomputer suchen würde, der auch GPIO hat, dann würde ich zum Color Maximite raten. Den gibt es in verschiedenen Versionen. Er bootet ein sehr komfortables MMBASIC (dasselbe wie für den Raspberry pi), die beiden aktuellen Versionen haben mindestens einen 400 MHz ARM Cortex Prozessor, 512 KB Speicher für BASIC Programme und bis zu 5 MB für Arrays, mindestens Super-VGA Grafik in 800 x 600 Pixeln, kommen in einem Gehäuse und haben die GPIO Pins. Gut, ein paar Euro teurer, aber dafür nutzbar.

7 thoughts on “Der Agon Light 2

  1. Hi,
    also bei Basic Versionen die mit Großbuchstaben funktionieren fallen mir so einige ein so unter unterem NASCOM Basic sowie auch frühe Versionen von Microsoft Basic, eigentlich auch Basic des C64 nur mal so. BBC Basic ist bzw war wenn man den ein einschlägigen Quellen glauben kann eine der besten und leistungsfähigsten Basics überhaupt.

    Grüße, Thomas

  2. Die Computer Technik hat sich in den vergangenen Jahrzehnten rasant entwickelt. Leider ist bei diesem Tempo der Verbrauch, bzw. der Bastler, oder Maker wie es nun heißt auf der Strecke geblieben. Meinen ersten Heimcomputer, einen DAI, der war mit einer 8080 CPU ausgestattet, den konnte ich vollständig kontrollieren, das gesamte ROM mit dem Betriebssystem war dokumentiert. Habe mit Maschinensprache meine eigenen Routinen in das Betriebssystem mit eingeschleift. Ein tolles Gerät, habe es auch beruflich eingesetzt und kleiner Berechnungen usw. durchgeführt. Das Gerät machte keine Problem, es funktionierte einfach. Einschalten, und das Gerät war 100% bereit.
    Dann kamen die ersten PC, mein erster PC ein Laptop, aber das war eine große Enttäuschung. Der machte nur Problem, das Betriebssystem war undurchschaubar und nicht dokumentiert. Wollte dieses Gerät auch für kleine Berechnungen einsetzen wie bei dem Vorgänger, aber nichts funktionierte richtig, habe damit kein einziges Projekt lösen können, dieser PC hat mir nur die Zeit gestohlen und war nutzlos. Habe ihn dann schnell entsorgt.
    Und das ist das Dilemma, seit dem hat es keinen einzigen PC gegeben der in gleicher einfacher Weise zur Problemlösung in der Werkstatt beigetragen hat. Die waren immer selber das Problem. Undurchschaubar nicht zuverlässig.
    Ein DAI oder ein Apple von damals der würde heutzutage nach Jahrzehnten trotz der langen Zeit ohne Probleme sofort wieder seinen Dienst tun.
    Und das ist das Problem, die PC altern einfach, ohne ständiges Update verfallen die und nach einiger Zeit nützt auch ein Update nichts mehr. Und diese PC sind viel zu komplex. Sagen wir mal so, wir brauchen Geräte quasi für den Mittelstand, Geräte deren Inneres wir total durchschauen können und die ohne Zicken auch Jahre später einfach hochfahren.
    Man kann es vergleichen mit den Autos. Autos bis zu den 80er Jahren kann man mit Zange und Hammer und ein wenig Draht reparieren. Die modernen Autos sind so hochzüchtet und mit unsinnigen Gimmicks vollgestopft, da kann man mit einfachen Bordmitteln nichts mehr reparieren.
    Was wir brauchen sind Computer für den Mittelstand, die ohne Informatikstudium betrieben werden können und ohne Update auch weiter ihren Dienst tun.
    Nehmen wir die Software, da gibt es z.B. mehrere Versionen von Visual Studio frei verfügbar, aber für die Nutzung dieser Programme braucht man ein Studium.
    Mir scheint das mit Absicht eine große Lücke gelassen wird, und den Mittelständischen nützliche durchschaubare Software und Computer vorenthalten werden. So das die Mittelständischen nichts haben womit sie selbstständig und selbstbestimmt Arbeiten können.

    1. Na dann ist der Agon Light ja der ideale Rechner für sie, Updates bekommt der bestimmt nicht mehr.

      Ernsthaft: Mein letzter PC wurde achte Jahre lang benutzt bis er einen Hardwaredefekt hatte. Gut das Betriebssystem wechselte einmal in der Zeit, bekam aber immer Updates. Bei der Software muss man nicht jede Version mitmachen, meine entwicklungsumgebung wurde z.B. 2015 veröffentlicht und man muss auch nicht jedes Feature von Visual studio nutzen, bzw, wenn das einem zu kompliziert ist gibt es Alternativen. Das Problem beim Programmieren ist ja weniger die entwicklungsumgebung als vielmehr die eigenen Programmierkenntnisse.

      Ansonsten gibt es ein einfaches Mittel: Netzwerkkabel ziehen und Wlan ausschalten. Schon bekommt der PC keine updates und verändert sich nicht mehr. Oder einen Apple bei Ebay kaufen wenn der so viel besser ist…

  3. Interessanter Standpunkt. Ich habe mir (über Olimex) für etwa 70 Euro den Agon Light zugelegt. Zoll fällt übrigens nicht an, weil Bulgarien in der EU ist.
    Inhaltlich fällt erstmal auf, dass sich die Tastaturbelegung nicht auf eine deutsche Tastatur einstellen lässt. Das gefällt mir nicht. An das Basic kann ich mich gewöhnen. Es hat sogar einen In-Line Assembler. Das ist schon cool. Und schnell ist es auch. Die wesentlichere Frage ist aber, ob ich mit Basic entwickeln will. Und da bin ich bei dir. Python ist besser und moderne Linux oder Windows Systeme sind einfach besser. Aber das ist generell das Problem mit Retro-Computing. Man will es nicht wirklich. Das waren damals Krücken. Und es sind heute Krücken.
    Einen realen Nutzen kann ich nur in Low-Cost Spezialanwendungen sehen. So könnte man z.B. eine Bar-Kasse für Arme damit realisieren. Sowas ginge.
    Ich habe etwas mehr Freude an einer zweiten Bestellung bei Olimex. Der ESP32-SBC-FabGL ist ein kleiner 15-Euro Mikro-Computer mit dem man frühe DOS und CP/M Versionen betreiben kann. Da funktioniert auch die Tastatur und das Ding macht mir mehr Freude. Ich hab damit den Imsai 8080 emuliert. Das war schon interessant. Grundsätzlich krankt es aber an der gleichen Krankheit wie der Agon Light. Man will damit nicht mehr wirklich arbeiten. Für ein paar Nachmittage oder eine Demo für die Kinder wie alles anfing, taugt es aber.

  4. Also ich habe den color maximite 2.
    Ich hatte gedacht das ich mein basic schachprogramm das ich unter power basic vor vielen Jahren entworfen habe, in den maximite übertrage.
    Denkste.
    Während ich mein dos schachprogramm in jeder dosbox auf jedem pc laufen lassen kann, sogar auf meinem android handy unter magic dos box, quäle ich mich im maximite mit dialekt unterschieden. Denn, und das ist das eigentliche Problem: BASIC ist nicht Basic.
    Jedes Basic ist anders im Syntax, im Funktionsumfang und …
    Wenn ich das jetzt anpassen sollte müsste ich handbücher haben die den syntax beschreiben. Und hier fängt m.E. das Problem an. Ich bin aus meiner Vergangenheit gewohnt Lokomotive Basic, omikron BASIC, gfa Basic oder Power Basic anzupassen, wenn ich ordentliche handbücher mit den befehlen und dem syntax habe.
    Bei modernen geräten gibt es maximal pdf files. Und es macht einfach keinen spass diese files nach befehlen durchzusuchen.
    Mit Handbüchern ist das sehr viel einfacher.

  5. Danke Bernd fürs Tipp, bestell von Mouser statt direkt von Olimex – hat mich ein paar Taler erspart.

    Wegen BBC BASIC. Tatsächlich war er in seiner Zeit (1981!) eine der bessere Dialekte. Wenigstens hat man DEF PROC. Man kann auch Assembler-Code einbetten (ziemlich einzigartig damals), natürlich auf das Agon in Z80 statt der ursprünglich 6502.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.