This is Version 0.3 of hpcdtoppm, Hadmut's pcd to ppm converter. It has this name to be distinguishable in case someone else is producing a program also called pcdtoppm. Read the README.TOO ! This program converts Photo-CD-Images to the ppm-Format of pbmplus. You can compile the program in two ways: 1. Use its own ppm-writing-routines. In this case you don't need ppm-includes or libraries. You have to define macro 'OWN_WRITE' in the source or by compiler-option. I am not sure, whether the format of the ppm-header is the same on non-unix machines. If you get problems with line-endings (things like CR, LF, CR/LF), modify the macro PPM_Header. 2. You can use the trusted pbmplus-routines. In this case you need some files from the pbmplus package to compile: ppm.h pgm.h pbm.h pbmplus.h libppm.a libpgm.a libpbm.a IMPORTANT: Some older versions of the gcc have problems with optimization. They produce buggy code. This code will not die with 'segmentation fault' or something like that, it just produces damaged images. I did not have detailed information of the file-format and i could test it only with a single Photo-CD with 24 Images. Most of my information i got by starring at the hex-dumps of an image file. So i am not absolutly sure, whether it works on all Photo-CDs, because there are some bytes in the header which i don't understand. But it works on my Photo-CD. Note that you will get a 24 bit image. You can view these files with xv, but if you have an 8-bit-screen you will sometimes have some color-defects (if you have an 1-bit-screen you will often have a lot of color-defects :-). It will also take some time to show with xv. You can produce nice overview prints if you get the icontact program of Mark B. Hanson and put something like decode pcd hpcdtoppm -1 -a in your ~/.icrc . If you compile the program on a machine other than SPARC please send me a short email which machine you are using, whether you had problems or which changes you have made. Hadmut (danisch@ira.uka.de)
When pCD.app was first written, it was based on version 0.3 of hpcdtoppm. The source for 0.3 is therefore included for reference purposes, although the current version of hpcdtoppm is 0.4. Many changes have been made since 0.3, and the current version of pCD.app has picked up some of those changes. In the future I'd like to reorganize pCD.app so that merging in new versions of hpcdtoppm will be much easier. Garance Alistair Drosehn/Mar 27/1993
Here are some additional informations for installing and use: I. Several people had 'snowy' images with v0.1 and v0.2. This happens when the machine handles the standard type char unsigned. Therefore the datatype sBYTE was introduced as 'signed char'. If your compiler doesn't understand this, change sBYTE to such a datatype of your compiler or use a commandlineoption like -DsBYTE=char . II. Not every image contains all resolutions (especially images from demo disks). You can't extract resolutions which are not contained. III. Some cdrom drives read more than the data sectors of the PhotoCD files. They read additional sector headers etc. In this case to have to write a little conversion tool. E.g.: Sony NEWS, model NWS-3720 Write a simple filter program, which takes the file, cuts in slices of 0x920 size, takes out 0x800 data with offset 8 of each slice and write them out in a new file.
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.