Fotos und ROM Dump des Schneider BTX Moduls

Tim Riemann

Es ist schon eine ganze Weile her, als ich das Schneider BTX Module für den Schneider CPC reaktiviert und zum Laufen gebracht habe. Eigentlich wollte ich das alles noch viel genauer dokumentieren und natürlich auch zeigen, wie man das selbst aufbauen kann. Zur damaligen Zeit wurde darauf leider nichts und insgesamt ist scheinbar auch das BTX Projekt selbst wieder etwas eingeschlafen (der Server läuft aber noch). Da ich gerade aber an einem ähnlichen Projekt für das POTS (Plain Old Telephone System) arbeite, bin ich mal wieder über das BTX Modul gestolpert. Dabei ist mir aufgefallen, dass es noch keine Fotos der Platine und auch kein ROM Dump des Moduls im Netz gibt. Das muss sich selbstverständlich ändern, also hier sind die Fotos der Platine und der ROM Dump:

Bilder

Oberseite

Oberseite der Platine des Schneider BTX Moduls

Unterseite

Unterseite der Platine des Schneider BTX Moduls

ROM Dump

Die Seite über das Schneider BTX Module im CPC Wiki habe ich natürlich auch aktualisiert, damit die Fotos und der RUM Dump auch da archiviert sind.

Nachtrag (02.03.2026) – Scans

Ich habe mir nochmal die Arbeit gemacht und das Benutzerhandbuch, den Geräte-Paß und die Verpackung des Schneider BTX Moduls gescannt und in PDF-Dateien exportiert. Über die Scans habe ich auch OCR drüber laufen, sodass die Dateien auch durchsuchbar sind. Ihr könnt sie direkt hier herunterladen:

Steuerplatine Rika Rio

Tim Riemann

Unser Rika Rio Pelletofen ist mittlerweile fast 18 Jahre alt. Pro Jahr verbrauchen wir ca. 1t Holzpellets und bisher hat er eigentlich seine Arbeit immer ganz gut verrichtet. Leider läuft es in dieser Heizperiode gar nicht gut:

  • Die Flamme ist eher orange
  • Der Ofen bricht nach der Startphase mit einem Error ab und muss neu gestartet werden
  • Starke Verrußung im Innenraum
  • Die Brennschale läuft voll

Kurz: der Ofen lief sowieso schon nicht mehr besonders gut. Seit einigen Tagen fördert die Pellet Förderschnecke auch keine Pellets mehr. Also wird es Zeit, sich den ganzen Ofen noch einmal vorzunehmen.

Den Abbruch nach der Startphase konnte ich beheben, indem ich den unteren Temperatursensor ausgebaut und ordentlich gereinigt habe. Er war relativ stark verrußt. Danach gab es das Problem mit dem Abbruch nach der Startphase nicht mehr.

An den weiteren Problemen arbeite ich gerade noch. Eine Vermutung dabei ist, dass die Luftzufuhr in den Brennraum nicht gut und die Drehzahl des Lüfters für die Luftzufuhr zu gering ist. Über ein Forenposting habe ich gesehen, dass ein Besitzer das Problem durch Tausch der Elektrolyt Kondensatoren (ElKos) beheben konnte. Daher habe ich die Steuerplatine ausgebaut und erstmal ein paar Fotos gemacht.

Hier ist die Oberseite: Oberseite der Steuerplatine des Rika Rio Pelletofen

Und hier die Unterseite: Unterseite der Steuerplatine des Rika Rio Pelletofen

Die Fotos gibt es auch noch einmal in einer deutlich höher aufgelösten Version in meinem Wiki.

Die ElKos habe ich mal schnell ausgelötet und dabei festgestellt, dass beide nicht mehr ihre eigentlichen Werte erreichen. Der 1000uF ElKo erreicht nur noch 900uF (sollte nicht so schlimm sein), der 2200uF ElKo erreicht nur noch 1700uF. Ich habe deshalb erst einmal neue ElKos bestellt und werde sie bald installieren. Sobald ich mehr weiß, werde ich hier ein Update posten.

OpenGL mit GLUT unter Windows 11

Tim Riemann

Vor ein paar Tagen habe ich damit begonnen mich für ein kleines Retro Projekt wieder in eine alte Version von OpenGL einzuarbeiten. Dafür habe ich mir ein altes Buch aus einem Antiquariat besorgt, das mittlerweile schon halb auseinander fällt und versuche jetzt die Codebeispiele, die in diesem Buch genannt werden, nachzuvollziehen. Da in dem Buch GLUT verwendet wird, stellte sich mir die Frage, ob man auch heute noch unter Windows 11 OpenGL mit GLUT nutzen kann und - um das Ergebnis vorweg zu nehmen - es funktioniert tatsächlich noch. Da man ein paar Dateien hin und herschieben muss, möchte ich hier beschreiben, wie man GLUT auch heute noch mit Visual Studio 2022 zum Laufen bekommen kann.

Zuerst muss man sich die “neuste” Version von GLUT für Windows besorgen. Die bekommt man auf der OpenGL Homepage. Benötigt wird hier die Datei glutdlls37beta.zip. Das heruntergeladene Archiv beinhaltet die Bibliotheken, Header und DLLs, die man zum Bauen bzw. Ausführen des Programms benötigt.
Anschließend werden die Dateien in die entsprechenden Unterverzeichnisse unter Windows kopiert:

  • glut.h nach C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include\gl
  • glut.lib nach C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\lib\x64
  • glut32.lib nach C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\lib\x86
  • glut.dll und glut32.dll nach C:\Windows\SysWOW64
  • glut32.dll nach C:\Windows\System32

Nachdem die Dateien kopiert wurden, kann man ein einfaches Projekt in Visual Studio anlegen (“Empty Project”, “C++”, “Console”). In dem Projekt kann dann die Datei main.cpp mit folgendem Inhalt (Beispiel aus dem Buch “OpenGL Programming Guide”) angelegt werden:

#include <Windows.h>
#include <gl\glut.h>

static GLfloat spin = 0.0;

void init()
{
	glClearColor(0.0, 0.0, 0.0, 0.0);
	glShadeModel(GL_FLAT);
}

void display()
{
	glClear(GL_COLOR_BUFFER_BIT);
	glPushMatrix();
	glRotatef(spin, 0.0, 0.0, 1.0);
	glColor3f(1.0, 1.0, 1.0);
	glRectf(-25.0, -25.0, 25.0, 25.0);
	glPopMatrix();
	glutSwapBuffers();
}

void spinDisplay(void)
{
	spin = spin + 1.0;
	if (spin > 360)
	{
		spin -= 360;
	}
	glutPostRedisplay();
}

void reshape(int width, int height)
{
	glViewport(0, 0, (GLsizei)width, (GLsizei)height);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	glOrtho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0);
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
}

void mouse(int button, int state, int x, int y)
{
	switch (button)
	{
		case GLUT_LEFT_BUTTON:
			if (state == GLUT_DOWN)
			{
				glutIdleFunc(spinDisplay);
			}
			break;

		case GLUT_RIGHT_BUTTON:
			if (state == GLUT_DOWN)
			{
				glutIdleFunc(nullptr);
			}
			break;

		default:
			break;
	}
}

int main(int argc, char** argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
	glutInitWindowSize(250, 250);
	glutInitWindowPosition(100, 100);
	glutCreateWindow(argv[0]);
	init();
	glutDisplayFunc(display);
	glutReshapeFunc(reshape);
	glutMouseFunc(mouse);
	glutMainLoop();
	return 0;
}

Das Projekt kann dann als 32bit Projekt kompiliert werden (64bit hat bei mir leider nicht funktioniert). Beim Start wird ein Fenster geöffnet, in dem man ein Quadrat sehen kann. Nach einem Klick mit der linken Maustaste, dreht sich das Quadrat und ein klick auf die rechte Maustaste hält die Drehung wieder an.

OpenGL Fenster mit GLUT unter Windows 11

Das war es schon. In Sachen Abwärtskompatibilität ist Windows echt vorne mit dabei. Immerhin stammen die DLLs und LIBs aus dem Jahr 1998 und funktionieren immer noch. Ich bin echt überrascht, dass das wirklich so noch funktioniert hat.

Statische Webseite mit Hugo

Tim Riemann

Seit Ewigkeiten gibt es hier tatsächlich mal eine technische Neuerung: ich habe mein Weblog von Wordpress auf Hugo umgestellt. Aber warum der ganze Aufwand? So viel schreibe ich ja in letzter Zeit nicht mehr, oder? Naja, im Prinzip sind statische Webseiten ja gerade wieder in Mode gekommen und sie haben einen großen Vorteil: sie werden einmal generiert und danach dann nur noch vom Webserver ausgeliefert. Das führt zu einer drastisch höheren Performance der Webseite, da keine dynamischen Inhalte mehr generiert werden müssen und auch der Browser die Seiten besser cachen kann. Hinzu kommt noch: Kein Backend mehr, keine Datenbank, keine Sicherheitslücken im Blogsystem und oben drauf kommt noch ein “entwicklerfreundliches” Editiersystem mit Markdown. Als Nachteil kommt aber erst einmal der Wegfall der Kommentare oben drauf (die wurden hier ja eher spärlich verwendet) und natürlich eine höhere Komplexität bei der Einarbeitung / Gestaltung der Webseite.

Für die Umstellung von Wordpress auf Hugo habe ich zwei Konverter-Skripte verwendet, die die Datenbank von Wordpress verwenden, um danach die Markdown Dateien und Bilder in die entsprechenden Verzeichnisse abzulegen. Danach kommt eine ganze Menge Handarbeit, denn der Export ist nicht perfekt. Also heißt es die Links nacharbeiten und kontrollieren, ggf. externe Inhalte überprüfen und schauen, dass keine absoluten Pfade zum Weblog mehr drin sind. Die Artikel ins Menü schieben und danch überhaupt erst einmal das ganze Theme wieder anpassen.

Die komplette Überarbeitung habe ich in einem eigenständigen Git Repository durchgeführt, das ich auf Azure DevOps abgelegt habe. Azure DevOps habe ich aufgrund meines bereits vorhandenen Kontos sowie die Unterstützung von Hugo durch die Build Pipelines gewählt. Das Projekt ist so eingerichtet, dass eine Azure Pipeline, sobald ich einen neuen Commit und Push in meinem Git Repository durchführe, automatisch die Webseite mit Hugo neu baut und direkt auf meinen Webspace schiebt. Durch die Automatisierung dieser Abläufe spare ich mir die lästige Handarbeit und durch die Versionsverwaltung mit Git habe ich außerdem auch noch dezentral Backups angelegt.

Es ist zwar noch nicht alles perfekt, aber insgesamt bin ich mit der Umstellung ganz zufrieden. Ob ich die anderen Unterseiten noch umstellen werde weiß ich noch nicht, aber die CPC Seite ist mir eher zu lange gewachsen und momentan auch nicht in meinem Fokus. Das Development Blog könnte eher wieder zurück in dieses Weblog wandern - die Trennung war damals doch zu optimistisch.

Schneider CPC BTX Modul reaktiviert

Tim Riemann

In den letzten Tagen habe ich daran gearbeitet, auf Basis eines DBT-03 Emulators für den Raspberry Pi, das Bildschirmtext (BTX) Modul für den Amstrad / Schneider CPC wieder zum Laufen zu bekommen. Ich werde in den nächsten Wochen daran arbeiten, den Aufbau und die Einrichtung des Emulators zu dokumentieren, sodass ihr - sofern ihr so ein Modul noch besitzen solltet - auch wieder mit eurem CPC einen BTX Server, der online gehostet wird, erreichen könnt. Mehr Infos gibt es dann im nächsten Beitrag.

Hier ist jedenfalls das Video des funktionierenden Moduls, samt Start, Einwahl, Aufruf einiger Seiten und Nutzung der Wikipedia zu BTX Bridge. Mehr Infos und ein paar Links findet ihr in der Videobeschreibung auf Youtube.