| |
The Human Code Machine
Registered: Sep 2005 Posts: 112 |
Cross rle or equal char packer
I'm looking for a Windows commandline rle or equal char packer with at least these specs:
Memory range from $0200 to $ffff
Should create a runnable executeable with sysline
Anyone know one? I searched the net, but didn't find anything except pack64.exe included with Tass, but it didn't work here.
|
|
... 11 posts hidden. Click here to view all posts.... |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: I'm looking for a Windows commandline rle or equal char packer with at least these specs:
Memory range from $0200 to $ffff
Should create a runnable executeable with sysline
Anyone know one? I searched the net, but didn't find anything except pack64.exe included with Tass, but it didn't work here.
Is it of really that much importance it's RLE? Wouldn't LZ be ok aswell because then you have pucrunch and exomizer to choose from. And perhaps with cmdline options you might be able to turn of the backreferences in pu or exo to get only the RLE part? Perhaps... |
| |
The Human Code Machine
Registered: Sep 2005 Posts: 112 |
@enthusi That's what I hoped for: someone willing to share his small crosscruncher ;) I'm lazy, you know...
@JackAsser Not it's not so important it's RLE, but it should decrunch as fast as possible and the starting adress should be $0200 or lower if possible.
I need this for the generated output of my Modconverter. I know that I can move some stuff around internally and crunch with Exomizer or Pucrunch afterwards, but the decrunchtime while testing the module in WinVice isn't optimal for the workflow. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: @enthusi That's what I hoped for: someone willing to share his small crosscruncher ;) I'm lazy, you know...
@JackAsser Not it's not so important it's RLE, but it should decrunch as fast as possible and the starting adress should be $0200 or lower if possible.
I need this for the generated output of my Modconverter. I know that I can move some stuff around internally and crunch with Exomizer or Pucrunch afterwards, but the decrunchtime while testing the module in WinVice isn't optimal for the workflow.
Oh ok, but if it's just a workflow issue I suggest you simply save the whole shit as a big uncompressed .prg file and use the new DMA-load in VICE to push the data into memory. |
| |
The Human Code Machine
Registered: Sep 2005 Posts: 112 |
Quote: Oh ok, but if it's just a workflow issue I suggest you simply save the whole shit as a big uncompressed .prg file and use the new DMA-load in VICE to push the data into memory.
I didn't find anything regarding a DMA-load feature using a commandline switch. Is it possible to load the whole memory and give a startadress? |
| |
Devia
Registered: Oct 2004 Posts: 401 |
Quoting The Human Code MachineI need this for the generated output of my Modconverter.
Wouldn't you need to delta encode before RLE to gain any significant reduction in final data size?
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: I didn't find anything regarding a DMA-load feature using a commandline switch. Is it possible to load the whole memory and give a startadress?
@Groepaz&MagerValp: Wasn't this some new feature in VICE 2.2? Have I been dreaming? :) |
| |
Mr. SID
Registered: Jan 2003 Posts: 424 |
Couldn't you just use -moncommand to issue a series of commands to change $01, load and jump to start address?
Or be quick with enabling/disabling warp mode... :) |
| |
enthusi
Registered: May 2004 Posts: 677 |
ec64 (the c64 emulator) can do both.
Launch PRG via RAM-injection and enable/disable frame-limiter for a certain amount of frames via script.
There is a good chance though that it wont run your MOD-player =) |
| |
The Human Code Machine
Registered: Sep 2005 Posts: 112 |
@Devia I don't think that delta encoding makes such a big difference with a rle packer. Even Pucrunch is only a few percent better with delta enconding enabled.
@Mr. Sid I think your idea is too complicated. Would be cool, if Vice had an autorecognition for packed files and would enable warp during decompression. Could use the same technique as Ian Coog's unpacker.
@JackAsser I thought you knew how this DMA-load thing works?
@enthusi WinVice is quite good at emulating $D418, DigiMax and waveform digis using resid-fp. I don't think ec64 handles this very well. |
| |
iAN CooG
Registered: May 2002 Posts: 3194 |
Injecting a prg in vice would work only if the prg has a sysline, if it's starting from $0200 you can forget about it.
Give a try to Cadaver's packprg, full source included so you can build on any platform I think.
http://cadaver.homeftp.net/tools/c64tools.zip
Requires dasm to compile on the fly the depack.s, just set the depack address to $0100 and it depacks $0200-fffe (yes, it seems to have a bug with last byte setting it always to 0, just make sure you have 1 byte more than needed in the unpacked file)
I never used it because not only for the last-byte-bug, it does more than RLE (some sort of sequence packing) and the result when recrunched is worse than using an RLEpacker (or exomizer 2 alone) but it can be handy anyway if you only need to make a fast 0200-ffff program into a $0801-cfff 202 blocks runnable prg.
I have made my own semiautomatic(!) charpacker wrapper, that calls vice after injecting a charpacker and the unpacked prg in a d64, packs it and after exiting vice (alt-x/alt-f4) it extracts the packed version. Of course is not what you want but still it's better than having to do everyting manually ;)
http://iancoog.altervista.org/C/multipack_2.13_%285_packers%29... |
Previous - 1 | 2 | 3 - Next |