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

Re: ProDOS filetype question



The filetype (hex codes) table starts at offset $23CD. It is followed by
the 3-letter codes starting at $23DB. Your version may may differ.

                         /RAM/BASIC.SYSTEM   $002800

$0023CD: FF FE FD FC FB FA F0 0F 06 04 EF 1A 1B 19 C1 C4  ~}|{zp...o...AD
$0023DD: C2 C1 D3 D0 C1 D7 D0 D0 C1 D3 D4 D8 D4 C2 C9 CE  BASPAWPPASTXTBIN
$0023ED: C4 C9 D2 C3 CD C4 C9 CE D4 C2 C1 D4 C2 C1 D3 D6  DIRCMDINTBATBASV
$0023FD: C1 D2 D2 C5 CC D3 D9 D3 CA C1 CE C6 C5 C2 CD C1  ARRELSYSJANFEBMA
$00240D: D2 C1 D0 D2 CD C1 D9 CA D5 CE CA D5 CC C1 D5 C7  RAPRMAYJUNJULAUG
$00241D: D3 C5 D0 CF C3 D4 CE CF D6 C4 C5 C3 BC CE CF A0  SEPOCTNOVDEC<NO
$00242D: C4 C1 D4 C5 BE 28 2B 40 41 42 43 44 45 46 47 48  DATE>(+@ABCDEFGH
$00243D: 49 4B 4C 4D 4E 50 53 56 03 04 10 0C 0C 12 06 06  IKLMNPSV........

There is not likely to be enough room inside of BASIC.SYSTEM to add
more filetypes so you would probably have to reserve a couple of pages (or
more) of memory. You can do this with a LDA #n, JSR $BEF5, where n=# of pages.

Once your table is setup in the reserved buffer, you would either have to
patch BASIC.SYSTEM to find it or otherwise replicate the CATALOG function.

The best approach would be to have your code patch Basic in memory to
point to your table, then call the catalog routines, and finally restore
the normal pointer. That way if something kills your buffer, you won't be
stuck.

None of this will have any effect on other system programs.

jim pendarvis

On Wed, 28 Feb 2001, Dennis Jenkins wrote:

> > Prodos itself only uses the hex digits. It is up to the system
> > program to further define them as it chooses. Some of these
>
> Argh.  You are right.  I ment to say BASIC.SYSTEM, not 'PRODOS'.  So, If
> I'd like to add more file types to BASIC.SYSTEM, how would I do that?
>
> --
> dennis@usb.com                           Universal Savings Bank.
>
> The three most dangerous things are a programmer with a soldering
> iron, a manager who codes, and a user who gets ideas.
>