Titelbild Game Hero
Diese Seite verwendet eigene Cookies und Cookies von Dritten damit wir die bestmögliche Bedienbarkeit und Funktionalität bieten können. Wenn Sie auf diesen Seiten surfen, stimmen Sie der Verwendung von Cookies zu. Mehr erfahren OK

ESP8266 - Das C64-Basic im Browser

Was wird benötigt?
Close
LoadingBild wird geladen...
Picture

Was ist ESP8266 C64? Mit diesen kleinen Projekt ist es möglich, einen C64 bzw. dessen Basic im Browser zu bedienen. Es handelt sich dabei um einen Emulator, es können aber keine Programme geladen werden, nur das Basic ist verwendbar. Der Kernal sowie das Basic-ROM werden auf einem ESP8266 geflasht, das wiederum per WLAN im Netzwerk erreichbar ist. Man darf also keinen C64-Ersatz erwarten, aber zum experimentieren mit den ESP8266-Modul und C64-Basic (14351Bytes) ist dieses Projekt allemal geeignet.

ESP8266 C64
Klicke auf das Bild zum Vergrößern

Bevor es los geht, noch ein paar Hinweise (Wichtig!)
- Vermeide statische Ladungen durch das Berühren eines geerdeten Objektes, wie beispielsweise einen Heizkörper. Oder verwende ein antistatisches Armband.
- Sorge dafür, dass die Pins des ESP8266 isoliert sind. Ein Kurzschluss kann das Gerät zerstören.
- Ein eventuell vorhandenes Programm im ESP8266-Flashspeicher wird überschrieben wenn ein neues Programm geflasht wird.
- Die Daten werden über das WLAN versendet. Bei diesen Projekt steht jedoch die Sicherheit nicht im Mittelpunkt.
- Ich übernehme keine Verantwortung über Schäden die direkt oder indirekt durch diese Anleitung entstanden sind.

Das ESP8266 WLAN Modul

Der ESP8266 ist einzeln ohne weitere Hardware leicht zu finden. Wir müssten uns aber um diverse Komponenten kümmern mit denen eine USB-Verbindung zum PC möglich wäre. Diese Mühe können wir uns sparen, weil es zahlreiche Boards gibt wo der ESP8266 verbaut ist. USB-Schnittstelle sowie Bootloader sind bereits vorhanden. Für dieses Projekt verwende ich das NodeMcu V3. Dieses ist für ein paar Euro zu bekommen, z.B. hier: www.ebay.de.

ESP8266
Klicke auf das Bild zum Vergrößern

Ein normales Micro-USB Kabel brauchen wir außerdem um das Board mit den PC verbinden zu können.

Den Treiber installieren

Damit das NodeMcu-Board unter Windows erkannt wird, muss ein Treiber installiert werden. Dieser ist hier zu finden: github.com. Wir laden die Treiber für Windows runter, entpacken das ZIP-Archiv und installieren die Software.

ESP8266 Driver

Wenn wir das NodeMcu-Board mit den USB-Kabel verbinden, sollte das entsprechende Gerät im Gerätemanager von Windows angezeigt werden. Zusätzlich sollten wir den COM-Port sehen der verwendet wird. Diesen müssen wir uns merken.

ESP8266 Driver
Die ESP8266 Firmware

Als nächstes flashen wir die Firmware des ESP8266-Modules. Damit wir die Firmware nicht selbst kompilieren müssen, laden wir diese von github.com runter. Zum Zeitpunkt der Erstellung dieser Anleitung war die Version ai-thinker-0.9.5.2-115200.bin die aktuellste/getestete Version. Dann brauchen wir noch das Flash-Tool mit den die Firmware gefasht wird. Dazu verwenden wir den nodemcu-flasher den es in zwei Varianten gibt. Lade die zu deinen Betriebssystem passende Version runter.

Für 32bit Windows - Download
Für 64bit Windows - Download

Wir starten den nodemcu-flasher und geben die Port-Nummer des NodeMcu-Boards ein (falls nicht automatisch geschehen). Welche das ist haben wir zuvor im Gerätemanager gesehen.

nodemcu-flasher

Im Reiter "Config" hingegen, geben wir im ersten Feld den Pfad zur Firmware (ai-thinker-0.9.5.2-115200.bin) ein.

nodemcu-flasher

Dann zurück zum Reiter "Operation" wo der Flashvorgang mit einen Klick auf den Button "Flash" gestartet wird.

nodemcu-flasher
Arduino IDE vorbereiten

Jetzt wo das NodeMcu-Board einsatzbereit ist, brauchen wir noch den Editor Arduino IDE mit den die Daten kompiliert und auf den NodeMcu kopiert werden. Die aktuelle Version von Arduino IDE ist hier zu finden: www.arduino.cc. Lade das Programm runter und installiere es.

Arduino IDE kann noch nichts mit den NodeMcu-Board anfangen da es dieses noch nicht kennt. Dieses Problem lässt sich schnell beheben. Wir gehen dazu in den Einstellungen von Arduino IDE die unter "Datei -> Voreinstellungen" zu finden sind und geben neben "Zusätzliche Boardverwalter-URLs" folgende URL ein.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Arduino ESP8266
Klicke auf das Bild zum Vergrößern

Wir bestätigen mit OK und öffnen den Boardverwalter: Werkzeuge -> Board -> Boardverwalter.

Arduino ESP8266
Klicke auf das Bild zum Vergrößern

In den Suchfeld geben wir ESP8266 ein. Es sollte ein einziger Treffer dabei rauskommen. Diesen Installieren wir.

Arduino ESP8266
Klicke auf das Bild zum Vergrößern

Jetzt sollten unter "Werkzeuge -> Board" zahlreiche neue Boards zur Verfügung stehen. Wir wählen das Board "NodeMCU 1.0 (ESP-12E Module)".

Arduino ESP8266
Klicke auf das Bild zum Vergrößern

Und als letztes geben wir unter "Werkzeuge -> Port" den Port an, an den das NodeMcu-Board angeschlossen ist. Wenn keine anderen Geräte vorhanden sind, sollte es hier nur eine Auswahl geben.

Die Emulator-Software esp8266-C64

Hier gibt es einige Stolperfallen die mich einiges an Zeit gekostet haben. Zuerst laden wir die Software von github.com runter und entpacken das ZIP-Archiv. Darin befinden sich drei Dateien. Wir doppelklicken auf die Datei "esp8266C64_Browser.ino". Daraufhin sollte sich der Editor Arduino IDE öffnen der uns darauf hinweist, dass sich die Datei in einen Unterordner namens "esp8266C64_browser" befinden muss. Wir bestätigen diesen Hinweis mit "OK".

Arduino Project

Der Ordner wird automatisch erstellt und die INO-Datei dort hinein verschoben. Die Datei "cpu.cpp" hingegen wird nicht verschoben. Das müssen wir selbst machen, also verschieben wir die Datei "cpu.cpp" in den Ordner "esp8266C64_browser".

Arduino Project

Arduino IDE muss neu gestartet werden, damit erkannt wird, dass die Datei "cpu.cpp" verschoben wurde.

Arduino Project

In Arduino IDE suchen wir in der Datei "esp8266C64_Browser" die folgenden Zeilen:

const char* ssid = "Voyager";
const char* password = "keelta01";

Arduino Code

Zwischen den Anführungszeichen geben wir den Namen unseres WLAN-Netzes (SSID) und das entsprechende Passwort ein. Als nächstes wählen wir die Datei "cpu.cpp" und scrollen nach unten bis zu der folgenden Zeile:

prog_uchar BIOS[16384] PROGMEM = {

Dieser Befehl wird in neueren Arduino IDE Versionen nicht mehr unterstützt und muss deshalb wie folgt abgeändert werden:

const unsigned char BIOS[16384] PROGMEM = {

Arduino Code

Endlich können wir das Programm auf das NodeMcu-Board flashen, mit einen Klick auf den Upload-Button.

Arduino Upload
Klicke auf das Bild zum Vergrößern

Um zu sehen ob alles richtig gemacht wurde, schalten wir den seriellen Monitor ein (In Arduino IDE: Werkzeuge -> Serieller Monitor) und wählen 115200Baud als Übertragungsgeschwindigkeit. Es sollte nun so etwas wie im folgenden Bild zu sehen sein.

Arduino Monitor
Die IP-Adresse

Damit der Emulator endlich im Browser angezeigt wird, müssen wir dessen IP-Adresse wissen. Diese wird im seriellen Monitor angezeigt. Falls nichts zu sehen sein sollte, kann das NodeMcu-Boards mit der Reset Taste (RST) neu gestartet werden.

IP Address

Haben wir die IP-Adresse gefunden und in den Browser eingegeben, sollte das gewohnte C64-Startbild angezeigt werden. Das Basic kann nun ganz normal verwendet werden. Der geringe Speicher von 14351Bytes ist eine Einschränkung des NodeMcu-Boards. Laut meinen Tests, können nur die Browser Edge, Safari und Arora den Emulator korrekt darstellen.

ESP8266 C64ESP8266 C64
Zurück
- Datenschutz Besucher total: 2085019 Heute: 42