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

Re: ProDOS, IIgs and large RAM disks.



Dennis Jenkins <dennis@usb.com> wrote:

> Greg Buchner wrote:
> > Dennis Jenkins wrote:
> > >       In my IIgs, I can set the min/max size of a ram disk.  I have
> > > 1024K of ram available for a ram disk.

It is important to note that if you want to use the RAM disk defined in
the Control Panel, you should set the minimum and maximum sizes to the
same value.  You can get strange problems including I/O ERROR messages
if you use different values for these parameters.

(The ROM 3 IIgs only has a single parameter to set the size of the RAM
disk.)

> > There are two RAM disks available on a IIGS under ProDOS8.  The one that
> > comes up in what would be the Aux RAM part of a //e which is 64K and the
> > IIGS RAM which comes up as /RAM5 which is usually found at S5, D2 unless
> > you set it to be the boot drive at which point it becomes S5, D1.
> > 
> > The 64K Aux /RAM (S3, D2) is there for compatibility, the /RAM5 is there
> > to allow you to make use of the IIGS RAM under P8 as a disk drive.
> 
>       I think that on my system that both are called "/RAM".

If that is the case, then something must have deliberately renamed /RAM5
as /RAM.  When the control panel's RAM disk is created by the firmware,
it starts out as a ProDOS volume called /RAM5.  It also supports Apple
II Pascal: if Pascal is the first operating system to access the RAM
disk then it will be set up as a Pascal volume called RAM5:.

Assuming the RAM disk size parameters are set to zero, then if you set
either one to a nonzero value, save the control panel settings and
restart the machine, the RAM disk will be created immediately.
Subsequent changes to the control panel settings for the RAM disk are
ignored unless you force a cold restart or power the machine off and
back on again.

(To force a cold restart: start the self-test using Ctrl-Apple-Option-
Reset, allow it to display at least one of the test pattern screens,
then restart using Ctrl-Apple-Reset.  Note that you should not reset the
computer while running GS/OS: always restart or shut down from the
Finder before trying to do this trick.)

The ROM 3 IIgs has an option in its control panel to allow the RAM disk
to be resized on the next restart, which saves you from having to force
a cold start.

The RAM disk remains intact over any number of resets, warm restarts
(Ctrl-Apple-Reset) or operating system changes, as long as you don't
reset while the system is in the middle of writing to the RAM disk, and
no buggy software overwrites the memory used by the RAM disk (which is
outside the normal bounds of an 8-bit Apple II).

(If /RAM5 is erased by a ProDOS disk utility program to set up the boot
blocks, you can even use it to boot the machine.  This isn't possible
with the ProDOS auxiliary memory /RAM volume.)

After the RAM disk is created, it is a perfectly normal writable volume,
so it is possible for any software to rename it using the normal ProDOS
system calls.

My guess is that some ProDOS-8 application you are running has a bug in
its code to support the use of auxiliary memory, and it is disconnecting
the wrong RAM disk (/RAM5 instead of /RAM), ultimately recreating it
with the name /RAM, resulting in a duplicate volume..

Have a look at the list of available volumes immediately after you have
started the machine (e.g. boot directly into ProDOS-8 and then launch
BASIC.SYSTEM before any other application).

>       If this is indeed the case, then why would prodos name them both
> "/RAM"?  

ProDOS itself isn't responsible for creating the /RAM5 volume.  As far
as ProDOS is concerned, it is just a block device which happens to
contain an already formatted volume.