[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Whatever happened to...
In article <1993Jan28.223253.26355@aio.jsc.nasa.gov>, mark@pokey.jsc.nasa.gov (Mark Manning) writes:
|> No, I mean under ProDOS 8. I'm trying to do something on my Apple //e
|> (instead of the //gs) and I have to use ProDOS 8. I can open one file
|> and then I get the dreaded NO BUFFERS AVAILABLE command. So I wanted
|> to allocate more buffers. Maxfiles used to be the way to do this. :)
MAXFILES is (was) a DOS3.3 command. Do you use BASIC.SYSTEM and ProDOS 8 or
only ProDOS 8 without BASIC.SYSTEM ?
When you use BASIC.SYSTEM, there was some "memory management" established by
the routines GETBUFR ($BEF5) and FREEBUFR ($BEF8). These routines can be
called to reserve some memory between BASIC.SYSTEM and ProDOS 8. I hope they
are legal.
lda #pages ; number of pages you want to reserve
jsr GETBUFR
bcs Error
... ; I believe, the accumulator contains the high byte
; of the buffer's address. Low byte is $00 (page aligned).
Error ... ; handle error
The buffer can then be used for I/O buffering using MLI commands.
If you don't need the allocated memory anymore, call FREEBUFR to give the
memory back. If you only program in Applesoft BASIC (PRINT CHR$(4)"OPEN XXX")
you shouldn't need to worry about buffers. BASIC.SYSTEM can handle several
open files.
If you don't use BASIC.SYSTEM, you're on your own with memory management.
You have to figure out what memory you want to use. Just be sure that you
don't conflict with the ProDOS Global Page ($BFxx ??).
Stefan Voss
(voss@ira.uka.de)