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

Re: ProDOS Madness!



In article <3jq83o$jml@onyx.southwind.net>, shack@onyx.southwind.net
(Randy Shackelford) wrote:

> Dave Althoff (dalloff@freenet.columbus.oh.us) wrote:
> 
> : Q1:  Is there any way to get ProDOS to surrender six or so of its oversize
> : (512-byte) file buffers to BASIC variable space?
> 
> BASIC has some system calls located in its global page, two of which are 
> getbufr and free bufr. Since my assembly programming is at the system program
> level and not under BASIC, I dunno how to use them. They're documented in
> Beneath Apple ProDOS though, if you can find it.
> 
Actually, BASIC.System under ProDOS allocates file buffers dynamically
(hence, no more "MAXFILES" command). If you don't want 6 buffers open,
don't OPEN five files at one time without CLOSEing some. :)

(I say "five" because ProDOS does hold one buffer open for system use.)

>: Q2:  Didn't I hear that ProDOS had an improved string garbage-collection
>: routine written into it?  How can I force this instead of the *SLOW*
>: Applesoft garbage collection?  Or am I hallucinating?
>
>print chr$(4)"fre"

Normally, the BASIC.System garbage collector should "trip" before
Applesoft's does. But the explicit command could be used to "clean" memory
manually when you need to know string space has been compacted.

-- 
===========================================================================
Dennis Doms     | "Into this night I wander, it's morning that I dread
ddoms@tyrell.net|  Another day of knowing of the path I fear to tread..."
                | Sarah McLachlan ("Possession", _Fumbling Toward Ecstasy_)