Unzip64v2

  • strict warning: Non-static method view::load() should not be called statically in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of views_handler_field::query() should be compatible with views_handler::query($group_by = false) in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/handlers/views_handler_field.inc on line 1148.
  • strict warning: Declaration of views_handler_sort::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_sort::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_sort::query() should be compatible with views_handler::query($group_by = false) in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/handlers/views_handler_filter.inc on line 599.
  • strict warning: Declaration of views_handler_filter::query() should be compatible with views_handler::query($group_by = false) in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/handlers/views_handler_filter.inc on line 599.
  • strict warning: Non-static method views_many_to_one_helper::option_definition() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/handlers/views_handler_filter_many_to_one.inc on line 25.
  • strict warning: Non-static method views_many_to_one_helper::option_definition() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/handlers/views_handler_filter_many_to_one.inc on line 25.
  • strict warning: Declaration of views_plugin_query::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/plugins/views_plugin_query.inc on line 181.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/plugins/views_plugin_style_default.inc on line 24.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /var/www/vhosts/kludgesoft.com/httpdocs/sites/all/modules/views/plugins/views_plugin_row.inc on line 136.

 Unzip64/128 news:

11/6/2003 - Source code released

This is the source used to compile both versions of 2.15, in it's original turbo/macro assembler format and also exported to petscii.

If anyone makes use of it please let me know!

Wow, is it really like 3 years since I looked at this?? Anyway..

14/11/2000 - Unzip64v2.15 & Unzip128v2.15 released. What's new:

  • overwriting of existing files with all/none/individual options
  • decompresses D71 & D81 disk images as well as D64 images
  • output files are now created with "correct" case
  • renaming of the output file
  • probably a few bugs as I'm releasing it as-is
  • lots of other things I don't remember because I haven't looked at it in months

Unzip64v2 & Unzip128v2 are decompressors compatible with files created by PKZIP v2.04g & equivalent programs, as well as gzip (GNU zip). They will decompress deflated (and stored) files on a stock commodore 64 or 128 (respectively).

I started this project primarily as I was interested in learning compression theory, and there has always been demand for such a program. An unzip program already exists for the c64 & c128, but it is only compatible with PKZIP v1.10 or earlier.
Most everyone I've seen discussing the topic has said that an inflate routine would be impossible on a c64 (or even a 128) without ram expansion and/or a supercpu or similar. Unzip64v2's inflate code uses about 36k of memory in total, and decompresses at a rate of several k/sec or more on a 1Mhz 64!
The code is 100% 6502 assembler based partly on the infozip C source. See references below.

Features:

  • Writes D64 files to 1541/71 drives and to 1541 partitions on CMD devices
  • Fast decompression
  • Decompresses both ZIP & GZIP compressed files!
  • CRC-32bit data integrity checking
  • Path support for directories/partitions on CMD drives etc..
  • File type (PRG/SEQ) selection + individual override
  • Filename correction for lowercase ascii filenames.
  • Auto device detection.
  • Directory functions F1 & F3 for viewing source & destination directories.
  • Dos command functions.
  • Uses 2mhz mode on a 128 in 64 mode + uses VIC-II blank screen speedup
  • CMD device friendly (SCPU64, RamLink, HD/FDxxxx etc. etc. compatible)
  • CMD SCPU optimized
  • Compatable with just about any storage hardware, including ramdos/REU etc.
  • It decompresses ZIP2.04g files - what more do you want?
  • More? It decompresses GZIP files too
  • Want more still? It decompresses d64 images straight to 1541 disks!

Notes:

  • As with anything, it may have bugs. Feedback & bug reports are always welcome.
  • This program will NOT decompress files created by PKZIP 1.xx. (unless ALL the files are stored) It does not implement the shrink, reduce or implode algorithms (methods 1, 2-5 & 6 respectively). Use David Schmolls unzip128/64 program for these files.

Credits:

  • Gaelyne & Rod Gasson for their SCPU64
  • Darren Gibbs for his 128 system
  • Jeff Jones from Loadstar for sending me a C=128 Programmers Reference Guide
  • Gerry Gallinat for his 128 Programming Secrets book
  • Todd Elliot for a huge wad of 128 programming info
  • Colin Thomson & Russell Prater for addition encouragement
  • Also Rod Gasson & Nate Dannenburg for some of thier 128 programming experience

Some of the references / resources used:

Related C= sites:

Plus/4 version of d64it 20/05/2012 - 12:44

Imre Széll from Hungary (aka 'siz') has ported d64it to the Plus/4.

You can find his port here - D64IT plus/4 - and the forum discussion of the port on the Plus/4 world forums here.

I've also mirrored the full zip file (source and Plus/4, c64 & c128 programs) here - d64it.zip or just the Plus/4 version itself - d64it_plus4.prg

d64it-vic released - d64it for the Vic20! 05/09/2009 - 22:26

I've recently done a vic20 version of d64it, so now you can extract d64's (or create them) natively on your trusty (rusty?) old vic 20! It needs a vic with 8k or more of expansion ram.

You can download d64it-vic here.