Hello, Guest the thread was viewed39k times and contains 160 replies

last post from SkulleateR at the

Denise Amiga 500 Emulation

  • I dermaßen proudly presents Amiga 500 emulation in Denise

    Es gibt jetzt dazu das erste nightly.


    Aros Kickrom ist vorinstalliert. Für A1000 werden Kickstart Disks benötigt. Floppy Turbo ist einstellbar.

    Globale Features, wie runAhead, VRR, Dynamic Rate Control, Warp oder Spielstände sind ebenfalls vorhanden. Um runAhead auf langsamen Rechnern deutlich zu beschleunigen, sollte der "performante" Modus aktiviert werden.

    In diesem Modus bekommen nur Spiele ein Problem, welche die Sprite Kollisions-Hardware abfragen. Es gibt wohl nur sehr wenige Spiele, welche davon abhängig sind.


    Keyboard kann automatisch und Länder (Uk, Us, De, Fr) spezifisch vor-belegt werden.

    Es gibt eine Checkbox für Interlace. Ist diese deaktiviert und der Amiga sendet ein Interlace Signal werden nur flackerfreie Voll-Bilder übermittelt. (25 FPS)

    Hotkeys für z.B. Spielstand Handling können grundsätzlich für C64/Amiga gleich vergeben werden. Das System, welches gerade aktiv ist, bekommt den Zuschlag.

    Möchte man allerdings aus einer laufenden Amiga Emulation einen C64 Spielstand laden, müssen die Hotkeys getrennt vergeben werden.

    Einzelne Emulator Kerne können auch unsichtbar geschalten werden.

    RGB Kabel ist typisch für den Amiga. Hierbei unterscheiden sich PAL/NTSC nur in der Geometrie (Zeilenzahl, FPS) voneinander.

    Alternativ kann auch eine RF /C / S - Video Emulation eingestellt werden. Hierbei weisen PAL/NTSC neben der Geometrie ein verschiedenes Farb-Encoding auf,

    da das Signal als Luma/Chroma übertragen wird und im TV erst wieder zu einem RGB Signal umgewandelt werden muss.

    Da dies im Zusammenhang mit der C64 Emulation bereits enthalten ist, gibt es keinen Grund dies der Amiga Emulation vorzuenthalten.

    Mein erster Amiga hatte damals nur einen RF Modulator. Mittlerweile gibt es ja auch einen S-Video Adapter.

    ADF, EXT2 und EXT Formate werden gelesen und geschrieben. Das EXT Format wird von Factor 5 für ihre freigegebenen Amiga Titel verwendet.

    Das EXT Format ist für Schreibvorgänge nicht gut geeignet. Bei einem Schreibvorgang, z.B. Hiscores, wird in EXT2 konvertiert und dies dauerhaft gespeichert,

    wenn gewünscht (Emulator fragt nach)



    Der Amiga kann im Gegensatz zum C64 per Software die Bildwiederholrate ändern. Ich tunnele das zum Host zurück. Ein ideales feature für G-Sync.

    folgende 3 Standard Refresh Raten für PAL:

    Initial setzt das Kickrom den Amiga auf "Long Fields" (313 Zeilen) ... ergibt 49.92 Hz.

    Stellt die Software nun auf "Short Fields" (312 Zeilen) um, wird im Speed Menu von Denise: 50.08 Hz erscheinen.

    Im Interlace Modus wechselt der Amiga zwischen "Long/Short Fields" und die Rate ist glatt: 50 Hz.


    Darüber hinaus kann der Amiga beliebige Raten generieren, natürlich abhängig davon, wieviel der CRT verträgt bis er "out of sync" ist.

    Angewendet wird das z.B. um auf einem PAL Amiga NTSC und vice versa zu generieren.

    Kennt jemand Spiele, die sowas versuchen, also entweder NTSC <> PAL oder spezielle Wiederholraten ?

    Ich muss testen ob die Manipulation die korrekte Rate ermittelt und zum Host überträgt.


    Auf vielfachen Wunsch hin bootet der Emu jetzt automatisch. Das Einschaltbild erscheint keine 2 Sekunden nach dem Emu Start und kann auch permanent in den Einstellungen deaktiviert werden.

    Da die Emulation nun permanent läuft, ist das Problem mit Grafikfehlern einiger Linux Installationen (z.B. Menu popup) im ausgeschalteten Zustand gelöst.

  • Schöne Erstversion. Besten Dank für die tolle Arbeit daran. :)


    edit: Mit extended ADFs hatte ich bisher aber noch keinen Erfolg. Übersehe ich da was?

    edit2: Mmh, meine selbst erstellten Turrican 1, 2 und Lethal Excess extended ADFs (voll funktionsfähig in WinUAE) crashen Denise sofort. Sind alle so um die 2MB. Nur X-Out mit 903124 bytes läuft.


    btw: Die Factor 5 extended ADFs sind teilweise fehlerhaft. Ich zitiere mal Wepl aus seinem Turrican 2 WHDLoad readme.


    Quote

    - the installation process will not work with adf image provided by the

    factor5 website, because this image has incomplete last track, with

    other words the adf itself is broken



    Quote

    Kennt jemand Spiele, die sowas versuchen, also entweder NTSC <> PAL oder spezielle Wiederholraten ?


    Soweit ich mich erinnern kann läuft Dynblaster in so einer Art Fake NTSC auf PAL Rechnern. Das läuft irgendwie in 56-60Hz. Wenn man beim Start die beiden Maustasten gedrückt hält läuft es in 50Hz.

    Glaube BC Kid läuft auch eher in 56Hz.

  • Ich bekomme die Maus nicht im A500 ans Laufen.

    Ich habe im Port 1 die Maus definiert und aktiviert, aber der Mauszeiger fängt nicht im Denise Fenster...

    Mache ich da was verkehrt, oder muss ich da was aktivieren?



    Edit: Und ich Rüpel falle gleich mit dem Problem ins Haus, anstelle mich erst mal für dieses tolle Ostergeschenk zu bedanken! :D

  • edit: Mit extended ADFs hatte ich bisher aber noch keinen Erfolg. Übersehe ich da was?

    edit2: Mmh, meine selbst erstellten Turrican 1, 2 und Lethal Excess extended ADFs (voll funktionsfähig in WinUAE) crashen Denise sofort.

    ok ich prüfe die ext adf.

    Soweit ich mich erinnern kann läuft Dynblaster in so einer Art Fake NTSC auf PAL Rechnern. Das läuft irgendwie in 56-60Hz. Wenn man beim Start die beiden Maustasten gedrückt hält läuft es in 50Hz.

    Glaube BC Kid läuft auch eher in 56Hz.

    Danke, das ist genau was ich suche.

    Ich bekomme die Maus nicht im A500 ans Laufen.

    Ich habe im Port 1 die Maus definiert und aktiviert, aber der Mauszeiger fängt nicht im Denise Fenster...

    Mache ich da was verkehrt, oder muss ich da was aktivieren?

    Die Maus muss noch gefangen werden. Der Standard Hotkey ist die mittlere Maus Taste.

  • Die Maus muss noch gefangen werden. Der Standard Hotkey ist die mittlere Maus Taste.

    Anscheinend nicht bei mir, oder ich hab schon aus Versehen etwas verstellt.

    Ich kann allerdings auch keine Funktion/Option finden, die den mittleren Button mit "Fangen" belegt.

  • Die Maus muss noch gefangen werden. Der Standard Hotkey ist die mittlere Maus Taste.

    Anscheinend nicht bei mir, oder ich hab schon aus Versehen etwas verstellt.

    Ich kann allerdings auch keine Funktion/Option finden, die den mittleren Button mit "Fangen" belegt.

    Dito. Nur im Vollbild nimmt die Amiga Emulation die Maus an.

    .adf verknüpfen klappt leider auch nicht, Denise stürzt dann ab (Windows)

  • Anscheinend nicht bei mir, oder ich hab schon aus Versehen etwas verstellt.

    unter Optionen/Eingabe/Hotkeys kann der Hotkey für das Fangen der Maus vergeben werden.

    Dito. Nur im Vollbild nimmt die Amiga Emulation die Maus an.

    Beim Wechsel ins Vollbild wird die Maus automatisch gefangen.

  • PiCiJi


    Baust du die CapsImg.dll Unterstützung für die Original IPF Images später auch noch mit ein? Bin eh kein Freund dieser oftmals kaputtgecrackten ADFs.


    edit: Was mir zur Maussteuerung noch aufgefallen ist. Die ist teilweise viel zu schnell. Wie z.B. in X-Out, wo man im Menü die Raumschiffe und Waffen kaufen kann, da läßt sich nichts mehr vernünftig steuern.

  • Nightly baut gerade.

    - fix extended ADF

    Danke :thumbsup: Muss blind gewesen sein - ich hatte mehrfach die Option übersehen.

    ist mehreren Nutzern schon so ergangen, weil

    1.das Fangen der Maus nur als Hotkey existiert

    2. weil dieser Hotkey nur im globalen Bereich (also nicht Emulator Kern spezifisch) belegt werden kann


    Das ist im Moment für viele User eine Falle. Die Idee war es in den globalen Bereich zu verschieben, weil es ja keinen Grund gibt die Maus für C64 mit einer anderen Belegung zu fangen als für den Amiga.

    Ich verschiebe das dennoch in die Emulator spezifische Hotkey Liste.

    Baust du die CapsImg.dll Unterstützung für die Original IPF Images später auch noch mit ein? Bin eh kein Freund dieser oftmals kaputtgecrackten ADFs.

    Ja später mit der Festplatte um den Emulator WHDLoad fähig zu bekommen.

    edit: Was mir zur Maussteuerung noch aufgefallen ist. Die ist teilweise viel zu schnell. Wie z.B. in X-Out, wo man im Menü die Raumschiffe und Waffen kaufen kann, da läßt sich nichts mehr vernünftig steuern.

    Ich reduziere die Default Geschwindigkeit. Über den Slider "Analog-Sensibilität" kannst du dies beeinflussen, jedoch vorher die Maus im DropDown auswählen.


    Weiterhin ist die Option "aktiviere immer Neustart bei DragnDrop" im globalen Bereich ungünstig. Für den C64 macht die Option Sinn, für den Amiga weniger.


    Hm, bei der letzten Downloadversion 1.1.3.1 kann ich den Amigamodus nicht starten.

    https://ci.appveyor.com/projec…ijwem8rymrcwlne/artifacts

  • Extended ADFs sind gefixt. Besten Dank.


    Aber bei der Mausteuerung bringt das anpassen der Analogsensibilität nicht das gewünscht Ergebnis. Das ganze wird zwar träger, aber die Feinjusting passt nicht. Man kann die Maus nicht punkgenau steuern. Solltest du mal mit X-Out austesten, oder diverse Trainer Menüs bei den Spielecracks.Ich weiß, das die Maustreiber damals da durchaus unterschiedlich waren, je älter desto gröber von der DPI. Aber in WinUAE geht das halt recht gut.

  • Aber bei der Mausteuerung bringt das anpassen der Analogsensibilität nicht das gewünscht Ergebnis. Das ganze wird zwar träger, aber die Feinjusting passt nicht. Man kann die Maus nicht punkgenau steuern. Solltest du mal mit X-Out austesten, oder diverse Trainer Menüs bei den Spielecracks.Ich weiß, das die Maustreiber damals da durchaus unterschiedlich waren, je älter desto gröber von der DPI. Aber in WinUAE geht das halt recht gut.

    ok das ist absolut nicht bedienbar in X-Out. Das ist kein generelles Problem, z.B. in der Workbench fühlt es sich richtig an ?

    schaue mir das Problem mal genauer an.

  • Bin momentan, aus verschiedenen privaten Gründen, fast ausschließlich im Real Life unterwegs, aber die Denise Amiga Emulation habe ich mir gestern abend mal zwei Stunden lang ausführlich angesehen und macht schon einen tollen Eindruck, dafür dass sie erst ganz neu in den Emulator integriert wurde. Meine Lieblings-Amiga-Games hab ich auch schon alle mal angetestet und laufen zumeist schon jetzt ganz gut.


    Ich habe mir auch schon ein paar Sachen auf verschiedenen Zetteln notiert die mir auffielen, bzw wo es auch ein paar Inkompatibilitäten gab usw. Das schreibe ich bei Gelegenheit mal zusammen und teile es dir in einer PM mit, PiCiJi. Kann aber noch etwas dauern. Wollte hier nur kurz meine Begeisterung für die nun im Denise integrierte Amiga Emulation zum Ausdruck bringen. Prima Arbeit!

  • Hier funktioniert das Cracktro/Trainermenu nicht richtig. [Mit Kickrom 1.3]

  • neues nightly baut gerade:

    - fix Maus Emulation, z.B. X-Out

    - fix Turrican Cracktro

    - handling spezieller Bildwiederholfrequenzen verbessert (B.C. Kid, Dyna Blaster)


    auf einem PAL System: B.C. Kid verwendet um die 56.4 Hz und Dyna Blaster um die 59.4 Hz

    B.C. Kid wechselt ab dem Titelbild auf 56.4 Hz. Das System bleibt natürlich PAL.

    Das Speed Menu und die FPS Anzeige spiegeln diese Veränderung wieder.


    VRR Monitor: (PAL, NTSC ist analog)

    bevorzugte Auswahl im Speed Menu: 1. Auswahl (Originalgeschwindigkeit) (startet mit 49,92 Hz) Ändert sich dann im Fall von B.C. Kid in 56.4 Hz und es dürfte kein Ruckeln im ersten Level auftreten und Musik-Abspiel Geschwindigkeit müsste passen.

    Lädt man z.B. nun einen Spielstand von Shadow of the Beast, ändern sich die FPS wieder auf 49.92 (auch im Speed Menu) und es scrollt flüssig weiter.

    Nicht vergessen, das alte D3D9 kann nur im "exklusiven" Vollbild VRR. openGL kann es im Vollbild und in Windows sogar im Fenster Modus.

    G-Sync im Monitor und Emu erlauben und ganz wichtig Bildwiederholrate in den Graka Einstellungen auf Maximum (240 Hz in meinem Fall) stellen.

    Sollten G-Sync und VSync zugleich in Denise aktiviert sein, wird VSync ab nun ignoriert.


    Standard Monitor: (PAL, NTSC ist analog)

    bevorzugte Auswahl im Speed Menu: 2. Auswahl (50 FPS). Sollte B.C. Kid nun intern auf 56.4 Hz wechseln, bleibt der FPS Counter auf 50 Hz. Es wird alles in 50 Hz konvertiert um flüssig auf einem Standard Monitor zu laufen.

    Bei 6 Hz Unterschied zur Original Geschwindigkeit nimmt man dann jedoch eine Verlangsamung der Musik und des Spiel Geschehens war.

    Die Musik läuft an bevor auf 56.4 Hz umgestellt wird. Sie klingt in dieser Phase noch normal schnell. Nach der Umschaltung hört man hier gut wie die Musik langsamer abgespielt wird. Grund ist die Konvertierung auf 50 Hz.


    Die 5. Auswahl im Speed Menu ist immer das gegenteilige System. Also 60 Hz im Fall von PAL oder 50 Hz im Fall von NTSC. Man könnte also auch den Monitor auf 60 Hz bringen, dann ist der Unterschied zur Original Geschwindigkeit geringer. Musik und Spiel Geschehen laufen dann etwas zu schnell.

    Ab 59 Hz (also im Fall von Dyna Blaster) tauscht Denise Speed Auswahl Platz 2 mit 5. Bei scrollenden Titeln muss dann allerdings der Monitor manuell auf 60 Hz gestellt werden oder im Speed Menu von Denise 50 Hz (nun auf Platz 5) angewählt werden, mit dem Nachteil einer deutlichen Verlangsamung von Bild und Ton.

    Möchte man auf einem Standard Monitor krumme Bildwiederholraten fahren, da Original Geschwindigkeit wichtiger ist, als Micro Ruckler, sollte man den "Threaded Renderer" aktivieren ODER Vsync abschalten.

    Bei aktivem Vsync lassen sich keine Geschwindigkeiten grösser als die Monitor Wiederholrate fahren. Das könnte fälschlicherweise für einen Emu Bug gehalten werden.

    Bei aktivem "Threaded Renderer" geht das, da das Rendering parallel zur Emulation geschieht. Vsync sperrt zwar weiterhin, aber der Emu wird nicht mit gesperrt. Das löst natürlich nicht das Problem mit den Mikro Rucklern bei krummen Raten auf Standard Monitoren, aber es ermöglicht weniger Mikro Ruckler (wenn die krumme Rate sehr nahe an der Standard Rate ist, z.B. 50.125 oder 49.92) und wie erwähnt, das trotz Vsync die Geschwindigkeit der Emulation höher als die Wiederhol Rate im Monitor sein kann.


    Zusammenfassend gesagt hat man mit B.C. Kid einen Nachteil auf einem Standard Monitor. Um flüssiges Scrolling zu bekommen, muss das Spiel mit ca. 6 Hz zu 50 Hz verlangsamt oder mit ca. 4 Hz beschleunigt werden um auf 60 Hz zu kommen.