Hallo Besucher, der Thread wurde 17k mal aufgerufen und enthält 165 Antworten

letzter Beitrag von -trb- am

Mini Competition für "Grid"-Problem

  • Ok, dann hab ich das falsch interpretiert.... sorry ;)


    Hier dann richtig:

  • Den INX kannst Du Dir übrigens noch sparen, wenn man beachtet, dass für die Zeichenfarbe nur die unteren vier Bits relevant sind:



    Das sind dann 27 Bytes. :)


    Die 26 Bytes von biguser habe ich aber auch noch nicht geschafft... :rolleyes: Ich bin schonmal gespannt. ;)


    CU
    Kratznagel

  • Hab den Code von Kratznagel noch etwas optimiert (24 Bytes im Cevi):



    .C:0100 FF 80 80 80 80 80 80 80
    .C:0108 8E 20 D0...STX $D020
    .C:010b 8E 21 D0...STX $D021
    .C:010e A9 11......LDA #$11
    .C:0110 8D 18 D0...STA $D018
    .C:0113 20 36 E5...JSR $E536
    .C:0116 D0 FE......BNE $0116


    Bei Einsprung in $e536 wird STA $0286 automatisch gemacht.
    Auf den Trick das Programm im Stack laufen zulassen um sich ein LDA #$01 zu sparen wäre ich nicht gekommen. :D


    Sorry das ich den code nicht augengerecht serviert habe. :motz:


    gruss
    marco64

  • Na super. Sieht so aus, als wäre die ganze Spielerei ohne Cross-Development gar nicht möglich, wa?


    Naja, der Vollständigkeit halber jetzt an dieser Stelle doch noch meine "erste Version", die ich quasi jans alleine zusammengeschustert hatte - als Bewerbung für den Titel "the krüppeligste Code ever". Aber Scheiße, mir war ja nichteinmal das ROM geläufig und musste irgendwas ausm "Alles über den C64" Buch rauskramen... und stelle im Nachhinein fest: der Buchtitel ist trügerisch... :D


    *tadaaa*



    Jaja, ich mit meiner verqueren Logik... :winke:

  • Bin momentan bei 23 Bytes ohne Header und hab für heute die Nase voll. Wer denkt sich denn so eine Compo aus die einem den ganzen Abend raubt ;) Mal schaun ob mir morgen noch etwas einfällt. Auf Rolands Lösung bin ich dennoch gespannt. Ich glaube er hat da einen ganz anderen Ansatz.

  • Zitat

    Original von jansalleine
    Also Jungens, ich weiß ja nicht, wie ihr es macht, aber ich krieg keinen Code ab $0100 an's Laufen, weder im Emu noch am original C64, egal ob mit oder ohne RR-Modul...


    doch doch, das geht schon.. Einfach mal den Code zu einem Objekt-File assemblieren und abspeichern. Dann laden und sys264, geht.

  • 25 inkl header :o)
    Ich denke, dass alle so kleinen prgs genau gleich aussehen :)


    edit: fuer vice-creeps: 26 :)
    edit2: aber ich finde es schade, wenn code gepostet wird waehrend andere noch daran arbeiten - verdirbt doch die ganze compo


    edit3 :o) es sei denn es ist ein 'alle gegen Roland' :o)

  • Ich bin dafuer das 25 das kleinste ist :)
    aber man weiss ja nie


    edit:
    md5sum :o)
    7a737ae05f581dac5f2069a60a880464
    das waer doch mal ne Massnahme :)


    Und irgendwie hilft es sicher auch gegen Terroristen


    Auch geil: die md5sum ist groesser als das Programm :)


    Ausserdem melde ich ein Patent auf diese checksum an

  • Hut ab, biguser und enthusi!


    Ich bin jetzt auch bei 23 Byte, bzw. 25 inkl. Header. Läuft auf meinem C64 und unter hoxs64, aber nicht mit VICE.
    Mit dem Ansatz, den anscheinend die meisten hier verfolgen, geht es wohl wirklich nicht mehr kürzer. Vielleicht gibt es ja doch noch eine ganz andere Lösung...


    md5: 01F91339407A2CBF9E3A34C79526972A
    Hatte ja schon fast befürchtet, genau die gleiche Lösung gefunden zu haben wie enthusi. So kann ich mir aber auch noch ne Checksumme patentieren lassen...


    PS: Es wäre sicherlich spannender, wenn bisher keiner seinen Code gepostet hätte, am besten nicht mal die Programmlängen.

  • @Derrick: Deine Version läuft nicht im Vice? Dann hast du wohl noch etwas anders gemacht. Mein Code läuft im Vice. Ich teste nacher mal auf dem echten Gerät, aber ich seh da kein Problem. Ich hatte noch 2 Ideen ein Byte zu sparen, aber die gingen leider nicht auf.


    Wenn man Illegals benutzen darf und die Emus ausschließt, dann komm ich noch auf 22 Bytes ohne Header. Aber das streikt dann eben im Vice.

  • Also ich bin dafür das alles ohne Ill.Op zu machen (gut mir würden da auch nen paar tricks einfallen ;) ). Aber da hier Anfänger sind sollte darauf verzichtet werden.


    Ach, und es sollte natürlich auf allen C64 gleich aussehen.....nur mal so am Rande.


    Wie soll das mit der Veröffentlichung laufen? Eigner Thread, auf'm FTP den Source hinterlegen (wenn man sowas öfter machen sollte, könnte man sich ja so'n kleine Seite basteln)...oder wie? :)

  • was die md5sum angeht, ich kann sofort mit dem 'selben' code 5 verschiedene produzieren :)
    Voellig egal wenns im vice nicht laeuft - was interessiert das bei ner c64-compo?
    Illegal Ops finde ich auch ok - wenn sie einigermassen stable sind natuerlich nur - also auf allen REVs laufen :)


    biguser: noch ein Byte weniger? Mist (!!!!)

  • Jetzt muß ich aber auch mal um eindeutige Regeln bitten !!!


    Hab nämlich nach langem hin und her endlich den Fehler bei mir gefunden.
    Im VICE und CCS lief die 24Byte-Version immer problemlos, nur am Cevi wollte sie nicht. :(
    Bin vorhin fast verzweifelt, hab aber des Rätsels Lösung gefunden:
    Die Cevis sind untereinander auch verschieden. 8o
    Am Aldi-C64 gings letztendlich, am uralten (Ser.No.79386) geht garnix.
    Der hat folgendes Problem :
    Er reagiert zwar freundlicherweise auf die Änderung in $D018, ersetzt mir jedoch nur die Leerzeichen auf dem Screen, die irgendwann vorher mal gesetzt wurden.
    Beim Einschaltbild zB nur zwischen dem Text, die freien Zeile drumherum bleiben (wie auch der großteil des restlichen Screens) leer..
    Seltsamerweise ergibt ein printpeek(1024) aber 32. Warum zeichnet mir der VIC dann nicht das neue (geänderte) Leerzeichen an diese Stellen ??????? ?(


  • yo....es gibt da unterschiedliche ROM versionen.......


    aber ich denke, wenn die routine auf einem der "regulären" c64s läuft, ist es ok!
    (es zählt natürlich nicht, wenn jemand ein selbst geändertes ROM einsetzt, dass die routine schon von alleine hinzaubert).


    ps: das ROM, dass die emus verwenden ist wohl das meist gebräuchliche....
    ps2: ist ein aldi-computer überhaupt ein computer? :D