KC85/4 dual VGA

Alles was Du selbst gebaut hast, hier herein. Das Projekt muss allerdings mit einem oder mehreren Parallax Propeller µC realisiert worden sein.
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

KC85/4 dual VGA

Beitrag von PIC18F2550 »

Hi,

der KC85/4 unterstützt zwei Bildschirmseiten.

Daher habe ich ein Modul geschaffen das beide gleichzeitig anzeigt, Wie bei einem PC mit zwei Monitore.
Bestückungsseite
Bestückungsseite
Ich habe mal die Eckdaten mit angehangen

Adresszuordnung im IRM (Grafik und Video-RAM)
Mit Hilfe der folgenden Formeln kann man die Speicherzellen, die die Informationen zur Darstellung eines beliebigen Bildpunktes enthalten, ermitteln.
Die Bildinformationen sind im IRM nach folgendem Prinzip abgelegt:
Je 8 horizontal nebeneinander liegende Bildpunkte sind im Pixel-RAM als 1 Byte abgespeichert.
Dieses Byte enthält nur die Vordergrund-Hintergrundinformation der Bildpunkte.
Die Farbinformation ist für jeweils 1 Reihe von 8 Bildpunkten zu einem Byte im COLOR-RAM zusammen gefaßt.
Dieses Byte legt also für 8 Bildpunkte eine Vorder- und eine Hintergrundfarbe fest.
Um das Farb- und das Pixelbyte eines Bildpunktes zu bestimmen, werden die Pixelzeilennummer und die Zeichenspaltennummer, in der sich der Punkt
befindet, hexadezimal verwendet.
Mit der folgenden Formel kann man die Pixel-Byte-Adresse (hRAM) errechnen:
Adresse = 0H + Zeichenspalte * 100H + Pixelzeile
0 =< Zeichenspalte =< 27H
0 =< Pixelzeile =< 0FFH
Mit der folgenden Formel kann man die Farb-Byte-Adresse (hRAM) errechnen:
Adresse = 4000H + Zeichenspalte * 100H + Pixelzeile
0 =< Zeichenspalte =< 27H
0 =< Pixelzeile =< 0FFH
Pixelbelegung der Byts
Pixelbelegung der Byts
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
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: KC85/4 dual VGA

Beitrag von PIC18F2550 »

Jetzt erst ein mal ist jetzt der CPLD dran.
20190119_004923-1.jpg
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
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: KC85/4 dual VGA

Beitrag von PIC18F2550 »

Muss ich nächstes Wochenende Testen.

Code: Alles auswählen

;---------------------------------- Declaration Segment ------------
TITLE    M122 VGA-Modul für KC85/4/5
PATTERN  0
REVISION 0
AUTHOR   PIC18F2550
COMPANY  KC-Klub 2019
DATE     20/01/2019

CHIP  M122  MACH111

;---------------------------------- PIN Declarations --------------
PIN  1  GND
PIN  2  AB00
PIN  3  AB01          
PIN  4  AB02          
PIN  5  AB03          
PIN  6  AB04          
PIN  7  AB05          
PIN  8  AB06          
PIN  9  AB07          
PIN  10 AB08          
PIN  11 AB09          
PIN  12 GND
PIN  13 AB14          
PIN  14 AB15          
PIN  15 DB00          
PIN  16 DB01
PIN  17 DB02
PIN  18 DB03
PIN  19 DB07
PIN  20 RST
PIN  21 IORQ
PIN  22 Vcc
PIN  23 GND
PIN  24 MERQ
PIN  25 WR
PIN  26 MAD
PIN  27 IRM1  ; Ausgang
PIN  28 IRM2  ; Ausgang
PIN  29 PC    ; Ausgang
PIN  30 BLK   ; Ausgang
PIN  31 LED
;PIN  32 
;PIN  33 CLK
PIN  34 GND
;PIN  35 
PIN  36 VMUX  ; Ausgang Umschaltung Videomultiplexer
PIN  37 VHFA  ; Ausgang Umschaltung Videomode
;PIN  38 
;PIN  39 
;PIN  40 
;PIN  41 
;PIN  42 
;PIN  43 
PIN  44 Vcc   ; Ausgang

NODE ?  IRM     ;Pio Port A (88h) bit 2
NODE ?  cIRM    ;Clock für Port A

NODE ?  BLI     ;Pio Port B (89h) bit 7
NODE ?  cBLI    ;Clock für Port b

NODE ?  D01     ;Kanal (84h) bit 0 Anzeige Bild 0 oder 1
NODE ?  WPC     ;Kanal (84h) bit 1 schreiben auf Pixel=0 oder Farbe=1
NODE ?  W01     ;Kanal (84h) bit 2 schreiben auf Bild0 oder 1
NODE ?  HFA     ;Kanal (84h) bit 3 hohe Farbauflösung
NODE ?  cKAN    ;Clock für Kanal84

;--------------------------------------------------------------------------
EQUATIONS
;--------------------------------------------------------------------------
; Taktgenerierung für Merker
cIRM    = /MAD * /IORQ * /WR * /AB09 * /AB08 *  AB07 * /AB06 * /AB05 * /AB04 *  AB03 * /AB02 * /AB01 * /AB00
cBLI    = /MAD * /IORQ * /WR * /AB09 * /AB08 *  AB07 * /AB06 * /AB05 * /AB04 *  AB03 * /AB02 * /AB01 *  AB00
cKAN    = /MAD * /IORQ * /WR * /AB09 * /AB08 *  AB07 * /AB06 * /AB05 * /AB04 * /AB03 *  AB02 * /AB01 * /AB00

;--------------------------------------------------------------------------
; Portnachbildung
Minimize_off
IRM     =  DB02 *  cIRM *  RST
        +  IRM  * /cIRM *  RST
BLI     =  DB07 *  cBLI *  RST
        +  BLI  * /cBLI *  RST
D01     =  DB00 *  cKAN *  RST
        +  D01  * /cKAN *  RST
WPC     =  DB01 *  cKAN *  RST
        +  WPC  * /cKAN *  RST
W01     =  DB02 *  cKAN *  RST
        +  W01  * /cKAN *  RST
HFA     =  DB03 *  cKAN *  RST
        +  HFA  * /cKAN *  RST
Minimize_on

;--------------------------------------------------------------------------
; Modulanzeige
LED    = IRM

;--------------------------------------------------------------------------
; Statusbildung für Propeller (noch offen)
BLK  =  BLI
VMUX =  D01
PC   =  WPC
IRM1 =  IRM * /W01 * /MERQ * /WR * /AB14 *  AB15
IRM2 =  IRM *  W01 * /MERQ * /WR * /AB14 *  AB15
VHFA =  HFA
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
Benutzeravatar
digger
Administrator
Beiträge: 676
Registriert: Sa 23. Mai 2009, 22:44
Wohnort: Schorfheide
Kontaktdaten:

Re: KC85/4 dual VGA

Beitrag von digger »

Also ich finde das hammergeil, zwei Bildschirme am KC. :D :DAUMENHOCH
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: KC85/4 dual VGA

Beitrag von PIC18F2550 »

Irgend wo im MACH Code ist ein Fehler nur wo.
Das Teil hat mich schon die 3. Woche im Würgegriff.

Kuroneko hat inzwischen schon den VGA Treiber gebaut.
Einfach nur Frustrierend.

Nächste Woche packe ich mein Auto mit meinen ganzen Bastelkram zu.
Solangsam bekomme ich vom dauernden fehlen von Arbeitsmitteln einen dicken Hals.
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
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: KC85/4 dual VGA

Beitrag von PIC18F2550 »

So gleich mal den Chipbrutzler angeworfen und was neues gehackt.
Dieses mal habe ich mich von meiner alten GAL16V8 Vorlage vom KC85/3 getrennt
und bin auf die internen D-FF umgestiegen.
Der Dateneingang des D-FF wird mit zwei Varianten versorgt die erste ist das
einlesen des Datenbits bei entsprechender Merkergültigkeit.
Oder bei fehlen der Merkergültigkeit einfach das Rücklesen seines eigenen Wertes.
Die Bits werden am Ende von /IORQ mit der L/H Flanke übernommen.

Code: Alles auswählen

;---------------------------------- Declaration Segment ------------
TITLE    M122 Doppel-VGA-Modul fr KC85/4/5
PATTERN  0
REVISION 1
AUTHOR   PIC18F2550
COMPANY  KC-Klub 2019
DATE     01/02/2019

CHIP  M122_0_1  MACH111

;---------------------------------- PIN Declarations --------------
PIN  1  GND
PIN  2  AB00
PIN  3  AB01          
PIN  4  AB02          
PIN  5  AB03          
PIN  6  AB04          
PIN  7  AB05          
PIN  8  AB06          
PIN  9  AB07          
;PIN  10 AB08 ;kein Modulsteuerword
;PIN  11 AB09 ;kein Modulsteuerword
PIN  12 GND
PIN  13 AB14          
PIN  14 AB15          
PIN  15 DB00          
PIN  16 DB01
PIN  17 DB02
PIN  18 DB03
PIN  19 DB07
PIN  20 RST
;PIN  21 IORQ umlegen auf CLK pin 21
PIN  22 Vcc
PIN  23 GND
PIN  24 MERQ
PIN  25 WR
;PIN  26 MAD   ;kein Modulsteuerword
PIN  27 IRM1  ; Ausgang
PIN  28 IRM2  ; Ausgang
PIN  29 PC    ; Ausgang
PIN  30 BLK   ; Ausgang
PIN  31 LED
;PIN  32 
PIN  33 CLK ; =pin 21 IORQ
PIN  34 GND
;PIN  35 
PIN  36 VMUX  ; Ausgang Umschaltung Videomultiplexer
PIN  37 VHFA  ; Ausgang Umschaltung Videomode
;PIN  38 
;PIN  39 
;PIN  40 
;PIN  41 
;PIN  42 
;PIN  43 
PIN  44 Vcc   ; Ausgang

NODE ?  IRM     ;Pio Port A (88h) bit 2
NODE ?  cIRM    ;Clock fr Port A

NODE ?  BLI     ;Pio Port B (89h) bit 7
NODE ?  cBLI    ;Clock fr Port b

NODE ?  D01     ;Kanal (84h) bit 0 Anzeige Bild 0 oder 1
NODE ?  WPF     ;Kanal (84h) bit 1 schreiben auf Pixel=0 oder Farbe=1
NODE ?  W01     ;Kanal (84h) bit 2 schreiben auf Bild0 oder 1
NODE ?  HFA     ;Kanal (84h) bit 3 hohe Farbaufl”sung
NODE ?  cKAN    ;Clock fr Kanal84

;--------------------------------------------------------------------------
EQUATIONS
;--------------------------------------------------------------------------
; Merker
cIRM    = /WR *  AB07 * /AB06 * /AB05 * /AB04 *  AB03 * /AB02 * /AB01 * /AB00
cBLI    = /WR *  AB07 * /AB06 * /AB05 * /AB04 *  AB03 * /AB02 * /AB01 *  AB00
cKAN    = /WR *  AB07 * /AB06 * /AB05 * /AB04 * /AB03 *  AB02 * /AB01 * /AB00
;/IORQ=>CLK entscheident ist die L/H Flanke da die Daten hier stabiel sind.

;--------------------------------------------------------------------------
; Portnachbildung mit D-FF

IRM.CLKF=CLK
IRM.RSTF=RST
IRM :=  DB02 *  cIRM
     +  IRM  * /cIRM

BLI.CLKF=CLK
BLI.RSTF=RST
BLI :=  DB07 *  cBLI
     +  BLI  * /cBLI

D01.CLKF=CLK
D01.RSTF=RST
D01 :=  DB00 *  cKAN
     +  D01  * /cKAN

WPF.CLKF=CLK
WPF.RSTF=RST
WPF :=  DB01 *  cKAN
     +  WPF  * /cKAN

W01.CLKF=CLK
W01.RSTF=RST
W01 :=  DB02 *  cKAN
     +  W01  * /cKAN

HFA.CLKF=CLK
HFA.RSTF=RST
HFA :=  DB03 *  cKAN
     +  HFA  * /cKAN

;--------------------------------------------------------------------------
; Modulanzeige
LED    = IRM

;--------------------------------------------------------------------------
; Signalbildung fr P8x32a
BLK  =  BLI
VMUX =  D01
PC   =  WPF
IRM1 =  IRM * /W01 * /MERQ * /WR * /AB14 *  AB15
IRM2 =  IRM *  W01 * /MERQ * /WR * /AB14 *  AB15
VHFA =  HFA
Morgen geht es ans Testen.
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
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: KC85/4 dual VGA

Beitrag von PIC18F2550 »

20190202_102321.jpg
Kartentest mit alten Treiber.
Beide seiten sind HW mäßig IO.
20190202_103657.jpg
Neuer Treiber auf Demo Bord.
Warum er auf meinen neuen nicht will weiß ich zur Zeit auch nicht.
Werde mal die Blockkondensatoren auf verdacht tauschen.
Sonnst fällt mir nichts weiter dazu ein.
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
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: KC85/4 dual VGA

Beitrag von PIC18F2550 »

Mit reichlich C an den Anschlüssen konnte ich einen überreden mit den neuen Treiber ein Bild aus zu geben.
von 2x 100nF auf 2x470nF erhöt.

Das Timing der Video PLL könnte eventuell etwas zu knapp sein vermute ich.
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
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: KC85/4 dual VGA

Beitrag von kuroneko »

PIC18F2550 hat geschrieben:Das Timing der Video PLL könnte eventuell etwas zu knapp sein vermute ich.
Ist das gleiche wie beim "alten". Der einzige Unterschied ist jetzt, dass zwei cogs werkeln (bei mir auf dem Quickstart+HIB getested).
PIC18F2550 hat geschrieben:Werde mal die Blockkondensatoren auf verdacht tauschen.
Wenn die nicht stimmen kriegst Du Probleme (die Diskussion hatten wir bei der Neu-Auflage des Hives auch, deshalb hab ich auch immer noch keinen).
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: KC85/4 dual VGA

Beitrag von PIC18F2550 »

Das Teil treibt einen in den Wahnsinn.
Auch der Alte Treiber läuft nicht sauber.
Zeitweise gibt es Bildausfälle besonders wenn der KC Daten sendet.
Gerade der Prop der die Muxer Steuert spinnt damit lässt sich nichts Testen.
Die Muxer habe ich auch schon getauscht hat auch nichts gebracht.

Das Tauschen und aufrüsten der Blockkondensatoren hat beim 1. Prob nichts gebracht keine Besserung in Sicht.
Werde morgen den 1. Prop Totlegen und die Muxersteuerung auf dem 2. fädeln.

Dann muss ich schon wieder alles einpacken. :KOTZEN
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