A bit more memory
Posted: 02 Jul 2025 19:19
Sorry if this post is a bit naive, I’m not too familiar with the ST chipset.
I’ve always wanted to get a little more memory on the ST to experiment with Mint and other kind of memory hungry software.
I was wondering, as there is a 16MB SIMM on the H5, how difficult it would be to use a bit more of this memory.
So far, I can see 2 options but it seems “too simple” to be the right solutions.
Both options would be based on interception of A20-A23 and modifying MAD10 depending on these addresses if it’s within the 0x400000 - 0xCFFFFF.
So by grabbing the address lines + AS + CAS + RAS and changing MAD10, extra RAM would be available, but from the MMU point of view, there would only be 4MB.
I mentioned 2 options as I don’t know how the GLUE would behave with such setup.
If it’s fine for the GLUE, then it’s a very simple setup and we even have DTACK generated for us.
If on the other hand, the GLUE is not happy with addresses in this range (I seem to remember that it tends to throw BERR if an address in this range is addressed), then I would need a small interposer board under the CPU and “hide” these Address lines when needed, so the GLUE will also think we’re in the 0-4Mb address space (and gently generate DTACK too).
Both solutions sounds too simple to be true, what did I miss ?
I’ve always wanted to get a little more memory on the ST to experiment with Mint and other kind of memory hungry software.
I was wondering, as there is a 16MB SIMM on the H5, how difficult it would be to use a bit more of this memory.
So far, I can see 2 options but it seems “too simple” to be the right solutions.
Both options would be based on interception of A20-A23 and modifying MAD10 depending on these addresses if it’s within the 0x400000 - 0xCFFFFF.
So by grabbing the address lines + AS + CAS + RAS and changing MAD10, extra RAM would be available, but from the MMU point of view, there would only be 4MB.
I mentioned 2 options as I don’t know how the GLUE would behave with such setup.
If it’s fine for the GLUE, then it’s a very simple setup and we even have DTACK generated for us.
If on the other hand, the GLUE is not happy with addresses in this range (I seem to remember that it tends to throw BERR if an address in this range is addressed), then I would need a small interposer board under the CPU and “hide” these Address lines when needed, so the GLUE will also think we’re in the 0-4Mb address space (and gently generate DTACK too).
Both solutions sounds too simple to be true, what did I miss ?