Hallo Besucher, der Thread wurde 54k mal aufgerufen und enthält 172 Antworten

letzter Beitrag von war64burnout am

Tutorial zum Erstellen von REU Nuvies (16MB Kurzfilme) für die 1541 Ultimate Cartridges bzw. für den WinVice Emulator

  • Erst mal vielen Dank für die schnellen Antworten.


    Nach einiger Fummelei hat es schließlich geklappt. ( Immer 2 gleiche Bilder hintereinander )


    Wer Lust hat, sich das anzuschauen ... https://sites.google.com/site/nuflibase64/home/nuvies


    Leider ist das immernoch viel zu schnell. Gibt es da keine elegantere Lösung ?


    Ich hab im Vice Monitor gesehen, daß während der Bildanzeige der Code bei $3093 in einer Endlosschleife hängt, die dann wahrscheinlich auf nen IRQ wartet um ein neues Bild von der REU zu schaufeln. Vielleicht ergibt sich hier die Möglichkeit, den IRQ Vector auf eine eigen Routine umzubiegen und z.B. auf einen Tastendruck zu warten, oder eine Warteschleife mit fester Wartezeit einzubauen. und danach dann wieder Den IRQ Vector zurück zu biegen, damit das nächste Bild geholt werden kann.


    Hat jemand vielleicht sowas schon gemacht ?

  • Konnte man nicht auch Loops definieren? Dann einfach hinter jedem Bild 'ne x-fach Schleife Ein-Frame-Zurück...
    In dem eigentlichen Player-Code würde ich nicht rumpflügen:die Nufli-Darstellung ist recht empfindlich und die Sid-Daten müssen ja auch kontinuierlich gestreamt werden.

  • Es gibt noch eine Möglichkeit:
    Man ruft ein Bild auf, z.B. Bild Nr. 20 mit "00 20" gefolgt von "90 ff". Dies zeigt das Bild für ca. 20 Sekunden an.
    Dies wiederholt man mit jedem einzelnen Bild!
    00 01 90 ff 00 02 90 ff 00 03 90 ff usw.
    Für "ff" kann man auch kleinere Werte eingeben!
    ff sind in Dezimal umgerechnet 255.
    Demnach sind ca. 10 Sekunden die Hälfte von 255.
    Also gerundet 128 , dies entspricht 80 in Hex.
    90 80 zeigt ein Bild also 10 Sekunden an!

  • Danke @ war64burnout !


    Das klingt nach einer besseren Lösung . Nur wird das von hand einzugeben etwas aufwendig. Weist du zufällig, ob irgendwo inm Speicher der Reu die Gesamte Playlist an Stück abgespeichert wird, so daß man die Playlist mit nem Hexeditor nachträglich rein "Hex-en" kann ? oder wird das verstreut für jedes Bild einzelnd in der Reu gespeichert ?


    Wart mal - dass kann ich auch selber rausbekommen, indem ich nach einer bytesequenz suchen lasse, die ich selber per playlist einfüge ..


    Deiner Beschreibung nach sind jeweils 4 Bytes am Stück für die Anzeige eines Bildes Vergeben ? Wobei die ersten 2 bytes für die Bildnummer stehen und die 2. beiden bytes eine art Befehl darstellen ?

  • OK , das klappt gut !


    Die Playlist steht am Stück in der REU.


    hab nur einen kurzen Test mit 3 Bildern gemacht, da stand sie bei $ 10 00 F0 .


    Hi - und Lowbyte von der Bildnummer sind vertauscht zur Playlist im Editor. Also LowByte first !


    scheinbar muß am Schluss der Playlist der Befehl tum Wrap around kommen, damir der Player nicht nach dem letzten Bild hängenbleibt.


    Vielen Dank erst mal bis hierhin ! Jetzt kann ich mir meine Playlist mit einem Exel sheet zusammenstöpseln...

  • Also das was ich oben behaupted habe stimmt doch nicht !
    Die Playlist ist völlig verteilt in der REU abgelegt. Das hat zufällig für die ersten 3 Bilder hingehauen.


    Das ließe sich nur mit Code automatisieren, der die richtigen Werte nachträglich in die REU schreibt. Aber dafür müsste man schon wissen, wohin genau ...


    Schade für über 700 Bilder jeweils 4 zweistellige zahlen einzutippen ist mir dann doch ein bischen hypnotisch und leiert die Tastatur aus :-(


    Das mit der Slideshow werde ich wohl ohne REU support in meinen Nufli Viewer implementieren. https://sites.google.com/site/nuflibase64/test/nufli-viewer


    Für alle, die eine IDE64 ist das eine akzeptable Lösung von den Ladezeiten her und vielleicht klappt das auch mit dem IEC Device der 1541 Ultimate 2 . Die lädt ja auch recht flott, wenn man einen guten USB Stick hat...

  • Also jetzt habe ich die Playlist im C64 Speicher gefunden.


    Sie liegt im Speicher ab $ A000 ( bzw $ A080 im Vice Snapshot ) und zwar solange, bis man f7 im playlist editor drückt.


    man kann sich nun also bevor man den playlist editor mit f7 verlässt einen Snapshot in Vice machen, diesen in einem Hex Editor verändern ( z.B. eine vorbereitete Playlist per copy & paste bei $A080 hinein kopieren ) , diesen veränderten Snapshot laden, und dann den Playlist Editor mit f7 beenden.


    Oder man startet den Vice Monitor und lädt seine vorbereitete Playlist nach $A000



    So kann man auch mit nuflies in der REU eine Slideshow erstellen. Ich hab hier mal einen Test gemacht: https://sites.google.com/site/nuflibase64/home/nuvies

  • Also ich bin mit den Nerven echt am ende.


    der nuvieplayer ist wohl nicht besonders gut geeignet, um Nufli Slideshows zu erstellen !!!


    mit der 00 01 90 ff methode kommt leider die Reihenfolge durcheinander.


    die bf 00 Methode läuft viel zu schnell ab, selbst bei 3 gleichen Bildern hintereinander !!! seht hier https://sites.google.com/site/nuflibase64/home/nuvies ( BestNufli.Reu )



    Werd wohl bei gelegenheit selbst was coden müssen. Nuflis aus der Reu zu schaufeln und zu warten kann ja nicht das problem sein.



    Dabei hätte ich wirklich genug material, um ne nette slideshow zu erstellen. Schade.

  • Wie meinst du das ?


    Daß ein Fehler beim reinkopieren von 767 mal der Zahlenfolge 00 01 90 ff passiert ist ? - Wäre möglich,
    wenn ich den per Hexeditor geänderten Snapschot allerdings in Vice lade, steht halt "00 01 90 ff 00 01 90 ff 00 01 90 ff ...usw... " in der Playlist, was ja richtig wäre. Der Snapshot hat die gleiche länge wie vorher, sonst würde er auch garnicht erst geladen werden. Muß noch was anderes in der Playlist stehen ?


    Ich vermute, daß die Playlist eben anders aussehen muß. In der Anleitung steht:



    "When the playlist editor is started, it automatically generates a repeating continuous playlist of all frames in memory using some play forward 91 tokens (one play forward/backward token can only cover 256 frames max)"



    Verstehen tu ich das allerdings nicht, da ja normalerweise schon der ganze Film abgespielt wird.



    Fällt dir denn noch eine andere Möglichkeit ein, die Playlist halbwegs komfortabel für alle frames zu bearbeiten ?




    Ich hab die die "bf 00 Methode" mal auf youtube hochgeladen, alledings mit dem Emulator auf 50% der originalgeschwindigkeit ablaufen lassen.


    das kommt dann von der Zeit pro Bild ungefähr so hin. Da jetzt 3je 3 gleiche Bilder in der Reu hintereinander liegen, entspräche diese Geschwindigkeit 6 gleichen Bildern hintereinander.


    das heisst, man kann eben "nur" 127 unterschiedliche Bilder auf eine 16 MB REU packen, was ja auch ok ist.



  • Du hast immer nur "00 01 90 ff" gefolgt vom selben "00 01 90 ff" in die Playliste geschrieben?


    "00 01 90 ff" zeigt das Bild 001, also das zweite Bild, welches in die REU geladen wurde, für 255 Frames (20,4 sec) an.
    Wenn nun wieder das selbe folgt, wird wieder das gleiche angezeigt!


    Also eigentlich müsste eine Playliste so aussehen:


    00 00 90 ff 00 01 90 ff 00 02 90 ff 00 03 90 ff usw.



    Wobei 90 ff bei 700 Bildern keinen Sinn macht, da es fast 4 Stunden dauern würde bis zum letzten Bild!


    Bei deinem Beispiel sind es rund 2 Sekunden zwischen den Bildern, dies wäre "90 25".

  • ja klar,


    natürlich die Bilder nummer aufsteigend. das hab ich oben nur falsch gepostet. 0001 0002 0003 ... 00FF 0100 0101 ... etc und dazwischen immer 9090 9090 9090 etc.


    so hatte ich mir das in ner Exel Tabelle gebaut - da kann sich eigentlich kaum ein Fehler eingeschlichen haben ( der zählt sauber von 00 nach FF hoch), per copy paste in nen Texteditor und von dort in den Snapshot.
    Den Playlistanfang und ende hatte ich mir vorher im Nuvemaker mit irgendeiner markanten Zahlenfolge markiert, die ich im Hexeditor gut wiederfinden konnte. Aber ich geb zu, daß das ein ziemliches gefrickel war...
    Und es funktioniert ja auch erstmal die ersten paar bilder. bloß irgendwann scheint die Reihenfolge vollig Zufällig durcheinanderzuwürfeln.


    Deshalb bin ich zu deiner zuerst empfohlenen Methode zurrückgekehrt... es soll ja auch benutzerfreundlich sein.


    Vielen Dank nochmal für die Hilfe!

  • Bei den Bildern sind es nur keine HEX Zahlen, sondern da sind sie DEZIMAL!


    Da ist der Hund begraben!


    Hier mal die Readme zum Nuvie Maker:
    NUVIEmaker-README.txt


    Da steht dies:


    "-display single images ($0y $xx, displaying Image number yxx), which also sets the framecounter to this point.
    Note that this number is decimal, not hexadecimal like the other"

  • :thumbup: Oh !
    Dezimalzahlen ? Nie gehört - seit wann benutzt man sowas ? =O


    Das erklärt natürlich einiges...


    Und dann stehts auch noch in der Anleitung ! peinlich


    FF als Dezimalzahl muß jeden Rechner durcheinanderbringen... ^^




    übrigens scheint eine solche Slide Show auch mit einer 2 MB REU zu funktioniern.

  • Also an dieser Stelle mal herzlichen Dank an alle, die dieses Tutorial erstellt haben. Und an diejenigen, die Hilfestellung bei Problemen gegeben haben.


    Ohne euch hätte ich die Playlist features nie durchschaut ! Auch das SID relocaten hätte ich nie hinbekommen.


    Ich hab mich mal mit dem LOOP Feature "und seinen Tücken" befasst und rausgekommen ist dieses kleine Nuvie, welches ausschließlich aus animated Gifs mit "endless Loops" entstanden ist. Die Playlist dazu wurde wieder in einer Exel Tabelle erstellt.


    es heisst loopdna.reu und lässt sich hier herunterladen: https://sites.google.com/site/nuflibase64/home/nuvies



    eine Frage ist allerdings noch zur musik aufgekommen. Die maximale Frame-anzahl, die sich im nuvie maker einstellen lässt ist ja 9999 ( Wieder dezimal ) . Das entspricht dann in etwa 3 minuten 20 sec. und nimmt etwa den Platz von 12 Bildern ein.
    Ist das das die maximale Obergrenze, oder lässt sich das nach oben hin erweitern ?


    9999 ist ja $270F


    ich nehme mal an, daß das ein 2 byte counter sein soll. und sich die eingabe einfach gegen eine 99999 wehrt, was dann $1869F wäre und ein 3. byte nötig machen würde. ?

  • Ich hätte das in der Playlist für die Diashow wohl folgendermaßen gemacht:


    00 00 (Startbild auf Bild 000 setzen)
    10 FF (Loop mit 255 Durchgängen starten. Können natürlich auch weniger Durchgänge sein)
    90 XX (aktuelles Bild XX mal "halten". Das ist also die Verzögerung)
    91 01 (ein Bild vorwärts laufen lassen)
    30 00 (zurück zum Loopanfang ohne das Bild zurückzusetzen)


    Habs aber nicht getestet.


    In dem "Wired" Nuvie hab ich das anders gelöst.
    Hier wird die Möglichkeit des Players genutzt, zu Begin etwas Code aus dem Nuvie auszuführen.
    Dieser verändert dann die Abspielroutine so, dass es eben eine längere Verzögerung gibt,
    oder auch mit Shift Lock angehalten werden kann.

  • eine Frage ist allerdings noch zur musik aufgekommen. Die maximale Frame-anzahl, die sich im nuvie maker einstellen lässt ist ja 9999 ( Wieder dezimal ) . Das entspricht dann in etwa 3 minuten 20 sec. und nimmt etwa den Platz von 12 Bildern ein.
    Ist das das die maximale Obergrenze, oder lässt sich das nach oben hin erweitern ?

    Ja, man kann das mit Cheatengine erweitern: zuerst in der Cheatengine x64.exe als zu bearbeitendes Programm auswählen, dann im Nuviemaker (im Vice-Emulator) die 9999 eingeben, dann schnell solange er die Musik lädt in der Cheatengine den Wert 9999, die gefundene Adresse auswählen (wenn er zwei findet, muss man ausprobieren, welche die richtige ist) und den Wert auf den gewünschten Ändern.


    Ich habe auf diese Weise schonmal ein 14 minuten langes Sid-File in ein Nuvie gepackt, natürlich reduziert das dann die Maximalzeit der möglichen Bilder ziemlich stark (ca. 50 weniger als ohne Musik), der Nuviemaker hat diese stark überlange Musik problemlos akzeptiert, es erscheinen nur während des Ladens der Musik einzelne Zeichen auf dem Bildschirm, wahrscheinlich durch Überlauf eines Zähler, das fertige Nuvie wird aber fehlerfrei abgespielt und auch die Musik läuft komplett durch.

  • @ war64burnout: Ja schön, dass es sich jemand angeschaut hat. Das macht Mut. Werd sicher noch mehrere Nuviers machen, jetzt da ich dank deiner Hilfe weiss, wie man die Playlist verwendet !


    @ Roland : kann man die Abspielroutine auch so verändern, dass man eine Tastaturabfrage einbindet , um z.B. mit space zum nächsen Bild zu wechseln ?


    @ daddertl : Mit der Cheatengine muss ich ausprobieren. Hast Du zufällig eine Idee, wie man mehrere Sids hintereinander einbindet ? ( vielleicht kann man, nachdem man den 1. Sid in die REU geschaufelt hat, einen Vice snapshot machen, und das beschriebene obere Ende der Reu weiter nach vorne schieben - den Snapshot laden und einen neuen Sid einlesen ) oder gibt es eine Möglichkeit, von vornherein 2 Sids zu "mergen" ?