Commodore 64 Emulator für macOS

Für macOS war ich auf der Suche nach einem Commodore 64 Emulator welcher nicht den Namen VICE trägt. Fündig wurde ich bei VirtualC64; einem Emulator geschrieben von Prof. Dr. Dirk W. Hoffmann, welcher an der Hochschule Karlsruhe lehrt.

VirtualC64 mit dem ikonischen Begrüßungsschirm

Im Gegensatz zu vielen anderen Emulatoren benötigt der Emulator einige ROMs um zu funktionieren. Damit gemeint sind das Kernal-ROM, das Basic-ROM, das Character-ROM und das VC1541-ROM. Diese müssen für die Emulation von entsprechender Seite bezogen werden.

Bei der Entwicklung des Emulators gab es drei Ziele. Das erste Ziel war die genaue taktgenaue Emulation und die damit verbundene große Kompatibilität. Daneben sollte der Emulator einfach zu bedienen und der Quellcode gut dokumentiert und einfach zu verstehen sein. Der Emulator ist freie Software und unter der GPL lizenziert. Auf GitHub ist der dazugehörige Quelltext zu finden. VirtualC64 kann über die Seite des Autors bezogen werden.

Plex auf dem Raspberry Pi installieren

Plex ist ein mächtiger Medienserver, welcher ohne größere Probleme auch auf dem Raspberry Pi betrieben werden kann. Vor allem die Version 3 des Raspberry Pi macht hier keinerlei Probleme. So gibt es unter anderem Distribution für die Installation eines Plex Clients wie z.B. RasPlex. In diesem Artikel soll es um die Installation des Plex Media Server auf dem Raspberry Pi gehen. Dafür benötigt man die Version für ARMv7 and ARM64, welche von einigen Studenten der Universität Leipzig bereitgestellt wird. Nachdem man sich im Terminal auf dem Raspberry Pi per SSH eingeloggt hat, müssen die neuen Paketquellen aktiviert werden:

wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key  | sudo apt-key add -
echo "deb https://dev2day.de/pms/ jessie main" | sudo tee /etc/apt/sources.list.d/pms.list
apt-get update

Anschließend kann das Paket installiert werden:

apt-get install plexmediaserver

Wenn man nach der Installation versucht das Plex Media Server-Interface im Browser aufzurufen wird unter Umständen feststellen das dieses nicht erreichbar ist. Hier handelt es sich wohl um einen Bug. Der Workarround für diesen Bug ist ein Neustart des Raspberry Pi.

Die Plex-Einrichtung kann beginnen

Anschließend kann der Plex Media Server über die URL:

http://raspberrypi.local:32400/web/index.html

aufgerufen werden.

Globalen Index von Thunderbird neu aufbauen

Thunderbird verfügt seit vielen Versionen über eine globale Suche. Unter Umständen kann es passieren das diese Suche nicht mehr richtig funktioniert. Dies äußert sich in einer langsamen Suche oder dadurch das, sobald man Suchergebnisse aufruft, diese nicht mehr existent sind. Um diese Fehler zu beheben muss der globale Index neu aufgebaut werden. Dazu muss Thunderbird beendet werden und der Profil-Ordner aufgesucht werden. Je nach Betriebssystem liegt dieser in unterschiedlichen Ordnern:

Linux: ~/.thunderbird/xxx.default
macOS: ~/Library/Thunderbird/Profiles/xxxxxxxx.default/
Windows 2000/XP: C:\Dokumente und Einstellungen\%Benutzername%\Anwendungsdaten\Thunderbird\Profiles\xxx.default
Windows Vista/7; C:\User\%Nutzername%\AppData\Roaming\Thunderbird\Profiles\xxx.default

Im Profilordner befindet sich eine Datei mit dem Namen global-messages-db.sqlite. Diese Datei musst gelöscht werden. Anschließend kann Thunderbird wieder gestartet werden. Der Indizierungsvorgang wird dann neu begonnen. Den aktuellen Fortschritt der Indizierung kann unter Extras -> Aktivitäten angesehen werden. Je nach Größe des Profils kann die Neuindizierung einige Zeit in Anspruch nehmen.

Temperatur mit dem NodeMCU messen

Inspiriert vom Golem.de Temperatur im Büro-Projekt habe ich einen NodeMCU genutzt um die Temperatur zu messen. Auf der Teileliste stehen dabei folgende Bauteile:

  • NodeMCUv3-Board
  • Temperatursensor DS18B20
  • Widerstand (4,7 kOhm)
  • Verbindungskabel (6x)

Diese Teile müssen nun wie folgt auf dem Board angebracht werden:

Die fertige Schaltung

Anschließend kann das NodeMCU-Board mit dem passenden Programmcode bestückt werden:

#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire(D2);
DallasTemperature sensors(&oneWire);
DeviceAddress thermometer;

void setup(void) {
  Serial.begin(115200);

  sensors.begin();
  sensors.getAddress(thermometer, 0); 
  sensors.setResolution(thermometer, 12);
}

void loop() {

  Serial.println("Read temperature...\n");
  sensors.requestTemperatures(); 
  
  float temperature = sensors.getTempC(thermometer); 
  Serial.println(temperature);

  delay(5000);
}

In dem Programm wird zuerst eine One-Wire-Verbindung definiert und in der setup-Methode die Verbindung konfiguriert. Anschließend wird in der loop-Methode alle fünf Sekunden die Temperatur ausgelesen und in die serielle Konsole geschrieben.

NodeMCU als Bauteil in Fritzing hinzufügen

Das NodeMCU-Board ist ein Entwicklungsboard für den ESP8266 in der ESP-12er Variante. Durch seinen günstigen Preis kann es direkt in Projekte eingebaut werden. Wenn man ein solches Projekt in der Elektronik-Software Fritzing dokumentieren möchte, benötigt man das entsprechende Bauteil in Fritzing. Es existieren zwar einige der ESP8266-Varianten, aber das NodeMCU-Board fehlt in der Standardausstattung.

Das NodeMCU Bauteil wurde Fritzing hinzugefügt.

Allerdings ist es kein Problem neue Bauteile zu Fritzing hinzuzufügen. Für das NodeMCU-Board gibt es Vorlagen für die Version 1 und die Version 3 des Boards. Wichtig ist hierbei die fzpz-Datei. Nachdem diese heruntergeladen wurde, kann sie in Fritzing per Drag & Drop installiert werden. Anschließend ist das neue Bauteil installiert und kann genutzt werden. Wenn man Fritzing beendet, wird nachgefragt ob das neue importierte Bauteil dauerhaft behalten werden soll. Hier sollte mit Ja geantwortet werden.