-
-
Neuer Benutzer
Öfters hier
Nach einem entspannenden Wochenende ist die Idee nun komplett, und geht jetzt in die heiße Phase 
Hautpkern der "Konsole" wird ein CPLD. Dieser soll ähnlich funktionieren, wie die PPU im alten NES. In einem RAM werden Daten für Kacheln und Sprites hinterlegt.
Die CPU muss nur noch Daten für die Tile-Karte und positionen der Sprites an die GPU übermitteln. Da reicht ein I²C BUS aus, oder man nehme den SPI und hat immernoch viele IOs frei für jedweiligen Blödsinn \
/
Wenn man sieht wie die alten Konsolen funktioniert haben, ist ein AVR schon fast zu viel für eine CPU
Wirklich.
Ein bisschen Reverse Engeneering kann manchmal nicht schaden.
Ich werde den Aufbau so gestalten, dass wirklich jeder das Teil nachbauen kann. Bislang reichen 3 Chips. Der 1.AVR, ein schneller 2.RAM für den 3.CPLD. Die Adressierung für den VRAM kann der AVR selbst vornehmen, oder ich werde eine Routine dafür in den CPLD packen.
Die einzige beschränkung im Design für die GPU sind die 72 macrocells im größten lötbaren CPLD den es derzeit gibt. D.h. man hat gerade mal 9 8-bit Register zur verfügung.
Die PPU im NES hatte nur 8, aber ich werd wohl die 9 ganz verbrauchen.
Ein Grafikleistung wie die des NES sollte machbar sein. Ich schätze die gesamte Entwicklung wird ca. ein Jahr dauern, oder auch mehr, da ich nur am Wochenende Zeit dafür habe.
Die erste Zielsetzung für die Grafikleistung sieht wie folgt aus:
NES Auflösung 224x192 Pixel bei 16 - 64 Farben gleichzeitig. Eine hardware Palette von 256 Farben oder mehr ist aber ohne Probleme machbar. Der CPLD erzeugt ja jedes Signal das man haben will.
Ausgegeben wird das Signal per RGB+Sync. Ein FBAS Signal wäre auch möglich oder VGA.
Hintergrundscrolling wird ein Kernfeature der GPU.
Für Sprites könnte man einen extra Bereich im RAM festlegen.
Ein Sprite also ein bewegliches Objekt benötigt min. 3 Byte : 2 Byte Position und 1 Byte der Grafikkachel.
Die ganze Arbeit wird vom CPLD gemacht.
Empfängt er keine Daten von der CPU, malt er das Bild auf den TV.
Synchronisation mit der CPU kann über einen oder zwei einfache IO-Ports erfolgen.
Wenn ihr Anregungen habt bleibt nicht stumm. Ich werd jede Entwicklung der GPU hier im Board dokumentieren.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen