Page 1 of 1

Extension RAM above 640K

Posted: Sun Jul 13, 2014 11:03 pm
by prime
Hi all,

I've now built the second version of the internal RAM board which allows me to expand beyond 640K by controlling the SP0..SP3 lines on the expansion connector (I've cut their connection to ground and fed them to a set of DIP switches on my board).

This works and I can allow RAM in the expansion area and still allow peripheral boards to map themselves at the correct address, I've verified this with a little ROM that I created the prints it's load address in it's sign on banner.

However one thing I have just noticed....with Minerva I can map RAM all the way to the top of RAM -16K to give me 880K (I actually set it for 864K, as my Sandy SuperDisk needs 2 ROM banks.).

However using one of the original OS ROMS : AH, JM, JS, MGx etc the RAM is tested in 64K blocks so has to end on a 64K boundary, which means that the maximum RAM that can be achieved, and still use the SP0..SP3 to decode peripherals is 832K, basically SP0 and SP1 must be 0.

The trump card gets round this by cheating and moving it's ROM and I/O down into the I/O area below the beginning of RAM, then filling all the upper blocks with RAM which ends up being on a 64K boundary.

This may be significant to anyone wanting to use a similar method for extending the RAM.

Cheers.

Phill.

Re: Extension RAM above 640K

Posted: Wed Jul 16, 2014 9:41 pm
by Dave
Yep. This is our experience also.

We're almost there on SuperRAM. We're just busy enjoying the summer, too!

Re: Extension RAM above 640K

Posted: Thu Jul 17, 2014 12:59 am
by prime
Wonder how easy it would be to have patched versions of the ROMS that check 16K blocks like Minerva does....though this would mean replacing the ROM and if you're going to do that you may as well use Minerva :)

Might be worth doing for me as my QIMI board also allows multiple ROM versions (banked selected by a poke + reset button).

Cheers.

Phill.