Hello, Guest the thread was called6.9k times and contains 157 replays

last post from Roland at the

Mini Competition für "Grid"-Problem

  • hier jetzt der neue Thread; für alle, die es noch nicht mitbekommen haben:
    Es geht darum folgende Aufgabenstellung in so weing Bytes wie möglich zu implementieren:
    Ein weißes Gitter soll auf schwarzem Grund dargestellt werden, alle 8 Pixel sowohl horizontal als auch vertikal soll eine weisse Linie dargestellt werden.


    Bedingungen:
    Der Code muß so wie er ist aus dem Einschaltzustand des C64 ausführbar sein, ansonsten sind alle Tricks erlaubt, auch Sprünge ins ROM (wenn das was bringts??!)


    Und eben so kurz wie möglich.


    Ich würde sagen die Competition läuft eine Woche dann werden die Hosen runtergelassen, wer den "Kürzesten" hat, ok?! Also nächsten Mittwoch, 21.12.2005 um 18:00 ist deadline.

  • Quote

    Original von hoogo
    Gibt's da noch weitere Regeldetails, die man wissen sollte? dass die Linien z.B. ein Pixel breit sein müssen, daß die in der oberen linken Ecke anfangen müssen und sowas?


    haja....es muss GENAU SO aussehen....


    NICHT 2 pixel breite oder das gittermuster verschoben....


    auch gleiche Farben...eben GENAU SO wie das Beispielbild!

  • Quote

    Original von cky
    hm, so'ne lange Deadline? Ist ja noch nen bissl hin....aber mal schauen, denke mal da kommen viele gleiche ansätze raus :)


    also wenn ihr wollt, können wir die deadlibe gern verkürzen... sagen wir auf Samstag, 18.12. 24:00 Uhr, sprich am Sonntag wird aufgelöst...!? (ich denke ein Wochenend-Tag ist ok, für alle Berufstätigen, die keinen Rechner bei der Arbeit haben, oder ;))


    Also dann mal ran an die Tasten, Jungs!

  • Quote

    Original von hannenz
    Bedingungen:
    Der Code muß so wie er ist aus dem Einschaltzustand des C64 ausführbar sein,...


    Was heißt denn das genau ? Wenn ich den Cevi einschalte ist doch nix im Speicher. Was soll ich denn da ausführen lassen ??? :D

  • Quote

    Original von DrCreep


    Was heißt denn das genau ? Wenn ich den Cevi einschalte ist doch nix im Speicher. Was soll ich denn da ausführen lassen ??? :D


    naja...nach dem Einschalten lädst du dann dein Programm (oder tippst es mit einem Monitor in den Speicher).


    Sonst sollte vorher nix im Speicher stehen.... (aber nicht einfach davon ausgehen, dass dann überall 00er sind)
    Geht halt auch darum, dass z.b. die VIC Adressen den "Einschalt-Standard" haben und alle hier auf der gleichen Basis arbeiten.
    (Kannst dann aber z.b. Zeropage-Adressen die nach dem Einschalten entsprechend belegt sind benutzt....wenns was bringt)


    ...und nicht, dass ihr den Filenamen des Programms in den Code mit einbaut!!!!!
    Es gilt nur der Code des Files, und der wird mit einem einfachen SYS gestartet...
    (auch nicht sowas wie: SYS 12345,12,32 oder so....)!


    also nur z.b. SYS 4096 (kann natürlich auch SYS 8192 sein, wenn ihr dadurch entsprechende GFX Daten schon an eine bestimmte Stelle abgelegt habt)

  • Na jut... Sonntach bin ich zwar auf Arbeit, aber wat solls? Werd wohl eh kaum das kürzeste Prog auf die Reihe bekommen... Wie bereits erwähnt, allerhöchstens das krüppeligste.


    Aber nu lasst Euch doch nicht lumpen und verratet doch mal, wie klein ihr es bisher hinbekommen habt. Dann wissen die, die im "Rückstand" sind wenigstens, was es noch aufzuholen gilt. (Also Roland mal ausgenommen, der ja quasi scheinbar bereits im Besitz der kleinsten möglichen Routine ist).

  • Fertig!


    Einfach das .zip entfernen und mit emu starten.
    Ich komm mit Startheader auf 67 byte.



    Ich denke mal das geht kleiner, aber da ich nicht soooo der Proggerking bin bin ich damit zufrieden.


    EDIT: Ich habs schonmal gepostet weil ich Freitag wieder nach Spanien fliege für ein paar Tage weil mein Vater seinen Campingwagen nicht emhr alleine in annehmbarer Zeit abbauen kann. Alleine braucht der wenigstens 14 Tage :-(

  • haha, das ist kaum das Konzept eine compo :)
    Ergebnisse Posten :)
    Naja, der 'witz' ist eh tot denke ich.
    Ich biete 33 Byte. Ich vermute fast dass es noch ein klein wenig kuerzer gehen muesste...
    Und ich glaube 67byte schaff ich fast in basic :)


    edit: hmm, da kommt mir grade eine Idee :))

  • Also ich häng weiterhin auf 49. Hab aber noch ne Idee, wie es etwas kürzer gehen könnte. Tricks kenne ich ja leider keine ...


    EDIT: 42 Bytes und so langsam keine Ideen mehr.

  • Quote

    Original von enthusi
    Ah haha - auf manches kommt man viel zu spaet...
    32 nun :)


    Du schaltest nicht zufaellig vorkonfigurierten 1K-Speicher als Screen-RAM ? ;)


    Datensegmente nach oder vor dem Programm haengen sind doch auch belegter Speicher ?


    Soetwas einschalten und faerben schaffe ich auch mit ein paar Bytes. :0)



    Wenn ich es ueber die Methode mit dem modifizierten Zeichen versuche, bringe ich es wenigstens auf 50-60 Bytes.
    Allein Char auf $2000, Farben umstellen und RAM-Adressen verwenden, belegen (bei mir) ohne selbstmodifizierenden Code schonmal um die 13 Bytes.


    Bin auch nur Gelegenheitsprogrammierer und sehr gespannt.




    Michael