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

  • M. J. schrieb:

    @TRW: Hau rein! Ich bin jetzt bei 58 Bytes und weniger wird's wohl nicht mehr werden. Also schlag mich bitte, sonst muß ich die nächste Compo abhalten. ^^
    58? Hammer :ilikeit:
    Aber da werd ich nicht hinkommen.
    Rechnerisch könnte ich ca. 64 schaffen, da ich 3 redundante Bereiche hab, die in eine Schleife gepackt werden müssen.
    Dafür muss ich alle Register ziehen, die ich nicht hab ;)

    Und wenn ich dann noch ein paar Bytes bei der Schleife für das Nullen des Sprites (bisher 10 Bytes) bei Pointer 14 einsparen könnte, dann könnten es so um die 60 werden.
    Aber alles darunter dürfte für mich nicht machbar sein.

    @Haubitze: komm schon, Carry on ;)
    ______________________________________________
    Wenn ich posten will, werde ich Briefträger...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von TheRealWanderer ()

  • Merlin_The7thSign schrieb:

    Ist das jetz schon inklusive Basiczeile?
    Ja, inklusive. Dafür ist das Programm aber auch fürchterlich langsam. Normalerweise würde ich so einen Code nicht schreiben... <X Soviel kann ich verraten: Das Zielsprite wird nicht genullt, das Originalsprite (auch während des Programmablaufs) nicht zerstört, und der Code enthält keine illegalen Opcodes. Es gibt da also noch Verbesserungsmöglichkeiten für die echten Cracks hier im Forum.
  • 63 Bytes, Schluss für heute (MD5: 2021a3a6f7a96081e6cd5b385a0ddd97)

    EDIT: Inklusive Ladeadresse und Basiczeile, immer noch keine Illegals. Block 13 wird nicht verändert, Block 14 nicht vorher genullt, das Programm verändert sich selbst und läuft immer nur einmal korrekt.
    Yes, I'm the guy responsible for the ACME cross assembler
  • 69 bytes (incl. ladeaddresse + basic).
    programm kann mehrfach laufen.
    keine illegals.
    eigentlich wollte ich ja nicht dran teilnehmen...

    MD5 (rot-sprite-alx-v1.prg) = cf49eacbcfe146cefd452bc875e6afd4


    Update:
    63 mit illegals.
    MD5 (rot-sprite-alx-v2.prg) = fe9defa02b3616155b11adca65147c0a
  • @Haubitze : das stimmt aber was noch nicht ....


    XML-Quellcode

    1. (C:$03c0) ms $0340
    2. >C:0340 ***********....*********
    3. >C:0343 ********...****.********
    4. >C:0346 *****...*******.********
    5. >C:0349 ***..***********.*******
    6. >C:034c **.*************.*******
    7. >C:034f *.*****..*****..*.******
    8. >C:0352 .******..*****..**.*****
    9. >C:0355 .******************.****
    10. >C:0358 .*******************.***
    11. >C:035b *.******************..**
    12. >C:035e **.*****************.*.*
    13. >C:0361 ***.****************.**.
    14. >C:0364 ****.*****.............*
    15. >C:0367 ****.****.**************
    16. >C:036a ****.***.***************
    17. >C:036d ****.*******************
    18. >C:0370 ****.**.****************
    19. >C:0373 ****.**.****************
    20. >C:0376 ****.*.*****************
    21. >C:0379 ****..******************
    22. >C:037c ****.*******************
    23. (C:$0380) ms $0380
    24. >C:0380 ********.....***********
    25. >C:0383 *******.****.***********
    26. >C:0386 ******.*****.***********
    27. >C:0389 *****.******.***********
    28. >C:038c ***..*******.***********
    29. >C:038f *..**..*****.***********
    30. >C:0392 .****..*****.***********
    31. >C:0395 .***********.***********
    32. >C:0398 .***********.***********
    33. >C:039b .***********.***********
    34. >C:039e *.**********.***********
    35. >C:03a1 *.***********.**********
    36. >C:03a4 *.***..*******.*********
    37. >C:03a7 **.**..*********..******
    38. >C:03aa **.***************.*****
    39. >C:03ad **.*********************
    40. >C:03b0 ***.********.......*****
    41. >C:03b3 ***.*******.************
    42. >C:03b6 ****.*****.*************
    43. >C:03b9 *****.***.**************
    44. >C:03bc ******...***************
    Alles anzeigen

    Das gedrehte Sprite ist 2 Spalten zu schmal ...
  • hm komisch bei mir stimmt das immer wenn ich aus and #%11100000 -> and #%11111000 mach dann is das sprite bei mir wieder zu breit.
    ich lad mal zwei versionen hoch dann koenntest du mir ja sagen welche davon richtiger ist?
    weil wie gesagt bei mir sieht das alles IO aus, letztere bringt bei mir ein falsches ergebniss.
    Dateien
  • @peiselulli: Würdest du dein Tool für die Prüfung hier veröffentlichen, oder lieber nicht? Ich würde gern mal testen, ob wirklich jeder Pixel richtig sitzt. ;)

    Inzwischen bin ich wieder bei 80 Bytes, da mein Programm noch einen Fehler hatte. :cursing:
    ______________________________________________
    Wenn ich posten will, werde ich Briefträger...
  • Ich habe noch zwei Fragen:

    1) Kann man davon ausgehen, dass die Register (A,X,Y) auf 0 initialisiert sind?

    2) Kann man davon ausgehen, dass bestimmte ZP-Adressen gesetzt sind? Ich denke da so an $39/$3a mit der aktuellen Zeilennummer oder $2d/$2e, die direkt hinter das Programm zeigen sollen.
  • Sowas hab ich mir schon gedacht. Da ich das in den Regeln nicht berücksichtigt habe, mach ich jetzt immer folgendes:
    Testcode laden, Reset, Pre-Text starten, Testkandidat laufen lassen, Testcheck laufen lassen.

    Mit anderen Worten für 1) und 2) -> ja