Beiträge von tokra

    Hat jemand zufällig das Spiel "Santa Paravia and Fiumaccio" als digitale Version für den PET? Infos hier:

    https://www.mobygames.com/game…ta-paravia-and-fiumaccio/

    Die Screenshots sehen klar nach Emulator aus, aber ich finde keinen Download der PET-Version (dafür fast alle anderen).

    Das Spiel ist wohl quasi der Vorgänger von "Kaiser". Ursprünglich war das mal ein Abtipp-Listing von 1978 für den TRS-80. Ich suche aber diese PET-Version.

    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.

    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).

    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.

    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?

    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 :)

    Mit dem CBM4032 Any Hz-Programm stimmt zumindest die Bildschirmausgabe, aber die Tastaturabfrage klappt nicht bei den Business-Keyboards, da die völlig anders ist als bei den Graphic-Keyboards. D.h. auch auf den 40-Zeichen Business-Keyboards PETs wird das so nicht laufen.

    Ein schneller Port von Petsciinoid von "Freshness of Onslaught" für den C64 auf den PET:



    Weil der Source-Code verfügbar war, war dies ein relativ schneller Hack:

    - Joystick-Abfrage durch Tasten '4' und '6' ersetzt

    - Bildschirm-Speicher von $0400 nach $8000

    - Raster-Abfrage durch VBLANK-Abfrage ersetzt


    Das Spiel sollte auf jedem PET laufen, auch den 4K 2001 weil das Spiel selbst nur 511 Bytes groß ist.


    Download: http://www.tokra.de/pet/petsciinoidpet.zip

    PETSTRIP trickst wohl irgendwie derart rum, dass man mit den CBM's 88x200 Pixel hinbekommt.

    Wohl leider nicht für den 8032.

    Jetzt schon - ich zitiere unten mal aus meiner eigenen Release Note - hoffe englisch ist ok. Da ist auch der Download-Link für die 80-Zeichen-Version.

    Bitte beachten, dass man einen aktuellen Snapshot von VICE nehmen sollte, wenn man das im Emulator testen möchte. Ich muss nochmal einen Bug-Report bei VICE einreichen, denn im Vergleich zu den Original-PETs gibt es da noch 1-2 Zyklen Differenz im Emu. Mit der normalen 3.7 von VICE sind die Abweichungen jedenfalls noch größer.

    https://github.com/VICE-Team/svn-mirror/releases

    Im Prinzip basiert der Grafik-Mode auf der bereits in der Demo "A Bright Shining Star" gezeigten Methode, in jeder Rasterzeile das dargestellte Zeichen im Video-RAM zu aktualisieren. Normal kann man in 64 Rasterzyklen einer Zeile genau 10 Zeichen für die nächste Zeile aktualisieren (2 Zyklen für LDA + 4 Zyklen für STA = 6 Zyklen pro Zeichen = 60 Zyklen für 10 Zeichen). Mit ein paar Tricks schaffe ich 11 Zeichen pro Zeile, dafür muss das Timing aber sehr genau stimmen, bei den 80-Zeichen-PETs kommt es da wirklich auf den einzelnen Taktzyklus an...