Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
BitPickler 1.0.0   [2023]

Released by :
ChristopherJam

Release Date :
31 May 2023

Type :
Other Platform C64 Tool

User rating:**********  10/10 (9 votes)   See votestatistics

Credits :
Code .... ChristopherJam of Fantastic 4 Cracking Group

Download :

Look for downloads on external sites:
 Pokefinder.org


Summary
Submitted by ChristopherJam on 31 May 2023
About
=====

BitPickler is a c64 cruncher optimised for the compression of small demos for 4k
competitions and the like. It's very heavy on RAM usage during decompression
(by default it uses all of $7c00-$ffff as working memory), but has an excellent
compression ratio, and outputs around 800 or so bytes per second.


Requirements
============

Building BitPickler requires
- rust 1.63 or later, from rust-lang.org

Binaries currently built with rust 1.69, decruncher code assembled with BitPickler's
internal assembler.



Building
========

cargo build --release
cp target/release/bitpickle ~/bin # or whever you keep your executables


Usage
=====

Usage: bitpickle <src> [-j <sa>] [-n] [-t] [-i] [-b <blend-function>] [-d <dct>] -o <dst> [--stats <stats>]

Positional Arguments:
src input file

Options:
-j, --sa start hex address (if not provided, it attempts to parse a sysline in the input)
-n, --novis elide activity indicator
-t, --tiny tiny decoder - worse compression but smaller decrunch code; may result in smaller file size overall
-i, --post-cli CLI after decrunch
-b, --blend-function
blend function (1..3, default 3). Try different ones to see what compresses best for your file.
-d, --dct deinterleave code from start to this hex address
-o, --dst output file
--stats write approximate compressed page sizes to <stats>
--help display usage information


Note that the decruncher performs an SEI on entry, and does not disturb the CIA registers.

The deinterleave function works best if you put all the code at the start of your source prg
(not interleaving any data). Sometimes it produces a smaller output, sometimes it does not.


Change Notes
============

0.1.0
- first beta release
1.0.0
- first public release


Acknowledgements
================

Thanks to Thundax for taking me on as code cruncher for Onscreen - it really helped me nail
down a spec and actually get a product complete.

Thanks also to Krill and Quiss for providing some other interesting test cases and discussions
behind the scenes. The code re-interleaver is inspired by the one in Artefacts.
Search CSDb
Advanced
Navigate
Prev - Random - Next
Detailed Info
· Summaries (1)
· User Comments (7)
· Production Notes
Fun Stuff
· Goofs (2)
· Hidden Parts
· Trivia
Forum
· Discuss this release (6)
Support CSDb
Help keep CSDb running:



Funding status:




About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.089 sec.