[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