Wie kam es zu der fixen Idee ein märklin digital System mit einem historischen Computer wie dem Amiga zu steuern?
Ich hatte bereits um das Jahr 1985 herum einen einen Commodore C64. Ein heute etwas rudimentäres Gerät. Damals Top-aktuell, kam doch auch irgendwann eine grafische Oberfläche für die Kiste auf den Markt. Aber es kam noch besser: 1985 erschien auch schon der erste Amiga und ich stieg um das Jahr 1987 auf den Amiga 2000 um.
Meine Märklin Welt war damals noch analog. Bis auf wenige Ausnahmen ist sie das auch heute noch… aber das ist ein anderes Thema. In den damalige Computershops gab es chice Bücher und Zeitschriften und irgendwann fiel mir auch ein Chip Spezial zum Thema Computer und Märklin in die Hände. Gekauft, zumal auch Amiga auf dem Titel stand… nun brauchte es aber noch die passende Märklin Hardware. Ein Trafo, Interface und eine Central Unit mussten her.
Nach etwas längerer Pause, mal wieder ein Bericht von mir zu einem sehr exotischem Thema: „Wie steuere ich die ersten Digitalgeräte von Märklin mit einem Amiga Computer?“
Ich beschäftige mich ja seit einigen Jahren mit dem mikado Sammlerkatalog. In meiner Sammlung befinden sich auch einige Exoten wie zum Beispiel das DMS80 – der Vorläufer des 6020 – oder auch ein transparentes 6020. Aber auch der Betrieb der normalen frühen Digital Geräte ist spannend. Das ganze ist dann auch etwas rustikal, vergessen doch die ersten Decoder immer schön die Fahrtrichtung. Da ist der Spaß am Spiel sozusagen vorprogrammiert…
Gut. Das wäre der Märklin Teil, kommen wir zur Computersteuerung. Meine private Karriere in dem Bereich begann mit einem ZX81 gefolgt von einem C64 und dann einem Amiga 2000. Als der Amiga 3000 erschien hatte ich einen der ersten. Die Geräte sind dann aber alle mal in andere Hände gewandert, heute sind das teilweise sehr gesuchte Sammlerstücke. Nunja. So ist es. Also galt es zunächst einen Amiga zu finden…. gar nicht so einfach wenn man nicht Unsummen dafür auf den Tisch legen will. Zum Glück fand sich ein Amiga 600 in sehr gutem Zustand für kleines Geld. Nun werden die Amiga Freunde sagen: den kauft man doch nicht. Als er erschien war er veraltet und kaum aufzurüsten. Egal. Er kann alles was man braucht (Serielle Schnittstelle, IDE Platte…) und ist nicht so groß auf dem Tisch. Gekauft.
Aber damit nicht genug der Probleme… aktuelle Monitore passen nicht. Oder nur mit Adapter – sogenannte FlickerFixer – aber die sind auch teuer. Allerdings gibt es für kleines Geld (rund 20 Euro) gebrauchte Flachbildschirme die auch am Amiga laufen. Ein paar Tage später hatte ich einen funktionierenden DELL Monitor. Nun möchte man aber im Jahr 2026 nicht mehr (so viel) mit Disketten hantieren. Der Amiga 600 hat glücklicherweise eine IDE-Schnittstelle für Festplatten und mein Modell war zum Glück bereits mit einer geeigneten Kickstart Version (das Amiga BIOS) ausgestattet die das booten von diesem Medium unterstützt. Nun will man aber keine alte, drehende Festplatte einbauen. Einen Adapter für CF-Karten auf IDE gibt es für kleines Geld, ebenso eine passende Speicherkarte. Macht auch Null Krach: keine Festplatte, kein Lüfter. Perfekt.
Im Netz finden sich diverse Anleitungen wie man unter MacOS (geht auch mit Linux und dem anderen Betriebssystem) ein passendes AmigaOS auf die CF-Karte bekommt. Nach ein paar Versuchen lief die alte Kiste dann auch.
Leider gibt es keine oder kaum Software für den Amiga um das Märklin Digital System zu steuern… zumindest nichts brauchbares. Also: selber schreiben. Aus alten Zeiten gab es noch ein GFA-Basic für denn Amiga im Bestand. Das sollte doch irgendwie gehen… Also das Märklin Interface 6050 rausgeholt und mit einem 6021 und nem Trafo verbunden. Licht an! Ah, Moment. Ein serielles Kabel fehlt noch. Zum Glück hatte ich ein Interface 6050 im Bestand mit passendem Kabel. Es finden sich im Netz aber auch genug Anleitungen wie ein solches Kabel selbst gelötet werden kann.
Wie bereits geschrieben: fertige Software gibt es kaum, aber auch Code-Beispiele für meine hier beschriebene Konstellation sind nicht nur Mangelware…. es gibt keine. Egal. Wir haben ja einen guten Mitarbeiter: die KI. Das erste Ergebnis war auch flott erstellt. Ein minimaler Test ob sich Start-/Stop-Kommando absetzen lassen. Mit einer kleinen Oberfläche zum anklicken. Funktionierte auf Anhieb – die rote LED am 6021 (oder an der 6020) geht an/aus. Gut!
Hier der Quellcode dazu, gut kommentiert:
REM ============================================================
REM
REM MAERKLIN DIGITAL 6051
REM Mini-Frontend fuer Amiga / GFA-BASIC 3.51
REM
REM Serielle Schnittstelle:
REM 2400 Baud
REM 8 Datenbits
REM No Parity
REM 2 Stopbits
REM
REM 96 = GO
REM 97 = STOP / NOTHALT
REM
REM ============================================================
REM ————————————————————
REM Serielle Schnittstelle oeffnen
REM ————————————————————
OPEN „U“,#1,“COM1:2400,N,8,2″
REM ————————————————————
REM Frontend-Fenster oeffnen
REM ————————————————————
OPENW #2,80,50,480,190,0,4096
TITLEW #2,“MAERKLIN DIGITAL 6051″
REM ————————————————————
REM Frontend zeichnen
REM ————————————————————
CLS
PRINT
PRINT „ MAERKLIN DIGITAL 6051″
PRINT
PRINT „ 2400 Baud / 8N2″
PRINT
PRINT „ Anlage: AUS“
PRINT
REM EINSCHALTEN
BOX 70,85,205,130
LOCATE 13,12
PRINT „EINSCHALTEN“
REM STOP
BOX 275,85,410,130
LOCATE 42,12
PRINT „STOP“
REM ENDE
BOX 175,145,305,175
LOCATE 28,20
PRINT „ENDE“
REM ————————————————————
REM Hauptschleife
REM ————————————————————
REPEAT
REM ——————————————
REM Linke Maustaste?
REM ——————————————
IF MOUSEK=1
x%=MOUSEX
y%=MOUSEY
REM —————————————-
REM EINSCHALTEN
REM —————————————-
IF x%>=70 AND x%<=205 AND y%>=85 AND y%<=130
REM 6051 GO = 96
PRINT #1,CHR$(96);
REM kurze Pause zwischen den Befehlen
t%=TIMER
REPEAT
UNTIL TIMER-t%>=40
REM Status anzeigen
LOCATE 13,12
PRINT „EINSCHALTEN“
ENDIF
REM —————————————-
REM STOP
REM —————————————-
IF x%>=275 AND x%<=410 AND y%>=85 AND y%<=130
REM 6051 STOP = 97
PRINT #1,CHR$(97);
REM kurze Pause zwischen den Befehlen
t%=TIMER
REPEAT
UNTIL TIMER-t%>=40
REM Status anzeigen
LOCATE 42,12
PRINT „STOP“
ENDIF
REM —————————————-
REM ENDE
REM —————————————-
IF x%>=175 AND x%<=305 AND y%>=145 AND y%<=175
REM Sicherheit:
REM Anlage vor Programmende stoppen
PRINT #1,CHR$(97);
t%=TIMER
REPEAT
UNTIL TIMER-t%>=40
ende%=1
ENDIF
REM Warten bis Maustaste wieder losgelassen
WHILE MOUSEK<>0
WEND
ENDIF
REM ——————————————
REM ESC beendet ebenfalls das Programm
REM ——————————————
IF INKEY$=CHR$(27)
PRINT #1,CHR$(97);
t%=TIMER
REPEAT
UNTIL TIMER-t%>=40
ende%=1
ENDIF
UNTIL ende%=1
REM ————————————————————
REM Aufraeumen
REM ————————————————————
CLOSE #1
CLOSEW #2
END
