Grafikkarte für den Hive

Alles zum Thema Hardware rund um die Propellerchips und den Hive.
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Grafikkarte für den Hive

Beitrag von PIC18F2550 »

Ich habe im 4 Beitrag ein pdf hineingestellt wo das timing und die Frequenzen dargestellt werden.
Die Viedeodaten über den Bus zu schicken ist einfach zu langsam.
Ich knuspere gerade an einer version 1xPropeller 6x74HC193(4Bit Zähler) 2x 74HC195(4Bit Schieberegister) und etwas Ram 1Mb
(Gibt bestimmt noch bessere Bauteile) :mrgreen:
Der Quarzoszi für Prop ist 40MHz x2 = 80Mhz intern
vom 40Mhz zum Takt auf dem Schieberegister
Prop erzeugt 5Mhz Ladesignal für Schieberegister über kleinen C und Takt für 74HC193 (N=N+1)

Prop erzeugt Ladewerte für 74HC193 (Zeilenanfangsadresse)

In den Bild und Zeilenaustastungen kann über die Ladewerte der Viedeospeicher addressiert werden um Daten hinein zu schreiben.

Muss mal ne Skitze machen.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Hauke
Beiträge: 79
Registriert: Mo 26. Mär 2012, 07:26

Re: Grafikkarte für den Hive

Beitrag von Hauke »

Die Adressgenerierung könnte man vielleicht noch vereinfachen, wenn man die niederwertige Adresse direkt am Ausgaberegister inkrementiert. Der höherwertige Teil der Adresse definiert die Zeilennummer. Während des Zeilensynchronimpulses hat man ja genug Zeit dann das Adresslatch für die nächste Zeile zu setzen. Mit entsprechenden Anfangswerten könnte so auch ein Softscrolling in beiden Achsen realisiert werden.

Der Bus ist je nach Auflösung damit ziemlich belastet, was es dann schwierig macht, die Grafikdaten auch zu bearbeiten. Aber das ist ja dann erst der nächste Schritt. Denkbar wäre aber, direkt in Bella Sprites in den COGs überzublenden. Genug Speicher als Spritepuffer ist ja dann verfügbar, wenn der Hintergrund selbst aus dem eRAM kommt.

Sinn und Unsinn der Sache ist dabei eine andere Frage. So ein Mechanismus über zwei Chips hinweg in PASM wäre schon ein ziemliches Mordsding und vielleicht ergibt sich noch die eine oder andere Idee. Für den TV-Modus hatte ich schonmal sowas angefangen (funktioniert aber noch nicht), bei Interesse könnte ich die Quellen hier mal posten. Der reine Bellacode (ohne Streaming aus dem eRAM) mit 8Bit/Pixel aus dem Bella-hRAM funktioniert aber:
Wenn man beide Flanken von Handshake und Busclock nimmt kann man denke ich noch ein wenig rausholen.
Nachteil ist halt das es keine Möglichkeit gibt wie der Slaveprop einen Wunsch auf Abruch des DMA Bursts signalisieren kann.

Ich habe mal ein wenig mit den Datagrammen rumgespielt um zu veranschaulichen was ich meine.

cu
Hauke
Dateianhänge
adv-datagramme.ods
Erweiterte Datagramme
(29.71 KiB) 556-mal heruntergeladen
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Grafikkarte für den Hive

Beitrag von drohne235 »

Ich habe im 4 Beitrag ein pdf hineingestellt wo das timing und die Frequenzen dargestellt werden.
Jo, ist für 800x600 VGA. Bei geringerer Auflösung und/oder TV-Modus sieht das anders aus.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Hauke
Beiträge: 79
Registriert: Mo 26. Mär 2012, 07:26

Re: Grafikkarte für den Hive

Beitrag von Hauke »

Mein Reden

Mit den 32kB RAM in Bellatrix könnte man gerade mal einen Frame 256x256x16 Farben speichern. Und das auch nur theoretisch, denn Bellatrix hat ja auch noch andere Aufgaben.
Selbst ein QVGA wäre schon verbesserung.

cu
Hauke
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Grafikkarte für den Hive

Beitrag von TuxFan »

Moin!
Hauke hat geschrieben:....... gerade mal einen Frame 256x256x16 Farben speichern. Und das auch nur theoretisch, denn Bellatrix hat ja auch noch andere Aufgaben..........
Wir befinden uns mit dem Propeller, auch wenn es drei sind, aber gerade mal auf Augenhöhe mit den alten Heimcomputern und wenn ich mir deren Grafikauflösung je nach Farbtiefe betrachte ist z.B. eine Auflösung von 800 x 600, am Video- oder sogar am VGA-Ausgang bei Grafikausgabe, etwas arg hoch gegriffen, zumindest wenn man beim Retrogedanken bleiben will. ;)
Gruß
TuxFan
Wunder gibt es immer wieder.......
Hauke
Beiträge: 79
Registriert: Mo 26. Mär 2012, 07:26

Re: Grafikkarte für den Hive

Beitrag von Hauke »

TuxFan hat geschrieben:Moin!
Hauke hat geschrieben:....... gerade mal einen Frame 256x256x16 Farben speichern. Und das auch nur theoretisch, denn Bellatrix hat ja auch noch andere Aufgaben..........
Wir befinden uns mit dem Propeller, auch wenn es drei sind, aber gerade mal auf Augenhöhe mit den alten Heimcomputern und wenn ich mir deren Grafikauflösung je nach Farbtiefe betrachte ist z.B. eine Auflösung von 800 x 600, am Video- oder sogar am VGA-Ausgang bei Grafikausgabe, etwas arg hoch gegriffen, zumindest wenn man beim Retrogedanken bleiben will. ;)
Gruß
TuxFan
Dem Stimme ich zu.
Zielauflösungen im Bereich bis max. HVGA halte ich für realistischer.
Der ganze Krempel muss ja auch noch von einem Prop mit sinnvollem Inhalt gefüttert werden.
Nützt ja nicht wenn man alleine für das Bewegen der Maus eine Sanduhr angezeigt bekommt. Da könnte man ja gleich Windows Vista nehmen.

Ich denke der Hive befindet sich leistungsmäßig eher in der Liga mit dem ersten Amigas.
  • Amiga500:
    32bit CPU
    7,+ MHz
    512 KB Arbeitsspeicher
    640 × 256, 6-bit-Farbtiefe
Was eine evt. Ratergrafik angeht, ist z.Zt. jedoch eher Sinclair Spectrum angesagt.
Man müsste mal schauen ob die Busbandbreite für ein 400x300x8bit Rasterbild reichen würde.
Ich weiß das Bella nur 6bit Farbtiefe kann, aber ich schätze, dass beim Umrechnen von 3x8bit in 4x6bit zu viel Zeit bei draufgehen würde.

cu
Hauke
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Grafikkarte für den Hive

Beitrag von PIC18F2550 »

Hmmm,

800x600 ist nicht gerade retro.

Ist aber für zukünftige Optionen gedacht.

Werde mal mit 236x256x16 berechnen.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Hauke
Beiträge: 79
Registriert: Mo 26. Mär 2012, 07:26

Re: Grafikkarte für den Hive

Beitrag von Hauke »

Frage:
236x256x16?
Meinst du damit 16 Farben oder 16bit Farbtiefe?
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Grafikkarte für den Hive

Beitrag von TuxFan »

PIC18F2550 hat geschrieben:Hmmm,
800x600 ist nicht gerade retro.
Ist aber für zukünftige Optionen gedacht.
Werde mal mit 236x256x16 berechnen.
Wobei ich eher auf 256 x 192 und 256 Farben gehen würde. Das wäre dann mit dem Spectrum vergleichbar.

Anmerken möchte ich nur, das ich niemanden von der Entwicklung einer Grafikkarte abhalten möchte, nur finde ich stimmen die Relationen der Microcontroller (das gilt für Propeller und AVR) zu einer großen Grafikauflösung nicht. Irgendwo gibt es immer ein Nadelöhr, durch das sich der Datenstrom quälen muß, beim Hive der D-Bus bei meinem GBP der SPI-Bus. Bei letzterem habe ich ja sogar noch mit dem riesigen Grafikspeicher Glück (320p x 240p x 18bit), der befindet sich im LCD. Ein Beinchen hab ich mir aber selber dabei gestellt. Statt des SPI-BUS hätte ich besser mindestens den 8bit-Parallelbus nehmen sollen, dann hätte ich zumindest den Grafikspeicher auch auslesen können. :cry: Nun muß ich irgendwie die Grafik-Daten des Bildschirmes im seriellen RAM (64kB) zwischenspeichern oder immer von SD.Card neu laden. Hierbei muß dann auch erheblich die Farbtiefe verringert werden. Daraus folgt aber auch, die Grafik wird nur mit Sprites und Tiles schnell genug laufen können.

Zukünftige Option 800x600 : Selbst beim Propeller2 sollte man auf die endgültige Ausführung warten und darauf wie sich das externe Ram verhält. Warum man da nicht gleich ein vernünftiges Video-RAM mit eingebaut hat verstehe ich nicht so ganz. Da doch angeblich RAM einfach auf so einem Chip unterzubringen ist, im Gegensatz zu Flash-Speicher.
Aber es sind halt Microcontroller.

Gruß
TuxFan
Wunder gibt es immer wieder.......
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Grafikkarte für den Hive

Beitrag von PIC18F2550 »

Es sollte 256x256x16 heißen und 16 Farben sein.

Retro ist für mich so was wie der ZX81 in der Auflösung mit Klötzchengraphig im Raster von 8x8 Bit und schwarz / weiß.

Den Zeichensatz auf 8x8 um zuschreiben ist eine Fleiß Aufgabe.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Antworten