Seite 6 von 7
Re: KC85/4 dual VGA
Verfasst: Do 6. Jun 2019, 19:22
von PIC18F2550

misst mein Treiber ist anders aufgebaut
Code: Alles auswählen
CON
vgrp = 2 ' video pin group
vpin = %%333_0 ' video pin mask
video = (vgrp << 9 | vpin) << 21
...
PUB main : n | x
link{0} := video | @scrn{0}
link[1] := @attr{0}
driver.start(-1, @link{0})
Code: Alles auswählen
movi ctrb, #%0_11111_000 ' LOGIC always (loader support)
movi ctra, #%0_00001_111 ' PLL, VCO/1
movi frqa, #%0001_00000 ' 5MHz * 16/1 = 80MHz
movs frqa, #res_x*3/4 ' |
movs frqa, #0 ' insert res_x*3 into phsa
mov vscl, #1 ' reload as fast as possible
mov zwei, scrn ' vgrp:[!Z]:vpin:[!Z]:scrn = 2:1:8:5:16 (%%)
shr zwei, #5+16 ' |
andn zwei, #%%000_3 ' |
or vcfg_norm, zwei ' | group + %%RGB_0
shr zwei, #9 ' |
movd vcfg_sync, zwei ' | group + %%000_3
mov vcfg, vcfg_sync ' VGA, 2 colour mode
waitcnt temp, #0 ' PLL settled, frame counter flushed
ror vcfg, #1 ' freeze video h/w
mov vscl, phsa ' transfer user value
rol vcfg, #1 ' unfreeze
waitpne $, #0 ' get some distance
waitvid zero, #0 ' latch user value
mov temp, vcfg_norm ' |
or temp, vcfg_sync ' |
and mask, temp ' transfer vpin
mov temp, vcfg ' |
shr temp, #9 ' extract vgrp
shl temp, #3 ' 0..3 >> 0..24
shl mask, temp ' finalise mask
max dira, mask ' drive outputs
mov $000, pal0 ' restore colour entry 0
...
vcfg_norm long %0_01_0_00_000 << 23
vcfg_sync long %0_01_0_00_000 << 23 | %00000011
Das ist mir zu hoch

Re: KC85/4 dual VGA
Verfasst: Fr 7. Jun 2019, 09:37
von PIC18F2550
Wenn ich die anderen Beispiele betrachte wird hier die vcfg immer umgeschalten.
Es gibt eine für die Pixelausgabe und eine für die Synchronisation.
Das müsste hier noch eingebaut werden.
Ob das noch mit dem Timing passt kann ich nicht erkennen.
Ein etwas einfacher Treiberaufbau währe mir lieber.
Als Option währe noch das ich den Hintern hoch kriege und endlich die Software zum XC9536 zum laufen bekomme.
Dann würde ich einen als DAC verwursten und das Thema wäre gegessen.
Re: KC85/4 dual VGA
Verfasst: So 9. Jun 2019, 14:30
von kuroneko
PIC18F2550 hat geschrieben:Ein etwas einfacher Treiberaufbau währe mir lieber.
... oder frag' mich doch einfach. Wir müssten uns nur einigen ob Du das setup über Konstanten haben willst oder zur Laufzeit.
Re: KC85/4 dual VGA
Verfasst: So 9. Jun 2019, 16:02
von PIC18F2550
kuroneko,
ich kann doch nicht dauernd an deiner Tür kratzen,
Ach wass solls...
Am liebsten hätte ich Konstanten wo nichts mehr berechnet wird also so wie die Beschreibung der Register (32 bit).
Es ist zwar nicht mehr so schön komfortabel aber dafür kompakter.
Danke.
Re: KC85/4 dual VGA
Verfasst: Do 13. Jun 2019, 11:57
von PIC18F2550
PIC18F2550 hat geschrieben:So ich hab nach langer Sucherei das Konzept geändert.
Eingebaut ist jetzt ein Modulsteuerword wie es bei den anderen Modulen auch ist.
Nach Power ON oder Reset wird auf dem Monitoren die beiden Bilder des KCs angezeigt.
Macht sonnst keinen sinn ein VGA-Modul zu verbauen wenn man erst ein mal nichts sieht.
Der Hochauflösende Farbmodus musste wegen seltsamer Effekte bei der Tonausgabe entfallen.
Die Bits des Modulsteuerwordes sind wie folgt belegt:
DB0 : Modul Ein/Aus ( Bei Aus wird das Modul den originalen BWS darstellen.*1))
DB1 : Schreiben auf Bildschirm 0/1
DB2 : Pixel oder Farbe
DB3 : Treiber Graphig / Text
DB4 : unbenutzt
DB5 : unbenutzt
DB6 : unbenutzt
DB7 : Adressbereich 4000H/8000H
*1) der BWS des KCs muss auf das Modul Kopiert oder mit CLS neu aufgebaut werden .
Einmal zurückrudern bitte
Die normale Umschaltung der "Hohen Farbauflösung" macht beim Beep immer noch Probleme so das ich etwas abspecken muss.
Nach Power ON oder Reset wird auf dem Monitoren die beiden Bilder des KCs angezeigt. <Erledigt>
Ich überlege noch ob ich für beide Bildschirme eigene Modulsteuerworde verwende.
Die Bits des Modulsteuerwordes 80 werden wie folgt belegt:
DB0 : Bildschirm 0 Ein/Aus ( Bei Aus wird das Modul den originalen Bildschirm 0 darstellen.))
DB1 : Bildschirm 0 Schreibschutz
DB2 : Bildschirm 0 Pixel oder Farbe
DB3 : Bildschirm 0 Treiber Graphig / Text
DB4 : Bildschirm 0 Adressbit A14 Graphig
DB5 : Bildschirm 0 Adressbit A15 Graphig
DB6 : Bildschirm 0 Adressbit A14 Text
DB7 : Bildschirm 0 Adressbit A15 Text
Die Bits des Modulsteuerwordes 81 werden wie folgt belegt:
DB0 : Bildschirm 1 Ein/Aus ( Bei Aus wird das Modul den originalen Bildschirm 1 darstellen.))
DB1 : Bildschirm 1 Schreibschutz
DB2 : Bildschirm 1 Pixel oder Farbe
DB3 : Bildschirm 1 Treiber Graphig / Text
DB4 : Bildschirm 1 Adressbit A14 Graphig
DB5 : Bildschirm 1 Adressbit A15 Graphig
DB6 : Bildschirm 1 Adressbit A14 Text
DB7 : Bildschirm 1 Adressbit A15 Text
Die Bits des Modulsteuerwordes 82 werden wie folgt belegt:
DB0 : Bildschirm 0 Lesefreigabe
DB1 : Bildschirm 1 Lesefreigabe
DB2 : reserve
DB3 : reserve
DB4 : reserve
DB5 : reserve
DB6 : reserve
DB7 : reserve
Das dürfte sogar noch flexibler sein.
Mal sehen ob das in den Mach rein Passt

Re: KC85/4 dual VGA
Verfasst: Mo 17. Jun 2019, 19:52
von kuroneko
Sollte jetzt gehen, entweder man konfiguriert über Konstanten oder zur Laufzeit.
Hab derzeit keine 8+2 h/w verfügbar so ich bräuchte dann mal ein paar Meerschweinchen :)
Re: KC85/4 dual VGA
Verfasst: Mi 19. Jun 2019, 19:48
von kuroneko
Wo ein Wille ist ... hab's jetzt verifiziert. Code ist (nur) in der src.yx demo zu finden.
Re: KC85/4 dual VGA
Verfasst: Mi 19. Jun 2019, 22:24
von PIC18F2550
Du bist viel zu Schnell.
Mich hat die Hitzewelle erst ein mal platt gemacht jetzt geht es wieder etwas.
Erst ein mal die Alte Karte auf einen vernünftigen Stand gebracht so das ich auch die anderen Module testen Kann.

- Version 2
Die Neue Graphigkarte wird erst nächste Woche (Habe aber schon angefangen).
Re: KC85/4 dual VGA
Verfasst: Mo 23. Mär 2020, 12:04
von PIC18F2550
So endlich die neue Platiene.
Diesmal in blau.
Jetzt kann ich endlich mit kuronekos Treiber experimentieren.
Wenn die Platten endlich ankommen.
Re: KC85/4 dual VGA
Verfasst: Do 16. Apr 2020, 14:03
von PIC18F2550
Auf die Kleckse vertsch und los.
