Grafikkarte für den Hive
- PIC18F2550
- Beiträge: 2832
- Registriert: Fr 30. Sep 2011, 13:08
Re: Grafikkarte für den Hive
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)
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.
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)
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
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
Re: Grafikkarte für den Hive
Wenn man beide Flanken von Handshake und Busclock nimmt kann man denke ich noch ein wenig rausholen.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:
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) 559-mal heruntergeladen
- drohne235
- Administrator
- Beiträge: 2284
- Registriert: So 24. Mai 2009, 10:35
- Wohnort: Lutherstadt Wittenberg
- Kontaktdaten:
Re: Grafikkarte für den Hive
Jo, ist für 800x600 VGA. Bei geringerer Auflösung und/oder TV-Modus sieht das anders aus.Ich habe im 4 Beitrag ein pdf hineingestellt wo das timing und die Frequenzen dargestellt werden.
"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
Re: Grafikkarte für den Hive
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
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
Re: Grafikkarte für den Hive
Moin!
Gruß
TuxFan
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.Hauke hat geschrieben:....... gerade mal einen Frame 256x256x16 Farben speichern. Und das auch nur theoretisch, denn Bellatrix hat ja auch noch andere Aufgaben..........
Gruß
TuxFan
Wunder gibt es immer wieder.......
Re: Grafikkarte für den Hive
Dem Stimme ich zu.TuxFan hat geschrieben:Moin!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.Hauke hat geschrieben:....... gerade mal einen Frame 256x256x16 Farben speichern. Und das auch nur theoretisch, denn Bellatrix hat ja auch noch andere Aufgaben..........
Gruß
TuxFan
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
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
- PIC18F2550
- Beiträge: 2832
- Registriert: Fr 30. Sep 2011, 13:08
Re: Grafikkarte für den Hive
Hmmm,
800x600 ist nicht gerade retro.
Ist aber für zukünftige Optionen gedacht.
Werde mal mit 236x256x16 berechnen.
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
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
Re: Grafikkarte für den Hive
Frage:
236x256x16?
Meinst du damit 16 Farben oder 16bit Farbtiefe?
236x256x16?
Meinst du damit 16 Farben oder 16bit Farbtiefe?
Re: Grafikkarte für den Hive
Wobei ich eher auf 256 x 192 und 256 Farben gehen würde. Das wäre dann mit dem Spectrum vergleichbar.PIC18F2550 hat geschrieben:Hmmm,
800x600 ist nicht gerade retro.
Ist aber für zukünftige Optionen gedacht.
Werde mal mit 236x256x16 berechnen.
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. 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.......
- PIC18F2550
- Beiträge: 2832
- Registriert: Fr 30. Sep 2011, 13:08
Re: Grafikkarte für den Hive
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.
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
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