Schachschwein

Nachdem das Grundsystem nun in Form von Platinen vorliegt und Marko dabei ist, das Videoboard zu layouten, ist die Gelegenheit günstig, schon einmal ein wenig vorhandene Software auf das Steckschwein zu portieren. Den Anfang macht MicroChess, 1976 von Peter Jennings für den MOS KIM-1 entwickelt und von Daryl Rictor modifiziert, um über ein serielles Terminal als Ein- /Ausgabestation spielbar zu sein, inklusive der coolen ASCII-Art-Darstellung des Schachbretts.

Dementsprechend einfach war es, es auf dem Steckschwein zum Laufen zu bekommen. Anstatt der vorhandenen Routinen zur Ein-/Ausgabe von Bytes über die 6551 ACIA verwenden wir einfach die UART-Routinen, die unser BIOS ohnehin bereitstellt, zur Ausgabe auf dem Terminal, während als Eingabe die ans Steckschwein angeschlossene PS/2-Tastatur dient.

Platinen sind da II (UPDATE)

Damit man mal was sieht!

Die UART-Platine hat noch für einiges Kopfzerbrechen gesorgt, weil sich dann doch noch ein Fehler eingeschlichen hatte. Dieser ließ sich aber durch einen Klecks Lötzinn an der richtigen Stelle korrigieren. Pin25, /ADS hätte noch auf low gezogen werden müssen. Da das von uns in KiCad verwendete Symbol diesen Pin erst gar nicht hatte, war dies im Layout auch nicht drin. Pin war im Schaltplan als “nicht verbunden” markiert. Menschliches Versagen also. Toll.

Die Platinen sind da!

Die Platinen für CPU/Mem, UART und IO sind fertig! Dank Überlieferung sogar jede 2mal, sodass wir gleich 2 Steck^H^H^H^H^HPlatinenschweine aufbauen können.

CPU Memory CPU Memory CPU Memory CPU Memory CPU Memory CPU Memory

Genug

Es ist ruhig geworden ums Steckschwein. Das liegt daran, dass wir genug haben. Genug von dem Gewackel auf dem Steckbrett, genug von instabilem Monitorbild und anderen diversen Störanfälligkeiten. Wir wollen endlich Code schreiben, und die Bugs dort suchen, und nicht auf dem Steckbrett. Dazu müssen wir unsere Hardware in eine stabilere Form zu bringen. Das bedeutet: Platinen. Zwar noch nicht unser Einplatiner, aber es spricht ja nichts dagegen, die einzelnen Baugruppen auf je eine Platine zu bringen, und diese zu verbinden. So haben wir die Möglichkeit, später einzelne Baugruppen auszutauschen oder neue (Sound!) zu ergänzen. Die Layouts sind gemacht, die Platinen in Produktion, sodass uns aktuell nichts weiter bleibt, als abzuwarten.

Bootschwein

Die Aufgabe, die wir dem (Steck)BIOS zugedacht haben, beschränkt sich darauf, die vorhandene Hardware zu initialisieren, auf eine eingelegte SD-Karte zu prüfen, und dann von dort das eigentliche “Betriebssystem” zu laden. Fast ein bisschen PC-like.

Hier ist die Überlegung, im Stammverzeichnis eine bestimmte Datei zu finden und an eine bestimmte Adresse in den Speicher zu laden.

Sollte dies fehlschlagen, kann man immer noch in einen Monitor oder unsere bekannte rs232-Uploadroutine springen.