Posts

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.

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.

Das Schwein kann singen...

Das Steckschwein hat nun fast alle notwendigen Komponenten, um mit der Außenwelt zu kommunizieren, aber auch nur fast. Bisher ist es noch stumm, aber das sollte sich heute ändern. Wir haben hier noch ein paar YM3812 Schippse nebst benötigter DAC (YM3014B) rumliegen, also haben wir überlegt dem Schwein einfach das singen beizubringen. Wir wollen Musik und Sounds haben. Der YM3812 ist ein sehr verbreiteter Chip, der sich auf OPL2 beschränkt, für unsere Zwecke aber völlig ausreichend ist.

Echte Zeit

Eine batteriegepufferte Echtzeituhr gehört ja heutzutage schon zur Serienausstattung, auch bei Retro-Rechnern. Das Steckschwein soll also auch eine bekommen. Chris Ward’s Design, welches uns zu Anfang als Grundlage gedient hat (mittlerweile ist davon nicht mehr viel übrig geblieben) verwendet eine DS1687, deren Intel-mäßiges Businterface über ein wenig Glue-Logik direkt an den Datenbus des 6502 angelegt ist und damit auch Platz im IO-Bereich benötigt. Wir wollen das mit dem Steckschwein anders angehen.

Eine fanTASTische Reise

Von unserem Plan, einen AVR-µC als PS/2-Tastaturcontroller als SPI-Slave einzusetzen, haben wir ja schon in der Vergangenheit berichtet. Damals hieß es: “Bequemerweise gibt es zahlreiche fertige Lösungen, die z.B. am anderen Ende rs232 sprechen. Wir wollen aber nur wegen einer Tastatur keinen zweiten UART verbauen. Fehlt also nur eine kleine Anpassung auf SPI.” Hiermit sollte das Schicksal seinen Lauf nehmen. Der kühne Griff in die Bastelkiste sollte einen ATtiny2313 zu Tage fördern, welcher der zugedachten Aufgabe durchaus gewachsen zu sein schien.

ROM an, ROM aus

Nachdem wir also mit dem Adressdecoder durchaus zufrieden sind, müssen wir uns noch einen Weg überlegen, die /ROMOFF-Leitung per Software steuerbar zu machen. Wenn es schon beim BIOS-Update Test äußerst nützlich ist einfach nur eine Brücke umzustecken und damit das ROM zu deaktivieren, wie praktisch muss es erst sein, dies einfach durch Beschreiben einer Speicherstelle zu tun. Was wir also brauchen, ist ein IO-Pin, der die /ROMOFF-Leitung steuert. Zusätzlich muss dieser Pin beim Einschalten des Systems einen definierten Zustand haben, damit sichergestellt ist, daß zu diesem Zeitpunkt das ROM eingeblendet ist.