[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Possibility of open-sourcing GS/OS
Eric Smith <eric@brouhaha.com> wrote:
> "Michael J. Mahon" <mjmahon@aol.com> writes:
> > So the bottom line is that, although building a RAM card for the IIgs
> > larger than 4MB is more complex, the 65816 _can_ directly address up
> > to 8MB of RAM. That could all be used by an operating system, if
> > needed.
>
> I've inquired about this before, since 8 MB RAM cards for the GS have
> been sold. Apparently using them requires some patches to the memory
> manager. There's also a problem with DMA devices (e.g., Apple High Speed
> SCSI card) because DMA from the bus is only possible to the first 4MB.
No patches are required fdor 8 MB.
I've only glanced quickly at this thread, but it looks like Ed Eastman
has already explained the hardware details elsewhere.
To summarise:
Up to 4 MB of RAM is directly supported by the hardware (FPI/CYA) and is
fully compatible with DMA.
A memory card can support a total of 8 MB (including the motherboard
"fast" RAM) by decoding one bit of the bank address from the data bus.
This is not compatible with standard DMA, but one third party SCSI card
managed to find a workaround. The FPI/CYA still supplies the lower
order decoded address and select signals.
Memory cannot be added beyond this point, because the FPI/CYA does not
provide the necessary signals to the memory expansion slot. Banks $80
through $EF don't activate select signals on the slot and the row/column
address probably isn't decoded either. ($E0 and $E1 are motherboard
"slow" RAM attached to the Mega II chip.)
The only way to exceed the 8 MB "fast RAM" limit is to use accelerator
techniques and deal with it within the confines of the CPU socket,
before the addresses reach the FPI/CYA.
ROM expansion can be added in banks $F0-$FB (up to $FD for a ROM 00/01
IIgs). Banks $F0-$F7 are reserved for a ROM disk, banks $F8 and higher
for firmware expansion. There was at least one third party static RAM
disk which used this area.
The memory manager (in the ROM) is designed to allow up to 8 MB of fast
RAM (banks $00-$7F). Supporting more than this would require a
post-startup patch to the linked list of memory regions and possibly
other memory manager data structures. (Alternatively, the ROM could be
patched to increase the limit on the number of banks scanned for valid
RAM, but this would have to be done with some accelerator trickery or
physically replacing the ROM.)
--
David Empson
dempson@actrix.gen.nz