Ich baue einen selbstgebauten 8-Bit-Computer und habe einige Probleme mit der Videoausgabe.
Ich möchte wissen, ob es möglich ist, mit einem Mikrocontroller, beispielsweise atmega328 mit 20 MHz, einem 8-Bit-PISO-Schieberegister und einem externen DRAM-Framebuffer, Adressbus mit hoher Auflösung, beispielsweise 640 x 480, monochrome Videoausgabe, PAL oder NTSC, zu erzeugen kann gesteuert werden durch ein anderes SIPO-Schieberegister.
Kann ich mit einem Atmega eine 640x480-Monochromausgabe erzeugen? Gibt es einen besseren Weg?
Bei NTSC beträgt der aktive Teil einer horizontalen Linie 52,6 us. Um dort 640 Pixel zu packen, würde man einen Shift-Takt von 12,17 MHz und eine Laderate von 1,52 MHz benötigen. Ich glaube nicht, dass ein AVR eine Leseadresse generieren, die Daten lesen, in das PISO-Schieberegister schieben und die nächste RAM-Adresse schnell genug berechnen kann.
Zurück in der Zeit zu mikroprozessorbasierten Videoterminals verwendeten sie die Mikros für die Benutzeroberfläche und das Schreiben in den (Dual-Port-) Video-RAM. Das Scannen des RAM und das Umwandeln seines Inhalts in Video war alles zufällige Hardware. Heute würde diese Hardware sicherlich in ein CPLD oder FPGA passen, aber funktional wäre es immer noch eine Nicht-Firmware-Engine.
Die Datapoint Corporation, die die Intel 4004-Architektur definierte (die Intel beim Bauen zurückschreckte), verwendete alle PMOS-Schieberegister in ihren frühen Terminals. Die Gründer (ursprünglich bei der Computer Terminal Corporation) waren Phil Ray und Gus Roach, die ihr Computerverständnis als Programmmanager für NASA-Bodenterminalgeräte für Gemini-Telemetriegeräte verfeinerten. Bei der Definition ihrer "Terminals" schlossen sie die vollständige Programmierbarkeit ein, da sie wussten, dass sie wirklich Computer verkauften. Alle Speicher sind Schieberegister.
Vicatcu
HaLaila HaZeh
h0m3
Janka
h0m3
Tony Stewart EE75
h0m3