Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #1305

Re: 80 column card RAM disk

From Jeff Blakeney <CUTjeffrey_blakeney@yahoo.ca>
Newsgroups comp.sys.apple2.programmer
Subject Re: 80 column card RAM disk
Date 2014-09-02 07:46 -0400
Organization A noiseless patient Spider
Message-ID <lu4am1$jam$1@dont-email.me> (permalink)
References <96730f4e-8bc7-4603-9159-2f1dbbaaf37f@googlegroups.com> <1lrcf76.xrclj41u5dr3tN%dempson@actrix.gen.nz>

Show all headers | View raw


On 01/09/2014 7:41 PM, David Empson wrote:
> The block numbers in /RAM are not linearly mapped to memory addresses.
> The first allocatable blocks (8+) are in the hi-res graphics buffer so
> applications can use the documented method of reserving the auxiliary
> memory hi-res pages by first saving one or two 8 KB files in /RAM (this
> allows for the pattern ProDOS uses to grow a file - the first block for
> a seedling file goes at $2000, the next block is an index and it goes at
> $1000-$11FF, then the next several data blocks cover $2200-$3FFF; the
> pattern repeats for $4000-$5FFF with an index block at $1200-$13FF).

Ah, that makes sense and explains why my second one block file save went 
to $1000 instead of $2200 like I thought it would.  Didn't even consider 
the index block for seedling files.

> Logical block 2 has to to be the key block of the volume directory
> because that's where ProDOS looks for it. It is actually stored at
> $0E00-$0FFF.

 From my poking around in memory I saw the directory (block 2) at $0C00 
to $0DFF.

> The volume directory must be consecutive blocks and by convention is
> followed by the volume bit map. Only one block is made available for the
> root directory, so the logical place to put the bitmap is in block 3.

Except that some software may go directly to block 6 to look for a 
volume bit map as that is where it starts on every other ProDOS volume.

> The memory layout of /RAM is documented in ProDOS Technical Note #18.
> The layout allows for several reserved areas, including most of
> $0000-$0DFF (which covers text page 2) and $FE00-$FFFF (which contains
> the interrupt vectors).

Gary B. Little's "Exploring Apple GS/OS and ProDOS 8" says that most of 
$0000 to $0BFF and $FE00-$FFFF are reserved.  More details in my other 
post in this thread including quotes from the book.

> There is at least one error in my copy (November 1988) - it says blocks
> $70-$7F occupy $E000-$EFFF, but that range should end at $FFFF, and
> block $7F doesn't exist (the volume size is 127 blocks, so the last
> block number is $7E).

So the maximum block number should be $7E so that means the address 
range should be $E000-$FDFF.  Wow, they really did mess that one up. 
Two mistakes in one spot.

> Not fully explained there, but if I remember right, Block 3 is stored as
> a partial block in the $0280-$02FF area, or somewhere near that (it only
> needs 16 bytes).

 From my poking around in memory I saw the volume bit map (block 3) at 
$0E00 - $0FFF.  The bits of the bitmap appear to use the first 16 bytes 
so really only $0E00 to $0E0F.

Back to comp.sys.apple2.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


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