[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Finding Auxiliary File Types



Brian Haskin <brian.haskin@a2central.com.remove-11iy-this> wrote:

> I am trying to recover some files from a IIe that were written by a person
> who recently passed away. The family has no idea how to use the IIe, and
> they threw out all the software (a travesty!) before they were referred to
> me.
> 
> I've obtained a ProDOS disk, and ProDOS Filer reports the filetype as $16.
> This page ( http://web.pdx.edu/%7Eheiss/technotes/ftyp/ft.about.html )
> tells me that this particular file type belongs to PFS, which is
> apparently an office/productivity suite.

I wasn't aware that PFS ever got ported to ProDOS - I know of it as a
rather old software suite which ran in Apple UCSD Pascal. I've converted
some old PFS:File documents a couple of times (several years ago).

Perhaps these file types were allocated for the Apple /// version of
PFS? This would be consistent with other low-numbered file types, most
of which originated on the Apple ///. Apple tended to allocate higher
file type numbers for Apple II software, unless there was an existing
Apple /// file type which could be reused or extended.

Is anyone else aware of a SOS (Apple ///) or ProDOS (Apple II) version
of PFS:Write, PFS:File, etc.?

If there was no ProDOS version of the PFS suite, and these files were
created on an Apple IIe, then they probably aren't PFS files. They could
be created by any application which decided to borrow a rarely used file
type.

> This file type has multiple auxiliary types, one for each document type
> (word processor, spreadsheet, etc.). I need to find the auxiliary type of
> the files to determine exactly which PFS program to purchase (assuming I
> can find it for sale somewhere), and I haven't been able to find a way to
> do it.

BASIC.SYSTEM (Applesoft BASIC under ProDOS) doesn't give easy access to
the auxiliary type. It only displays it in a catalog listing when it
knows the file type to be one of significance to BASIC (e.g. record
length for a random access TXT file, load address for a BIN file).

The auxiliary type is readily available through the ProDOS machine
language interface (using the GET_FILE_INFO call). It is quite likely
that BASIC.SYSTEM uses this call as part of its sequence for opening a
file, in which case the auxiliary type will be sitting in BASIC.SYSTEM's
parameter block for GET_FILE_INFO, which is located within the
BASIC.SYSTEM global page, somwhere between $BE00 and $BEFF.

My Apple II manuals are all still packed away in the basement, but if
someone has the ProDOS-8 Technical Reference manual handy they can look
up the details of this memory area and possibly even the entry points to
get BASIC.SYSTEM to do a GET_FILE_INFO call for you. I expect you should
be able to write a program like this to find out the auxiliary type:

10 D$=CHR$(4)
20 PRINT D$;"OPEN FILENAME,T$16"
30 A=PEEK(something) + 256 * PEEK(something + 1)
40 PRINT D$;"CLOSE FILENAME"
50 PRINT "Auxiliary type is ";A

You could probably also use BLOAD with the T and L parameters to load a
single byte to a safe area of memory, as this is likely to do a
GET_FILE_INFO as a side effect.

The only detail I'm missing is the address of the parameter block.

You might even be able to read the catalog one line at a time, and peek
out the auxiliary type for each file, then print your own extended
catalog.

-- 
David Empson
dempson@actrix.gen.nz