pouët.net

CodePressor by Topix
[nfo]
screenshot added by Kuemmel on 2019-05-14 20:19:35
platform :
type :
release date : may 2019
  • 5
  • 1
  • 0
popularity : 53%
 53%
  • 0.83
alltime top: #19648
added on the 2019-05-14 20:19:35 by Kuemmel Kuemmel

popularity helper

increase the popularity of this prod by spreading this URL:

or via: facebook twitter pinterest tumblr

comments

CodePressor compresses absolute and untyped Risc OS files. It performs best on small programs and is really only suitable for 1K, 2K and 4K coding competitions.

This is basically the 'Crinkler' for Risc OS coded by Pervect/Topix in 2001. Unfortunately this didn't run on the latest versions of Risc OS/ARM SOC's. Thanks to Phlamethrower, this problem is solved now.

So get your copy of this free OS from here and start coding your intro on that magnificent ARM based operating system :-)

I'll try to update some of my old RiscPC 1 KByte intros one day with some proper commenting to give you a better start.
added on the 2019-05-14 20:27:38 by Kuemmel Kuemmel
Awesome. Might want to port this to the GBA or sth, but I'm afraid I have too many other stuff I want to do first.
rulez added on the 2019-05-14 23:11:10 by porocyon porocyon
oh, didn't know about that archmides & Risc-OS Stuff .. and A3000 sounds like a cool oldskool demo machine ..
rulez added on the 2019-05-15 14:55:33 by Asato Asato
Archimedes rules! :-D

Pervect's excellent CodePressor ranked first place in 2K tool category of CodeCraft #2. It's a must see for tiny coding on ARM processors.

Also, for historical reason, i will mention the demo "BitStretcher"by Tony Haines that got 5th place in 1K category of CodeCraft #1 which was using the nibble packing trick first.
rulez added on the 2019-05-16 21:25:56 by baah baah
V1.04-JL was released by Phlamethrower =>

Change: Added basic support for compressing Thumb binaries; if the bottom bit of the Exec address of the input file is set (representing an interworking branch into Thumb mode), CodePressor will now generate correctly an interworking branch from the (ARM-mode) decompression code into the Thumb payload. Future releases may include special Thumb versions of the decompression routines, to reduce their size.

Fix: Methods 4 and 5 would sometimes generate corrupt output, due to the compression code not being aware that the decompression code overwrites the first byte of itself.

Check here also
added on the 2020-07-27 12:44:51 by Kuemmel Kuemmel
I remember playing around with this, but then ended up writing an exomizer2 depacker in ARM assembly.
rulez added on the 2020-07-27 13:20:10 by Moerder Moerder
@Moerder: Sounds interesting ! Where can I find that ? Was it running on Risc OS ? How did it compare to CodePressor ?
added on the 2020-07-27 22:48:18 by Kuemmel Kuemmel
Nowhere really, I'd have to dig it up. I used it to compress this.

So no it was not for Risc OS, nor did I write a custom compression tool. I compiled the program that was to run from RAM, ran it through objcopy to get the raw binary, then incbinned that at the end of the source code for the depacker which ran from ROM, all using tools that came with devkitArm, and an unmodified exomizer2.

Can't remember how it compared to CodePressor, I only remember playing around with it and then turning my attention to exomizer2 and aPLib.
added on the 2020-07-27 23:21:16 by Moerder Moerder
Anyway, without rembering all the details, I'd expect CodePressor to win for really small binaries, exomizer2 as binaries get larger.
added on the 2020-07-27 23:29:13 by Moerder Moerder
Ok, may be you can find the decompressor routine of your entry somehow or disassemble it and I can try to make that routine work on RiscOS and we'll see how it compares. You can find my email address also in most of my intros.
added on the 2020-07-28 08:34:56 by Kuemmel Kuemmel
Kuemmel: Sent you a mail.
added on the 2020-07-28 20:40:29 by Moerder Moerder
The earlier version says "binary has to be Untyped and start at &8100 or higher". I tried to compile org &8100, the same. Then I tried to change the type. Which type is untyped?

The latest version works though. It produces a binary that runs and I guess is untyped. But if I were to change type to absolute it will fail of course. But works as is. But the question is, what type is then and where is it executed? How does the OS handle when I click it? (but it works so far, just hope it doesn't break in other machines as I don't know what this is doing)
rulez added on the 2023-02-08 19:50:00 by Optimus Optimus
I tried Booster 1024 -> 807 byte (wow)

Then for fun I tried Plasm256 as I thought it would be pointless and make it bigger than smaller. Not this time: 256 -> 238 (shi)
The compressor seems to be 60-80 bytes, comparing some binaries that use same method.

But, for test I change type file to Absolute (which I shouldn't) and it works. But another one doesn't. So I'll leave it as is, but what is this invisible file type? I might lose it if I move from PC to RiscOS and not being able to set it manually.
added on the 2023-02-08 20:47:47 by Optimus Optimus

submit changes

if this prod is a fake, some info is false or the download link is broken,

do not post about it in the comments, it will get lost.

instead, click here !

[previous edits]

add a comment