On 03/28/2019 11:46 AM, Ken Shirriff via cctalk wrote:
I'm writing a S/360 Model 50 emulator that runs at
the microcode level, in
order to drive a Model 50 front panel accurately. I'm about 80% of the way
there, but there are some microcode operations that I haven't figured out.
So I figured I'd ask if anyone has obscure Model 50 manuals that aren't on
bitsavers, or perhaps even the ALDs.
I was surprised at how extremely different the microcode is from the 360
instruction set.
If you had a 360 instruction set, why would you implement a
360 by an emulator?
It would be most common that a microcode emulator would be a
quite different scheme, kind of implementing an RTL
(Register Transfer Logic) in a "language".
I've figured out a bunch of the strange
micro-instructions, such as S47?E, which ORs the emit field into flags 4
through 7. But there are many micro-instructions that still puzzle me,
like F?FPSL4 which maybe a floating point shift left 4 and 1?BS*MB which
does something with byte stats. So if anyone happens to have a Model 50
microcode programming manual sitting around, please let me know :-)
Wow, what a project! I think the only way to understand the
microcode is to follow the signals through the ALD
schematics. A microcode programming manual would be of no
use to anyone, as the microcode bit pattern was stored in
the serpentine word-line traces of the control store
boards. 360/50 and 360/65 used CCROS (capacitor-capacitor
read only storage) where there were two word lines on one
board, one driven and one grounded through a resistor,
called drive lines and balance lines, respectively. If
there was a wide pad on the drive line opposite the pad on
the bit line, that generated a 1 in the control store word,
if the wide pad was on the balance line, you got a zero. A
very thin Mylar sheet separated the two boards, and pressure
was applied by a pressure plate and foam pad. So, a
microcode change required a board master artwork to be
changed and a new board etched. Not a practical field
operation. The only custom microcode I heard of in these
models was for the National Airspace System for the FAA
traffic control computers. The variant of the 360/50 was
called a 9020D display element, and the 360/65 variant was
called the 9020E compute element. So, somebody used the
required documents for that project.
Oh, one other issue is the 360's had no FFs. All storage
elements were transparent latches, and they generally used a
4-phase clock. All this is pretty well documented between
the ALDs and the FEMM's for the particular model.
Jon