The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Archive::ByteBoozer2 - Perl interface to David Malmborg's ByteBoozer 2.0, a data cruncher for Commodore files

SYNOPSIS

  use Archive::ByteBoozer2 qw(:all);

  # Crunch file:
  crunch($file_name);

  # Crunch file and make executable with start address $xxxx:
  ecrunch($file_name, $address);

  # Crunch file and relocate data to hex address $xxxx:
  rcrunch($file_name, $address);

DESCRIPTION

David Malmborg's ByteBoozer 2.0 is a data cruncher for Commodore files written in C. ByteBoozer 2.0 is very much the same as ByteBoozer 1.0, but it generates smaller files and decrunches at about 2x the speed. An additional effort was put into keeping the encoder at about the same speed as before. Obviously it is incompatible with the version 1.0.

In Perl the following operations are implemented via Archive::ByteBoozer2 package:

  • Compressing a file.

  • Compressing a file and making an executable with start address $xxxx.

  • Compressing a file and relocating data to hex address $xxxx.

Compressed data is by default written into a file named with .b2 suffix. Target file must not exist. If you want an executable, use ecrunch. If you want to decrunch yourself, use crunch or rcrunch. The decruncher should be called with X and Y registers loaded with a hi- and lo-byte address of the crunched file in a memory.

METHODS

crunch

Crunch file:

  crunch($file_name);

ecrunch

Crunch file and make executable with start address $xxxx:

  ecrunch($file_name, $address);

rcrunch

Crunch file and relocate data to hex address $xxxx:

  rcrunch($file_name, $address);

BUGS

There are no known bugs at the moment. Please report any bugs or feature requests.

EXPORT

Archive::ByteBoozer2 exports nothing by default.

You are allowed to explicitly import the crunch, ecrunch, and rcrunch subroutines into the caller's namespace either by specifying their names in the import list (crunch, ecrunch, rcrunch) or by using the module with the :all tag.

SEE ALSO

Archive::ByteBoozer

AUTHOR

Pawel Krol, <djgruby@gmail.com>.

VERSION

Version 0.03 (2016-03-31)

COPYRIGHT AND LICENSE

ByteBoozer 2.0 cruncher/decruncher:

Copyright (C) 2016 David Malmborg.

Archive::ByteBoozer2 Perl interface:

Copyright (C) 2016 by Pawel Krol.

This library is free open source software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.

PLEASE NOTE THAT IT COMES WITHOUT A WARRANTY OF ANY KIND!