Höhere Auflösung als 40x25 auf CBM 4032

  • Basierend auf André Fachat's Videoserie zum PET-Video output habe ich gerade mal ein kleines Testprogramm geschrieben, mit dem man die Anzahl der Zeichen und Zeilen, sowie die horizontale und vertikale Sync-Position einstellen kann. Da ich selber keinen 4032 PET habe kann ich das nur im VICE testen und wäre daher an Tests auf echten Geräten interessiert. Mich würde interessieren, was die maximale Anzahl Zeichen/Zeilen sind, die der PET-Monitor (9' und 12') gerade noch so darstellen kann, ohne das Zeichen abgeschnitten werden und auch die maximale Anzahl Zeichen/Zeilen bei denen die Zeichen zumindest teilweise noch sichtbar sind.


    Mir ist klar, dass mit 1K-Video RAM nicht mehr als 1024 unterschiedliche Zeichen am Schirm möglich sind, aber da habe ich schon eine Idee, das zu umgehen...

    petscreen.zip

    Danke für eure Hilfe :)

  • Mir geht es nur darum, mehr Fläche des Monitors für Zeichen zu verwenden, also sowas wie 45x30 oder so würde dabei vielleicht rauskommen. Bräuchte aber mal "RealWorld"-Screenshots um das beurteilen zu können.

  • Freut mich dass ich helfen konnte!


    Man kann auf jeden Fall die Anzahl der angezeigten Zeilen und Spalten erhöhen, der Speicher wrappt dann aber am Ende durch beim 4032/8032.


    Was man machen könnte, genug Spaces an den Rändern zu lassen, und den Content dann aber einfach mit Anpassung des Screen Starts über den kompletten - erweiterten Bildschirm verschieben. Ich meine Transactor macht das auch an einer Stelle (ich habe das oben verlinkte Video noch nicht gesehen)


    André

  • Interessanter Vortrag.


    Die zusätzliche Software um programme auf den PET zu bringen ... deshalb nutze ich immer den PC als Diskettenlaufwerk...


    Der Overscan modus - da kann man halt viel mehr darstellen.


    X-Achse Soft Scroll geht von der Hardware nicht.

    Y-Achse Soft scroll kann man wie er über vertical adjust machen, aber auch einzelne Bereiche, in dem man einzelne Zeilen "länger" und andere dafür "kürzer" macht über R9, natürlich rasterline genau getimed. Das habe ich z.B. in meiner Micro-PET Demo gemacht.


    Der VDC ist btw wohl _kein_ direkter Abkömmling des CRTC. Er wurde wohl nach Bil Herd separat entwickelt, nur die Registerfunktionen sind - für die ersten Register - "kopiert".


    Und ich stehe im Abspann!!! :love:


    Kein Hexenwerk, aber sehr schön gemacht :thumbup:

  • aber da habe ich schon eine Idee, das zu umgehen...


    da darf man dann sicher gespannt sein - wie das gehen wird.

    @CBM_Ba: 

    Danke für die Screenshots soweit. Also passen 44 x 31 Zeichen auf den Bildschirm. Kurze Rückfrage: Ist das ein 9' oder ein 12' Monitor?

    44 x 31 wären jedenfalls 1364 Zeichen, also 340 Bytes mehr als Video-RAM vorhanden ist. D.h. nach 1024 Zeichen wird wieder das RAM ab $8000 gelesen.


    Meine Idee dazu ist, den Bildschirmaufbau mit dem Raster zu synchronisieren (wie bei PETSTRIP) und dann das Video-RAM von $8000 bis $8153 jeweils per LDA/STA im richtigen Moment bereitzustellen, bevor der Rasterstrahl die entsprechenden Zeilen liest. D.h. wenn der Bereich das erste mal angezeigt wurde, muss ich 340 Bytes nach $8000 kopieren. Das dauert mindestens 6 Zyklen pro Byte = 1380 Zyklen und ist in einigen Rasterzeilen machbar. Wenn der zweite Bereich angezeiegt wurde, müssen dann wieder die ursprünglichen Bytes (im VBLANK) an die Adresse ab $8000 zurückgeschrieben werden.


    Der PET ist dann ca. 15% langsamer, aber technisch sollte das so gehen. Quasi "virtuelles" Video-RAM.

    Kannst du nochmal probieren, was der maximale Bereich ist, wenn Characters teilweise abgeschnitten werden? Also der ganze Schirm mit Characters gefüllt ist?

  • tokra

    Das ist ein 4032 mit 12" Schirm und CRTC.


    Die Darstellung mit 44x31 war bei mir die maximal Machbare. Ein Zeichen breiter führte zu einer Verzerrung am linken Bildschirmrand, die Zeichen waren nicht mehr lesbar. Bei genauer Betrachtung beginnt dieser Effekt sogar schon in meinem Screenshot am linken Rand, ich fand es aber noch vertretbar.

    Also da sehe ich 44 Zeichen als das Maximum.

    Bei den Zeilen bin ich grad nimmer sicher, ob theoretisch noch was gegangen wäre- und ich nur nicht mehr darstellen ließ, weil dann ja der schwarze Bildschirmrand anfängt.

    ABER: Mehr würde da nur gehen, wenn man intern am Bildschirm dreht, damit die Darstellung gestauchter ist- das würde doch nix bringen, oder?

    Ich kann's demnächst aber gerne nochmal testen.

  • CBM_Ba: Ok, wenn das mit der Bildverschiebung (mit 8,4,6,2) so das maximal darstellbare ist, dann ist das schon mal eine gute Info.

    Man kann das Bild vertikal stauchen? Ist das ein Regler, der von außen zugängig ist? Ich habe am C128 Bildschirmmodi gemacht, wo man das auch machen muss, aber der Commodore 1901-Monitor hat den Regler dafür vorne erreichbar für jeden, also ohne Aufschrauben.

  • CBM_Ba:
    Man kann das Bild vertikal stauchen? Ist das ein Regler, der von außen zugängig ist?

    Geht im Innern. Breite/Höhe und generell die Geometrie. Außen zugänglich ist ausschließlich der Helligkeitsregler.

    Allerdings weiß grad nicht auswendig, ob dies bei den 9"-Modellen auch geht. Ich glaube, die haben da weniger Justagemöglichkeiten.

  • Bin hier weiter am Experimentieren, und dabei einem möglichen VICE-Bug auf der Spur. Diejenigen mit einem CBM 40xx können gerne mal das Testprogramm anbei laufen lassen. Dauert ein paar Minuten und zählt die Zyklen pro Bildaufbau. Screenshot vom Ergebnis wäre sehr hilfreich. VICE hat anscheinend einen Bug, dass genau eine Zeile zuviel Cycles (50 Stück) verbraucht werden, wenn CRTC-Register 5 auf 0 steht (Werkseinstellung).

  • So, nach einiger Zeit habe ich das jetzt fertig implementiert:


    Download: https://www.tokra.de/pet/44x31.zip

    Dabei ist auch eine Chunky-Mode-Extension (88x62), ein Mandelbrot-Programm und ein Konverter für .PGM-Bilder. Nutzbar auch von BASIC aus, die Anzeige-Routine läuft im Raster-Interrupt, damit 1364 Zeichen in 1000 Bytes Video-RAM angezeigt werden können.

    Läuft wie erwähnt NUR auf den CBM/PET 4032 mit 12" Monitor, da nur diese den CRTC-Chip haben.