Einer meiner Vorsätze für das neue Jahr war es, endlich eine neue ASM-Compo ins Leben zu rufen.
Folgende Aufgabe:
Im Spriteblock 13 (also ab Adresse $0340, dezimal 832) liegt ein
Hires-Sprite, dass in den Spritelblock 14 (also ab Adresse $0380,
dezimal 896) gedreht kopiert werden soll.
Dabei liegt das Sprite ab Block 13 folgendermassen vor:
und soll folgendermaßen gedreht werden:
Da ein Sprite 24 Pixel breit ist, aber nur 21 Zeilen hoch, gibt es am Ende 3 Spalten des Spriteblocks 13, die nicht mit gedreht werden können. Diese sind oben mit "X" gekennzeichnet.
Die Buchstaben (bis auf das X) repräsentieren die Pixel, die in dem Quell-und Zielsprite den gleichen Wert haben.
Allerdings müssen die letzten 3 Spalten des neuen Sprites in Block 14 mit Nullen aufgefüllt werden (wie oben dargestellt).
Ziel der Competition ist das KÜRZESTE Programm, dass diese Aufgabe bewältigen kann.
Dabei gelten folgende Einschränkungen:
- Das Programm muss als Ladenadresse $0801 (dezimal 2049) haben.
- Das Programm muss mit "run" startbar sein.
- Das Programm darf keine Adresse größer $bfff schreibend benutzen.
- Der Speicher von $0400 bis $07ff ist tabu !
- Das Programm darf auf realer Hardware nicht länger als 10 Minuten laufen.
- Das Programm muss in das Basic-Prompt zurückwechseln.
- Das Programm muss den Speicher soweit intakt lassen, dass man nach dem Programmlauf
mindestens noch einen "sys 49152" eingeben kann und dieser SYS auch wirklich ausgeführt wird
(damit ich mein Auswertungs-Programm benutzen kann).
- Ich schließe mich selber aus dem Wettbewerb aus.
- Einsendeschluss ist am Samstag, den 18.02.2017, um 23:59 Uhr deutscher Zeit.
- Spriteblock 13 muß erhalten bleiben. (Wenn das Sprite wieder danach restauriert wird, ist das auch in Ordnung)
- Daten im Spriteblock 14 sind vor dem Anstarten des Programmes als zufällig zu betrachten.
- Filenamen werden vor dem Korrektheitstest beliebig geändert.
- Register A,X,Y sind mit 0 initialisiert
Die oberen Regeln ermöglichen es, dass sowohl Basic- als auch Assemberlösungen erlaubt sind.
Viel Spaß !