home *** CD-ROM | disk | FTP | other *** search
- This is my second (and hopefully better) attempt at porting the PBMPlus package
- to MS-DOS.
-
- I used D.J. Delorie's port of the GNU GCC compiler to DOS to compile the
- package. The GCC compiler generates 386 specific, protected mode code. Used
- with DJ's DOS extender (built into the executables distributed with this
- package) allows for some pretty powerful programs. The current DOS extender
- (or rather, the one I'm currently using, there may be newer version with more
- compatibilities), is not compatible with much of anything besides vanilla DOS.
- No EMM386.SYS, QEMM.SYS, Desqview, Windows, etc. Source for the
- DOS extender is available with the GCC package. You can obtain the package
- from the internet at grape.ecs.clarkson.edu:pub/msdos/djgcc/* or
- (315)268-6667:pub/msdos/djgcc/*. Feel free to add VCPI or DPMI support.
-
- Improvements:
-
- o RAWBITS binary formats for p?m files. This allows MUCH faster
- executions times, as well as smaller temporary files. This same
- fix also allows for the familiar unix-style pipings, such as:
-
- tgatoppm dkbtest.tga | ppmquant 256 | ppmtogif > dkbtest.gif
-
- This makes for this source code to be much closer to the PBMPLUS
- package as distributed by Jef Poskanzer.
-
- The only minor problem this causes is when you want to use an ASCII
- only p?m file, you have to change all the LF/CR sequences into LF only
- (that is, run it through a DOS-to-UNIX text file filter).
-
- o MERGE option for binaries. This essentially creates one big exectuable
- file rather than a bunch of smaller ones. On unix systems, you can use
- this option, as well as file links (pointers to a file, rather than an
- actuall file) to point to this one exectuable. It can save a
- tremendous amount of space. How the program works depends on what the
- name is of program when you execute it. On a DOS machine, you have to
- copy or rename the executable to get the appropriate function (remember,
- how the program works depends on how it's named). If you want the whole
- package, the MERGE option will take up more room on a DOS machine, but
- it makes for a smaller package to send around the net, and smaller and
- putting all the unused files into an archive if you only want part of
- the package.
-
- The entire PBMPLUS package, when compiled into separate binaries, takes
- up just over 6 Megs of diskspace. The equivalent package compiled using
- the merge option takes up about 300k.
-
- The executables I plan to distribute are the merged binaries. The binaries can
- be renamed/copied to the following to get the desired results:
-
- pbmmerge.exe to brushtop.exe
- cmuwmtop.exe
- g3topbm.exe
- icontopb.exe
- gemtopbm.exe
- macptopb.exe
- mgrtopbm.exe
- pbmlife.exe
- pbmmake.exe
- pbmmask.exe
- pbmpaste.exe
- pbmreduc.exe
- pbmtext.exe
- pbmto10x.exe
- pbmtoasc.exe
- pbmtobbn.exe
- pbmtocmu.exe
- pbmtoeps.exe
- pbmtog3.exe
- pbmtogem.exe
- pbmtogo.exe
- pbmtoico.exe
- pbmtolj.exe
- pbmtomac.exe
- pbmtomgr.exe
- pbmtopi3.exe
- pbmtoplo.exe
- pbmtoptx.exe
- pbmtox10.exe
- pbmtoxbm.exe
- pbmtoybm.exe
- pbmtozin.exe
- pbmupc.exe
- pi3topbm.exe
- xbmtopbm.exe
- ybmtopbm.exe
-
- pgmmerge.exe to fitstopg.exe
- fstopgm.exe
- hipstopg.exe
- lispmtop.exe
- pgmbentl.exe
- pgmenhan.exe
- pgmhist.exe
- pgmnorm.exe
- pgmoil.exe
- pgmramp.exe
- pgmtopbm.exe
- pgmtofit.exe
- pgmtofs.exe
- pgmtolis.exe
- pgmtops.exe
- psidtopg.exe
- rawtopgm.exe
- pgmedge.exe
-
- ppmmerge.exe to giftoppm.exe
- gouldtop.exe
- ilbmtopp.exe
- imgtoppm.exe
- mtvtoppm.exe
- pcxtoppm.exe
- pgmtoppm.exe
- pi1toppm.exe
- picttopp.exe
- ppmhist.exe
- ppmmake.exe
- ppmquant.exe
- ppmrelie.exe
- ppmtogif.exe
- ppmtoicr.exe
- ppmtoilb.exe
- ppmtopcx.exe
- ppmtopgm.exe
- ppmtopi1.exe
- ppmtopic.exe
- ppmtops.exe
- ppmtopuz.exe
- ppmtorgb.exe
- ppmtouil.exe
- ppmtoxpm.exe
- qrttoppm.exe
- rawtoppm.exe
- rgb3topp.exe
- spctoppm.exe
- sputoppm.exe
- tgatoppm.exe
- ximtoppm.exe
- xpmtoppm.exe
- ppmpat.exe
-
-
- pnmmerge.exe to pnmarith.exe
- pnmcat.exe
- pnmconvo.exe
- pnmcrop.exe
- pnmcut.exe
- pnmdepth.exe
- pnmenlar.exe
- pnmfile.exe
- pnmflip.exe
- pnminver.exe
- pnmnoraw.exe
- pnmpaste.exe
- pnmscale.exe
- pnmtile.exe
- pnmtoras.exe
- pnmtoxwd.exe
- rasttopn.exe
- xwdtopnm.exe
- pnmgamma.exe
- pnmrotat.exe
- pnmshear.exe
-
-
- Diffs will be also be distributed for those who want to compile the package on
- their own (The DOS port of GCC is necessary for this). Aside from the
- introduction of the fmod() function to all the main programs, there are some
- minor adjustments made to the makefiles to make them work with the DOS port of
- GNU-Make. Two batch files, all.bat and merge.bat are provided to run the make
- process. ALL.BAT will complete make all of the stand alone executables (.exe's
- files). MERGE.BAT will only make the 32-bit code in a file called
- p?mmerge. which will have to be manually appended to the appropriate STUB.EXE
- or GO32.EXE which comes with the DOS port of GCC. These two batch files are
- found in the root directory. In each of the p?m directory, there are two more
- batch files called delp?m.bat and exep?m.bat. DELP?M.BAT just goes through and
- cleans up all the 32-bit code generated by the compiler and should be used after
- you make all of the .exe files. EXEP?M.BAT goes through and prepends with the
- go32.exe or stub.exe DOS extenders to each of the 32-bit code segments. Edit
- that batch file to have the appropriate environment variable point to whichever
- you want. I used the BETA TEST distribution of 05feb91 to generate this
- version of pbmplus (I no longer have net access, so at this time I'm not sure if
- this is the latest version).
-
- NOTICE: I made one minor modification to ppmtogif.c. It now sorts the palette
- based on it's luminisity. This makes the darkest color the background color,
- which is a personal preference.
-
- I no longer have *reliable* net access, but can be reached via phone and snail
- mail at the following:
-
- Mike Castle
- Deer Run Apartments
- Apt #29
- Wright City, MO 63390
- (314) 745-3164
-