Hallo Besucher, der Thread wurde 273k mal aufgerufen und enthält 2404 Antworten

letzter Beitrag von frankyman1969 am

Denise C64 + Amiga Emulator

  • neues nightly

    Warp für Tapes verbessert (Disk erstmal deaktiviert zwecks Umbau)

    Ich habe erfahren, dass VICE den Warp absichtlich deaktiviert, sobald ein Loader aktiv wird. Viele User nutzen die Tapes hauptsächlich um den Loader zu sehen/hören und möchten diesen nicht per Warp überspringen. Kann ich nachvollziehen, wenn ich jedoch darüber nachdenke, ist die Zeit bis der Loader einsetzt "relativ" kurz (für Tape Verhältnisse). Ich persönlich würde in dem Fall auch den Anfangs Prozess nicht beschleunigt ablaufen lassen wollen.


    folgender Ablauf:

    - automatischer Warp nur noch bei Autostart (und natürlich wenn Option dafür gesetzt). Alles Folgende gilt sobald eben genannte Bedingungen erfüllt sind.

    - beginnt immer im Warp Modus.

    - Warp wird deaktiviert wenn die Software den Motor stoppt (jedoch nicht vor den ersten 10 Counter Positionen um bei searching/found nicht direkt den Warp zu unterbrechen)

    - Warp wird aktiviert wenn Software den Motor startet (kann passieren, dass manche Software das unbeabsichtigt durchführt. in dem Fall muss der Warp manuell beendet werden)

    - Warp wird temporär deaktiviert wenn User beliebige Taste an der Datasette bedient

    - Warp wird dauerhaft (bis zum nächsten Autostart) deaktiviert wenn User Warp mit hotkeys übersteuert

    - Warp ist auch bei späteren Nachladeaktionen aktiv (auch vorteilhaft bei Turbo Tape Programmen)

    - bei normalem Kernal Load mit Ready + RUN wird der Warp auch unabhängig vom gestoppten Motor beendet


    Es klappt also nicht bei allen Titeln, dass der Warp nachdem Laden anhält. Jedoch können auf diese Weise viele Tapes schnell geladen werden, wenn man das Tape nicht in erster Linie wegen dem Loader nutzt.

    aufwendige Nachlade Aktionen sind eher selten. z.B. Turrican 2 tut dies. Hier lohnt sich der automatische Warp.

    Übrigens verliert man alle Leben muss zu einer bestimmt Counter Position zurück gespult werden um den Bereich erneut einzuladen.


    Mit dem Spiel Commando ist mir kein Warp Problem aufgefallen.

    Wahrscheinlich lässt sich das auch nicht besser umsetzen beim Laden von Kassetten?

    Nur wenn bei Spielen mit speziellen Loadern der Warp erst beendet werden soll, wenn man wirklich Spiel bereit ist. Dieses Problem umgehe ich, in dem ich das nicht versuche und somit auch Nachlade Aktionen automatisch warpe. Somit muss ich nicht aufwendig ermitteln, ob das Tape anhält weil es fertig ist oder ob der Loader kurz irgendwas berechnet um dann direkt weiter zuladen.

  • Wahrscheinlich lässt sich das auch nicht besser umsetzen beim Laden von Kassetten?

    Nur wenn bei Spielen mit speziellen Loadern der Warp erst beendet werden soll, wenn man wirklich Spiel bereit ist. Dieses Problem umgehe ich, in dem ich das nicht versuche und somit auch Nachlade Aktionen automatisch warpe. Somit muss ich nicht aufwendig ermitteln, ob das Tape anhält weil es fertig ist oder ob der Loader kurz irgendwas berechnet um dann direkt weiter zuladen.

    Okay. In Kombination zu der angekündigten Funktion, die für Disks dann noch kommt und die den automatischen Warp nur ein einziges Mal aktiviert/deaktiviert und danach dann nie wieder, müsste es sich dann ja eigentlich für alles (Disks/Tapes) bestmöglich einstellen lassen. Ich persönlich werde es dann wohl immer so einstellen, daß ich bei Disks das Nachladen nie durch den WARP beschleunigen lasse, bei Tapes dann aber schon, weil es dort dann quasi das kleinere Übel darstellt gegenüber anderen Problemen während des Ladens des ersten Files auf dem Tape.


    neues nightly ...

    Werde ich die nächsten Tag mal mit rumtesten und Rückmeldung geben.


    Mit dem Spiel Commando ist mir kein Warp Problem aufgefallen.

    Dass er den automatischen WARP halt anhält, wenn der Bildschirm kommt, auf dem "Novaload" unten zu lesen ist und dann das File mit normalem Speed einliest, was dann circa solange dauert, als wenn man ein 200 Blocks grosses Spiel ohne Fastloader von Diskette liest. Klar, manchmal will man, wenn ein Tape-Loader während des Ladens schöne Musik spielt, diese auch hören. Will man das, kann man den automatischen WARP ja vorher auch ausschalten, man könnte ihn auch in die Hotkeys mit aufnehmen vielleicht? Wäre eventuell zu überlegen. Fällt mir dazu gerade ein, den Freeze-Button (Module) könnte man auch in die Hotkeys mit reinnehmen.


    Kann eigentlich der Emulator dieses "Novaload" als solches identifizieren, an der Art wie sich der Motor der Datasette damit beim Laden verhält?

  • Viele User nutzen die Tapes hauptsächlich um den Loader zu sehen/hören und möchten diesen nicht per Warp überspringen.

    Ich denke, ich stehe hier im Moment etwas auf der Leitung. :/


    Wenn ich Warp haben möchte, dann aktiviere ich das und wenn ich es nicht haben möchte deaktiviere ich es.


    Wieso sollte der Emulator von sich aus Warp deaktivieren, obwohl ich es aktiviert habe? :gruebel

  • Wenn ich Warp haben möchte, dann aktiviere ich das und wenn ich es nicht haben möchte deaktiviere ich es.

    Gibt Spiele die nach dem nachladen dann einfach losgehen ohne langes "Get Ready" oder gar erst nach drücken vom Feuerknopf...

    Ah, danke! Also Warp solange er lädt, aber danach dann Warp gleich automatisch abschalten?

  • Hab schonmal bisschen angefangen mit dem neuen Nightly rumzutesten.

    - Warp wird deaktiviert wenn die Software den Motor stoppt (jedoch nicht vor den ersten 10 Counter Positionen um bei searching/found nicht direkt den Warp zu unterbrechen)

    Dieser Punkt funktioniert bei mir irgendwie nicht richtig. Zum Beispiel bei den beiden Tapes die ich verlinkt hatte, ist es jeweils so, daß der AUTO-WARP anfangs ganz kurz angeht, nach circa 2 Sekunden aber schon wieder stoppt, während dann am BASIC diese "press play on tape" und die "found ..." Nachricht kommt. Irgendwann nach circa 15 bis 20 Sekunden schaltet sich dann, nach der Found Message, der AUTO-WARP wieder an, um den nächsten Part wieder schnell zu laden. Das Tape befindet sich aber jeweils vom Counter her noch nicht bei der Zahl 10, also düfte der AUTO-WARP hier ja eigentlich nicht abschalten. Beim VICE tut er das auch nicht, da wird dieser ganze "press play on tape" und "found ..." Nachrichtenbereich noch gewarpt. Ist das bei dir am Rechner nicht so?



    Hab eben nochmal herumüberlegt. Man könnte natürlich auch bei Tapes den ganz harten Weg fahren, indem Denise einfach den WARP einschaltet, wenn der Ladevorgang eines Tapes anfängt und ihn dann überhaupt nicht mehr von selbst ausschaltet, sondern mit dem Abschalten dann sozusagen den User beauftragt, durch einen Klick auf den vergebenen WARP-Hotkey. So müsste der User zwar immernoch jedesmal eine Aktion selbst durchführen, man erspart dem User aber zumindest die zweite manuelle Aktion (das händische Anschalten des WARPS zu Beginn des Ladeprozesses). Ein weiterer Vorteil wäre hier, dass es dann vollkommen egal wäre, wie sich der Motor der Datasette während des Ladens verhält und WARP dann nie aus Versehen zu früh abschaltet. *lol*


    Zugegebenermaßen wäre dies dann kein wirklicher "automatischer" WARP Modus mehr, da er ja nicht mehr von selbst abschaltet, aber überlegenswert wäre es vielleicht, das so mit anzubieten. Denn stoppt ein AUTO-WARP beim Ladevorgang zu früh, trotz der Automatik-Logik die man ihm vorher mit gegeben hat, dann ist ja auch der User gefragt, manuell einzugreifen. Nun müsste man abwägen, bei wieviel Tapes das sowieso notwendig ist, aufgrund deren Loader und ob dann nicht gleich ein WARP Sinn macht, der sich zwar immer einschaltet, von selbst aber gar nicht mehr abschaltet. :) Betrifft natürlich nicht den Disk-Bereich, da sieht es wieder ganz anders aus.

  • Dieser Punkt funktioniert bei mir irgendwie nicht richtig. Zum Beispiel bei den beiden Tapes die ich verlinkt hatte, ist es jeweils so, daß der AUTO-WARP anfangs ganz kurz angeht, nach circa 2 Sekunden aber schon wieder stoppt, während dann am BASIC diese "press play on tape" und die "found ..." Nachricht kommt. Irgendwann nach circa 15 bis 20 Sekunden schaltet sich dann, nach der Found Message, der AUTO-WARP wieder an, um den nächsten Part wieder schnell zu laden. Das Tape befindet sich aber jeweils vom Counter her noch nicht bei der Zahl 10, also düfte der AUTO-WARP hier ja eigentlich nicht abschalten. Beim VICE tut er das auch nicht, da wird dieser ganze "press play on tape" und "found ..." Nachrichtenbereich noch gewarpt. Ist das bei dir am Rechner nicht so?

    genau das habe ich im letzten nightly umgestellt. Hast du vielleicht aus Versehen das vor letzte nightly verwendet?

  • Wenn ich Warp haben möchte, dann aktiviere ich das und wenn ich es nicht haben möchte deaktiviere ich es.


    Wieso sollte der Emulator von sich aus Warp deaktivieren, obwohl ich es aktiviert habe?

    Ich meine die Idee in VICE ist so schnell wie möglich zu dem Loader zu gelangen, diesen dann aber in Original Geschwindigkeit zu genießen, hauptsächlich um den Tune zu hören.

  • genau das habe ich im letzten nightly umgestellt. Hast du vielleicht aus Versehen das vor letzte nightly verwendet?

    Hab es eben nochmal nachgeprüft, aber ich verwende schon "ec353eb", welches in der Nightly Liste das oberste ist. Trotzdem wird der Anfang mit den ganzen BASIC Meldungen nicht automatisch gewarpt, oder kann eventuell irgendeine andere Einstellung darauf Einfluss nehmen? Ich probiere mal noch mit der Funktion "Motorschwankung" und ein paar anderen Sachen herum, ob die hier vielleicht Einfluss nehmen?

  • hmm komisch. Es sollte nur die Einstellung ob auto warp an oder aus ist, entscheidend sein. Und das Tape muss autogestartet sein, also wenn der User das Load Command nicht selbst eintippen muss.

  • neues nightly.


    auto warp für tape verbessert und für disk hinzugenommen.


    Es kann nun per Option ausgewählt werden ob jeweils für Disk und Tape der auto warp durch den Motor oder durch Software Verhalten gesteuert wird.

    Default: Tape (Motor), Disk (Software)


    Motor Steuerung

    - warp ist beim Nachladen aktiv auch über Disk/Tape Wechsel hinaus

    - nicht für Disk Demos geeignet

    - geeignet für Spiele wie Zak Mc Kracken

    - gut für Tapes geeignet, auch wenn diese später nicht mehr nachladen, weil bei Software Steuerung der Warp inaktiv wird, sobald der Loader anspringt.


    Software Steuerung

    - sobald die Software (z.B. Loader) die Kontrolle übernimmt, geht der Warp aus danach auch nicht wieder an

    - sollte sich für Disks und Tapes wie in VICE verhalten


    Bei einem komplett Kernal gesteuerten Load mit abschließender Eingabe von RUN (automatisch) und keiner weiteren Nachlade Aktion sollten sich die Motor Steuerung und Software Steuerung gleich verhalten.

    Dies gilt für Tape und Disk.

  • hmm komisch. Es sollte nur die Einstellung ob auto warp an oder aus ist, entscheidend sein. Und das Tape muss autogestartet sein, also wenn der User das Load Command nicht selbst eintippen muss.

    Könnte es sein, dass da in der 32bit Version irgendwas schiefgelaufen ist? Hab es heute nochmal nachgestellt mit den beiden weiter vorne verlinkten Tapes und der Anfang wird bei mir nicht gewarpt. Ganz zu Anfang schaltet sich der AUTO-WARP einmal für circa 1 Sekunde an, dann aber gleich wieder aus, für die ganze Zeit dieser BASIC Meldungen, erst danach geht er dann wieder an.

  • neues nightly ...

    Mit diesem neuen Nightly klappt jetzt alles einwandfrei bei mir.


    Für mich persönlich ist ganz klar diese Einstellungskonstellation am besten:



    Da lädt er dann bei Disks nur anfangs per AUTO-WARP und bei Nachladesequenzen später dann nie mehr, sodaß man es auch bei nachladenden Demos immer so eingestellt lassen kann. Nur die handvoll Demos, die den aggressiven WARP nicht richtig vertragen, für die muss man es umstellen auf "normal" oder eventuell auch den AUTO-WARP ganz zu Anfang des Ladeprozesses per Hotkey gleich wieder abstellen. Das muss ich aber noch ausprobieren, ob das mit dem Hotkey dann verhindern kann, dass die Probleme in dieser Handvoll Demos auftauchen, denn einmal ganz kurz wurde der aggressive WARP, der manche Register abschaltet wenn ich mich recht erinnere, dann ja schonmal aktiviert vorher, allerdings bevor der Hauptteil des Demos geladen wurde.


    User, die einen ganz schnellen Rechner haben, können auch bei der Einstellung "normal" bleiben (statt aggressiv), dann sind sie ganz auf der sicheren Seite bei allen Demos und auf deren PC's wird sicherlich auch mit "normal" noch extrem schnell gewarpt.


    Und auch mit Tapes klappt es jetzt sehr gut im neuen Nightly. Da warpt er automatisch über den ganzen Anfang mit den BASIC Befehlen hinweg und auch über die Novaload Bereiche usw. Auch das Stoppen des AUTO-WARPS klappt jetzt erstaunlich gut. Hab mal 10 zufällig ausgewählte Tapes aus dem "Ultimate Tapes Archiv" ausprobiert und bei jedem davon hielt er auch korrekt an, als direkt das Game losging. Klappt gut, das mit dem Stoppen definitiv besser als ich gedacht hätte.


    Man könnte eventuell, damit es für User klarer ersichtlich ist, noch zwei Erklärsätze mit einfügen, die erscheinen, wenn sich der Mauspfeil auf "Motor kontrolliert Floppy Warp" und "Motor kontrolliert Datasette Warp" befindet. Beim Floppy-Warp etwa:

    "Wenn aktiviert, werden auch Nachladesequenzen durch den WARP beschleunigt. Wenn deaktiviert, schaltet sich der Warp nach dem Laden des ersten Files automatisch aus und bleibt dann ausgeschaltet"

    Oder irgendwie sowas in der Art, damit es halt klarer wird. Denn ob User alleine mit "Motor kontrolliert ..." etwas anfangen können, weiß ich jetzt nicht und Denise-User die hier im Forum keine Mitglieder sind, sehen ja deine Erklärungen zur Funktion hier im Thread nicht.

  • Das klappt jetzt alles gut mit dem WARP. Drei Vorschläge für Hotkeys hätte ich noch:


    - da das mit der automatischen Firmware-Umschaltung wenn ein Tape geladen wird, ja nicht kommt, könnte man dafür (zum schnelleren Handling) zumindest einen Hotkey anbieten, der zwischen "Voreinstellung" und "Konfiguration 1" im Firmware Menue hin und her schaltet, samt dazugehörigem Hardreset. Sprich - der User klickt einmal denjenigen Hotkey, den er für diese neue Funktion vergeben hat und statt JiffyDOS startet dann gleich das normale BASIC. Der User drückt irgendwann später, nachdem er mit Tapes fertig ist und wieder mit Disks hantieren will, erneut diesen Hotkey und BASIC samt JiffyDOS startet direkt wieder. So müsste man nicht jedesmal das Menue wieder betreten und dort umstellen, wenn man zwischen Disks und Tapes in der Nutzung hin und her wechselt und standardmäßig JiffyDOS Kernals verwendet


    - Auto-WARP "normal" und "aggressiv" Geschwindigkeits-Umschaltung. Weiß man von einem Demo, daß es den aggressiven WARP nicht verträgt, drückt man einmal kurz den dafür vergebenen Hotkey und ist im normal-schnellen Auto-WARP, drückt man nochmal, wieder im aggressiven Auto-WARP. Alles ohne das Menue betreten zu müssen. Wer es nicht brauchen sollte, muss diesen Hotkey ja nicht belegen, aber Hauptsache man hat die Möglichkeit, wenn man es nutzen will


    - ganz anderes Thema, aber vermisse ich schon länger. Hotkey für "Freeze (Module)". Das würde auch Sinn machen. Manchmal will man vielleicht in der Hektik eines Spiels kurz vor einer bestimmten Stelle freezen und hat gerade nicht wirklich eine Hand frei. Also muss es schnell gehen, ohne dass man ein Leben verliert. Da ist ein Hotkey besser zu nutzen, als dafür in's Menue gehen zu müssen

  • - Auto-WARP "normal" und "aggressiv" Geschwindigkeits-Umschaltung.

    Hier wäre stattdessen wahrscheinlich ein grundsätzliches "Auto-WARP An/Aus" noch sinnvoller, weil man das dann nicht nur für die handvoll Demos nutzen könnte, die den aggressiven Warp nicht vertragen, sondern auch noch, wenn man sich mal spontan die Musik eines Tape-Loaders reinziehen will und den Auto-Warp auf die Schnelle mal kurz deaktivieren will. Daß diese handvoll Demos dann ganz ohne Warp startet, wenn man diesen Hotkey dann drücken würde, ist nicht schlimm, da Demos meist sowieso recht schnell beginnen, da ist das erste File meistens nicht wirklich groß, im Gegensatz zu vielen nachladenden Spielen mitsamt Crack-Intro.

  • Es gibt ja bereits Hotkeys für Warp Normal/Aggressiv. Schaltet man im normalen Warp Modus den Hotkey für den aggressiven, wechselt dieser dahin oder umgekehrt. Drückt man den Hotkey des Warp Modus der gerade aktiv ist, wird dieser deaktiviert.


    Werden diese Hotkeys bedient, wird ein eventuell aktiver Auto Warp direkt übersteuert und bleibt bis zum nächsten Autostart inaktiv. Somit kann man mal schnell den Auto Warp abschalten, wenn dieser aus welchem Grund auch immer nicht gewünscht ist für ein einzelnes Programm.


    Folgende Erweiterung, ohne das noch weitere Hotkeys dazu kommen müssen.

    In der linken Spalte stehen die Anfangs Zustände, in der mittleren die Zustände nach Betätigung des normalen und in der rechten Spalte die Zustände nach Betätigung des aggressiven Warp Hotkeys.

    Grün ist, wie es aktuell in Denise umgesetzt ist.

    Rot wird die angestrebte Neuerung sein, soll heißen: Ist der normale automatische Warp aktiv und man betätigt den Hotkey für den aggressiven Warp wechselt dieser in aggressiven Auto Warp und umgekehrt.

    Du kannst somit also den Auto Warp Modus umschalten ohne diesen zu deaktivieren oder wie bereits möglich den Auto Warp vorzeitig beenden.


    Warp ZustandHotkey: normaler WarpHotkey: aggressiver Warp
    AusNormalAggressiv
    NormalAusAggressiv
    AggressivNormalAus
    Auto AusNormalAggressiv
    Auto NormalAusAuto Aggressiv
    Auto AggressivAuto NormalAus



    Ok ich ergänze noch einen Freeze Hotkey.

  • WARP ZUSTAND________HOTKEY Norm.Warp_______HOTKEY Aggres.Warp

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

    Auto Normal_________________AUS__________________Aggressiv


    Auto Aggressiv______________Normal__________________AUS


    Ja, das wäre eine alternative Lösung, die auch nicht schlecht ist.


    Freeze Hotkey macht definitiv auch Sinn, gut daß dies kommt. Firmware-Umschalte Hotkey wäre auch praktisch, Gründe wurden ja benannt. Stört ja auch keinen, der ihn nicht benutzen will. Man muss ihn nichtmal belegen mit irgendwelchen Tasten, hat ihn lediglich unbelegt in der Liste mit drin, während andere die immer Jiffy verwenden und öfter mal mit Tapes hantieren, ihn gut brauchen können.

  • WARP ZUSTAND________HOTKEY Norm.Warp_______HOTKEY Aggres.Warp

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

    Auto Normal_________________AUS__________________Aggressiv


    Auto Aggressiv______________Normal__________________AUS


    Also "Auto-Warp normal" und "Auto-Warp Aggressiv" meinte ich natürlich, statt "normal" und "aggressiv".

  • ok ist im neuesten nightly so umgebaut, das zwischen normal und aggressiv umgeschaltet werden kann ohne den Auto Warp zu verlasen. Zudem habe ich die Logik der Buttons 'Motor kontrolliert' umgekehrt in 'nur erste Datei'. So ist es leichter zu verstehen, was es bewirkt.


    geladene Spielstände deaktivieren Auto Warp während folgender Nachlade Aktionen genau so wie, wenn der Auto Warp manuell übersteuert wird.

    Kurz um ein geladener Spielstand ändert das aktuelle Warp Verhalten nicht. Nur manueller Warp steht dann zur Verfügung. Ich schätze der Aufwand macht wenig Sinn.


    Freeze Button ist als globaler Hotkey verfügbar.

  • Hier habe ich, damit man mal einen Zeit-Eindruck vom WARP bekommt, auf meinem Rechner die Zeiten gestoppt und verglichen. Desto schneller der Rechner umso schneller natürlich auch der WARP. Mein Rechner ist nun schon etwas älter, aber dennoch wird selbst damit noch wirklich schnell gewarpt, vor allem im aggressiven Modus:



    Tape-Bereich, gemessen mit dem weiter vorne verlinkten "AIRWOLF" Tape:


    - Zeit bis Spielstart [ohne Auto-Warp] = 4:46 Min. (286 Sek.) = 1-fach Speed


    - Zeit bis Spielstart [mit norm. Auto-Warp] = 0:57 Min. = circa 5-fach Speed


    - Zeit bis Spielstart [mit aggr. Auto-Warp] = 0:29 Min. = circa 10-fach Speed




    Und hier der Diskettenbereich. Gemessen mit einem 200 Blocks grossen File in einem d64 Diskimage. Gestoppt wurde vom Moment des Drückens auf "Autostart" bis das Spiel direkt anfängt, also dessen erster Screen kommt. Von langsamste Variante bis schnellste:


    - Zeit bis Spielstart [ohne Auto-Warp]  [ohne JiffyDOS] = 2:16 Min. (136 Sek.) = 1,0-fach Speed


    - Zeit bis Spielstart [mit norm. Auto-Warp]  [ohne JiffyDOS] = 0:37 Min. = 3,6-fach Speed


    - Zeit bis Spielstart [ohne Auto-Warp]  [mit JiffyDOS] = 0:30 Min. = 4,5-fach Speed


    - Zeit bis Spielstart [mit aggr. Auto-Warp]  [ohne JiffyDOS] = 0:24 Min. = 5,6-fach Speed


    - Zeit bis Spielstart [mit norm. Auto-Warp]  [mit JiffyDOS] = 0:10 Min. = 13,6-fach Speed


    - Zeit bis Spielstart [mit aggr. Auto-Warp]  [mit JiffyDOS] = 0:07 Min. = 19,4-fach Speed



    Der aggressive Warp ist bei mir schneller als JiffyDOS, der normale Warp etwas langsamer als Jiffy. In Kombination Jiffy+Warp geht es dann natürlich richtig ab, denn in diesen gemessenen 7 Sekunden etwa, ist auch der kleine Vorlauf noch mit drin, wenn man AUTOSTART drückt, bis das Laden dann losgeht und auch der kleine Moment, wenn es beendet ist, bis dann der erste Screen des Spiels erscheint. Zieht man das noch ab, wäre man auf meinem Rechner für den reinen Ladevorgang mit Jiffy+aggrWarp irgendwo bei um die 4 Sekunden. Und auf aktuellen Rechnern, wird es natürlich noch etwas schneller sein. Richtig bemerkbar macht es sich aber natürlich eher bei Tapes, wenn der PC richtig flott ist.