MEGA65 - ein moderner Homecomputer

May 30, 2022 — Mischka

Am Wochenende war mein Mega65 in der Post. Naja, eigentlich war er bereits vorher hier, aber ich war verreist und so erreichte mich das Paket erst am letzten Wochenende.

Mega65?

Vor 20 Jahren, als die Homecomputer-Ära sich dem Ende näherte, wollte die Firma Commodore nochmal durchstarten und ihrem erfolgreichsten Produkt, dem legendären C64, einen Nachfolger bescheren - den Commodore 65. Dieser sollte rückwärtskompatibel zum Erfolgsmodell C64 sein, für den es ja unmengen an Spielen und Software gab, aber einige Verbesserungen in Sachen Sound, Grafik, Geschwindigkeit und Schnittstellen mitbringen. Außerdem wurde ein nachfolger für das in die Jahre gekommene BASIC entwickelt.

Da es aber bereits würdige Nachfolger und Weiterentwickungen für den C64 aus dem eigenen Hause gab, man denke an den C128 sowie den Amiga 500, kam der C65 nie auf den Markt. Die noch existierenden Prototypen des C65 sind begehte Sammlerstücke.

Ein paar Retronerds rund um das MEGA Museum of Electronic Games & Art e.V. haben diesen Computer, den es nie zu kaufen gab, auf FPGA-Basis nachgebaut, die Firmware geborgen und repariert und erweitert und dem ganzen ein paar moderne Schnittstellen spendiert. Das Ergebnis ist der MEGA65, welcher nun meinen C64 vom Retrocomputing-Tisch vertrieben hat.

Erste Eindrücke

Der Homecomputer kommt in einer schönen, an die Commodore-64-Verpackung erinnernden Pappschachtel im Blau-Weißen Design. Die Rückseite zieren neben ein paar Screenshots auch zwei Fotos im 80er-Stil, welche Kinder abbilden, die fasziniert einen Homecomputer bedienen 😁

Die Schachtel enthält den MEGA65 Homecomputer, eine gedruckte, ausführliche Bedienungsanleitung in englischer Sprache (auch diese vom Design her stark angelehnt an die Original C64-Anleitung), sowie ein Netzteil mit internationalen Adaptern.

Äußerlich macht der MEGA65 einen sehr guten Eindruck. Das Gehäuse wirkt hochwertig, die Tastatur hat eine angenehme Haptik. Ins Gehäuse ist ein 3.5' Diskettenlaufwerk eingebaut. Weitere Schnittstellen sind: zwei DSUB-Joystick-Anschlüsse (für original-C64 Joysticks oder Mouse), ein Expansions-Port, Serial-Port (Diskettenlaufwerk und Drucker), Netzwerk-Schnittstelle, HDMI sowie VGA-Anschluss, ein Micro-SDcard-Slot sowie eine Kopfhörer-Buchse. An der linken Seite befinden sich außerdem der Netzschalter sowie ein RESET-Button. Das ganze wirkt professionell und solide.

Start

Schnell ist der MEGA65 per HDMI mit einem modernen Monitor verbunden und gestartet. Nach ein paar Fragen zur Grundkonfiguration startet eine Demo von der internen SD-Karte, welche ein paar Spiele, Demos und Programme zum ausprobieren bereit hält. Da ist jetzt nichts spektakuläres dabei, alles eher rudimentär aber zu Demonstrationszwecken ausreichend. Auf der SD-Karte sind außerdem ein GEOS (das grafische Betriebssystem des C64) sowie ein Programmiereditor für BASIC enthalten.

Der erste Eindruck ist sehr positiv. Das Gerät bedient sich gut und ich kann mir vorstellen, dass es auf der wirklich schönen Tastatur mehr Spaß macht, Programme einzugeben, als auf der wobbligen C64-Tastatur. Softwareseitig ist noch vieles in Entwicklung. Da es sich um ein Entwicklungsgerät handelt, welches noch dazu sehr limitiert erschienen ist, wird es wohl kaum ein Gaming-Überflieger werden. Aber der MEGA65 hat durchaus das Potenzial, die Lust am Homecomputing, dem ausprobieren, selbst programmieren und basteln wieder zu wecken.

Da der MEGA65 auch einen C64-Modus hat, wird er nun meinen Commodore64 auf dem Schreibtisch ersetzen.

Tags: c64, c65, retrocomputing, mega65

Meine Commodore 64 Story

December 03, 2018 — Mischka

Mein erster Computer war ein C64. Nach der politischen Wende hat mein älterer Bruder meine Eltern dazu überredet einen Computer zu kaufen. Meine Mutter arbeitete als Redakteuerin für eine Tageszeitung und somit war klar, dass ein Computer sehr wichtig ist :D. Also kauften meine Eltern einen gebrauchten Brotkasten mit Floppy-Laufwerk und Drucker. Dieser wurde dann aber nicht im mütterlichen Arbeitszimmer aufgebaut (dort sollte später dann ein 386er PC stehen), sondern im Kinderzimmer meines Bruders. Der war dann auch der Hauptnutzer der Kiste und es wurden Summer-, Winter- und California-Games, Maniac Masion, Börsensimulationen und was es alles gab gespielt.

c64board

Der Familiennerd war allerdings ich, der auch probierte, was man mit der Kiste noch so alles machen kann (vor allem BASIC programmieren, denn Assembler habe ich nie richtig verstanden). Nach einiger Zeit konnte ich mir den C64 unter den Nagel reißen, da mein Bruder nun zum Spielen in Mutters Arbeitszimmer (zum PC) umgezogen war.

Schon damals interessierte mich der Untergrund mehr als die kommerzielle Oberfläche, weshalb ich mir bei Stonysoft die Public bestellte und auch jede Menge PD-Disketten und Demos. Zwar war ich nie ein festes Mitglied der Szene, hatte aber ein paar Swapper-Kontakte mit denen ich regelmäßig per Post Disketten tauschte. ​

Viele von euch werden sich noch gut an den Computer Flohmarkt erinnern, eine Kleinanzeigen-Zeitschrift, die von Computerfreaks auch zur Kommunikation genutzt wurde. Im Grunde ein großes Computerforum auf Papier, bei dem man auf Antworten mindestens 1 Monat warten musste. Die C64-Rubrik wurde irgendwann so groß, dass der Verleger beschloss, daraus ein eigenes Format zu machen: Brotkasten Live. Dies wurde zwar für einge Nutzer (und wenige Nutzerinnen) ein schöner Treffpunkt, machte aber wirtschaftlich keinen Sinn, weshalb das Projekt wieder eingestellt wurde.

In meiner Enttäuschung und meinem Enthusiasmus, der mich manchmal überkommt, begann ich mit einer fotokopierten Fortsetzung "Brotkasten Light". Ein paar Exemplare müsste ich noch irgendwo rumliegen haben, falls es einen Sammler interessiert :D. Jedenfalls war das Projekt für einen Teenager etwas zu ambitioniert, so dass ich nach wenigen Ausgaben wieder aufgab.

Ich erlebte das Ende der 64er, von Magic Disk und Zzap (aus England) und als ich 19 war zog ich von Zuhause weg und mottete den C64 samt Zubehör und Diskettensammlung bei meinen Eltern auf dem Dachboden ein. (Zusätzlich gab es inzwischen auch einen KC85 mit Zubehör, den ich einem Kumpel für 20 Mark abgekauft hatte).

Jahre später holte ich das ganze Zeug nach Berlin und musste erstaunt feststellen, dass C64 und Disketten noch funktionieren. Ich konnte mich aus Nostalgischen Gründen nie von meinem Brotkasten trennen, aber er fristete lange Zeit ein Dasein in einer Kiste in der Abstellkammer. Nur manchmal holte ich ihn raus um eine Runde Giana Sisters (mein Lieblingsspiel) auf Originalhardware zu zocken.

Irgendwann gab der Brotkasten dann den Geist auf und ich besorgte mir bei E-Bay Ersatz in Form eines C64-C, auf dem ich immerhin die alten Spiele spielen konnte.

Brotkasten

Anfang des Jahres habe ich mich wieder mehr mit dem C64 beschäftigt und musste feststellen dass es nach wie vor eine lebendige Szene gibt, die sogar noch Spiele und Anwendungen entwickelt. Das hat mich sehr gefreut und ich begann, wieder tiefer einzusteigen. Ich habe in diesem Jahr 20 neue Spiele gekauft, von denen mich Sams Journey am meisten gefangen hat. Im Grunde hab ich jetzt Spiele für die nächsten zehn Jahre, denn im Alltag komme ich nicht sehr häufig dazu. Außerdem habe ich angefangen meinen Brotkasten zu reparieren, bzw. das Problem zu analysieren. Auch das zieht sich leider hin, da oft solche Dinge wie Arbeit, Partnerschaft oder Familie vorgehen.

Tags: c64, retrocomputing, commodore, vintage-computing

Level up: C64-Assembler nach c't-Art

October 24, 2018 — Mischka

Der Artikel in der c't retro legt nahe, den Cross-Compiler acme für die C64 Assemblerprogrammierung zu verwenden. Leider gibts dafür kein Binary in den Ubuntu-Quellen - und auch keins auf der Sourceforge-Website. Aber kein Problem. Linux-User können sich das C64-Devkit von cliffordcarnmo aus dem Github laden. Das enthält den ACME Compiler, sowie diverse Hilfsprogramme zum kompilieren. Zunächst gilt es das Devkit runterzuladen. Dies geht ganz einfach mit dem Befehl

git clone https://github.com/cliffordcarnmo/c64-devkit

mit cd c64-devkit

wechselt man nun in das Verzeichnis.

Um loszulegen löscht man erstmal sämtliche Inhalte der Verzeichnisse source, sprites, tables, graphics, music, charset mit dem Befehl

rm source/*
rm sprites/*
rm tables/*
...

Damit hat man nun ein leeres Projekt, in das die entsprechenden Dateien eingefügt werden können. Sämtlicher Sourcecode gehört in das Verzeichnis

source/

Da das Projekt nur aus einer Quelltext-Datei besteht, wird in diesem Verzeichnis die Datei 'main.asm' angelegt in die die Assembler-Befehle kommen.

Soviel zur Vorbereitung.... Jetzt gehts ans eingemachte. Und da beginnt bereits die Geschichte voller Widersprüche. In der c't retro ist ein Listing abgedruckt, welches weder ich, noch der Compiler verstehen:

merkwürdiges Listing

Die Bedeutung dieser Zeilen erschließt sich mir weder mit Logik noch aus dem Text. Viel eher erschließt sich die Bedeutung aus dem Quellcode von der c't-Website, welcher andere Zeilen an dieser Stelle enthält:

; BASIC-Header
    *= $0801; Ladeadresse = BASIC
    !by $0b,$08,10,0,$9e,'2'
    !by '0','6','1',$00,$00,$00

Der Reihe nach: *= $0801 ist die Startadresse für dieses Programm $0801 ist der Anfang des Basic-Speichers, hierhin wird also das Programm zunächst geladen. danach folgen eine Reihe von Bytes die übersetzt die Basic-Zeilen

10 SYS 2061

ergeben. Ein Basic-Befehl an die Speicherstelle (dezimal) 2061 zu springen und den Code dort auszuführen. Diese Zeile ist nötig, um das Programm später mit dem BASIC-Befehl run zu starten.

[Fortsetzung folgt]

Tags: assemblerkurs, retro, vintagecomputing, assembler, c64, commodore, coding, level-up

c't retro

October 24, 2018 — Mischka

Jetzt hat auch heise das Retrofieber erfasst und Vintage Computing ist Mainstream. Das sollte aber niemanden davon abhalten, sich dem Hobby intensiver zu widmen. Ich bin seit einiger Zeit dabei, meinen alten Brotkasten wieder zum Laufen zu bringen. Den Fehler habe ich leider noch nicht gefunden.

Die retro-c't ergänzt meine Sammlung an Assembler-Tutorials um ein weiteres. Ich freue mich darauf, endlich ein Spiel nachzubauen und sicher wieder etwas zu lernen. Aus dem Retro-Gamedev konnte ich leider noch nichts ausprobieren, da ein Framework für Windows-Computer genutzt wird und das Übertragen auf die C64-Assembler Linux-Tools für mich noch ein Hindernis darstellt.

Vielleicht bringt aber das c't Tutorial die nötige klarheit...

Tags: retro, vintagecomputing, retro, c64, assembler, commodore64, level-up

Level up: C64 Assembler

October 22, 2018 — Mischka

Vor kurzem hab ich angefangen mich mal mit dem Commodore64 näher zu beschäftigen. Das Gerät ist der Computer meiner Kindheit und Jugend. Damals bin ich allerdings nicht bis in die Tiefen von Speicher, Opcodes und Assembler vorgedrungen.

Nun hab ich mal wieder einiges gelesen, mir auch das Buch „Retro Game Dev c64 Edition“ zugelegt und mich in ein paar Tutorials reingelesen.

Retro Game Dev

So langsam bekomme ich ein Gefühl dafür, die das ganze funktioniert. Viele Dinge, die sich mir als Teenager nicht annähernd erschlossen haben, ergeben plötzlich Sinn.

  1. Level:

Bildschirmrandflickern... nach dem Tutorial von Cruzer

Tags: c64, commodore, vintagecomputing, coden, level-up

Commodore 64 Assembler

September 09, 2018 — Mischka

Ambitioniert, aber sicher kein Hexenwerk - ich lerne grad ein bißchen 6510-Assembler, hab aber gerade erst angefangen, quasi "Hello World" auf den Bildschirm zu posten...

Tags: c64, commodore, vintagecomputing, coden

Commodore64 Archiv

September 03, 2018 — Mischka

Nach und nach kopiere ich meine alten C64-Disketten auf den Rechner und lade sie auf ftp://misk.cf hoch. Hier soll ein kleines Archiv meiner alten Sammlung entstehen. Einige Disks sind bereits online und wenn ich Zeit habe, werden es mehr :D

Tags: c64, commodore64, retrocomputung, vintagecomputing