[Simh] Custom ROMs on PDP-11 sim
Johnny Billquist
bqt at softjar.se
Sun Dec 17 07:08:35 EST 2017
On 2017-12-17 13:04, Johnny Billquist wrote:
> On 2017-12-17 12:56, Johnny Billquist wrote:
>> On 2017-12-17 01:20, Tim Stark wrote:
>>> Folks,
>>>
>>> Well, there are some PDP-11 tech docs indicates that higher models
>>> like 11/53, 11/73, 11/74, 11/83, 11/84, 11/93, and 11/94 have
>>> built-in own firmware ROMs at starting 160000 with switch bits for
>>> banking.
>>
>> As Christian said, the 11/74 is not correct to include in this
>> discussion, as it is in a different family.
>> All the others are J11 based machines, and somewhat similar.
>>
>> Also, some variant of the 11/73 used a double height module, which did
>> not include any boot roms, so that one does not have anything around
>> this.
>>
>> I can't remember how the 53, 83 and 84 works straight up, but I just
>> went back and checked the 93 and 94. I think the others work the same,
>> but someone should check.
>>
>> Anyway, the 93 and 94 have an 8K EEPROM, which obviously is too big to
>> all fit at the same time in the I/O page. However, it does not map
>> into 160000 ever. There are two memory areas in the I/O page set aside
>> for boot roms.
>> 165000, holding 512 bytes.
>> 173000, holding 512 bytes.
>>
>> Usually 165000 holds self diagnostics, and the common code for
>> booting, while 173000 holds device specific booting code.
>>
>> The KDJ11 module can use neither, one, or both of these areas. If
>> 165000 is enabled, it holds the basic, common code, which can then
>> also boot using traditional M9312 boot roms, located in 173000. For
>> this, the KDJ11 needs to disable its own use of 173000. If you have
>> some module with its own booting in general, which uses 165000, you
>> also should disable the KDJ11 use of that area (obviously). The
>> enabling and disabling of the use of these areas are controlled by a
>> CSR at 177520 (there don't seem to be a specific name for that CSR).
>>
>> If the KDJ11 use either of these areas, they are bank switched. The
>> KDJ11 creates the full address into the EEPROM by using the low 9 bits
>> from the physical address, and the high bits come from a register
>> called PCR (177522). One byte is used for the 165000 area, and one
>> byte for the 173000 area.
>>
>> All this is documented in the 11/93 and 11/94 manuals.
>
> And to correct myself. When I write EEPROM I was short-circuiting
> myself. There is both a ROM and EEPROM on the module. And for 165000,
> when enabled, the access can go either to ROM or EEPROM. And the ROM is
> the 8K. Select of ROM or EEPROM is also done through the CSR at 177520.
And I need to proofread things before sending.
Also, 173000 is always ROM. EEPROM is only a possible option for the
165000 area, and at power on, it will be the ROM that is accessed.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
More information about the Simh
mailing list