Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #1305
| 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> |
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
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