Filesystem und Shell

Vor kurzem haben wir ja schon von ersten Gehversuchen einer FAT32-Implementation berichtet, mit der wir in der Lage waren, beim Systemstart eine Datei von SD-Karte zu laden.

Was fehlt, ist eine Möglichkeit, innerhalb eines Filesystems einer SD-Karte zu navigieren, Programme zu laden oder Dateien anzuzeigen. Um diese Lücke zu füllen, ist die SteckShell entstanden. In der aktuellen Version 0.6 unterstützt die Shell folgende Funktionen:

  • Directory auflisten
  • Directory wechseln
  • Programm laden und starten
  • Datei anzeigen
  • Grafik (TMS9929-Rohdaten) anzeigen

Wer auf dem VCFe 16.0 anwesend war konnte diese Shell auch in Aktion erleben.

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.