[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Jon Relay's Apple II Info Archives: Memory Area Summary
Jon Bettencourt <jonINTERNETrelayCHAT@napaVALLEYnet.CLARInet> wrote:
> In article <20000212141803.27224.00002819@ng-fv1.aol.com>,
> supertimer@aol.com (Supertimer) wrote:
>
> > What about IIGS memory?
>
> You mean 24-bit addressed memory? I don't have any information on that. If
> you can find any info on it or point me out to where I can find the info,
> please do.
There isn't much that you can do in a IIgs, outside of the base two
banks, without using the memory manager toolset. Here is an overview of
the whole shebang:
$000000 - $00BFFF RAM, equivalent to IIe main memory $0000 - $BFFF
$00C000 - $00CFFF I/O, equivalent to IIe $C000 - $CFFF
$00D000 - $00FFFF ROM or bank-switched memory, equiv. to IIe main
memory in the same area
$010000 - $01BFFF RAM, equivalent to IIe aux memory $0000 - $BFFF
$01C000 - $01CFFF I/O, equivalent to IIe $C000 - $CFFF
$01D000 - $01FFFF ROM or bank-switched memory, equiv. to IIe aux
memory in the same area
$020000 - $7FFFFF RAM (amount varies depending on motherboard and
memory expansion card)
$800000 - $DFFFFF Reserved (not implemented in hardware)
$E00000 - $E003FF RAM, reserved for system use
$E00400 - $E007FF Text screen 1 (main memory)
$E00800 - $E00BFF Text screen 2 (main memory)
$E00C00 - $E01FFF RAM, reserved for system use
$E02000 - $E03FFF Hi-res screen 1 (main memory)
$E04000 - $E05FFF Hi-res screen 2 (main memory)
$E06000 - $E0BFFF RAM, reserved for system use
$E0C000 - $E0CFFF I/O, equivalent to IIe $C000 - $CFFF
$E0D000 - $E0FFFF RAM, same layout as IIe bank-switched memory,
reserved for system use
$E10000 - $E103FF RAM, reserved for system use
$E10400 - $E107FF Text screen 1 (aux memory)
$E10800 - $E10BFF Text screen 2 (aux memory)
$E10C00 - $E11FFF RAM, reserved for system use
$E12000 - $E13FFF Hi-res screen 1 (aux memory)
$E14000 - $E15FFF Hi-res screen 2 (aux memory)
$E12000 - $E19FFF Super hi-res screen
$E1A000 - $E1BFFF RAM, reserved for system use
$E1C000 - $E1CFFF I/O, equivalent to IIe $C000 - $CFFF
$E1D000 - $E1FFFF RAM, same layout as IIe bank-switched memory,
reserved for system use
$E20000 - $EFFFFF Reserved (not implemented in hardware)
$F00000 - $F7FFFF Available for ROM disk in memory expansion slot
$F80000 - $FBFFFF Reserved for future ROM expansion
$FC0000 - $FDFFFF ROM (in the 1MB/ROM 3 IIgs) or reserved for ROM
$FE0000 - $FFFFFF ROM
In the 256KB/ROM 1 IIgs, memory banks $02 through $7F are provided by
RAM in the memory expansion slot.
In the 1MB/ROM 3 IIgs, memory banks $02 through $0F are motherboard RAM,
and banks $10 through $7F are provided by RAM in the memory expansion
slot.
No application may use any RAM in these banks without first allocating
memory through the Memory Manager toolset. In general, applications
should not assume that they can reserve a specific area, and should be
able to handle an arbitrary memory area being provided. There are
options which allow some restrictions, e.g. "don't cross a bank
boundary" (required for code).
The areas of banks $E0 and $E1 which I've described as "RAM, reserved
for system use" are acutally a mixture of reserved and available RAM,
but none of it should be used except through the Memory Manager.
The Memory Manager must also be used for memory in banks 0 and 1 when
running under a native operating system (GS/OS). If you run a ProDOS-8
application under GS/OS, the entire bank 0 and 1 area is reserved by the
systemm, so applications can't allocate memory in these areas (they
normally have full control over the appropriate areas). If you boot
directly into ProDOS-8, a IIgs-aware application may need to mimic this
arrangement.
The specific details of the $C000-$C0FF area are rather a lot more
detailed than the IIe, and I don't want to type all of that in. (Nearly
every location is used for something.) Most of the IIe I/O locations
are supported on the IIgs. The main exceptions are missing features:
STROBE, TAPE IN and TAPE OUT.
--
David Empson
dempson@actrix.gen.nz
Snail mail: P O Box 27-103, Wellington, New Zealand