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

Re: ProDOS Error Message re "NO BUFFERS AVAILABLE"



KP wrote:
On May 28, 10:41 pm, "Michael J. Mahon" <mjma...@aol.com> wrote:
KP wrote:
On May 28, 5:11 pm, Toinet <antoine.vig...@laposte.net> wrote:
On 26 mai, 07:53, KP <kjpm...@gmail.com> wrote:
On May 26, 1:31 am, Toinet <antoine.vig...@laposte.net> wrote:
On 26 mai, 04:25, KP <kjpm...@gmail.com> wrote:
I am getting a "NO BUFFERS AVAILABLE" error message after moving a
binary game from a DOS 3.3 floppy to a ProDOS hard disk, whenever I
try to either "-" or BRUN the game.
Any way to resolve this?
Hi There,
when you type in the CATALOG command under Basic system, what do you
get below Endfile (or length)?
av
ENDFILE for that program is 30704.  Does that help at all?
David also asked for the auxiliary address which I forgot to mention.
With both info, we will be able to tell you what to do with the
program.
BTW, are you using a IIgs or another machine? The info may help,
antoine
I get the same message on both a IIe and a IIgs.
ENDFILE is 30704
SUBTYPE is A=$07FD
Does that help?
One nicely brute-force way to run the game is:

]BLOAD <file>,a$800
]mtr
*7fd<800.7ff0m
*7fdg

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."

I am in awe!  How does that work?

I have a simple little STARTUP program that runs when by hard disk
boots up.  I'd like to put that in there as a POKE/CALL routine.
Could you tell me how that would be written in AppleSoft BASIC?

It could be done using the "Lam" method of invoking monitor routines
from Applesoft, but it would be easier just to persuade ProDOS to
let you BRUN the program at $7FD by POKEing the memory map byte
as John suggests.  (Of course, this also means using a short Applesoft
"startup" program.)

The brute-force method works by BLOADing the program at $800, which
ProDOS is happy to do, then using the monitor to move it down 3 bytes,
to $7FD, then giving it control.  The first instruction is almost
certainly a 3-byte JMP instruction to the program's actual entry point.

So another way to proceed would be to look at the address of the
initial JMP, then BSAVE the program (after moving it down) starting
at $800:  BSAVE <progx>,A$800,L30701.  Then you can run it by just
BLOADing it (no modifiers) and CALLing the address specified in the
(now missing) JMP.

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."