Seite 1 von 7

VGA 640x480@60Hz 80x60(8X8) char Color16/16 für Spiele

Verfasst: Sa 9. Jun 2012, 09:35
von PIC18F2550
Hi,
Ich habe in Problem. :oops:
Viele Spiele benötigen eine 8X8 darstellung.
Dafür Habe ich ein Codefragmend im Netz gefunden aber es macht nicht einmal die Viedeo syncronisation.
Ich kann den Fehler nicht finden. Kann mir jemand etwas Starthilfe geben? :(

Re: VGA-Treiber 640 x 480 @ 69Hz settings: 80 x 30 (8X8) cha

Verfasst: Sa 9. Jun 2012, 10:12
von kuroneko
Funktioniert prima! Denke daran _clkmode/_xinfreq mit sinnvollen Werten zu fuettern (ich nehme mal an, dass basepin 8 fuer Deine h/w gueltig ist).

Re: VGA 640x48@70Hz 80x30(8X8) char nur für CRT geeignet

Verfasst: Sa 9. Jun 2012, 11:28
von PIC18F2550
Uaaaaaaaaaaaa bin ich blind.
digger wir brauchen dringend eine Gans mit gelber Arm binde auf der 3 schwarze punkte sind.

Ok. Jetzt kommt der Umbau des Zeichensatzes auf 256 Zeichen /ZX81 und Z1013.
:twisted:

Danke kuroneko.

Re: VGA-Treiber 640 x 480 @ 69Hz settings: 80 x 30 (8X8) cha

Verfasst: So 10. Jun 2012, 13:22
von PIC18F2550
Kleine entäuschung das Raster von 8x8 ist nicht Rechteckig :evil: damit für Pseudographig nicht geeignet. :evil: :evil: :evil:

Re: VGA 640x48@70Hz 80x30(8X8) char nur für CRT geeignet

Verfasst: So 10. Jun 2012, 14:17
von PIC18F2550
Kleines Spiel mit den Settings :twisted:
trifft schon fast die Pixelabtastung des monitor's
trifft schon fast die Pixelabtastung des monitor's
die 127 Zeichen des Zeichensatzes und die Farbdarstellungsmöglichkeit eines Zeichens
die 127 Zeichen des Zeichensatzes und die Farbdarstellungsmöglichkeit eines Zeichens
32x32 für den Z1013 nicht gerade Rechteckig aber akzeptabel.
32x32 für den Z1013 nicht gerade Rechteckig aber akzeptabel.
Das ergibt eine Viedeoauflösung von 80x48 @70Hz in 8x8 Rastergraphig mit je 16 Schriftfarben und 16 Hintergrundfarben pro Zeichen.

Programm : 625 Long
Variabeln : 1925 Long

Malsehen ob ich die Horrizontale Zeile soweit verändern kann das ein rechteckiges Bild entsteht. :twisted:

Re: VGA 640x48@70Hz 80x30(8X8) char nur für CRT geeignet

Verfasst: So 10. Jun 2012, 15:34
von PIC18F2550
So jetzt auf 256 Zeichen aufgebort.
Das 255 Zeichen ist ein Test.
Das 255 Zeichen ist ein Test.

Re: VGA-Treiber 640 x 480 @ 69Hz settings: 80 x 30 (8X8) cha

Verfasst: So 10. Jun 2012, 16:13
von Micha
Hallo PIC,

das sieht ja schon mal gut aus! Der Zeichensatz erinnert sehr an Commodore - ist das der Z1013 Zeichensatz?
Ist der Code aus dem ersten Beitrag noch irgendwo zum Download verfügbar?

Re: VGA-Treiber 640 x 480 @ 69Hz settings: 80 x 30 (8X8) cha

Verfasst: So 10. Jun 2012, 17:53
von PIC18F2550
Nein das ist nicht der Zeichensatz von z1013.
Der Quellcode hat ein Timing proplem die pixelfreqenz ist nicht konstant.
Das zeigt sich an den Seiten der Zeichen (sieht aus wie flammen).

Re: VGA 640x48@70Hz 80x30(8X8) char nur für CRT geeignet

Verfasst: So 10. Jun 2012, 21:55
von PIC18F2550
Micha hat geschrieben:Ist der Code aus dem ersten Beitrag noch irgendwo zum Download verfügbar?
vga8x8d.spin
(30.13 KiB) 725-mal heruntergeladen

Code: Alles auswählen

Typ             : VGA-Treiber 640x768@70Hz pixel 80x48 char (8X8) characters (0...256)
Version         : 00
Subversion      : 01
Beschreibung    : nur für analoge VGA-Monitore geeignet
                  Kursorfunktion geht nicht
                  Zeichensatz nur bis 127 gefüllt
Wen das mit den Brennenden Zeichen nicht währe währe es ein wunderschöner Treiber. :cry:
Habe das Testmuster in main drinn stehen lassen.

Re: VGA 640x48@70Hz 80x30(8X8) char nur für CRT geeignet

Verfasst: Mo 11. Jun 2012, 01:06
von PIC18F2550
Habe noch ein Bischen an den Einstellungen herrumgespielt jetzt brennt es nicht mehr so sehr.
An den unteren Muster sieht mann noch das die Abtastrate nicht so richtig passt.

Code: Alles auswählen

	hp = 640	' horizontal pixels
	vp = 768	' vertical pixels
	hf = 16		' horizontal front porch pixels
	hs = 127'122'96		' horizontal sync pixels
	hb = 50 	' horizontal back porch pixels
	vf = 1		' vertical front porch lines
	vs = 3		' vertical sync lines
	vb = 28		' vertical back porch lines
	hn = 1		' horizontal normal sync state (0|1)
	vn = 1		' vertical normal sync state (0|1)
	pr = 40'45		' pixel rate in MHz at 80MHz system clock (5MHz granularity)
Weis jemand wie ich aus den statischen Werten Variabeln mache die ich dann während der laufzeit ändern kann.
(So was wie Kallibrieren des Monitorsignales H/V bei CRT's)
Interesant währen nur hf, hs und hb. der Rest kann statisch bleiben.
vga8x8d.spin
(30.14 KiB) 744-mal heruntergeladen