| |
User rating: | awaiting 8 votes (8 left) |
Credits :
Download :
Look for downloads on external sites:
Pokefinder.org
User Comment Submitted by null on 12 December 2007
just to let everyone know; I did this shit over a year ago.. my first toying around with TASS ( got a copy from someone at X'06.. if you read this? who the fuck are you? :D :D ) | User Comment Submitted by enthusi on 12 December 2007
or even smaller (28 bytes including kicker):
!to "knook.prg",cbm
*=$02ea
start
sei
lda #$00
sta $d011
loop nop
nop
sta $d020
inc $d020
nop
nop
nop
inc $d020
nop
jmp loop
*=$0302
!word start
*thanks for keeping me off work :) | User Comment Submitted by enthusi on 12 December 2007
I wonder why noone is givin' a proper basic head. All this byte-fiddling is so 80s :o)
*=$0801
!word basend ;next basicline
!word 0
!byte $9e ;token for SYS
!tx "2061" ;$080d
!byte 0 ;end of line
basend
!word 0 ;end of basicprg
start_code_here (no *=$080d required) | User Comment Submitted by Skate on 12 December 2007
Finally, Knoeki has given up trying making $d012 effects from basic ;) Way to go Knoeki. Don't worry about the size (not yet). | User Comment Submitted by El Topo on 12 December 2007
I'm going to pretend I know stuff and post this insert-sysline-code I found in the old Swedish computermag DMZ:
*=$0801
.byte 11,8,10,0,158
.text "2061"
.byte 0,0,0
---rest of the code---
This is where someone posts a shorter one :) | User Comment Submitted by iAN CooG on 11 December 2007
Quote:
filename: "minicode.prg", loading from $1000 to $1018
crunching from $1000 to $1018
$1018-$1000 IS the size.
| User Comment Submitted by Cruzer on 11 December 2007
Protip: Don't pack such small files. :)
And you can use the monitor in e.g. Vice to see how many bytes it takes up in memory, then add 2 (load adr) to get the file size.
| User Comment Submitted by tlr on 11 December 2007
Yes. The new file is identical to the old, i.e 299 bytes.
metal-rox-mk3:~$ wc -c minicodepacked.prg
299 minicodepacked.prg
metal-rox-mk3:~$
To add a sys-line yourself, do this:
* from basic, type "0 SYS2061" enter.
* dump the memory at $0801 in the monitor. ($0801 to $080c inclusive)
* start your source with org $0801
* add those hex values as .byte/dc.b statements at the beginning of you source.
* add the actual code right after the hex values. (which is then at $080d/2061).
This can be made even shorter, but let's start with this.
| User Comment Submitted by null on 11 December 2007
Well... 288 bytes is the size of the file now.. changed the catagory and name to match...
...but probably I am wrong again -_-
( it's just the filesize that Linux shows me.. I have really no idea how I can see how big the actual code is... see production notes for source.. ) | User Comment Submitted by Scout on 11 December 2007
I made the same mistakes 20 years ago too :)
Enjoy the exploration! | User Comment Submitted by tlr on 11 December 2007
Yes do that. :)
Your 47 bytes is excluding the decompression code.
Pretty pointless to "compress" your original 24 bytes into 47 too. | User Comment Submitted by null on 11 December 2007
darn, I wish I knew that...
*goes to fix that basic header* | User Comment Submitted by Scout on 11 December 2007
The file is 297 bytes big.
I based this after a glass of vodka wyborowa so I might be wrong. | User Comment Submitted by chatGPZ on 11 December 2007
hehe you shouldnt crunch such a small file, because it will only become (much) bigger =)
next exercise: add a basic stub to your code =) | User Comment Submitted by null on 11 December 2007
tlr: I based it on the exomizer output.. so I might be wrong!
knoeki@PiNGU ~/c64code $ ./exomizer sfx 4096 -o minicodepacked.prg minicode.prg
filename: "minicode.prg", loading from $1000 to $1018
crunching from $1000 to $1018
Phase 1: Instrumenting file
-----------------------------
Length of indata: 24 bytes.
[building.directed.acyclic.graph.building.directed.acyclic.graph.]
Instrumenting file, done.
Phase 2: Calculating encoding
-----------------------------
pass 1: optimizing ..
[finding.cheapest.path.finding.cheapest.path.finding.cheapest.pat]
size 144.0 bits ~18 bytes
pass 2: optimizing ..
[finding.cheapest.path.finding.cheapest.path.finding.cheapest.pat]
size 144.0 bits ~18 bytes
Calculating encoding, done.
Phase 3: Generating output file
------------------------------
Encoding: 0000000000000000,0100,0000000000000000,0000000000000000
Length of crunched data: 47 bytes.
Target is self-decrunching C64 executable,
jmp address $1000. | User Comment Submitted by tlr on 11 December 2007
Hmm... the file is much larger than 47 bytes, and after depacking there is code from $1000-$1017 (inclusive).
I say: ? | User Comment Submitted by Yazoo on 11 December 2007
hehe, nice... knoeki released his 1st asm code :-) congrats! |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Support CSDb | |
|
| |
|