Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #1303
| From | Jeff Blakeney <CUTjeffrey_blakeney@yahoo.ca> |
|---|---|
| Newsgroups | comp.sys.apple2.programmer |
| Subject | Re: 80 column card RAM disk |
| Date | 2014-09-01 20:09 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <lu31rv$607$1@dont-email.me> (permalink) |
| References | <96730f4e-8bc7-4603-9159-2f1dbbaaf37f@googlegroups.com> |
On 01/09/2014 6:05 PM, ivan@ivanx.com wrote:
> I found this in section A.5 of the ProDOS 8 Tech Ref manual:
>
> "The Apple lie computer can optionally contain an Extended 80-Column
> Text Card, giving the computer access to an additional 64K of RAM.
> (The Apple lie has the equivalent of such a card built in.) ProDOS
> uses this extra RAM as a volume, just like a small disk volume. This
> volume is initially given the name /RAM, but it can be renamed. The
> 64K of RAM on the card is logically partitioned into 127 512-byte
> blocks of information. The contents of these blocks are:
> Blocks 00-01 Unavailable
> Block 02 Volume directory
> Block 03 Volume bit map
> Blocks 04-07 Unavailable
> Blocks 08-126 Directories and Files"
>
> I thought it was interesting that blocks 4-7 are unavailable, since
> ProDOS would certainly allow them to be used for files. Then it
> occurred to me that maybe this was to protect the text page, so you
> can still use, you know, 80 columns; seems like a viable theory.
>
> What I don't get is the math. At 512 bytes per block, block 4 would
> correspond to $800, not $400. And the text page is only 1K, whereas
> 2K are reserved (I guess that could be for text page 2; is that
> used)?
>
> Mostly just curious. Anyone have any insight into this?
I've not really looked into this before but I do know that the /RAM
driver does some strange things so I'm pretty sure nothing maps
directly. I know that the first file you save to /RAM gets stored
starting at $2000 so that you can protect the hi-res area in case you
are going to use double hi-res.
/RAM is not bootable so there is no need to have blocks 0 and 1 taking
up memory so they aren't used at all. /RAM also only uses a single
directory block for the root directory instead of the usual 4 blocks and
has moved the start block of the volume bit map from block 6 down to
block 3.
I decided to look into it a bit and discovered that the directory block
(block 2) is stored at $0E00 - $0FFF and the volume bit map block (block
3) is stored at $0C00 - $0DFF.
I couldn't come up with a reasonable reason why blocks 4 to 7 are
unavailable so I grabbed my copy of "Exploring Apple GS/OS and ProDOS 8"
by Gary B. Little. Here is what he has to say about the missing blocks:
'When ProDOS 8 initializes the /RAM volume, 119 blocks are
available for file storage. (They are numbered from 8 to 126.) Since a
64K space is normally capable of holding 128 512-byte blocks, you might
be wondering about the "missing" 9 blocks. Two of these are relatively
easy to track down: One is used for the volume directory (block 2) and
another for the volume bit map (block 3). There is no room in auxiliary
memory for the other seven blocks (0, 1, 4-7, and 127) because space
must be reserved to support the /RAM disk driver itself ($0000-$03FF),
the 80-column text screen ($0400-$07FF), the keyboard and serial input
buffers on the Apple IIc ($0800-$08FF), and the auxiliary memory
interrupt vectors ($FFFA-$FFFF). Thus these seven blocks are marked as
"in use" in the /RAM volume bit map.'
He also states that $00-$3B, $44-$FF, $0900-$0BFF and $FE00-$FFF9 are
not used but should be considered reserved. The area from $0800-$08FF
are only reserved on the IIc.
I don't know if anyone has ever done a memory map showing where each
block is stored in /RAM. That might be an interesting thing to see as
from reading Mr. Little's section on /RAM, it turns out that first two 8
KB files stored will use $2000-$3FFF and $4000-$5FFF by default so that
you can protect hi-res pages 1 and 2. However, I just checked and if
you save a 1 block Applesoft file, it stores it in block 8 starting at
$2000 but if you save a second 1 block Applesoft file it will store it
in block 9 but puts it at $1000 instead of $2200 like I thought it might.
/RAM definitely does some weird stuff. I don't know why they use blocks
numbered 8 to 126 and skip 4 to 7. I could see them skipping 4 to 6 as
those blocks are normally used for file storage on standard ProDOS
volumes. Having blocks 7 to 125 for file storage on /RAM would make
some sense to me as would leaving the volume bit map at block 6 and
simply making blocks 3 to 5 unavailable.
Anyway, thanks for the fun little diversion. :)
Back to comp.sys.apple2.programmer | Previous | Next — Previous in thread | Find similar | Unroll thread
80 column card RAM disk ivan@ivanx.com - 2014-09-01 15:05 -0700
Re: 80 column card RAM disk dempson@actrix.gen.nz (David Empson) - 2014-09-02 11:41 +1200
Re: 80 column card RAM disk dempson@actrix.gen.nz (David Empson) - 2014-09-02 11:44 +1200
Re: 80 column card RAM disk Jeff Blakeney <CUTjeffrey_blakeney@yahoo.ca> - 2014-09-02 07:53 -0400
Re: 80 column card RAM disk Jeff Blakeney <CUTjeffrey_blakeney@yahoo.ca> - 2014-09-02 07:46 -0400
Re: 80 column card RAM disk dempson@actrix.gen.nz (David Empson) - 2014-09-03 14:15 +1200
Re: 80 column card RAM disk Jeff Blakeney <CUTjeffrey_blakeney@yahoo.ca> - 2014-09-02 22:36 -0400
Re: 80 column card RAM disk Antoine Vignau <antoine.vignau@laposte.net> - 2014-09-05 14:27 -0700
Re: 80 column card RAM disk Jeff Blakeney <CUTjeffrey_blakeney@yahoo.ca> - 2014-09-01 20:09 -0400
csiph-web