[Simh] DMA access to the IO page

Don North ak6dn at mindspring.com
Thu Sep 6 04:31:48 EDT 2018


On 2018-09-05 23:32, Lars Brinkhoff wrote:
>> Apparently, the GT40 does this. So... problems.
> Yes, the boot ROM includes instructions for the VT11 display processor.
>
> Admittedly, I'm quite clueless when it comes to details about the PDP-11
> and Unibus.  The vt_fetch function in pdp11_vt.c does go through the I/O
> map, but apparently that by itself isn't enough to access the ROM
> region.  The GT40 is built on a 11/05 which doesn't have an I/O map,
> right?
>
> I worked around this by adding a direct call to iopageR.  It's a
> temporary solution for running the GT40 ROM code, and as such it works.
> I apologize if this makes anyone cringe.  I'll be happy to throw it out
> when a real solution appears.
>
> . . .
>
>> CPUs, in general, didn't need to monitor DMA activity, except for
>> systems with internal caches, like the 11/70.
> I'll take this opportunity to also mention that I tested something
> labelled "PDP-11/60, 70 Console/Diagnostic ROM".  It checks bit 0 in the
> 177752 register, which is related to the cache.  Doing "set hitmiss 1"
> in SIMH makes the ROM happy, but I'm sure that's only an approximation
> of the real hardware function.  Secondly, it retrieves an address from
> 704 and jumps to that address added by two.  I don't know what's
> supposed to be there.

Locations 700-704 are used to save registers r0,r1,r4 when running the 
diagnostics, when called from a device boot prom. Normally when booting via an 
M9312 device boot prom about the first thing the device boot prom does is jump 
into the CPU console prom to run the simple go/nogo CPU diagnostics. Prior to 
running the actual diagnostics the code saves r0,r1,r4 of the caller in 
locations 700-704. Register r4 contains the return address-2 where the console 
prom diagnostics should return to if the diagnostics pass. So when the 
diagnostics complete it does a 'move @#704,r4; jmp 2(r4)' to return to the 
device boot prom to then execute the actual boot code.

This is all detailed in the M9312 console prom listings and user guide on 
bitsavers.

Don North


More information about the Simh mailing list