Die Spannung sinkt... alles auf 5 Volt

Endlich,

wir haben uns mal bemüht und pünktlich zum 17. VCF das Steckschwein auf 5V umgerüstet. Genauer gesagt war ja nur noch das Video-Board und der YPbPr auf RGB-Encoder das Problem. Der kam zwar mit 5V auch klar, jedoch war dann der Kontrast und die Farbsättigung “unterirdisch”.

Was haben wir geändert?

Vorab muss man sagen, dass uns in den - mittlerweile - letzten Jahren zahlreiche Emails von Interessenten, Retro-Freaks und Bastlern ereilten. Vielen Dank an dieser Stelle für Anregungen, Hinweise und das Interesse!

Die neuen CPU-Boards sind fertig

Wir arbeiten an neuen Revision unserer Prototyp-Platinen.

Den Anfang macht das CPU-Board. Zum einen sind ein paar Layoutfehler korrigiert worden, zum anderen ist der kürzlich vorgestellte Wait-State-Generator in das Board integriert worden.

Mit den neuen Boards wollen wir auch denen entgegenkommen, die sich selbst ein Steckschwein bauen wollen. Das sind nämlich mehr, als wir dachten. Dementsprechend lassen wir jeweils ein paar mehr Boards herstellen. Um die Inbetriebnahme des Steckschweins zukünftig zu vereinfachen, sind eine Hohlbuchse und eine USB-Buchse dazugekommen, um das Steckschwein später mit 5V aus einem handelsüblichen Netzteil oder per USB zu versorgen. Die 12V für das Video-Board werden nämlich in einer späteren Revision wegfallen.

Neue CPU-Boards

Wir haben vor, eine neue Revision der Steckschwein-Prototyp-Platinen herzustellen. Den Anfang macht ein neues CPU-Board mit einigen Bugfixes und den in Chiptuning beschriebenen zusätzlichen GAL als Waitstate-Generator, sowie einem geändertem Stromanschluss: In Zukunft wird es möglich sein, das Steckschwein mit nur 5V per USB, über einen Rundstecker oder wie gehabt über einen Pin-Header zu versorgen. Die Layouts sind schon fertig:

Bestückungsseite

Lötseite

Chiptuning

An den Heimcomputern von “damals” gemessen ist das Steckschwein mit 4 MHz durchaus einer der schnelleren 6502-Rechner. Damals waren zumeist Taktraten von 1 MHz üblich. Einige wenige hatten deutlich mehr, wie z.B. der Apple IIgs (65816) mit 2.8 MHz. Einen 4 MHz-65(C)02-Heimcomputer hat es damals nach unserem Informationsstand nicht gegeben.

Nun ist es aber so, dass aktuell erhältliche 65c02-CPUs von WDC offiziell mit bis zu 14MHz getaktet werden können, inoffiziell wurden schon problemlos Taktraten von 20 MHz erreicht. Da ist also noch Raum für eine Prise Größenwahn. Den Takt des Steckschweins pauschal zu erhöhen funktioniert nicht. Zu viele Bausteine kommen dann nicht mehr mit. Das verwendete Atmel 28c256 EEPROM hat eine Zugriffszeit von 150ns. Im WDC-Datenblatt ist tACC des Prozessors bei 4MHz mit 145ns angegeben. Also ist das stand jetzt schon etwas eng. Schneller takten geht also schon allein deswegen auf keinen Fall. Für den Videochip TMS9929 und den Soundchip gilt ähnliches. Das SRAM hingegen läßt sich problemlos gegen Bausteine von Alliance Memory mit 55ns Zugriffzeit austauschen. Damit sollten Taktraten von um die 10 MHz möglich sein.

Umständliche Portierung von EhBasic

Es ist manchmal schon sehr mühselig bereits kleinere Probleme mit Assembler lösen zu müssen. Was uns für das Steckschwein fehlt ist eine einfache Sprache mit der man kleine Dinge erledigen und zeigen kann.

Also, warum nicht ein einfaches Basic für das Steckschwein portieren? Die Auswahl an guten Basic-Implementierungen ist überschaubar und unsere Wahl fiel in dem Fall auf EhBasic von LeeDavison. Warum? Nun, es hat sich gezeigt, dass EhBasic von vielen Homebrew-Projekten verwendet wird, die eine 6502-CPU-Basis benutzen. Darüber hinaus scheint EhBasic sogar eine sehr gute Implementierung zu sein, weil die Performance und Erweiterbarkeit gegenüber anderen Basics für diese Zielplattform herausragend ist.

FanTASTische Reise II

Vor einer Weile haben wir im Beitrag eine-fantastische-reise den Weg zu unserem aktuellen Tastaturcontroller beschrieben.

Wer nicht nochmal nachlesen möchte: Ein ATmega8 dient als SPI Slave als Interface zwischen PS/2-Protokoll, Tastaturmapping und Puffer. Als Basis dient eine angepasste Version des Codes aus AVR Application Note 313, die als Ausgabeschnittstelle den USART des ATmega8 vorsieht. Dies haben wir durch das SPI-Interface des AVR ersetzt.

Steckschwein-Seitig haben wir die Tastaturabfrage immer im Blank-Interrupt des Videochips vorgenommen, genauer gesagt, jeden zweiten Blank. Damit wurde der AVR auf SPI-Seite relativ wenig gestresst.