Hello, Guest the thread was viewed262k times and contains 2388 replies

last post from PiCiJi at the

Denise C64 + Amiga Emulator

  • Hallo,


    DANKE für Arbeit, Mühe und ANtwort.


    Ja, ich würde mir eine Commandlinelösung wünschen. Ich nutze Denise jetzt für einen eigenen C64 Starter, setze das aber gerade für den Amiga 500 um. Also Diskimages einfach per Parameter aus einer Startumgebung mit Covern übergeben. Bisher nutzte ich nur WinUAE, bzw. WHDLoads in eigener Umgebung. ich würde aber gerne eben ein kleines Verzeichnis "amiga 500" nur mit .ADF (Disk) Spielen zusammenstellen. Und da dann eben Denise nur nutzen. Commandline wäre also dringender Wunsch von mir.


    In der Art wie geschrieben: "Denise. exe Disk1.adf Disk2.adf". Einige Spiele laufen ja nur über DF0, andere nutzen zwei Laufwerke. Persönlich wäre ich zufrieden, wenn ich in Denise nur ein Laufwerk einstelle, dann diese Parameter übergebe, im Spiel dann mit einem Hotkey die nächste Disk einzulegen. Ich handhabe das z.B. so:


    "DungeonMaster-Disk1.adf"

    "DungeonMaster-Save.adf"


    oder


    "Falcon-Disk1"

    "Falcon-Disk2"


    Alle SPiele > 1 Disk könnte ich dann auch bequem nutzen.

  • Guten Morgen und hallo alle zusammen.


    Wie kann ich den Disketten Wechsler benutzen?


    Ich weise die Disketten zum Beispiel in der Amiga-Emulation zu.


    Soweit schon mal gut, wenn ich jetzt zum Beispiel Disc 2 von dem Spiel einlegen soll,


    dann kann ich nur Einlegen und Laden auswählen - der Amiga macht dann Neustart.


    Oder gibt es da eine andere Möglichkeit, außer das passende Image auszuwählen?

  • PiCiJi

    Grad dein neuestes Nightly getestet,...sieht gut aus, sowohl die zuvor erwähnten Snapshotsave Probleme, als auch die fehlerhafte SID Auswahl Ansicht, sind dabei scheinbar komplett behoben, besten Dank für deine Mühen :-)

    Quote

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

    sry, meinte natürlich nur die schwarzen Ränder links u. rechts, also einen shortcut zum toggeln zwischen komplett gefülltem Screen und true aspect ratio bezügl. der originalen C64 Auflösung. Habe i.d.R nur diese beiden Optionen angehakt und fände einen zusätzlichen Toggle Shortcut daher hierzu sehr nützlich.

    Quote

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

    Jepp, letzteres war der Fall
    Quote

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

    opengl liess bei mir ebenso, wie bei einem anderen user zuvor hier im Forum kratzenden Sound entstehen (trotz Aktivierung von 'Threaded emulation') mglws. ist mein alter "Intel Core2Duo mit 2x 2,8 Ghz und onboard grafik chip (Express chipset q43/q45) auch einfach zu schwach. (Baujahr des PC's ist ca. 2009 :D) Mit Direct3D funzt die Emulation dagegen hier nahezu ruckelfrei +ohne Soundprobleme. Die Emulation ist dann sogar gefühlt einen Tick besser als mit Vice.

    Quote

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

    Normalerweise nie (allein schon aus Gründen der Schonung des Monitors) Hatte im Denise bislang immer die besten Ergebnisse mit nativer Desktop Auflösung bei 60Hz Monitor Refreshrate Einstellung, welche die native meines TFT Monitors ist. (Exklusiver Fullscreen + Threaded Renderer dabei deaktiviert) Dieses minimale, kleine Problem verursacht dann wohl nur meine schwache Onboard Graka

    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:

  • Das Programm setzt die Speicherkonfiguration nach dem Einschalten voraus, und nur damit funktioniert es, wie es soll.


    Abhilfe: In Denise unter Konfiguration > Speicher die "Vorkonfiguration 1" auswählen, dann Einstellungen speichern.

    Danke, das hat geholfen.

    Denise ist ein schöner Emulator, vor allem die Bildeinstellungen gefallen mir sehr gut.

    Bis jetzt läuft alles einwandfrei bis auf Micro Hexagon, da friert das Spiel ein wenn ich nach dem Intro die Feuertaste drücke.

    Was kann ich da eventuell noch einstellen ?

  • Bei mir läuft das Spiel.

    Tja, irgendwie passt da was nicht. Auch das original G64 von Denaris spinnt. In Vice passt es

    Nehme alles zurück, alles läuft jetzt ohne Probleme.

    Die Einstellungen für die Joysticks waren falsch, passt alles :)

  • Das Programm setzt die Speicherkonfiguration nach dem Einschalten voraus, und nur damit funktioniert es, wie es soll.


    Abhilfe: In Denise unter Konfiguration > Speicher die "Vorkonfiguration 1" auswählen, dann Einstellungen speichern.

    Es gibt einiges an C64 Software, welche vom Initialzustand des Arbeitsspeicher nachdem Reset abhängig ist. Entwickler übersehen das schnell, da der Speicher Zustand nicht einfach zufällig ist, sondern ein gewisses Muster hat und es somit auf einem Gerät immer passt und auf einem anderen dann kaputt erscheint.

    Wäre es immer rein zufällig, würde es dem Entwickler der Software ganz schnell auffallen.

    In der Art wie geschrieben: "Denise. exe Disk1.adf Disk2.adf". Einige Spiele laufen ja nur über DF0, andere nutzen zwei Laufwerke. Persönlich wäre ich zufrieden, wenn ich in Denise nur ein Laufwerk einstelle, dann diese Parameter übergebe, im Spiel dann mit einem Hotkey die nächste Disk einzulegen. Ich handhabe das z.B. so:

    Ich setze das auf die todo Liste. Jedoch kann ich die Syntax so nicht übernehmen, da dieses Beispiel weiterhin die einzelnen Laufwerke befüllen muss. Es wird dann ein Parameter vorangestellt wie "swapper Disk1 Disk2" usw.

    also Denise.exe Disk1.adf Disk2.adf -swapper Disk1.adf Disk2.adf Disk3.adf Disk4.adf

    legt Disk1 in DF0 und Disk2 in DF1 ein. und alle images nochmal in den Wechsler zum späteren Wechsel

    sry, meinte natürlich nur die schwarzen Ränder links u. rechts, also einen shortcut zum toggeln zwischen komplett gefülltem Screen und true aspect ratio bezügl. der originalen C64 Auflösung. Habe i.d.R nur diese beiden Optionen angehakt und fände einen zusätzlichen Toggle Shortcut daher hierzu sehr nützlich.

    achso ein Hotkey für die bereits bestehende Funktion. ok auf Liste

    opengl liess bei mir ebenso, wie bei einem anderen user zuvor hier im Forum kratzenden Sound entstehen (trotz Aktivierung von 'Threaded emulation') mglws. ist mein alter "Intel Core2Duo mit 2x 2,8 Ghz und onboard grafik chip (Express chipset q43/q45) auch einfach zu schwach.

    möglich das die Power hier nicht ausreicht. Audio Treiber wechseln und Audio Latenz höher stellen. Threaded Renderer und Threaded Emulation ausschalten.

  • Darf ich mich mal *begeistert* hier bedanken?


    Nicht nur für die Mühe, das "Werk" an sich, welches mich (normaler Mainstreamnutzer) überzeugt hat, sondern auch Reaktion als Programmierer hier im Forum und Thread?


    So als kleiner, bescheidener Bastler hoffe ich, dass sich das Ganze nicht in zu viele Optionen, Parameter, Einstellungen, Extras zerfasert. Wobei nichts gegen die Wünsche und Anregungen, ich mag eben das derzeit absolut kompakte und reduzierte. SOll nur nicht für Dich in ewige Baustelle untergehen.


    DANKE also mal für Mühe und "Denise".

  • nightly:

    ich habe nun einen neuen PC mit Windows 11. Dadurch sind mir 2 Dinge aufgefallen.


    1. Wasapi Audio Treiber funktioniert nicht mehr. Es klingt total verzehrt. Auf einer 2. Platte ist Windows 10 für die neue Hardware installiert und das Problem blieb bestehen. Tatsächlich begründet sich der Unterschied in einer veränderten Sound Hardware meines neuen Mainboards.

    Die Initialisierung von Wasapi ist nun überarbeitet und sollte mit sämtlicher Sound Hardware zu recht kommen.


    2. Leistungseinbrüche (nur C64) beim Warp oder runAhead wenn "Disk Emulation bei Bedarf" inaktiv ist.

    Grundsätzlich gibt es keinen Grund auf die Performance Vorteile von "Disk Emulation bei Bedarf" zu verzichten. Hierbei wird die Disk Emulation solange deaktiviert, bis der C64 wieder eine Kommunikation zu den Laufwerken versucht.

    Ich kann mich an kein Programm erinnern, was dadurch nicht funktioniert.


    Sollte man diese Option dennoch deaktivieren und die Laufwerke permanent mit emulieren, kann es auf schnelleren CPU's zu Leistungseinbrüchen bei Warp oder runAhead kommen.

    Das liegt an der Option "Disk Thread"


    Die Option Disk Thread wurde überarbeitet und hat nun 3 Zustände: Aus / An / An (veraltet)

    Es geht darum, wieviel Last der Emulator verursacht, wenn die Laufwerke im Leerlauf sind.


    An: ist nur sinnvoll, wenn man 3 oder mehr Laufwerke emulieren will oder "Disk Emulation bei Bedarf" nicht aktivieren möchte.

    Aus: empfohlen in Verbindung mit "Disk Emulation bei Bedarf"

    An (veraltet): holt auf langsameren CPU's mehr FPS beim Warp raus, kann modernere CPU's böse blockieren bei Warp oder runahead. und nur sinnvoll, wenn ein Laufwerk emuliert wird.


    Beim Amiga gibt es dieses Problem nicht, da die Laufwerke keine eigenständigen Computer mit eigener CPU sind und somit im Leerlauf keine nennenswerte Last verursachen.

  • Ich hab hier seit Denise 2.0 ein Problem mit den Dialogfenstern unter MacOS Ventura am M1. Egal ob Software laden oder Einstellungen - es passiert immer wieder, dass die Dialogfenster einfach nicht aufgehen. Meist passiert es, wenn man probeweise irgendein Programm aus dem Downloadordner einbindet und dieses danach löscht - dann kommt eine Fehlermeldung, dass das Programm nicht geöffnet werden konnte. Seit dem gehen die Dialogfenster auch nicht mehr auf. Ich muß dann die Einstellungsdatei C64 löschen, dann geht es wieder. Bis zum nächsten Programm, dass nicht geöffnet werden kann. Das ist echt öd.

  • nightly, baut gerade.

    Ich hab hier seit Denise 2.0 ein Problem mit den Dialogfenstern unter MacOS Ventura am M1. Egal ob Software laden oder Einstellungen - es passiert immer wieder, dass die Dialogfenster einfach nicht aufgehen. Meist passiert es, wenn man probeweise irgendein Programm aus dem Downloadordner einbindet und dieses danach löscht - dann kommt eine Fehlermeldung, dass das Programm nicht geöffnet werden konnte. Seit dem gehen die Dialogfenster auch nicht mehr auf. Ich muß dann die Einstellungsdatei C64 löschen, dann geht es wieder. Bis zum nächsten Programm, dass nicht geöffnet werden kann. Das ist echt öd.

    sehr guter Fund, passiert auch auf High Sierra und sicher allen anderen Versionen. Das zu zeitige Nachrichten Fenster verursacht das Problem mit den Settings Fenstern.


    Es ist jetzt so, dass beim Emu Start unter macOS keine Nachrichten Fenster mehr angezeigt werden.

    Beim App Start ist das auch ziemlich lästig. Erst bei einem erneuten Reset kommen diese Fenster, wenn gemerkte Images nicht mehr gefunden werden können.

    Das ziehe ich demnächst für Windows und Linux nach.

  • mir ist nochwas aufgefallen: meiner Meinung nach ist die Steuerung etwas verzögert, fühlt sich jedenfalls seltsam an. Ich hab einfach die Kursortasten für die Joystickrichtungen eingestellt.

    das kann viele Gründe haben.

    - liegt es an deiner Hardware ? empfindest du das bei anderen Emulatoren als schneller.

    - liegt es am Spiel? empfindest du die Verzögerung nur bei bestimmten Spielen ?


    Du könntest in der C64 Konfig unter Sonstiges die Eingabe-Abtastung auf dynamisch stellen und die Wartezeit reduzieren. Vielleicht reicht das ja schon.


    Wie schaltet man eigentlich zwischen PAL und NTSC um? Ich möchte, dass Denise in PAL-Geschwindigkeit läuft, bekomme aber immer 60 fps.

    PAL / NTSC ergibt sich durch die Auswahl des VIC-II Models unter dem Tab "System"

    Ich vermute du hast bereits einen PAL VIC aber diesen auf 60 Hz laufen.

    Klicke mal in der Status Zeile auf die FPS Anzeige und stelle dann auf 50 Hz um.

  • Ich denke mal nicht, dass mein System zu langsam wäre (M1, MacOS Ventura). Aber wer weiß. Bei anderen Emulatoren hab ich nicht das Gefühl, dass die Eingaben ganz ganz leicht hinterherhinken. Es ist jetzt nicht so schlimm, wie es sich anhört, aber für mich doch zu merken. Hab schon alle Optionen der "Eingabe-Abtastung" probiert, ich hab allerdings nicht das Gefühl, dass sich da irgendwas ändert. Ich habs sowieso von Anfang an komisch gefunden, dass man Denise von MacOS her eine Eingabe erlauben muß, um überhaupt die Tastatur verwenden zu können - das hab ich noch bei keinem einzigen Emulator gesehen. Ich muss mal probieren, ob die ganz leichte Verzögerung auch bei einem Joystick vorhanden ist - ich spiele allerdings lieber mit der Tastatur.


    Wegen PAL/NTSC: Ich hab von Anfang an 6569-Re (PAL-B) eingestellt. Dann hab ich bei den VSync-Optionen etwas herumgespielt, weil ich ausprobieren wollte, ob das Scrolling feiner wird, seit dem hab ich 60 Hz. Wobei das "Adaptive-Synchronisation" sich gar nicht deaktivieren läßt (Ghost-Menü). Jedenfalls hab ich dann in Konfiguration C64/Sonstiges die Geschwindigkeit auf 50.125 eingestellt - jetzt geht es wieder. Witzigerweise auch, wenn ich die ganzen V-Sync-Optionen anhake. Allerdings ist dieser Menüpunkt eigenartig, da man ihn gar nicht irgendwie deaktivieren kann (es gibt nur „aktivieren“), es muß dort immer etwas drinnen stehen, was genutzt werden soll. Eigentlich sollte der doch zum aktivieren/deaktivieren sein, um die Standardwerte des VIC-II zu verwenden, oder?

  • Ich denke mal nicht, dass mein System zu langsam wäre

    Das habe ich damit nicht gemeint.

    Ich habs sowieso von Anfang an komisch gefunden, dass man Denise von MacOS her eine Eingabe erlauben muß, um überhaupt die Tastatur verwenden zu können - das hab ich noch bei keinem einzigen Emulator gesehen.

    Die meisten Emus fragen die Eingabe Prüfung sicher direkt mittels UI Kit ab, also Cocoa, GTK, WinAPI usw.

    Ich verwende den zugrunde liegenden Treiber, IO KIT im Fall von macOS. Keine Ahnung warum Apple entschieden hat, dafür eine Nutzer Berechtigung einzufordern und über Cocoa nicht.

    Erschwerend kommt hinzu, das beim Ersetzen der aktuellen Denise Version dieser Prozess wiederholt werden muss und dies nur funktioniert, wenn man den alten Denise Eintrag dort erst entfernt und dann wieder hinzufügt.

    Ein Erlauben mittels Hacken neu Setzen im bestehenden Denise Eintrag reicht nicht aus. Da fragt man sich wirklich, was das soll. Darauf kommt ein Nutzer nur schwer.

    Ich muss mal probieren, ob die ganz leichte Verzögerung auch bei einem Joystick vorhanden ist

    ja das wäre eine hilfreiche info in Bezug darauf, wo ich ansetze.

    Ich teste dies demnächst mal genauer, ob mir das auch auffällt.

    Witzigerweise auch, wenn ich die ganzen V-Sync-Optionen anhake. Allerdings ist dieser Menüpunkt eigenartig, da man ihn gar nicht irgendwie deaktivieren kann (es gibt nur „aktivieren“), es muß dort immer etwas drinnen stehen, was genutzt werden soll. Eigentlich sollte der doch zum aktivieren/deaktivieren sein, um die Standardwerte des VIC-II zu verwenden, oder?

    Die Funktionsweise ist etwas zu kompliziert. Adaptive Sync ist nur sichtbar, wenn der Threaded Renderer inaktiv ist. Aus diesem Grund ist das völlig anders gelöst. Benutze bitte das aktuelle nightly.

    Dort gibt es kein Adaptive Sync mehr, dafür zwei Modi für den Threaded Renderer.

  • Wo findet man den Nightly Build?


    Das mit der Geschwindigkeit hab ich, glaub ich, gefunden. Ich hatte nicht bemerkt, dass es einen eigenen Menüpunkt über die rechte Maustaste gibt. Ich glaube, dieses Menü sollte es auch zusätzlich in den Einstellungen geben.


    Manual gibt es ja keines, oder?


    Wegen der Eingabe solltest Du Dir überlegen, ob Du das nicht doch so umbauen kannst, wie es auch andere Emus machen. Die jetzige Methode ist einfach zu umständlich. Vielleicht wäre dadurch auch die Eingabeverzögerung geringer?

  • Wegen der Eingabe solltest Du Dir überlegen, ob Du das nicht doch so umbauen kannst, wie es auch andere Emus machen. Die jetzige Methode ist einfach zu umständlich. Vielleicht wäre dadurch auch die Eingabeverzögerung geringer?

    kann ich mir nicht vorstellen, weil ja der Treiber direkt verwendet wird. Ich bin leider noch nicht dazu gekommen, mir das anzuschauen. Vielleicht ist einfach nur was nicht optimal programmiert. Den macOS Keyboard Treiber habe ich nie auf LAG's getestet.

    -------


    Ich habe es leider versäumt mir unter Windows 11 Vsync und G/Free Sync Verhalten anzuschauen. Das habe ich heute getan.


    direct3D9: verhält sich wie in Win10


    openGL:

    Vsync funktioniert nicht richtig, weder im Fenster noch im Vollbild

    VRR Sync läuft nur im Vollbild vernünftig, in Win 10 klappt es auch im Fenster


    Das openGL Problem unter Windows 11 wurde im Microsoft Forum adressiert mit Erwähnung, das dies in Win 7, 8, 10 nicht vorhanden ist. ... jedoch ohne Lösung. Die wird auch nicht mehr kommen.


    Um sicher zu gehen, habe ich für meine neue Hardware ein Windows 10 installiert. Hier verhält sich alles so, wie mit der alten Hardware.