HP9830 memory / was Re: Still looking for Infotek MX-30 RAM
tony duell
ard at p850ug1.demon.co.uk
Thu Dec 4 23:47:17 CST 2014
> >> I'm thinking about designing a new static RAM board for the 9830 for the 2015/07
> >> retrochallenge.
> > Would this be for the sake of a fun project, or would it be practical necessity, such as need & availability of
> > 1103's for repair?
> I've got plenty of 1103As. I have two 9830A memory boards, one good
> 4KW and one bad 2KW. I haven't found time to diagnose the bad one. But
> even if I fix that one, I'll only have 6KW. If I build my own RAM
> board, with a couple of jumpers to one of the other boards to pick up
> extra address lines, I can have 16KW.
You can, of course, pick up the M register (memory address) on the top test connector
of the memory address PCB.
One gotcha, which I am sure you are aware of. The 98x0 do not have a nice, simple
ROM/RAM address map. Most of the lower part of the address space is ROM, but there
is a 512W (IIRC) block of RAM near the start where the processor stores the stack pointer,
floating point registers, etc. It's something of a kludge, but the addresses had to be picked
to take as few microinstructions as possible to generate (which means blocks of contiguous
1s and 0s in the address).
The address decoding in a stock machine is done on the memory address PCB which outputs
a select line for each 1KW block (== each bank of 1103s, of course). So you would either have
to use that (at least for the first 1KW of RAM) or pick up all the address lines after M(9) (bits
0 to 9 are on the memory slot connector) and re-implement the address decoder.
Not at all difficult, but something to realise before you start wiring up ICs...
> I also would like to design a 9880A disk emulator for it. That's more
> work than designing a RAM board, but it doesn't look too daunting.
I assume you're jsut going to be plugging into the HP9830 I/O slot and
not tryign to share between 4 machines. Or indeed using a mechanical
disk drive.
It shouldn't be too hard. The interface is basically programmed I/O for
the commands (2 bytes, one is basically cylinder, the other is sector and
read/write control). One of the status lines is the command byte selector,
another 2 select the disk (not strictly the drive, an HP7900 is treated as
2 disks here). And what HP called DMA and the rest of the world call
memory mapped I/O for a 256 word sector buffer.
There's a fair amount of logic in a real 9880 system that you could
forget about. Things like the actual width of the sector buffer --
it's 4 bits wide in the hardware. So much of the logic in the 11273
'cable' is involved with doing the transfer (bit serial of course)
to/from the 9830 a nybble at a time. Then the disk data shift registers
are 8 bits, so there's more buffers and latches to convert between that
and the 4 bit buffer RAM.
I have a real HP9880 going on the bench when I have finally sorted
everythign out here. Well, OK, the drive is a 7900A taken from my
2100A system, it doesn't have the tabletop case of a 9880, but
electronically it's all the right stuff, it's all HP. Getting that all going will
be a fun project.
-tony
More information about the cctech
mailing list