Posts by GoDot

    D81 image von der GoDot-Seite

    Bei D81s musst du vor dem Booten die Präzise Floppy Emulation aktivieren und das Laufwerk explizit einbinden (Floppy-Einstellungen).


    SD2IEC: Beim Laden des Directory benutzt GoDot "u1:" (Blockread). Kann SD2IEC das nicht?


    Arndt

    Ach, ganz vergessen:


    Ein wichtiges Feature aus BossConvert ist auch im Saver SpritePad enthalten, nämlich das Generieren von sich überlappenden Sprites (wie sie z.B. häufig in Metaldust verwendet werden). Der Vorteil ist, dass solche Sprites an ihren unteren Rändern nicht flackern können, da das darunterliegende Sprite zwei Rasterlinien des darüberliegenden überdeckt. Hier ein Beispiel (im Weblink zu Metaldust sind ähnliche Bosse ganz unten in der drittletzten Bildreihe zu sehen) :



    Die Überlappung sieht man im linken Bild (im SpritePad-Editor) ganz unten beim unteren Bohrer deutlich. Soweit ich weiß, gibt es kein weiteres Programm mit einem solchen Feature.


    Arndt

    Und weiter geht's: Zwar noch nicht ganz fertig, aber ich stelle es trotzdem schon mal vor:


    Der Saver für SpritePad!



    Rechts im Bild die Vorlagedatei (ein Boss aus Metal Dust, Größe 5x6 Sprites) und links das Ergebnis des Savers im SpritePad (Version 2.3.0, die Previewversion, die kann, wie man sieht, den Spritepool so anordnen, dass das Bild erkennbar wird, die Version 2.0 und alle davor konnten das nicht).


    Sieht doch nicht schlecht aus, was? :-)


    Was im Saver noch fehlt, ist das Rendern nach Hires und ein paar Kleinigkeiten. Stellt euch Mermaids Hires-Kunstwerke mal als Sprites vor... ;-)


    Arndt

    Ergänzung zu Post #205:


    Lader SpritePad versteht jetzt auch das Dateiformat Version 2 (worin Tiles definiert sein können). In diesem Format wurde von Subchrist der Header komplett auf 16-Bit-Werte umgestellt und es kam noch was dazu, was vorher nicht drin war. Eine solche Datei kann jetzt also mehr als 255 Sprites enthalten, wobei sich GoDot (vorläufig) auf die 255 bisher möglichen beschränkt.


    Arndt

    kann man GoDoT auch in einem Verzeichnis von Pi1451/SD2IEC starten?

    Da ich die Hardware nicht besitze, kann ich das nicht sagen. Allerdings ist GoDot so programmiert, dass Zugriffe auf Geräte mit den originalen Systemroutinen erfolgen, also praktisch vollkompatibel sind. Also: ausprobieren (und hinterher Ergebnis hier erzählen)! :-)


    Arndt

    Na dann bin ich so richtig gespannt

    Na, dann (wie üblich ;-) ) erstmal was anderes: ein Lader für Spriteset-Dateien vom Subchrist Spritepad. Sieht so aus:



    Er lädt Dateien der Version 2.0 (die mit dem anständigen Header) und zeigt die darin enthaltenen Sprites auch gleich an (Gadget "Load"), hier der Spriteset von Wizball, angezeigt: Sprite 71 von 128 enthaltenen Sprites. Die Dateien werden vom Lader sofort ins 4Bit-Format konvertiert, ähnlich wie bei Bossconvert (sie können dann als Bild in einem beliebigen Format abgespeichert werden). Dadurch passen aber nur 72 Sprites auf eine Darstellungsseite (Anzahl steht hinter "Pages", hier zwei Stück - 128 Sprites benötigen zwei Seiten). Die Sprites können in Normalgröße (wie hier) oder expandiert (mit "Zoom", erscheinen dann im großen Rahmen) angezeigt werden. Mit den Pfeilen wird von Sprite zu Sprite geblättert, "Home" setzt auf Sprite Null (einer Seite) zurück.


    Das Modul ist noch nicht ganz fertig, das Gadget "On Pg" (zu deutsch "auf der Seite", hier: 1) tut noch nichts außer hochzählen. Es dient natürlich dazu, die nächsten Seiten zu laden (wenn es welche gibt), damit man sich auch alle Sprites im Set anschauen kann.


    Hat einer einen Feature-Wunsch?


    Arndt


    Edit: Und die Konvertierung von Hires-Sprites fehlt auch noch, sorry, vergessen zu erwähnen.

    Wird da die Abspielroutine auch mit abgespeichert

    Nee, eben noch nicht. Auf der in Post #8 verlinkten Seite steht ganz unten, was noch fehlt: Optimizer, Frame-Builder und Animator. Der Optimizer soll gleiche Sprites erkennen und markieren (damit sie nicht doppelt gespeichert werden), der Frame-Builder erstellt dann eine lauffähige Sprite-Animation (wobei ich da eben nach einem vielleicht schon vorhandenen Dateiformat suche, um ein schon eingeführtes, vielleicht verbreitetes Material zu nutzen und zu unterstützen), die der Animator dann in Gang setzt. Alle drei Module gibt es aber noch nicht, es muss ein brauchbarer Plan dafür her... ;-)


    Arndt

    Ich komm nicht voran mit dem PETSCII-Konverter. Was klappt, ist das Erkennen von PETSCII-Zeichen selbst in einer Grafik. Was nicht klappt, ist, wenn es sich um eine ganz normale Grafik handelt, in der die Umrisse nur *so ähnlich* wie PETSCII-Zeichen sind. Es fehlt mir eine Idee, wie ich Ähnlichkeit algorithmisieren kann.


    Hat einer von euch einen Literaturvorschlag, wo ich sowas nachlesen könnte? Ist Mustererkennung nicht ein wichtiger Bereich im Studium? Ich brauche einen Algorithmus, der aus vier bis sechs Objekteigenschaften eine eindeutige Zuordnung zu einem Zielobjekt berechnen kann. Sowas Ähnliches wie Fuzzy-Logik oder so. Habt ihr Bücher darüber? Oder Weblinks? Her damit!


    :honk:


    Arndt

    Und zwischendurch (mal wieder...) dies:


    Histogram hat endlich eine Anzeige für die Anzahl der gefundenen Farben (musste man bis heute immer selber abzählen!) Wieso komm ich nie auf das nächstliegende zuerst? ;-)


    Arndt

    Und wieder was Neues (bzw. was Endlich-Halbwegs-Fertiges) ;-) :


    Vollbild-Animation mit ldr.AnimFrames und mod.AnimPlayer. Die gibt's zwar schon seit 30 Jahren, aber bisher nur als absturzgefährdete Betaversionen. Das haben wir jetzt mal geändert, wurde ja wohl auch Zeit. ;-) Ein Beispiel:



    Sieht doch ganz gut aus, oder? :-)


    Arndt

    bin nämlich grad an nem Konverter dran

    Konverter? Von was nach was? Ich bin ja auch dabei (von Grafik nach PETSCII). Bin im Moment soweit, dass das Prog meine vorgegebenen Chars erkennt und rekonstruieren kann (120 verschiedene Chars, ich hab erstmal nicht alle drin!) Soll dann irgendwann beliebige Grafik konvertieren nach PETSCII, zumindest als Editiervorlage für C64Studio oder so. Recherchiere gerade nach den angesagtesten Editoren (und vor allem nach deren Dateiformat, mir wäre ein binäres am liebsten).


    Arndt

    Denn ein Abbruch führt immer zu Break in 0, egal wo das CONT steht.

    Das liegt daran, dass die Abbruch-Zeilennummer noch nicht festgehalten wurde, das machen nur die Befehle END und STOP (steht dann in $3b/$3c). Ohne Abbruch (CONT wird ja aus dem Programm heraus aufgerufen) keine Abbruchszeilennummer... ;-)


    Arndt


    (bau mal irgendwo ein STOP ein, starte das Programm, lösch die Zeile mit dem STOP wieder und starte neu, dann gibt er die gelöschte Zeile als Abbruchzeile an.)

    CONT liest die Position des letzten Breaks aus und macht da weiter. Wenn es keinen Break gab, macht er bei Zeile 0, Adresse 0 weiter.

    Die Interpreterschleife merkt sich ihre augenblickliche Position (die steht in $7a/$7b) in $3d/$3e für CONT. Wird CONT jetzt aber im Programmmodus aufgerufen, setzt CONT diese beiden Werte zurück nach $7a/$7b. Darum führt CONT (der eine Befehl!) sich immer wieder selber aus. Kann man aber mit STOP abbrechen.


    Arndt