Seite 5 von 7

Re: KC85/4 dual VGA

Verfasst: Mo 1. Apr 2019, 18:11
von PIC18F2550
Die verbindung prop - kc macht ein cog.

Spärlich ist 40x32 Zeichen beim 320x256 pixel darstellung.

100x50 Zeichen sind da schon besser.

Beim original Text treiber liegt der ascii code und der farbwert in einem Word.

das währen 100x50 = 5000 Word bzw 10kbyte
Das entspräche 50% vom Speicherverbrauch des pixeltreibers.

Mit eingebauten scrollen währe auch über den Puffer 100x100 Zeichen möglich.

Die scrollfunktion und die Maus/Kursor werte währen dann im Puffer an der letzten possition.

Re: KC85/4 dual VGA

Verfasst: Di 14. Mai 2019, 09:50
von PIC18F2550
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 .

Re: KC85/4 dual VGA

Verfasst: Mo 3. Jun 2019, 18:09
von PIC18F2550
kuroneno,

ist es möglich die farbwerte von 64 auf 128 zu erhöhen und die Sync auf andere Pins zu verschieben?

Die 6 RGB bits werden für die Farbwerte benötigt.
Das 7. Bit Zieht die RGB Analogwerte gegen 1 (Vordergrund) oder gegen 0 (Hintergrund).

Damit währe eine Farbauflösung wie bem KC möglich.

Re: KC85/4 dual VGA

Verfasst: Mo 3. Jun 2019, 18:44
von kuroneko
PIC18F2550 hat geschrieben:ist es möglich die farbwerte von 64 auf 128 zu erhöhen und die Sync auf andere Pins zu verschieben?
An sich kein Thema. Gab's alles schon :) Mir ist nur die Funktion des 7.Bits nicht ganz klar ...

Re: KC85/4 dual VGA

Verfasst: Mo 3. Jun 2019, 21:03
von PIC18F2550
Das 7 Bit dient zum Dunkeltastung aller 3 Farbwerte um so die etwas Dunklere Hindergrundfarbe zu realisieren.

Re: KC85/4 dual VGA

Verfasst: Di 4. Jun 2019, 14:32
von PIC18F2550
Das mit 256 Farben und die Sync woanders hin kommt, kommt mir schon bekannt vor, nur kann ich das bei Obex nicht wieder finden. :(

Re: KC85/4 dual VGA

Verfasst: Di 4. Jun 2019, 17:35
von yeti
PIC18F2550 hat geschrieben:Das mit 256 Farben und die Sync woanders hin kommt, kommt mir schon bekannt vor, nur kann ich das bei Obex nicht wieder finden. :(
Im Umfeld dieses Pocket Mini Computer 256 wird was zu 8-Bit-Farbe zu finden sein.

Re: KC85/4 dual VGA

Verfasst: Di 4. Jun 2019, 20:21
von PIC18F2550
Hab was gefunden mal sehen ob ich das assimilieren kann,

Re: KC85/4 dual VGA

Verfasst: Mi 5. Jun 2019, 09:11
von kuroneko

Re: KC85/4 dual VGA

Verfasst: Mi 5. Jun 2019, 11:16
von PIC18F2550

Code: Alles auswählen


CON
'' 20130101: now capable of using 64/256 colours (RRGGBBHV / RRGGBBgr + xxxxxxHV)
''           -  64c: $FC/2/2 (vpin/vgrp/sgrp)
''           - 256c: $FF/2/3
  vpin    = $0FC                                ' pin group mask
  vgrp    = 2                                   ' pin group
  sgrp    = 2                                   ' pin group sync


DAT
...
        test    scrn, #1 wz

        if_z    mov     mask, #$FC|%11          '  64c
        if_z    shl     mask, #2 * 8
        if_z    movs    vcfg_norm, #$FC
        if_z    movd    vcfg_norm, #2
        if_z    movd    vcfg_sync, #2

        if_nz   mov     mask, #$1FF             ' 256c
        if_nz   movd    mask, #1
        if_nz   shl     mask, #2 * 8
        if_nz   movs    vcfg_norm, #$FF
        if_nz   movd    vcfg_norm, #2
        if_nz   movd    vcfg_sync, #3

...
vcfg_norm       long    %0_01_0_00_000 << 23 | vgrp << 9 | vpin
vcfg_sync       long    %0_01_0_00_000 << 23 | sgrp << 9 | %11
mask            long    vpin << (vgrp * 8) | %11 << (sgrp * 8)