Jon Bettencourt 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