Hello, Guest the thread was called105k times and contains 1865 replays

last post from AW182 at the

Denise 1.0.x Emulator

  • Was mich mal interessieren würde. Könnte Denise eigentlich erkennen, wenn ein Multi-Disk-Programm darauf wartet, dass nach einem Diskwechsel der Floppyhebel wieder geschlossen wird, um dann automatisch (ohne dass der User eine Taste drücken muss) von der nächsten Diskseite weiterzuladen?

    das Einlegen einer neuen Diskette schließt auf virtuelle Weise den Floppy Hebel

    automatisiert die nächste Diskette eines Multi-Disk Demos von selbst einlegen, sodaß ein Multi-Disk-Demo fliessend von hinten bis vorne durchlaufen könnte

    Nur die Software weiß, das eine weitere Diskette eingelegt werden muss. Es ist sehr aufwendig das zu erkennen und es gibt kein einheitliches Vorgehen, was bei allen Programmen funktioniert.


    nie etwas angezeigt wird. Egal ob ich den Spielstand mit den Hotkeys oder unten mit der Funktion "Direktspeichern" abgespeichert habe.

    Hast du den 'Finden' Button gedrückt?

  • Gibts eine Möglichkeit, Denise so einzustellen, dass es sich "eingelegte Software" nicht "merkt", wenn diese über eine zugewiesene Endung Denise aufrufen?


    Beispiel, ich starte eine Demo, die sich innerhalb einer .rar befindet. Das ruft Denise auf und die Demo läuft.

    Wenn ich dann später andere Sachen auf diese Weise starten will, poppt immer eine Fehlermeldung auf, weil ja die vorherige Datei, die aus dem .rar heraus aufgerufen wurde, so nicht mehr vorhanden ist. Das ist ein bissl blöd.

  • Wenn ich dann später andere Sachen auf diese Weise starten will, poppt immer eine Fehlermeldung auf, weil ja die vorherige Datei, die aus dem .rar heraus aufgerufen wurde, so nicht mehr vorhanden ist.

    Ok schaue ich mir an, sobald ich wieder unter Windows arbeite.

  • Nur die Software weiß, das eine weitere Diskette eingelegt werden muss. Es ist sehr aufwendig das zu erkennen und es gibt kein einheitliches Vorgehen, was bei allen Programmen funktioniert.

    Okay, dann wird das wohl so nicht klappen, wie ich erst dachte.

    Ich hatte mir vorgestellt, dass der Emu es vielleicht erkennen könnte, wenn eine Diskseite eines von selbst weiterladenden Multi-Disk-Demos zu Ende ist und das Demo im Wartestatus darauf verharrt, dass der User nun gleich den Hebel schließt.


    Dass dies bei solchen Demos nicht funktioniert, die einen Tastendruck zum weiterladen brauchen, war mir immer klar. Bei denen, die automatisch von selbst weiterladen nachdem der Hebel geschlossen wird, vermutete ich zunächst, man könne vielleicht irgendwie deren speziellen Wartestatus erkennen. Aber scheint dann technisch so nicht realisierbar zu sein, weil es dann wohl anscheinend genau dieselbe Art von Wartestatus ist, wie bei den anderen Demos.


    nie etwas angezeigt wird. Egal ob ich den Spielstand mit den Hotkeys oder unten mit der Funktion "Direktspeichern" abgespeichert habe.

    Hast du den 'Finden' Button gedrückt?

    Wenn ich den "Finden" Button drücke, dann sehe ich im großen Fenster diejenigen Savestates, die mit dem Namen "savestate_0.sav", "savestate_1.sav" ... undsoweiter abgespeichert sind. Diejenigen, welche direkt den Namen des Spiels haben, also etwa "SPRERO_0.sav", sehe ich dann nicht. Soll wohl scheinbar so sein.


    Muss zugeben, dass mir die Vorgehensweise der Anwendung in diesem "Spielstand" Untermenue noch nicht so ganz einleuchtet bislang. Wenn ich es über die Savestate-Hotkeys mache, ist es mir klar, direkt in diesem Menue noch nicht so ganz. Warum werden nur bestimmte Savestates angezeigt und warum muss man vorher auf "Finden" drücken und der Emu ruft den Inhalt des ganz unten gewählten Savestate-Verzeichnisses nicht immer von selbst ab nach jedem Neustart. So wie es ja auch bei den selbstgespeicherten Settings der Fall ist? Hat das bestimmte Gründe?

  • Wenn ich den "Finden" Button drücke, dann sehe ich im großen Fenster diejenigen Savestates, die mit dem Namen "savestate_0.sav", "savestate_1.sav" ... undsoweiter abgespeichert sind. Diejenigen, welche direkt den Namen des Spiels haben, also etwa "SPRERO_0.sav", sehe ich dann nicht. Soll wohl scheinbar so sein.

    • 'Finden' sucht in dem Verzeichnis, welches unten gesetzt ist und sucht auch Teile eines Wortes
    • ist kein Verzeichnis gesetzt, sucht er im Standard Spielstand Verzeichnis im home Verzeichnis, wo auch die Default Einstellungen liegen
    • wird keine Bezeichnung beim Finden gesetzt, sucht er nach dem Standard Spielstand Namen ''savestate", welcher somit für die hotkey gesteuerten verwendet wird.
    • aktiviert man 'Spielstand Bezeichner automatisch setzen' aktualisiert der Emulator die Bezeichnung anhand des gestarteten Programmes.
      • Das hat den Vorteil, dass man für einzelne Spiele unterschiedliche und leichter wieder findbare Spielstände erhält und nur noch 'Finden' drücken muss um alle zu sehen
      • Sollte man das nicht nutzen, unterscheidet sich ein Hotkey gesteuerte Spielstand nur in der Zählung von einem anderen.
        • z.B. savestate_0 = Rubicon
        • z.B. savestate_1 = Turrican
        • Sollte man aktiv die Spiele mischen und Spielstände generieren, verliert man nun sehr schnell die Orientierung
    • eine selbst eingetragene Bezeichnung wird anstatt dem Standardnamen 'savestate' verwendet und macht nur Sinn, wenn die Checkbox inaktiv ist, ansonsten zerhaut der Automatismus dir jedes mal den Namen.

    Die hotkey generierten Spielstände haben also neben der Zählung den Basis Namen, welcher unter Bezeichnung eingeben wird. Steht da nix, heißt der Basis Name 'savestate'

    Das ist schwer zu erklären. Am Besten mal rumspielen und den File Explorer im angegebenen Verzeichnis öffnen um zu schauen, wie es abgelegt wird.


    Direkt speichern/laden ist eine direktere Möglichkeit Spielstände den gewünschten Namen zu verpassen und an einem gewünschten Ort abzulegen, unabhängig vom unten eingestellten Verzeichnis.

  • Aaah so funktioniert das. Danke für die Erklärung, die kommt mit in mein Anleitungs-Textfile, welches sich im Denise Ordner befindet und welches jetzt dann auch schon über 60kb groß ist, weil ich viele Funktionen-Erklärungstexte des Threads hier, zum eventuellen späteren Nachlesen, dort mit reinkopiert habe.


    Ich werde nachher mal ein bisschen herumprobieren, damit es mir noch klarer wird, wie dieses Spielstände Untermenue am besten zu bedienen ist.


    Mich hatte das immer verwirrt, weil ich von der Bedienung davon ausging, es müssten doch eigentlich alle meine gespeicherten Savestates, unter dem Namen den ich ihnen manuell vorher gab, automatisch immer von selbst permanent in diesem großen Fenster zu sehen sein und ich dann dort immer einen auswählen kann bei Bedarf.

  • Gibts eine Möglichkeit, Denise so einzustellen, dass es sich "eingelegte Software" nicht "merkt", wenn diese über eine zugewiesene Endung Denise aufrufen?


    Beispiel, ich starte eine Demo, die sich innerhalb einer .rar befindet. Das ruft Denise auf und die Demo läuft.

    Wenn ich dann später andere Sachen auf diese Weise starten will, poppt immer eine Fehlermeldung auf, weil ja die vorherige Datei, die aus dem .rar heraus aufgerufen wurde, so nicht mehr vorhanden ist. Das ist ein bissl blöd.

    Sekundiere dies. Ich dachte es sei ein Feauture und kein Bug!

  • neues nightly:

    P64 support.


    Leider kommen P64 Disketten Abbilder in der freien Wildbahn kaum vor.

    Ein P64 beschreibt die Magnetisierung auf einer Diskette und somit ist es möglich sämtliche Kopierschütze ohne Veränderungen (Cracks) am Original abzubilden.

    Welchen Sinn macht das, wenn doch alles irgendwo als D64 zu finden ist.

    Persönlich betrachte ich Computerspiele als Kunst und möchte diese gerne möglichst unverfälscht konsumieren. Cracker Intros, gehackte Kopierschütze z.B. sind Verfälschungen.

    Auf dem Amiga habe ich schon von Spielen gehört, wo der Kopierschutz in einem höheren Level nicht bemerkt/entfernt wurde.

    Dies kann bei einem P64 oder IPF Format nicht passieren. Hierbei muss einfach keine Kopierschutz Software verstanden oder entfernt werden.


    Auch möchte ich an dieser Stelle darauf aufmerksam machen, wieviel Aufwand im Hintergrund von einigen Leuten betrieben wird um die Magnetisierung von Disketten einzufangen, bevor diese für immer verloren sind.

  • Load":*",8,1

    das baue ich fest in den Autostarter ein.


    Wie werden denn solche Image erstellt?

    Du brauchst einen Kryoflux Stream, welchen du dann mit g64conv in eine textuelle Repräsentation überführen kannst, welche dann wiederum mit p64conv in ein P64 gewandelt wird.


    Grundsätzlich kannst du auch ein D64 in ein P64 wandeln, das hat aber keinen Mehrwert.

  • Wir erstellen P64 Images, insbesondere für alle die Fälle, wo das G64 Format das Original nicht abbilden kann.


    Die Hauptgründe sind, dass G64 nicht alle Informationen enthält und dass sich über die Jahre ein Konsens bei der Emulation von G64 Images bei den Emulatoren gebildet hat, der in bestimmten Situationen Schwächen hat.

    Nun ist es unsinnig, die G64 Emulation zu verändern und damit Inkompatibilitäten zu erzeugen, wenn es ein anderen Format gibt, das diese Schwächen nicht hat (P64).


    Zum LOAD":*",8,1 bei Vampire's Empire:

    Der Loader des Spiels ist so programmiert, dass er das so erfordert. Das hat nichts mit dem Kopierschutz auf der Diskette zu tun.

  • Du brauchst einen Kryoflux Stream

    Als gleichwertig dazu ist ein Stream im SCP (SuperCard Pro) Format zu betrachten, welcher bspw. mit der namensgebenden Hardware, der SuperCard Pro, aber auch mit einem Fluxengine oder einem Greaseweazle erstellt werden kann.

  • LOAD":*",8,1


    Diese Variante lädt immer das erste PRG einer Disk.

    Lädt man z.B. Load "prog2",8,1 und danach Load "*",8,1 würde er wieder prog2 laden. Load ":*" würde das erste Programm laden.

    Diese Variante sollte keine Probleme nach einem Autostart verursachen und das besagte Spiel dafür mit unterstützen.

  • Die Spuren innerhalb der P64 images sind mit fpaq0 von Matt Mahoney gepackt. Diese zu entpacken dauert etwas und führt dazu, dass die Vorschau Generierung etwas hängt, was beim schnelleren Durchschauen im Datei Explorer auffällt.

    Die Spuren werden parallel entpackt, verteilt auf allen CPU Kernen. Bei meinen 4 Kernen geht das schon halbwegs, muss ein paar Millisekunden warten bevor ich die Pfeiltaste bediene.

    Dennoch werde ich das umbauen, das die Bedienung nicht hackt. Bedient man es zu schnell, wird die unvollständige Vorschau Generierung vorzeitig abgebrochen und die nächste begonnen.

  • Wenn ich dann später andere Sachen auf diese Weise starten will, poppt immer eine Fehlermeldung auf, weil ja die vorherige Datei, die aus dem .rar heraus aufgerufen wurde, so nicht mehr vorhanden ist.

    Ok schaue ich mir an, sobald ich wieder unter Windows arbeite.

    Das scheint vom Packer abhängig zu sein. Bei einem ZIP funktioniert das, da die temporäre Datei liegen bleibt. Bei 7z wird diese Datei nach Beenden von Denise wieder entfernt. Entweder von Windows oder der Packer Software.

    ok ich überlege mir was.

  • Gibt es im Netz irgendwo ein herunterladbares Archiv mit Files in diesem p64 Format? Bislang habe ich da noch kein einziges davon. Hört sich aber interessant an, daß dieses Format noch mehr Sachen beinhalten kann als g64 Files.



    Und PiCiJi, weißt du schon, wann du daran gehen wirst, eine Autofeuer-Option einzubauen? Ich hab dazu nämlich hier noch ausgearbeitete Vorschlag-Files mit vielen Screenshots herumliegen, die seit einem halben Jahr auf Halde liegen. Damit ist in allen Shootern die ideale Belegungsmöglichkeit auf den verschiedensten Controllern erreichbar. Bevor ich das lösche, könnte ich das dann noch an den Mann bringen.

  • Dies kann bei einem P64 oder IPF Format nicht passieren.

    Als gleichwertig dazu ist ein Stream im SCP (SuperCard Pro) Format zu betrachten

    Gibt es in Nibtools dafür (schreibend) Unterstützung, oder würde man das erst per G64conv in ein G64 wandeln, oder wäre das Quatsch, weil man die Laufwerke so genau nicht steuern kann?

  • Gibt es im Netz irgendwo ein herunterladbares Archiv mit Files in diesem p64 Format? Bislang habe ich da noch kein einziges davon. Hört sich aber interessant an, daß dieses Format noch mehr Sachen beinhalten kann als g64 Files.

    Ich befürchte nicht.

    Und PiCiJi, weißt du schon, wann du daran gehen wirst, eine Autofeuer-Option einzubauen? Ich hab dazu nämlich hier noch ausgearbeitete Vorschlag-Files mit vielen Screenshots herumliegen, die seit einem halben Jahr auf Halde liegen. Damit ist in allen Shootern die ideale Belegungsmöglichkeit auf den verschiedensten Controllern erreichbar. Bevor ich das lösche, könnte ich das dann noch an den Mann bringen.

    Es wird noch etwas dauern, steht aber auf der todo Liste. Ich melde mich, wenn es soweit ist.


    Gibt es in Nibtools dafür (schreibend) Unterstützung, oder würde man das erst per G64conv in ein G64 wandeln, oder wäre das Quatsch, weil man die Laufwerke so genau nicht steuern kann?

    mit g64conv in eine textuelle p64 Darstellung wandeln, nicht in ein G64. Andernfalls kann es passieren, das je nach Kopierschutz die Information im G64 verloren geht.


    -----

    nächste Schritte (Gedanken)

    • 1570/1571 floppy support
    • Laufwerksgeräusche (benötige Aufnahmetechnik)
    • virtuelle devices (schnelles Laden einfacher D64 Abbilder, kann mit Warp kombiniert werden)
    • vielleicht die ersten Schritte in der user port emulation zwecks Parallel Kabel + Speed Dos
    • Autofire
    • free sync Monitor
    • directx11, vulkan, metal
    • shader
    • color banding (rot/grün Streifen, luma chroma cross talk) (benötige Capture Karte) (die Interaktion ist nicht trivial)
    • debug monitor
    • *** Amiga 500 ***
  • Gibt es in Nibtools dafür (schreibend) Unterstützung, oder würde man das erst per G64conv in ein G64 wandeln, oder wäre das Quatsch, weil man die Laufwerke so genau nicht steuern kann?

    Nicht selten geht es dabei im Kopierschütze, die eine 1541(70/71 prinzipiell gar nicht schreiben kann.


    g64conv/p64conv kann jedoch aus dem p64 wieder eine scp machen, die man zurückschreiben könnte... das ist jedoch nicht ganz so einfach, wie es klingt... da muss ich noch Arbeit reinstecken, so dass greaseweazle einen Hint bekommt, wo er das Schreiben abschalten soll, damit die "Schreibabschaltstelle" eine unkritische ist, weil da zwangsläufig ein Fehler passiert.