The uCode in the S/23 is 8085 assembly code that is
contained within
the ROMs. The ROMs have the ability to be patched and the card
you?re referencing is used to hold those updates. So without that
card you?re not able to apply any ROM updates (which are loaded each
boot).
Ah, ok, that makes sense. It's only 16k of RAM.
It?s been long enough that I don?t recall what (if
any) updates there
are and when (and from what) they?re loaded.
When the machine powers up, it pre-enters a command (PROC START? PROC
INIT? Brane faid.) which could presumably load firmware from diskette.
There aren't a lot of other options. They could be loaded from fixed
disk if you had one, but they'd have to get there somehow.
The system architecture allows for *much* more than
the 64KB normally
accessible by the 8085 CPU. The memory is bank switched. There is a
fixed ROM and fix RAM portion of the address space and a bank
switched ROM and RAM portion of the address space. 16KB of fixed
(for ROM/RAM) sticks in my head for some reason. I don?t recall the
granularity of the bank switched areas.
Right, the memory map for all of that is in the service manuals. The
pageable sections each have 16 possible pages, and footnotes indicate
that two ROM and one RAM (think I have that right way round) pages are
not used. A total of 32k of address space for each of ROM and RAM, so
it would make sense that the pages are 16k, and that the fixed portions
are 16k also.
What's not there is how the RAM on the card is paged in. The base RAM
card and the feature RAM card are mentioned, but I don't believe the
details of their mapping is described.
The patching was accomplished by having each major or
critical
function in the ROM be dispatched through a call table (that is
placed in RAM at boot and can be ?patched? to point to a different
function). It was *more* than just the ROM address as it also
contained the bank # of the ROM as well since (with few exceptions)
all calls were ?long calls?.
Thanks for the enlightenment! Were you involved in the development of
these machines?
Presumably there's an I/O to be done to the mapping hardware as part of
a "long call"?
Look at me calling it RAM instead of R/W storage, haha. :)
De