S/23 machine update card
drb at msu.edu
Mon Aug 19 11:35:49 CDT 2019
> 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
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
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. :)
More information about the cctalk