home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 9 Archive
/
09-Archive.zip
/
ZOO20OS2.ZIP
/
PATCHES.OS2
< prev
next >
Wrap
Text File
|
1991-03-01
|
3KB
|
95 lines
I (Kai Uwe Rommel) got some OS/2 patches to ZOO from someone on the
net who did not sign them with his name and unfortunately, lost also
his mail address ....
I further enhanced the port (speed !). Here are the original comments:
---------------------
Hi,
Here are my os/2 patches to zoo and stuff as I send them to Rahul Dhesi,
they are:
Note-stuff what I did to stuff
Note-zoo what I did to zoo
P-stuff stuff pathches
P-zoo zoo patches
P-options.h.port fix for options.h
The patches should be applied to the 2.01 msdos version of zoo,
and the options.h fix after P-zoo.
It is almost a year ago that I send this to Rahul, so maybe it is saver
to ask him an upgrade to os/2 as in these patches are not my 'maxlimit'
changes which I did later (the '#=' options of zoox).
But in any case I think these patches should work, If you have
any questions, let me know.
On os/2 the call to kbhit in doarg.c is omitted, was this call
nessecary ? If yes, why?
The rather ugly cast of *((unsigned *)&... in the calls to
mstounix are due to the fact that the time unsigned is now
put in a structure with bit fields that build the same 16 bits
as the old unsigned, so this "converts".
In givehelp.c I splitted the printf because msc 5.1 cannot handle
big strings.
Notes on the zoo/fiz port to OS/2
In various.h I made some changes for prototypes to incorporate
the const and size_t changes in some functions in system headers.
In options.h the void ptr.
In nextfile.c I made os2 version of nextfile() and fcbpath().
In msdos.c I made os2 version of the various file related functions.
In msc.c I changed set_break(), the function enables ^C and break
during zoo, restoring the old value afterwards. I think it's very
hard to allow ^C but not break.
In misc.c I removed a warning over the #endif COMMENT.
I could not use the *.asm files on OS/2 because they use the 'int'
opcode which is not usable from user programs in OS/2.
Therefore I used the protable c versions and I had to compile
in large model or zoo runs out of memory during the first compression.
The port was rather quick & easy, due to the portable way the
modules were set up, good practice but I think you already knew that.
---------------
I have now added some changes:
I had to add
#define NEEDCTYP
#define MEMSET
to options.h.
I could use the .asm files, their usage allows SMALL model to be used.
The stack size should be 0x7000 bytes.
There was only one INT instruction in adbfcrc.asm which could be
dropped immediately because it's function is not needed in OS/2.
In lz[cd].asm the int 21 for malloc had to be changed to DosAlloc().
The segment names had to be changed for case-sensitive link.
Some external declarations had to be moved into _BSS for MS C 5.1.
This makes Zoo MUCH faster.
The speedup is about factor 2.3 !
Kai Uwe Rommel
I have now made ZOO compatible to the HPFS. This required some changes
to options.h (FOLD and FNLIMIT symbols), nextfile.c (nextfile() function)
and msc.c (fixfname() function). Added isvalid.c for OS/2 version.
Kai Uwe Rommel
rommel@lan.informatik.tu-muenchen.dbp.de