Posts by PiCiJi

    new nightly:


    oldschooljoe


    - support for tape content listing in User Interface

    - start files directly without manually seeking to them (double click file)

    - or just fast-forward to files only, without manually searching for them (select file and press button "fast-forward to selected file" )

    - latter is helpfull for Turbo Taped programs, which can not be loaded directly


    Virtual Device Traps (VDT) for Tapes

    - like disks, VDT performs a high level emulation of the standard CBM tape loading routine AND the Turbo Tape loading routine for the single purpose of fast(instant) loading (but not for other arbitrary loader routines)

    - like disks, VDT will be disabled after loading first file to prevent failure because of a arbitrary loading routine

    - with VDT you can instant load a Turbo Taped file, without loading the Turbo Tape control program before

    - not that helpfull for original games, which mostly use a very short initial loading routine before switching to arbitrary loader (usually you can skip the first 5 counter positions with VDT for originals)


    He-Man1982


    - Konfigurationen können nun "relativ" im Emulations Ordner gespeichert werden

    - in der Ansicht "Konfigurationen" Speicherort auf "Emulator Verzeichnis" setzen + Checkbox "Öffne Emulator mit zuletzt geladener Konfig"

    - beim Umzug des Emulator Ordners auf einen anderen Rechner z.B sollte die Konfig wieder gefunden und geladen werden

    Woran kann das liegen? Der Fehler ist auch, wenn Right-STRG nirgendwo zugewiesen ist. Mit der linken STRG-Taste passiert das nicht.

    Du meinst die Emulation hängt sich auf, nicht der ganze Emulator.

    "Strg rechts" ist auf die "Restore" Taste des C64 gelegt. Das löst einen Interrupt aus und kann je nach Programm zu einem CPU Jam führen. Vielleicht sollte man die Restore Taste nicht vor belegen, so dass nur Nutzer, welche diese Taste auch benötigen, selber belegen.

    Unter Steuerung -> C64 Konfiguration -> Tastatur (im Auswahlmenu) findest du die Belegungen aller Tasten.

    Nach Anklicken des jeweiligen Tasten Eintrages kann mittels Löschen Button die aktuelle Belegung entfernt werden. Alternativ kann nach einem Doppel klick auf das Eingabe Element eine Taste oder Tastenkombination zugewiesen werden.

    neues nightly

    FreeSync / G-Sync support (VRR - variable refresh rate)


    [Vorteile]

    - 20 ms weniger input lag, da kein double buffering (wie beim Vsync) benötigt wird

    - umstellen der Emu Speed bleibt flüssig ohne das die Bildwiederholrate im Monitor geändert werden muss

    - ruckelfreie Original Geschwindigkeit: 50.1245 Hz oder 59.826 Hz


    [Einstellung Monitor]

    VRR im Monitor OSD aktivieren


    [Einstellung Grafikkarte]

    Frequenz des Monitors auf Maximum stellen, z.B. 140Hz oder 240Hz

    im VRR Menu: Fenster Modus erlauben


    [Denise]

    Option im Hauptmenu: VRR aktivieren (ohne dies wird das Bild zittern, da das frame pacing nicht passt)

    Vollbild Auflösung/Rate deaktivieren oder eine hohe Bild Rate auswählen. Es darf nicht passieren, dass beim Wechsel ins Vollbild der Monitor z.B. auf fixe 60 Hz umspringt.

    Für G-Sync bitte Vsync deaktivieren, auch unter Linux. keine Ahnung, ob dies unter Linux + FreeSync ebenso gilt.

    Geschwindigkeit (neuer Menupunkt oder auf FPS in Statuszeile klicken) im Emulator festlegen (sollte in der VRR range des Monitors liegen)


    [Windows]

    - openGL

    funktioniert im Fenster und Vollbildmodus.

    bei Shader Nutzung unbedingt Hard Sync im Video Menu zuschalten


    -direct3D 9

    funktioniert nur im "exclusive" Fullscreen. Es wird Zeit für neuere Versionen von direct3D.


    [Linux]

    "Cinnamon" ist leider nicht kompatibel mit VRR. Jedoch lässt es sich im Vollbild aktivieren, wenn im OS unter "Einstellung" -> "allgemein" -> "komposit für vollbild deaktivieren" der Haken gesetzt wird.

    Dann Cinnamon neu starten Alt+F2 ... dann "r"

    In Denise ist es möglich die Statuszeile im Vollbild zuzuschalten. Diese muss per Hotkey weggeschalten werden, sonst zählt es nicht als Vollbild und VRR ist offline.

    "Mate" will ich die Tage mal installieren. Dort sollte VRR auch im Fenster laufen.

    Bei der Gelegenheit sollte noch erwähnt werden, dass Vsync im Multi Monitor Betrieb unter Cinnamon buggy ist, wenn die Monitore nicht die gleiche Frequenz fahren. Das funktioniert unter Windows.


    [macOS]

    VRR wird erst seit kurzem unterstützt, seit Monterey um genau zu sein.

    Abgesehen von einem entsprechenden VRR Monitor gibt es eine Liste kompatibler Mac Modelle. Leider habe ich keinen, der die Anforderung erfüllt um es zu testen.

    Bei der Gelegenheit sollte noch erwähnt werden, dass openGL Vsync unter Monterey nur noch für 60 Hz funktioniert. Die machen keine Anstalten das zu fixen. Es wird also auch hier Zeit für neue Treiber. (Metal)

    -----------------


    VRR scheint nicht zu funktionieren. was kann ich tun?

    1. Nvidia bietet für Linux und Windows einen sogenannten G-Sync Indikator. Oben rechts im Emulator Bild steht dann in grüner Schrift G-Sync, wenn alles ok ist.

    2. Die Frequenzen müssen sich im OSD bewegen und nicht verharren.

    3. Springen die Frequenzen zu sehr hin und her wird das frame pacing nicht hinhauen und das Bild zittern. Wahrscheinlich wurde vergessen im Emulator die VRR Option zu aktivieren.

    4. Bei funktionierendem VRR wird das scrolling flüssig bleiben, wenn die Emu Speed innerhalb der VRR range geändert wird.


    Nachtrag: VRR ist kompatibel mit Render- und/oder Emu-Thread.

    ----------------------

    at the end of this post you will find the next tasks

    ----------------------


    neues nightly:

    ---------

    GTK3 (Linux) port gefixt. Sauberes scrolling ist nun wieder möglich. Zudem wird das aktuelle Theme nicht mehr durch eigenes CSS verfälscht, z.B. verkleinerte buttons.

    Cocoa (macOS) port gefixt. Sauberes scrolling ist nun wieder möglich. Slider updaten nun inkremental. (in Zwischenschritten)

    ---------

    Option für Render Thread (Optionen/Video) hinzugefügt. Das Rendering passiert in einem eigenen Thread.


    Vorteile:

    - Vsync kann immer aktiv bleiben, selbst wenn der Emu schneller laufen soll, als die aktuelle Monitor Bildwiederhol Rate (Rundum Sorglos Paket)

    - z.b. muss man normalerweise Vsync deaktivieren um die Original Geschwindigkeit (50.1245 Hz) zu fahren. Nun kann Vsync aktiviert bleiben und man bekommt einige Sekunden sauberes scrolling bis ein Mikro Ruckler entsteht, welcher normal ist, wenn der Monitor mit 50 Hz läuft. Das sieht aber deutlich angenehmer aus, als wenn Vsync deaktiviert ist. Zudem passiert dann kein tearing (Bild Reißen)


    Nachteile:

    - DRC nicht mehr möglich. An der Stelle möchte ich nochmal kurz ein paar Erklärungen darüber verlieren. Ohne DRC läuft auf meinem PC das scrolling ca. 12 min flüssig, bevor ein Mikro Ruckler zu sehen ist. Das ist für mich mehr als akzeptabel und kein Grund unbedingt DRC zu aktivieren. Bitte beachtet, das DRC kein Mikro Ruckler Fixer im allgemeinen Sinn ist. Jeder Monitor verursacht minimale Abweichungen beim Vsync, welche sich wieder ausgleichen können aber auch dazu führen können, dass nach einiger Zeit ein Ruckler entsteht. DRC ist eine Technik diese Abweichung zu kompensieren. DRC kann aber nicht in die Presche springen, wenn irgendwo im System eine Last Spitze verursacht wird. DRC steuert ganz sanft durch minimale Änderung im Audio Pitch (im nicht hörbaren Bereich) einer Abweichung entgegen.

    ---------

    Adaptive Sync Option (im Hauptmenu unter Optionen) hinzugefügt

    - nicht zu verwechseln mit FreeSync/GSync

    - Render Thread muss hierfür de-aktiviert sein

    - ist noch eine Spur leistungsfähiger als der Render Thread (ist jedoch kein Rundum Sorglos Paket)

    - Diese Option versucht nun in Abhängigkeit der angeforderten Emu Geschwindigkeit (FPS Menu in Statuszeile ) das beste Sync Verhalten zu verwenden.


    Vorteile

    - verwendet den Render Thread automatisch wenn die Monitor Wiederholrate von der angeforderten Emu Geschwindigkeit abweicht

    - stimmen Monitor und Emu Rate überein wird der Render Thread nicht verwendet und somit ist DRC möglich

    - der Sinn des Ganzen liegt darin im Gegensatz zu alten Denise Versionen keine Sync Optionen bedienen zu müssen, wenn die Emu Geschwindigkeit geändert wird

    - flüssiges Scrolling, wenn Emu Speed ein Vielfaches der Monitor Speed ist. Im Vergleich dazu kann der Threaded Renderer hier nicht mithalten.

    - über einen neuen hotkey kann der aktuelle Sync Status angezeigt werden. (inkl. der erkannten Monitor Refresh Rate)


    Nachteile

    - ist davon abhängig die korrekte Monitor speed zu erkennen (es ist leider nicht trivial, das was im OSD steht in der Programmierung auszulesen)

    - deswegen unbedingt den Hotkey bemühen und schauen ob die Monitor Rate richtig erkannt wurde

    - funktioniert nur zuverlässig auf dem Primär Monitor im Fall eines Multi Monitor Setups

    -----------


    Option für EMU Thread (Optionen / Einstellungen) hinzugefügt.

    - der Emulator wird hierbei in einem eigenen Thread parallel zum User Interface ausgeführt. (experimental, Crashes bitte melden)

    - nun ist es möglich im File Dialog über verschiedene D64 zu springen und während der Vorschau Generierung läuft der Emu ohne Audio Knackser weiter

    - oder das Emu Fenster kann verschoben werden ohne Audio Knackser

    - Grundsätzlich blockiert die Bedienung die Emulation deutlich weniger.


    Hinweis: für sauberes Scrolling ist weder Render- noch Emu Thread notwendig. (unabhängig ob Windows, Linux oder macOS) Beide Threads können unabhängig voneinander aktiviert werden.


    -----------------

    Option zum resizen im 4:3 Verhältnis (Optionen / Video)

    - eine Änderung der Fenster Größe behält nun das korrekte Seitenverhältnis bei. Somit müssen Höhe und Breite nicht mühsam angepasst werden um den schwarzen Rand loszuwerden.

    - der Bildschirm wird beim Resizen nun nicht mehr schwarz. Im Fall des Emu Threads läuft die Emulation sogar weiter.


    -----------------------

    ------------------------

    next tasks in no particular order

    - Free Sync

    - Auto Fire

    - Tape Content Viewer with click for autostart

    - load config from emu folder (portable)

    - Tape sounds (someone willing to help ?)



    Nachtrag:

    noch ein Hinweis für Linux Mint Nutzer mit Nvidia: Der empfohlene Nvidia Treiber ist 470. Davon würde ich abraten. In den meisten Auflösungen des App Fensters ist kein sauberes Vsync möglich. (Vollbild funktioniert)

    Mit der Version 495 funktioniert es.

    um KEINEN Motion Blur mehr zu sehen

    ja genau. Ich meine ein CRT hat auch Motion Blur, jedoch vernachlässigbar für das menschliche Auge.

    Der Blur Buster optimiert für verschiedene Display Hersteller unter anderem auch für meinen neuen ViewSonic XG270. Der läuft maximal mit 240 Hz. Ich beabsichtige neben der üblichen Black Frame Insertion (100/120 Hz) einen beliebigen Multiplikator zu vergeben um auf entsprechenden Monitoren die Bewegungsunschärfe noch weiter zu reduzieren.

    Der Blur Buster schlug dies bereits inkl. einer Idee für das Einblenden mehrerer Zwischenbilder für eine CRT ähnliche Bewegung vor, jedoch auf Kosten der Helligkeit. Ich bin gespannt, wie viel das bringt.

    Mit einem echten 6581 kann ichs grad testen.

    Die ARMSids hingegen spielen auch als "6581" Emulation Sound ab.

    funktioniert es auf einem "echten" 6581 ?

    ARMSids sind doch bestimmt FPGA's oder ?

    Das ist auch nur eine digitale Repräsentation und nicht gesichert, dass es dort richtig funktioniert wie auf einem echten Chip, da dessen Filter rein analog funktionieren.

    Ich persönlich finde ja die "fehlende" Krümmung das geringste Problem beim Flatsceen. MIT der Krümmung hat ja nicht wirklich ein Pixelkünstler gearbeitet und somit ist sie auch nicht unbedingt zentral/wichtig für einen originalgetreuen (bzw. -ähnlichen) Eindruck der Grafik. Ich kann zwar verstehen, dass man die Krümmung wegen des äußeren (Hardware-) Eindrucks gerne hätte aber wichtig für die Darstellung der Pixel ist sie mE eher nicht. Da wären mir die charakteristischen "Unschärfen" und das Leuchtverhalten des CRTs schon wesentlich wichtiger. Aber selbst das wird ja mittels CRT-Emulation nicht erreicht – außer Scanlines und unspezifischem Blur (oder bei manchen Emus halt Lochmasken- u.ä. Filter) wird ja nicht viel versucht.

    Hattest du dir mal die CRT Shader von RetroArch + VICE Core angeschaut. Die unabhängig entwickelten Shader sind, so weit ich weiß, das beste an CRT Emulation.

    Aus Mangel an Zeit und vor allem Interesse kümmere ich mich "nur" um das, was zwischen VIC Ausgang und TV Eingang passiert (inkl. Farbmischung im Rahmen der PAL Emulation), schon allein deswegen, da die unabhängigen CRT Shader sich nicht mit Retro System individuellen Anomalien beschäftigen.

    Die von dir beschriebenen Eigenschaften sind eine Wissenschaft für sich und nur allgemein in Denise wiedergegeben. (Maske, Blur, Scanlines). Ich weiß, das es Shader im RetroArch gibt, welche Scanlines und Blur dynamisch zu einander simulieren. (korrektes Überblenden von Scanlines)

    Jedoch schrieb der Blur Buster, das für eine echte CRT Emulation mindestens 1000 Hz fähige LCD Monitore nötig sind. (für eine zum CRT gleichwertige Bewegungsunschärfe)

    Wie schon öfter erwähnt, will ich in Denise die RetroArch Shader unterstützen.

    Wie sieht es denn jetzt, wo du die neue Karte hast, mit Denise aus? Läuft das ruckelfrei über einige Minuten weg?

    Nein funktioniert nicht mit VRR. Deswegen war es mir erstmal wichtig ein Proof of Concept zu finden, was mit MAME Vollbild endlich geklappt hat.

    Bis dahin, bin ich beim Testen mit RetroArch davon ausgegangen das meine VRR Hardware spinnt oder nicht richtig konfiguriert ist. MAME beweist aber das es funktioniert.

    Ich befürchte die Frame Drops im Fenster Modus kann nur der Karten Hersteller verbessern.

    Bei MAME nutze ich kein Vsync (wird nur für RA empfohlen in Bezug auf Freesync/G-Sync), weder im Treiber noch im MAME selbst. Ich lasse da alles aus. Also kein Tripple Buffer, Sync to Refreshate, Wait for Vertical Sync, oder Refresh Speed. Die 55Hz Spiele laufen so einwandfrei.

    ok genau so ist es bei mir auch eingestellt.

    Z.B. Shadow of the Beast (cartridge) (VICE Core) hat einen endlos scroller als Titelbild, wo man schön prüfen kann. Frequenz läuft zwischen 50 - 110.

    läuft das bei dir in RA flüssig mit FreeSync ?

    im Freesync Mode ohne Vsync

    Also nutzt du Vsync mit Freesync? Da gehen bei mir die Alarm Glocken an, sicher dass dann nicht der Vsync auf einer festen Rate läuft ?

    Es können auch 55 Hz Spiele auf einem Standard Monitor flüssig laufen, indem diese auf 60 Hz beschleunigt oder auf 50 Hz verlangsamt werden.

    Was auch auffällt, MAME kreist deutlich näher um die Ziel Frequenz als RetroArch.


    Z.B. Shadow of the Beast (cartridge) (VICE Core) hat einen endlos scroller als Titelbild, wo man schön prüfen kann. Frequenz läuft zwischen 50 - 110.

    Was sagt denn diese Pendulum Demo von nVidia? Ist damit alles flüssig?

    ist es aus, läuft aber im Vollbild.


    In RetroArch bekomme ich es auch im Vollbild nicht 100%. Am Besten läuft der Genesis PLUS GX Core. Der VICE Core in PAL läuft nicht sonderlich gut mit VRR.

    habe MAME ausprobiert mit Erfolg ... fast


    - Fenster Modus (ein Ruckler ca. aller 10 - 30 Sekunden )

    - Vollbild (nach 3 Minuten keinen Ruckler )


    Vielleicht kann das jemand nachstellen:

    - normale Mame Version, kein Ableger

    - Vsync unter Optionen ausschalten

    - Mortal Kombat (läuft nativ mit ca. 55 Hz, kann somit ohne VRR nicht flüssig scrollen)

    - VRR ein, ist klar

    - im Titelbild scrollen rechts und links die Kämpfer flüssig runter

    - am Besten aller 3 sec eine Münze nach werfen damit die Animation bestehen bleibt

    - mal die Animation mindestens eine Minute auf Micro Ruckler untersuchen


    Einige Male bereits habe ich was von Frame Drops im Fenster Modus im Zusammenhang mit G-Sync gelesen, ein Problem, was jahrelang nicht gelöst wurde.

    Wie sieht es hier für FreeSync im Fenster Modus aus ?

    Keine Ahnung ob das hilft (vermutlich nicht?), aber WinUAE läuft bei mir megacremig mit FreeSync und Beamracing, allerdings nur im Fullscreenmodus. RetroArch hab ich nicht im Einsatz, ebenso keine nVidia Karte.

    danke für die info. Ich probiere weitere Emulatoren demnächst aus.

    Ich habe einen sogenannten G-Sync Compatible Monitor, also einen Freesync Monitor, der mit Nvidia Karten G-Sync durchführen kann. (aber natürlich auch mit ATI Karten funktioniert)

    Nvidia hat das Problem, dass die echten G-Sync Monitore verdammt teuer sind und viele User, welche G-Sync nutzen möchten nicht bereit sind das zu bezahlen und sich somit gezwungen fühlen eine ATI zu kaufen um einen bezahlbaren FreeSync Monitor nutzen zu können.

    Um das in den Griff zubekommen, wurden die G-Sync Compatible Monitore eingeführt. Man hat nicht das volle Leistungsspektrum eines echten G-Sync. Z.B. kann ein echter G-Sync VRR in einer Range von einem Hz aufwärts fahren.

    Die FreeSync bzw. G-Sync Compatible können dies nur von 48 oder 50 Hz aufwärts, was sicherlich für Retro Emulatoren ausreicht.

    Man sollte jedoch nicht blind einen G-Sync Compatible Monitor kaufen. Da gibt es viele Modelle mit unschönen Problemen. Aus diesem Grund hat Nvidia eine Liste mit vernünftig funktionierenden Modellen erstellt.

    Ich habe nun endlich eine G-Sync fähige Grafikkarte über Display Port angeschlossen. In der NVidia Systemsteuerung taucht auch direkt ein neuer G-Sync Punkt auf. Nach etlichen Einstellungs-Versuchen sprang der G-Sync in RetroArch im Fenster Modus auch an. Man sieht im OSD wie die Frequenz hektisch hin- und her springt.

    Nun habe ich 3 Cores probiert mit Spielen, die ein weich scrollendes endlos laufendes Intro haben.

    Die Qualität schwangt, aber stabil so wie Vsync mit fester Rate, war es nie. Es gab nach ein paar Sekunden immer ganz minimale Micro Ruckler. Ich "vermute", das liegt am Core, weil das "Frame Pacing" nicht exakt genug ist ?

    Kennt jemand einen Core + Spiel (mit selbst laufenden Scroller), wo es richtig gut funktioniert ? Ein selbst laufender Scroller (den man über Minuten beobachten kann) ist schon wichtig, um wirklich zu sehen ob es passt.