¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: OTish: ROM/RAM bank switching in the 2467 et al.


 

Hi Siggi,

The option boards do indeed have their own ROM, and some (like the GPIB option) even have their own additional RAM.

The service manual says that 0x1000-0x7FFF are "Reserved for Options". A quick look through the theory of operation for the various options for both the plain and A/B models says that the ROM and various control registers are all overlayed within this area. To resolve the conflict, each option board is assigned a unique bit at address 0x7FFF to enable or disable it. For example, the GPIB board is controlled by bit 0, the TV board is controlled with bit 5, and so on.

It seems that there are also some fixed allocations as well (not overlayed). For example, the buffer board has a ROM that goes from 0x1000-0x1FFF and is not paged. And similarly, the GPIB board has a ROM that goes from 0x2000-0x3BFF that is not paged. But the GPIB board also has another ROM that IS paged (meaning can be enabled and disabled via 0x7FFF) from 0x4000-0x7fff. I'm guessing the GPIB interface needed an "always-ON" ROM so it could more quickly handle interrupts emanating from the GPIB controller.

And then for added fun, they added the A5 main board ROM banking in the A/B models.

It's crazy complicated, but fortunately well-documented in the address decoding tables in all the option theory sections.

-mark

On Sat, Nov 27, 2021 at 11:24 AM, Siggi wrote:

On Fri, Nov 26, 2021 at 9:13 PM Mark Litwack <mlitwack@...>
wrote:

I looked at the address decoding about 3 years ago. The goal was clearly
to be able to access all the RAM. But, as you point out, if they did it
would overlay the I/O address space. I think the easiest path was to make
the full 8k of RAM appear elsewhere. This would have had advantages in
minimizing design changes to the hardware moving from the 2445/2465 base
design and options, and also minimizing changes to driver code when ported
from the 2445/2465.
Ah - somehow I totally overlooked the fact that the 2465A/2467 et al have
8K of RAM, whereas the original address mapping only allotted 2K of address
space. So the answer was staring me in the face the whole time :).
I believe option boards also have ROM, so maybe the existing option boards
rely on the location of the IO range?

Join [email protected] to automatically receive all group messages.