Unzip64v2 & Unzip128v2
Both versions, zipped
Turbo Macro assembler
(might need to compile source)
My Commodore Stuff
64 Main Page
Unzip64v2 & Unzip128v2
D64it & D128it
Errol's Home Page
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.
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).
- 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
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.
- 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!
- 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.
Some of the references / resources used:
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
specification (RFC 1951)
PkWare's file format description
Related C= sites:
Russell Reed's Projects
page - UnPack utility, alternative C= archive formats.
Pasi 'Albert' Ojala's Software
Page - PuCrunch, data compression introduction (thorough!)