As promised just pushed `qzip' (InfoZIP program ZIP), based on original source from 1992,
`zip19p1.tar.Z' , ported using `qdos-gcc' compiler.
https://github.com/SinclairQL/qzip
The idea is to learn, improve, and have some fun with C-coding.
It is not meant to replace existing work of Jonathan Hudson's, from whose sources I learn a great deal.
My port of ZIP requires less memory, is v1.9 , does not support level-2 directories, and is generally better suited to bare QLs with minimum extended memory.
`qzip' - 69206 code / 60764 dataspace
`zip' - 74112 code / 309388 dataspace !! (ziprelease v3.0)
Typing make will reveal all possible target platforms.
Code: Select all
tcat@lynx:/usr/src/qzip$ make
Make what? You must say what system to make Zip for--e.g.
"make bsd". Choices: 3b1, aix, att6300, aux, bsd, bsdold,
convex, cray, cray3, dec_osf1, dnix, hpux, isc, linux, qdos,
minix, next, next10, scodos, sun, sun_gcc, sysv, sysv_386,
sysv_old, ultrix, xenix, xos, zilog.
See the files install.txt and zip.txt for more information.
Currently tested and working on `linux' and `qdos' platforms.
The idea might be to strip code to a bare minimum, removing portions of code for other platforms, and make resulting executable as small as possible.
There is an optimised assembly routine `match.s' for longest match, that can be conditionally included.
I will try to comment and explain all changes I made from original source, here. Perhaps if original source were pushed in separate branch, then `diff' could be made right at GitHUB web, something I do not know if possible?
Tomas