Hello, Guest the thread was viewed270k times and contains 2402 replies

last post from frankyman1969 at the

Denise C64 + Amiga Emulator

ATTENTION: The mail system is currently not fully configured, so no e-mail notifications (subscribed forums, etc.) will be sent until the final setup. New registrations, password changes, etc. are also currently not possible.
  • Wegen Denise 2.0 unter MacOS. Wie gesagt, keine Spritekollisionen in H.E.R.O. Sobald man ein Gegnersprite berührt, zappelt der Player ganz schnell zwischen dem aktuellen und dem Tod hin und her, gibt ein komisches ganz schnelles Geräusch von sich - aber er stirbt nicht. Man kann auch keine Gegner mit dem Laser abschließen.

  • PS: Und RICHTIG KLASSE wäre eine "Portable Lösung", dass also die Ini Dateien nicht irgendwo in "roaming" herumfliegen, sondern lokal gepeichert werden. Damit ich Denise eben 1:1 auf all meinen Retrorechnern nutzen kann (sync)

    Wenn die ini Dateien in den Emu Ordner gelegt werden, werden diese anstatt der globalen verwendet.

    Ich hab das zwar schon in einem anderen Thread gepostet, aber ich hab irgendwie Probleme mit der Spritekollision mit Denise 2.0. Hab ein paar Spiele probiert, in manchen gehts, in anderen nicht, z.b. in H.E.R.O: sobald man eine herumfliegene Fledermaus berührt, bewegt sich das Player-Sprite seltsam, aber sonst passiert nix. Ist da was falsch eingestellt oder ist das ein Bug?

    Ging es denn in der vorherigen Denise Version ? Das es in mehreren nicht geht ist kaum wahrscheinlich, ansonsten würden mehrere Reports rein kommen.

    Wenn ich raten müsste, würde ich sagen du hast runahead dauerhaft aktiv mit der Option "Performance". Hier läuft ranahead performanter, aber Sprite Kollisionen werden nicht berechnet. Wenige Spiele benötigen dies. Auf dem Amiga sind es nochmal deutlich weniger, da die Sprites mit dem Blitter gezeichnet werden.

    KNARRT der ganze Sound. Ich nutze den Sound der Diskettenlaufwerke (damit ich weiss, dass unter Jiffy brav geladen wird), also das "klack, klack / Track, Track) Geräusch. Und der ganze Emulator "Knarrt" im Sound. Ich habe die Latenz des Sound verringert, also auf die minmalen Werte (12 ms) + Haken bei "Hohe Priorität". Das funktiniert, ich denke richtiger Weg, oder?

    Karrt es nur beim Wechsel ins Vollbild oder dann dauerhaft. Einfach mal andere Audio Treiber auswählen

  • Ich hab das zwar schon in einem anderen Thread gepostet, aber ich hab irgendwie Probleme mit der Spritekollision mit Denise 2.0. Hab ein paar Spiele probiert, in manchen gehts, in anderen nicht, z.b. in H.E.R.O: sobald man eine herumfliegene Fledermaus berührt, bewegt sich das Player-Sprite seltsam, aber sonst passiert nix. Ist da was falsch eingestellt oder ist das ein Bug?

    Ging es denn in der vorherigen Denise Version ? Das es in mehreren nicht geht ist kaum wahrscheinlich, ansonsten würden mehrere Reports rein kommen.

    Wenn ich raten müsste, würde ich sagen du hast runahead dauerhaft aktiv mit der Option "Performance". Hier läuft ranahead performanter, aber Sprite Kollisionen werden nicht berechnet. Wenige Spiele benötigen dies. Auf dem Amiga sind es nochmal deutlich weniger, da die Sprites mit dem Blitter gezeichnet werden.

    Oh, danke! Es war wirklich nur der Haken bei „Performance“. Da wäre ich niemals draufgekommen…

  • Hallo.


    Also.... Denise: Ich hatte das "Ding" mal durch ein YouTube Video gefunden. Nett. Nicht groß beachtet, weil Zeitmangel.


    DENIS: MEIN EIGENTEST


    Ich nutze ja diverse WinViceversionen. Und habe da so meine Programme zum "testen", also gefühlt und "versuchte Versuche". "Gefühlt" sind so Dinger, wie ein paar Minuten diverse Scrollings anzusehen, z.B. ganz simpel "Giana Sisters" der Startbildschirm oder anderes. So mancher Emulator ruckelt und hackt da minimal. (Verschiedene Rechner, Win 11). DENISE nicht ein bisschen.


    Dann habe ich so eine "Selbstbauschaltung" aus alten Zeiten, die einfach (alter Competition USB Platzine) 200 mal links rechts "wackelt", also den Stick bewegt (bzw. Kontakte auslöst) und ich das mit einem simplen Programm am Emulator "zähle" und die Zeit nehme. Das ist natürlich alles andere als wirklich genau, Testbedingung oder Labor. Im Grunde nutze ich das für alte Netbooks, Notebooks, alte Retrorechner um da in etwa "Latenz" einzuschätzen. Denise schlägt sich da mit und Ohne (!) RunAhead BESSER als Vice 2.4, 3.2, 3.2+jiffy, 3.4+ (neue Version). KEIN Ruckeln / Soundhaken in meinen Testspielen und beste Zeiten in meinem "Alte-Joystick-Wackel-Zähltest". Und das schon OHNE Run aheed (das ich aber dann auch zusätzlich nutze). WOW! WOOOOW! (Das sind eigene "Tests", also nicht festnageln. Aber für mich als Nutzer kommt es auf meine ganz bescheidene Art der Nutzung an, Spiele starten, wenig ruckeln: und das bisher bestens.


    WTF?


    Wie hat der Programmierer DAS denn hinbekommen?


    Okay: als simpler Nutzer und Betrachter (Bewunderer nun): Weniger an Ballast, wie ich so sehe. Weniger GTK Bibliotheken, vieles auf minimalismus und optimiert gesetzt. Vermute ich. Die Richtung. Überhaupt scheint das Ganze Ding mehr als durchdacht. Jetzt, nach den Tagen und etwas schauen: aufgeräumt, optimiert, da hat sich jemand wirklich Gedanken gemacht!


    Auf jeden Fall hat mich die gute "Denise" die letzten "Testtage" sehr beeindruckt! Ich nutze die gute jetzt als primäre Startoption meiner C64 Spiele.


    DANKE für Antworten: die lokalen "Ini": funktiontert TRAUMHAFT, eine der BESTEN Lösungen überhaupt (ein, zwei Emulatoren, diverse Portable-Versionen anderen Krams nutzen das ähnlich). Für mich als "Mainstreamanwender" aber eine der besten Lösungen in der Handhabung. DANKE.


    Ich muss mich jetzt noch mit "Mehrdisketten und Wechsel" auseinandersetzen, aber das kommt noch, wenn etwas Zeit die Tage. Sind eh nur so 20 Spiele, die ich da nutzen würde. Aktuell erkennt Vice, wenn ich ein Spiel mit mehr als einer Disk starte und übernimmt durch meinen bescheidenen "Starter" aber das kommt sicher auch noch.


    DENISE? TOLL!


    PS: Was ich noch suche, nicht gefunden habe: Wechsel des Joyport 2 zu 1. Ideal per Hotkey. Bisher muss ich im Vollbild auf Fenster / Menü umschalten und die Einstellung vornehmen.

    TRAUMHFT wäre, wenn die gute Denise Spielname_J1.d64 erkennt, ähnlich wie Emulatoren / C64 Maxi oder in der Art "Spielname (j1)" wie Retroarch und Co.

    ich habe alle Spiele mit Joyport 1 entsprechend im Dateinamen (_J1.d64) benannt. Mein Wunsch wäre, dass Denise das erkennt und nutzt...

  • Da kann ich Dir "Listary" als Tool empfehlen.

    Es rüstet zwar nicht exakt diese Funktion nach, die Du Dir wünscht, ist aber (unter Windows) ein sooo mächtiges und nützliches Tool, dass jeden nativen File-Requester von Windows genial erweitert.

    Dieses Tool erhöht meine Produktivität ungemein!
    https://www.listary.com


    Als weiteren Tipp und für mich zusammen mit Listary ein Dream-Team für Dateiverwaltung/Handling:

    https://freecommander.com/de/ubersicht/


    Super ergänzt werden die zwei von einer ultraschnellen Dateisuche:

    https://www.voidtools.com



    Edit:

    Aktuelle habe ich auch noch einen Wunsch bzw. Suche nach der Umsetzung dieser Möglichkeit:

    Kann man Denise so einstellen, dass es jeweils nur eine Instanz von sich erlaubt und dann in dieser einen Instanz eine neu zu übergebende Datei öffnet anstatt eine weitere Instanz zu starten?


    Also Denise läuft gerade und emuliert etwas und nun öffne ich nicht innerhalb von Denise eine neue Datei, sondern etwa per Doppelklick in Windows oder über Assembly64. Das öffnet dann jeweils eine neue Denise-Instanz. Schöner wäre es aber, wenn die laufende Instanz diese Datei übernehmen würde, einen Reset macht und diese dann ausführt.

  • Mir crashed Denise vom 18.5.23 11:22 h bei dem Versuch, das Wheels 64 4.4 Image von Geos Wheels Masterdisketten auszuprobieren. Dazu muss man eine REU mit mindestens 512k hinzufügen und eine 1351 am Port 1.


    Während des Ladens von Denise crashed das ganze Denise und das Denise Fenster verschwindet von ganz allein, so dass nichts von Denise mehr zu sehen ist.


    Windows 10 64 bit 22H2.

  • was super wäre, wäre ein zusätzlicher Menüpunkt bei Software laden/Software wie „Zuletzt benutzte Dokumente“ - sozusagen zum Schnellstart von einem der zuletzt geladenen Programme.

    ich packe das auf die Liste

    Kann man Denise so einstellen, dass es jeweils nur eine Instanz von sich erlaubt und dann in dieser einen Instanz eine neu zu übergebende Datei öffnet anstatt eine weitere Instanz zu starten?

    Das müsste man mal recherchieren ob so was generell möglich ist. Auf jeden Fall sollte dies nur per Option passieren.

    Mir crashed Denise vom 18.5.23 11:22 h bei dem Versuch, das Wheels 64 4.4 Image von Geos Wheels Masterdisketten auszuprobieren. Dazu muss man eine REU mit mindestens 512k hinzufügen und eine 1351 am Port 1.

    hoppla, ok prüfe ich.

  • Mir crashed Denise vom 18.5.23 11:22 h bei dem Versuch, das Wheels 64 4.4 Image von Geos Wheels Masterdisketten auszuprobieren. Dazu muss man eine REU mit mindestens 512k hinzufügen und eine 1351 am Port 1.


    Während des Ladens von Denise crashed das ganze Denise und das Denise Fenster verschwindet von ganz allein, so dass nichts von Denise mehr zu sehen ist.

    kann ich nicht nachstellen. Kannst du es bitte nochmal im nightly von heute probieren.

    Möglichkeiten:

    1. Vielleicht der alte Bug, wenn ein ZIP per Frontend loader oder command line geöffnet wird. [gefixt vor ein paar Wochen]

    2. eventuell unter Optionen/Einstellungen "Threaded Emulation" ausgewählt. wenn ich ein UI Ereignis vergessen habe mit dem Emu zu synchronisieren, kann es zufällig knallen. Deswegen habe ich diese Option dauerhaft aktiv um schnell Probleme zu sehen. Im Zusammenhang mit diesem Report konnte ich aber nix feststellen.


    Ändert sich am Problem was, wenn du das Programm verschieden lädst, z.B. File Dialog, DragnDrop, Command Line. Ich nehme an, andere REU Anwendungen zeigen das Problem nicht ?

  • Da kommt mir eine Idee - weil ich das erst diese Woche gelesen habe:


    Quote

    - (bugfix) custom KbdEdit layout DLL's contents were getting corrupted if the same DLL is loaded simultaneously in multiple processes.


    This was causing
    crashes in GTK apps, and could also cause crashes of taskhostw.exe when running Metro, VBA or Delphi apps.


    For this fix to take effect, layouts saved with pre-23.5.0 versions must be
    opened
    and saved back using 23.5.0 or later.


    (thanks to Luca Bacci, Philippe Kappel and Paul Qureshi for providing detailed bug reports)

    Ich frage mich da, ob das ein Grund sein könnte... Ein KbdEdit Layout habe ich installiert...


    Nun denn, ich habe heute die korrigierte Version von KbdEdit bekommen, mal schauen, ob das einen Unterschied macht.

  • Snapshotsave & Highscore Saver Probleme

    PiCiJi Beim direkten Spielstart des Spiels "Enforcer" über das Gamebase64 mittels Batchfile+savestate [siehe Code unten] ist mir neulich aufgefallen, das, jedesmal, wenn man einen Highscore aktualisieren will, der Savestate nicht wie erwartet, einfach überschrieben wird, sondern ein neues savestate file, bsplws. namens: "enforce_0.sav" mit einem hinzugefügten Unterstrichenzeichen "_", also als "enforce__0.sav" erzeugt wird, was dann natürlich leider nicht direkt wieder beim nächsten Aufruf über das Gamebase64 verarbeitet wird, wenn man nicht extra den Dateinamen anpasst, bzw. das Batchscript. Natürlich könnte man einfach das Spiel als .crt oder .d64 Version komplett laden und somit die Highscores speichern lassen, allerdings möchte ich gerne die ganzen Cheatabfragen etc. überspringen, um direkt jedesmal bei Spielstart, den Titelscreen mit zusätzl. Einsparung an Ladezeit aufzurufen und einfach bei Erspielen eines neuen TOP10 Eintrags, dann die Highscore mittels der Savestate Überschreibungs-Methode speichern.


    Noch idealer wäre es natürlich, wenn die internen Highscores vom image grundsätzlich Priorität haben, sodass, das zusätzliche Snapshit-Speichern sich bei neuem Highscore komplett erübrigt,

    also das nach Aufruf eines Savestates, automatisch die Highscores von cartridge bzw Disk gelesen werden, ohne diese, mit denen, der zum Zeitpunkt des Speicherns existenten Highscores

    vom Savestate zu überschreiben.


    Gibt es da schon eine Lösung zur Umgehung dieses Problems? Da lässt sich doch bestimmt ein wenig 'tricksen' :-)

    Ansonsten, wäre Klasse, wenn du diesen Troubleshoot noch auf deine Todo Liste packen würdest.

    Hier noch ein paar weitere Vorschläge für die ToDo Liste:

    Shortcuts (zum Toggle'n):

    - Geometrie / Seitenverhältnis: "Fenster / CRT TV" = für "Fullscreen Strecken ohne schwarze Ränder

    - Load Savestates 0-9 (Bsp. STRG + 0-9), Save Savestates 0-9 (Bsp.: ALT + 0-9), (optional vlt. noch +2 Shortcuts für Saveslot-Bankswitches rauf/runter schalten von 1-3 Bänken?)

    - Priorisierung bei Doppelbelegung: "Controlport / Tastatur" Keyset Toggle

    - Audio Menu Shortcut


    'Kleine' Probleme bei Spielaufruf über Batchscripting / beim Starten im Fullscreen

    - nach Batchscriptstart über bsplsw. Gamebase64 Frontend, hat Emu-Fenster keinen Focus (nach jedem Spielstart ist ein Klick ins Fenster erforderlich, ehe man Zugriff auf den Emulator hat) Direkter Fokus wäre wünschenswert

    - Beim automatischen Starten im Fullscreen über Batchaufruf wirkt das Schalten in den Fullscreen nicht ganz flüssig bzw. verzögert (trotz Verweundung von Direct X11 auf Win7 64bit)


    lg Gabriel :-)

    Erst wenn dein Tastatur-Scroll Lock LED genauso blinkt wie das LED eines Floppys und dabei synchron 1571er Laufwerksounds mit einem "Ratta-tata-tatt" aus deinen PC Lautsprechern ertönen,

    wirst du die langen Ladezeiten deiner .d64 images wieder entspannt aussitzen können! :rolleyes: Aber sind wir C64 Audiophiles nicht alle ein bischen "Ratta-tata-tatt" im Kopp? :thumbsup:

    Edited once, last by Gabriel_West ().

  • nightly:


    Der "automatische" Savestate Bezeichner setzt den Dateinamen beim Einlegen einer Disk/Tape usw. als Spielstand Bezeichner ein.

    Der Dateiname wird gekürzt um unabhängig von Disk Seiten zu sein.

    z.B. Turrican 1.d64 wird geladen. Der savestate Bezeichner heißt dann Turrican. Ziel des Ganzen ist es, das Spielstände per Hotkeys auch geladen werden können, wenn dieser auf Disk 1 erstellt wurde, aber Disk 2 gerade eingelegt ist.

    Ohne diese Kürzung würde der Spielstand eines anderen Dateinamens (also anderer Disk) nicht automatisch wieder gefunden.

    Der finale Spielstand Bezeichner enthält noch den Slot, also Turrican_0 oder Turrican_1

    Ein andere Möglichkeit ist es, den Savestate Bezeichner manuell zu setzen für volle Kontrolle.


    Beim Laden von Spielständen als Kommandozeilen Parameter greift diese Kürzung auch, muss jedoch anders durchgeführt werden.

    im letzten nightly ist das korrigiert.

    Es wird nun aus Enforcer_0 -> Enforcer . Es wird alles inklusive dem letzten Unterstrich weg geschnitten.

    Damit die generelle Logik dann wieder Enforcer_[slot] anfügen kann. Teste doch mal bitte.


    hint: Bei der Übergabe von .sav Dateien müssen nicht unbedingt die image Dateien angefügt werden. Es wird versucht zu .sav die .sav.images zu finden. Dort sind alle zum Spielstand gehörigen Images hinterlegt und werden wieder eingelegt, inkl. Firmware. Nur wenn diese Datei nicht vorhanden oder kaputt ist, gelten die manuell eingelegten images.


    - Geometrie / Seitenverhältnis: "Fenster / CRT TV" = für "Fullscreen Strecken ohne schwarze Ränder

    Du meinst, das oben und unten Bild Teile fehlen, damit das Verhältnis gewahrt wird.


    - Audio Menu Shortcut

    ja der fehlt.

    - nach Batchscriptstart über bsplsw. Gamebase64 Frontend, hat Emu-Fenster keinen Focus (nach jedem Spielstart ist ein Klick ins Fenster erforderlich, ehe man Zugriff auf den Emulator hat) Direkter Fokus wäre wünschenswert

    also wenn über Commandline gestartet, hat das Emu Fenster Fokus. Wird der Fokus durch Gamebase verhindert ?

    - Beim automatischen Starten im Fullscreen über Batchaufruf wirkt das Schalten in den Fullscreen nicht ganz flüssig bzw. verzögert (trotz Verweundung von Direct X11 auf Win7 64bit)

    DX11 wird noch nicht unterstützt. DX9 ist ziemlich träge. Geht es in openGL schneller ?

    Schaltest du noch Auflösung, Wiederholrate oder exclusive fullscreen mit um ? Dies geht auf keinen Fall flüssig.

  • Ich habe die Option "adaptive sync" unter Option/Video verschoben und umbenannt in: Threaded Renderer: "aktiviert wenn Vsync und Emu Speed abweichen"


    Die Option war von der Benennung her leicht mit VRR zu verwechseln. Zudem ist es keine eigenständige Sync Option sondern nur eine Hilfe um den threaded

    Renderer Situations gerecht automatisch an/aus zuschalten.

    Folgendes gilt nur für die Benutzung von Standard Monitoren. VRR Nutzer benötigen diese Option nicht bzw. macht diese keinen Sinn.

    VRR wird aus gegraut, wenn diese Option aktiviert ist.


    Hintergrund:

    Wenn Vsync aktiviert ist und im Emu aber eine höhere Geschwindigkeit als die Monitor Wiederholrate eingestellt ist, kann diese Geschwindigkeit nicht sauber erreicht werden, da Hardware Vsync blockiert. Der Nutzer könnte dies schnell für einen Bug halten. Wird dies erkannt, wird der Threaded Renderer aktiviert.

    Vsync kann somit aktiviert bleiben. Stimmen Emu Speed und Monitor Wiederholrate überein wird der Threaded Renderer deaktiviert.


    Threaded Renderer: []aktiviert []aktiviert wenn Vsync und Emu Speed abweichen *neu*


    erste Checkbox aktiviert den Threaded Renderer immer, zweite Checkbox nur wenn Emu Speed und Monitor Wiederholrate abweichen.


    Warum das Ganze überhaupt ? Warum nicht permanent den Threaded Renderer aktiviert lassen ?

    Das ist auch dies, was ich empfehle. Hier holt man das beste raus, besonders bei krummer von der Monitor Wiederholrate abweichender Emu Speed.


    Nun kann es aber sein, das der extra Thread zu alte Computer so arg belastet, das kein flüssiges scrolling funktioniert, selbst wenn Emu Speed und Monitor Rate übereinstimmen. Deswegen die Möglichkeit dies

    abzuschalten oder die oben beschriebene Option der automatischen Entscheidung ob Threaded Renderer oder nicht.

    Die Wahrscheinlichkeit für einen Mikro Ruckler ist in einer Thread Ausführung immer höher. kommt total auf die verwendete Hardware an, darum testen ob es für einen passt.


    Die automatische Entscheidung ob Render Thread oder nicht ist davon abhängig, ob die Monitor Wiederholrate richtig erkannt wird. Das ist leider nicht immer zuverlässig.

    In dem Fall kann die Option nicht sinnvoll genutzt werden.

    Zur Erleichterung gibt es einen "Sync" Hotkey. Der zeigt die erkannte Monitor Wiederholrate an. Wenn diese nicht die Tatsächliche ist, dann bitte die automatische (ehemals als "adaptive sync" bezeichnet) Entscheidung zur Verwendung des Threaded Renderer abschalten.

  • Hallo,


    ich bin... irgendwie begeistert von "Denise" und nutze den Emulator nun hauptsächlich.


    FRAGE ZUM AMIGA: Ich überlege, auch meine liebsten Amiga 500 Spiele irgendwie damit zu nutzen. Gibt es eine Möglichkeit, zwei, drei Diskettenimages in das gleiche Laufwerk zu übergeben, also "einzulegen" und dann per Tastenkombination durchzuschalten / wechseln?


    Irgendwie so: "denise.exe DISK1.adf -df0 DISK2.adf -df0 ?

  • Gibt es eine Möglichkeit, zwei, drei Diskettenimages in das gleiche Laufwerk zu übergeben, also "einzulegen" und dann per Tastenkombination durchzuschalten / wechseln?

    Disk Wechsler ist vorhanden.

    im Moment läßt sich der Disk Wechsler noch nicht von der Commandline befüllen. Ich nehme an dir geht es um die Commandline ?

  • Teste gerade Denise 2.0 und mir ist aufgefallen das ein Intro von mir nicht passt das aber im Vice und auf echter Hardware ohne Probleme läuft.

    Bei Denise wird aber der Scrolltext falsch angezeigt, da sind einige Buchstaben verstümmelt.

    Im Anhang ist das Intro

  • Bei Denise wird aber der Scrolltext falsch angezeigt, da sind einige Buchstaben verstümmelt.

    Die erste Frage, die sich mir dann immer stellt: Läuft es auf einem echten Cevi? Denn, dass es in Vice (2.4, 3.1 u. 3.1sc getestet) geht und in Denise nicht, muss nicht heißen, dass Denise was falsch macht.