Ist ein 8-Bit-System in der Lage, Raytracing, echte 3D-Polygonmodelle, echte 3D-Ökosysteme und VSync zu nutzen? Müsste man einen verbesserten Grafikprozessor haben, oder ist dies erst ab 16-Bit möglich?
Ich bin ja in der 8-Bit Ära groß geworden, also es gibt Beschränkungen die wären:
8-Bit Rechner waren häufig nur bis 4Mhz verfügbar, heutzutage kann man aber einen 8-Biter mit einem Raspberry Pi simulieren, was dann etwa einem 0,5–1,2 Ghz Z80 entsprechen würde… mit einen Intel I9 oder AMZ Ryzen 9, würde das wesentlich höher ausfallen… also Rechenleistung satt.
8-Bit? War da nicht noch was? Ach ja, die Register, die sind ja natürlich auch nur 8-Bit, das bedeutet, jede Rechenoperation die eigentlich für 32/64-Bit wären, müssten im 8-Bit "Ökosystem" natürlich nachgebildet werden, was wesentlich mehr Code und Aufwand bedeuten würde…
So dann würde noch die Frage im Raum stehen, Raytracing und Polygone müssen ja noch am Bildschirm gezaubert werden, nur eine 8-Bit CPU alleine würde da etwas zu wenig sein, da braucht man noch einen Grafikprozessor, der MSX Turbo R hatte einen Yamaha V9978 Video Prozessor, der würde natürlich reichen, eine 4K Auflösung würdest du nicht bekommen, maximal eine 1024x202 Pixel Auflösung, für HDMI/DP usw. gibt es Adapter die das RGB Signal umwandeln können und die Vertikale Auflösung anpassen.
Dann ist noch das Problem mit dem RAM / VRAM Speicher, der VRAM Speicher ist kein echtes Problem, da die Darstellung ja vom Video Prozessor übernommen wird, aber das RAM ist ein echtes Problem, wir brauchen für solche Spielereien sehr viel Speicher, also ich denke 128MB+ sollten es schon sein.
Der 16 Bit Adressraum der Z80 CPU kann aber nur 65536 Bytes (64kbit) ansprechen. Was tun? Also die älteren CP/M, MSX usw. Computer benutzen Speicherbänke, die per 8255 oder anderen I/O Chips umgeschaltet wurden, aber mehr als 1MB ist mir nicht bekannt… Aber das ließe sich mit Multiplexern und anderen Spielereien lösen, aber bei 128MB würden das alleine schon 2048 Speicherbänke (Bei einer 32kB Speicherbank natürlich 4096!) sein, au weia…
Also es würden nur mehr 60–62kB zur Verfügung stehen, aber dein Programm, dass die Speicherbänke verschiebt, sollte natürlich nicht mit verschoben werden, auch ein ROM Speicherplatz brauchst du noch… also für solche Angelegenheiten teil man den Speicherplatz in 4 Teile, der 1. Teil ist das ROM, also 16kB für das ROM, dann 16kB für das Programm das den Speicher umschaltet, dann die 32Kb (Abzüglich der Adressierung, 1–4kB) für die Speicherbank die umgeschaltet wird…
Du siehst, extrem viel Aufwand, machbar, aber ich würde sagen, er lohnt sich nicht, greif zu einem 32-Bit Prozessor wie den Motorola 68012 oder den Intel 80386, beide würden in einem Vintage Computer eine gute Figur machen und dein Raytracing / Polygonprojekt nicht schon zu Beginn scheitern lassen.
PS: Ich lehne die KiB/MiB usw. Bezeichnung ab, bei uns war immer ein Kilobyte 1024, dass in der realen Welt ein Kilo 1000 war, war uns auch klar, aber neuerdings wollen die kB mit 1000 rechnen, was aber falsch ist und ein kB = 1024, das ist eigentlich seit den 60er so in Gebrauch. Bytes werden in Hexadezimal geschrieben (0x00–0xFF, 0–255) (0x00–0xFFFF, 0–65536), daher sind es 1024 und nicht 1000…. Warum es jetzt anders ist, ist mir auch klar, die Festplattenhersteller rechnen immer mit 1000 um die Festplattengröße größer aussehen zu lassen, aber nicht mit mir, ich rechne ein kB ist 1024, immer! Die Festplattenhersteller lügen und wir müssen uns anpassen?!