aaarr - es MUSS noch kuerzer gehen
naja, jetzt erstmal Feierabend...
Raubt mir sicher den gemuetlichen Abend...
Hallo Besucher, der Thread wurde 17k mal aufgerufen und enthält 165 Antworten
letzter Beitrag von -trb- am
-
-
27
jetzt wird's echt haesslich -
Samma Alter, gehts noch?
Was machst du da?
Fraktaler Code? -
So, bin bei 33 !
Aber scheinbar geht ja noch was - wenn ich mir Enthusi anseheMal schauen...
-
Zitat
Original von DrCreep
So, bin bei 33 !
Aber scheinbar geht ja noch was - wenn ich mir Enthusi anseheMal schauen...
aufpassen...vielleicht zählt Enthusi schon hexadezimal
-
Hallo!
Ich habe schon seit ewigkeiten nichts mehr in assembler gemacht (und früher auch immer nur kurze Sachen), so das ich's mich mal wieder versuchen wollte. Hat auch prima geklappt .
Meine Proglänge liegt bei 28 Byte. Wenn es einen 1Byte Code gibt mit dem man den echten Cevi (nutze WinVice) einfriert, dann könnte ich auch mit 27Byte mithalten. Vielleicht kennt jemand einen?gruss
marco64PS: Ich wuste garnicht das das Rom so nützlich sein kann.
-
Ich bin jetzt auch bei 28 Byte inklusive 2 Bytes Header. Wenn ich am Ende eine JAM/KIL-Befehl nutzen würde, wäre ich jetzt bei 27, nur würde das Programm dann nicht mehr unter VICE laufen. Mit einem echten C64 muß ich es eh noch testen...
Ich habe irgendwie das gefühl, als könnten sich die derzeit kürzesten Versionen recht ähnlich sein...
@marco64: Ja, das ROM das hilft... -
Wie sehen die Register nach einem Reset aus?
Sind Akku X und Y auf $00 oder ist da irgendwas zufälliges drin?EDIT: Also wenn dem auch aufm Originalgerät so ist dann bin ich runner auf 30 byte (28 byte "code" und 2 byte ladeaddresse)
EDIT2: Ja, das Rom hilft echt *g* -
Also bei mir sind Akku , X und Y auf $FF nachm Hardreset. Hab allerdings auch n Retro Replay eingesteckt.
EDIT: Nee, is irgendwie nie ganz gleich. Manchmal $00, manchmal $ff und manchmal gemischt.
-
Nach SYS xxxx sind alle Register eigentlich auf $00...
-
Das soll aber auch funktionieren wenn der Rechner geader erst eingeschaltet ist.
-
Ok ich steig mal ein und biete 26 Bytes (natürlich dezimal gezählt und reiner Code ohne PRG Header)
-
Also ich biete 32 byte nach allen Tests und bin somit mit meinem Latei...erm...6510 am ende.
EDIT: 30 Byte ohne .prg Header
-
-
Geht das auch in Hex?
Also hier mein zurzeitiger:
Code -
Also weniger als 28 Bytes habe ich nach ein paar Bier auch nicht hingekriegt.
CodeCU
Kratznagel -
Du hast vergessen das der Einschaltzustand der CPU undefiniert ist.
Und das muss so laufen als wär der Kernel noch nicht da gewesen. -
Wieso, die Aufgabenstellung war doch Einschalltzustand, also Kernal da. Ansonsten würde auch der e544 nicht mehr funzen.
//update: BTW: Mist, dass der BNE 1 Byte kürzer ist als ein JMP, darauf hätte ich auch kommen müssen. Das Bier war Schuld. Damit ware mein Code immerhin nur noch 27 Bytes lang.
CU
Kratznagel -
Kernel ist da, dein Programm wird aber vor dem Kernel gestartet. Stell dir vor im Kernel ist auf $FFFE und $FFFF die Startaddy deines Programmes, sonst ist alles gleich.
-
Wo bitteschön steht, dass das Programm vor dem Kernal ablaufen soll?? Für mich bedeutet Einschaltzustand = Kernal ist schon gelaufen. Schließlich soll das Programm ja auch vom BASIC aus mit einem SYS-Befehl gestartet werden.
Wäre der Kernal noch nicht gelaufen, könnte man auch keinen SYS absetzen.
CU
Kratznagel