QL ZIP Port of InfoZIP v19

Anything QL Software or Programming Related.
tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

QL ZIP Port of InfoZIP v19

Postby tcat » Mon Nov 21, 2016 2:12 pm

Hi,

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.


I have added `qdos' target on the list, and included conditional compilation defining QDOS flag in various source files. Other targets are Amiga,Atari,WIN32,VMS, and MSDOS, having each separate `makefile'.

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


User avatar
Cristian
Aurora
Posts: 850
Joined: Mon Feb 16, 2015 1:40 pm
Location: Veneto

Re: QL ZIP Port of InfoZIP v19

Postby Cristian » Tue Nov 22, 2016 1:07 pm

Great!


omtexmex
ROM Dongle
Posts: 5
Joined: Sun Nov 20, 2016 5:38 pm

Re: QL ZIP Port of InfoZIP v19

Postby omtexmex » Thu Nov 24, 2016 7:02 pm

Hi Tomas,
i'm a old QL user and I want to restart to write some C code.

I read your great work to port ANSI C InfoZIP trought "qdos-gcc". Probably there are many other C software to make a porting.

What Linux distribution do you use?

Can you help me to create a right environment.

Thanks in advice!


User avatar
Outsoft
Super Gold Card
Posts: 694
Joined: Sat Apr 19, 2014 1:30 pm
Location: Italy
Contact:

Re: QL ZIP Port of InfoZIP v19

Postby Outsoft » Fri Nov 25, 2016 9:41 pm

omtexmex wrote:Hi Tomas,
i'm a old QL user and I want to restart to write some C code.

I read your great work to port ANSI C InfoZIP trought "qdos-gcc". Probably there are many other C software to make a porting.

What Linux distribution do you use?

Can you help me to create a right environment.

Thanks in advice!


Yes is a really great work!


SM7I
ROM Dongle
Posts: 34
Joined: Mon Dec 10, 2012 6:52 pm

Re: QL ZIP Port of InfoZIP v19

Postby SM7I » Mon Feb 22, 2021 1:54 pm

Hi !

Does the compiled Linux binary retain the magic header for executable QDOS files ?


tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: QL ZIP Port of InfoZIP v19

Postby tcat » Wed Feb 24, 2021 4:19 pm

Yes, it does with `-H' option passed to zip.
Only executable files needs this option.



Who is online

Users browsing this forum: No registered users and 8 guests