Neue C64 ASM/Basic Compo : Dreh' das Sprite.

  • Tale-X schrieb:

    Ich bin schon jetzt gespannt, wie ähnlich unsere Lösungen sind.
    Oh, ja... ich auch.

    Phasengleich schrieb:

    Nur noch sieben Tage Zeit und ich habe erst heute angefangen und das mit so gut wie keiner Assembler Erfahrung auf dem C64. Na Hauptsache ich bekomme es überhaupt fertig. Ich muss noch schauen wo ich das fertige Programm dann hinschicke.
    Na dann kann ich ja auch noch schnell mal Assembler anfangen... aber glaube eher nicht. Was sind denn "so gut wie keine" Assembler Erfahrungen?
    carrier lost...
  • Phasengleich schrieb:

    Ich habe früher ein wenig x86 und auch 68000er Assembler gemacht. Die Grundlagen sind mir schon vertraut. Was bedeutet ich fange da nicht von Null an. Ich habe nur keine Erfahrung mit dem C64 6510 und dessen Hardware im Speziellen.
    Na dann bin ich ja beruhigt... und bleibe wohl dabei, dass ich es wohl nicht mehr versuchen werde.
    carrier lost...
  • Da kannst du wirklich ganz entspannt sein. Ich bin alles andere als ein Wunderkind. Selbst als Programmierer bin ich nicht sonderlich gut, obwohl ich mal in dem Job gearbeitet habe. Mein Ziel ist es überhaupt eine Lösung abzuliefern. Mit Leuten die schon auf dem C64 insbesondere 6502 Assembler Erfahrung habe kann ich mich eh nicht messen. Das ist bei mir mehr ein "Dabei sein ist alles".
  • Phasengleich schrieb:

    Da kannst du wirklich ganz entspannt sein.

    Phasengleich schrieb:

    Mein Ziel ist es überhaupt eine Lösung abzuliefern.
    Och, entspannt bin ich. Meine Basic Lösung wird hier auch keinen Preis gewinnen, war nur Herausforderung für mich. Und ASM will ich immer mal etwas anfangen, aber kann mich nicht aufraffen. Und jetzt... 7 Tage vor Ende fange ich vermutlich auch nicht mehr an.
    carrier lost...
  • Ich bin endlich mit meiner ersten Version fertig. Ich werde aber nochmal mit einem komplett anderen Ansatz bei 0 beginnen. Aber damit ich überhaupt was abgegeben habe, werde ich meine 216 Byte :cry: Version hochladen. Ich habe das alles sehr generisch mit Unterprogrammen, Register auf den Stack usw programmiert. Man könnte damit noch viel mehr machen wie spiegeln und so weiter. Das hat natürlich alles seinen Preis in Form von viel zu vielen Bytes. Da das aber mein erstes vollständig selbst gemachtes C64 ASM-Programm überhaupt ist, bin ich froh es doch geschafft zu haben. Ich hoffe es funktioniert auch richtig.

    phasengleich1.prg
  • Phasengleich schrieb:

    Ich bin endlich mit meiner ersten Version fertig. Ich werde aber nochmal mit einem komplett anderen Ansatz bei 0 beginnen. Aber damit ich überhaupt was abgegeben habe, werde ich meine 216 Byte :cry: Version hochladen.
    Damit bist Du 216 Bytes besser als ich. Keine Ahnung wie andere 4x Bytes mit schieben hinkommen. 8|

    Ich schaffe in Excel gerade mal die Formeln um die Bitspositionen aus X24*Y21 in X21*Y24 umzurechnen.
    Und selbst wenn ich das noch in Z80 hinbekommen sollte, dann auch nur mit selbstmodifizierenden Code und sehr vielen Bytes. ?(
    :zzz: CPC 464/6128/6128+ GX4000, Atari 2600 600XL 800XL/XE Portfolio, C64/II/G/R/SX VC20 TC64, AX81, ZX Spectrum 48k, Amiga 500/600/2000 A2630 A2088 :zzz:
    Meine 3D-Drucker Teile auf thingiverse.com/oobdoo/designs
    Mit wäre das nicht passiert! :prof:
  • oobdoo schrieb:

    Und selbst wenn ich das noch in Z80 hinbekommen sollte, dann auch nur mit selbstmodifizierenden Code und sehr vielen Bytes.
    Kann zwar nur für Basic sprechen, aber ich habe irgendwie auch den Fehler gemacht es von Anfang an so kurz wie möglich zu versuchen. Dadurch hat es ewig gedauert, bis es überhaupt lief.
    Kürzen geht ja dann von alleine.
    carrier lost...
  • Chagizzz schrieb:

    Kann zwar nur für Basic sprechen, aber ich habe irgendwie auch den Fehler gemacht es von Anfang an so kurz wie möglich zu versuchen. Dadurch hat es ewig gedauert, bis es überhaupt lief.
    Kürzen geht ja dann von alleine.
    Alte Programmiererweisheit: first make it work, then make it fast small.
    ────────────────────────────────────────────────────────────
    Time of Silence - Time of Silence 2 Development Blog
    ────────────────────────────────────────────────────────────
  • So gehe ich auch vor, besonders wenn ein System total neu ist wie der C64 für mich. Erstmal Funktion und dann schauen ob man durch anderen Ansätze oder Optimierung was besser machen kann. Was ich jetzt aber in den 5-6 Tagen gelernt habe war wirklich sehr viel. Ich habe auch Unterprogramme zum Ausrechen des Zielbit und Offset in Byte, dann lesen und schreiben von einzelnen Bits mit 0 oder 1. Ich kann die Routinen als durchaus für später noch verwenden. Um die ganzen Fehler raus zu bekommen habe ich sehr viel mit dem Debugger vom C64-Studio gearbeitet, der ist gold wert.
  • Phasengleich schrieb:

    Debugger vom C64-Studio gearbeitet
    Du kannst auch den Monitor im VICE selbst verwenden, so quasi auf "baremetal" Level.
    Mir wäre manchmal eine Kombination von C64 Studio und C64 Debugger am Liebsten.
    _________________________¨--O/\__~_________________________
    Meine Kreationen: Deviant Art | Toonsup | Flickr | Youtube
    | Twitter
  • Neu

    Das sind die Entries, die bei mir eingetroffen sind:


    cfbad973338ea8129f567c999d16e412 ./yps/drehdassprite_yps.prg
    a8a97de340df8762d876a71a0a85b3a6 ./MacBacon/mb7-64.prg
    55f81306819726f700713eb8157d7987 ./Tale-X/drehsprite5.prg
    dfe40acc8ddb5ac69d5afd2d7fba37a1 ./kbr/sprite12.prg
    83e6661b9fe3af151f9442358ed158ed ./JeeK/sd-basic-3.prg
    8313d94fbc71f40c0eaf0387943949e0 ./thomasjentsch/thomasjentzsch3.prg
    a997186420776508ad48953727ad5719 ./ByteBreaker/bbdreh2.prg
    333cadd7f689f79f79ddcd7f7c4c0eac ./ssda/drehsprite-ssdsa-asm-20170205.prg
    9a73fd6e30ee33424bdf883df4321488 ./ssda/drehsprite-ssdsa-basic-20170203.prg
    00c2da5759065027b8fd0144ee76ecb2 ./Endurion/rotate.prg
    26cc5038fe1e14af592cf490a1118432 ./Gold_Breaver/cssprrot.prg
    7438e988a4d0e06881229a5064f448a2 ./Haubitze/asm-combo-rolror.prg
    83d804adb426293ec3751a0f6ea18bc3 ./alx/rot-sprite-alx-v4.prg
    83c3334f78162cb98a7864ad2a6c10a8 ./phasengleich/phasengleich1.prg
    66d18fdef0cefe3b2df5c541e35b7ae9 ./Hoogo/Sprite_drehen.prg
    194711f3ed4a5b11cc4d1ffc371315a3 ./m.j./Compo.prg
    7f8b1342b4bf5f422ce7bd98465f7f7c ./Acorn/68k-coder.prg
    2f8f485480ad40ad4da5314b7640de5c ./mafiosino/sprite2.prg
    33218996673ff43411d21f391011a287 ./Chagizz/dds-chagizzz.prg
    63b9780aae84a58ecba4c33b86124110 ./td1334/compo44.prg
    1175a9634d90131e0f2e37f8e9b09e97 ./TheRealWanderer/SpriteRot8.prg
    5a699f1583d3e63dc69a6c572080a3c6 ./Merlin/rota-spr(brk)mln.prg
    3eef4286c1494bc6c7744a3f13473b50 ./lvr/spriterot-lvr.prg

    Bitte selber prüfen, ob ich da eine Version von irgendwen übersehen habe. War ja phasenweise sehr chaotisch mit den PMs ...