[Simh] vax780 bare metal - rq addresses --> rq registers

Mark Pizzolato Mark at infocomm.com
Thu May 14 08:06:39 EDT 2020


On Wednesday, May 13, 2020 at 6:41 PM, Mike Stramba wrote:
> On 5/13/20, Mark Pizzolato <Mark at infocomm.com> wrote:
> > And there is:
> >
> >          sim> SHOW UBA IO
> > or
> >          sim> SHOW -o UBA IO
> 
> What are those showing ?
> 
> It seems to be the last address in the range shown by SH <dev> ?

Just a summary of how the 'hardware' happens to be configured.

> >
> > Maybe you can explain more about where you going with this...
> 
> I'd like to understand how the vax device drivers and system 
> internals operate at the most basic "primitive level" .....   
> just for fun ;)
> 
> And how the simh commands relate, so that I can debug my 
> low-level experiments.
> 
> E.g. what I need to Deposit  where  to do I/O with the various devices.

Most, if not all, simh DEVICEs have means of examining and 
depositing to what the simulator calls REGisters.  These may or 
may not correspond to what the hardware called registers, AND
touching (via examine and deposit) is absolutely not equivalent
to simulated instructions accessing the hardware.

> I.e. how it compares to IBM 370 /390  (io / channels SVC  interrupts  etc)

The point of simulation is to provide how the hardware behaved to the 
software running on it, accessing the internals of the simulated 
hardware from the "sim>" prompt is not that.

Fortunately, using the VAX simulator (not the VAX780), you can pretty
much do exactly what you want (interact with the simulated hardware)
with commands if you do so from the hardware boot ROM which gives 
you a >>> prompt to enter commands as you please.

> I have the BSD  ver 7 source, with the sys directory looking 
> like the most interesting.

I'm not familiar with whether there was support for the KA655 in that 
BSD version, but it certainly had hardware support somewhere along 
the way, and that source is available.

This is an example of what I'm talking about:

    MicroVAX 3900 simulator V4.0-0 Current        git commit id: 345b8703
    sim> SHOW QBA IOSPACE
          Address         Vector  BR # Device
    -------------------- -------- -- - ------
    20000040 - 2000005F* 0C0-0DC   4 4 DZ
    20001468 - 2000146B            4 1 RQ
    20001550 - 20001553  094       4 1 TS
    20001900 - 20001909  070       4 1 RL
    20001920 - 2000192F            4 1 XQ
    20001940 - 20001943            4 1 TQ
    20001F40 - 20001F41              1 QBA
    20001F4C - 20001F4F  080       4 1 LPT
    sim> BOOT
    Loading boot code from internal ka655x.bin

    KA655-B V5.3, VMB 2.7
    Performing normal system tests.
    40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
    24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
    08..07..06..05..04..03..
    Tests completed.
    >>>HELP
    Following is a brief summary of all the commands supported by the console:

            UPPERCASE  denotes a keyword that you must type in
            |          denotes an OR condition
            []         denotes optional parameters
            <>         denotes a field that must be filled in
                       with a syntactically correct value

    Valid qualifiers:
        /B /W /L /Q /INSTRUCTION
        /G /I /V /P /M
        /STEP: /N: /NOT
        /WRONG /U

    Valid commands:
        DEPOSIT [<qualifiers>] <address> [<datum> [<datum>]]
        EXAMINE [<qualifiers>] [<address>]
        MOVE [<qualifiers>] <address> <address>
        SEARCH [<qualifiers>] <address> <pattern> [<mask>]
        SET BFLG <boot_flags>
        SET BOOT <boot_device>[:]
        SET HOST/DUP/UQSSP </DISK | /TAPE> <controller_number> [<task>]
        SET HOST/DUP/UQSSP <physical_CSR_address> [<task>]
        SET HOST/MAINTENANCE/UQSSP/SERVICE <controller_number>
        SET HOST/MAINTENANCE/UQSSP <physical_CSR_address>
        SET LANGUAGE <language_number>
        SHOW BFLG
        SHOW BOOT
        SHOW DEVICE
        SHOW ETHERNET
        SHOW LANGUAGE
        SHOW MEMORY [/FULL]
        SHOW QBUS
        SHOW RLV12
        SHOW UQSSP
        SHOW VERSION
        HALT
        INITIALIZE
        UNJAM
        CONTINUE
        START <address>
        REPEAT <command>
        X <address> <count>
        FIND [/MEMORY | /RPB]
        TEST [<test_code> [<parameters>]]
        BOOT [/R5:<boot_flags> | /<boot_flags>] [<boot_device>[:]]
        NEXT [count]
        CONFIGURE
        HELP
    >>>EXAMINE /W 20001468
      P 20001468 0000
    >>>EXAMINE /W 2000146A
      P 2000146A 0B40
    >>>EXAMINE /W 2000146C
    ?2E MEM ERR 20001470
    >>>

- Mark

> > On Wednesday, May 13, 2020 at 5:23 PM, Johnny Billquist wrote:
> >> Oh, and yes, there might be issues with 32 bit access, since the
> >> Unibus is only
> >> 16 bits wide. Also, you might need to enable the Unibus adapter
> >> before you can get to anything sitting on it.
> >>
> >> I can't remember the details, but the documentation for the Unibus
> >> adapter
> >> (DW780) is also on the net, so you just have to look it up...
> >>
> >>    Johnny
> >>
> >> On 2020-05-14 02:18, Johnny Billquist wrote:
> >> > It's a little complicated, because the controller is on the Unibus,
> >> > and the Unibus only have an 18-bit address space.
> >> > So the SBI Unibus adapter contains a mapping between the VAX
> >> > address space, and the Unibus address space, and the UBA also
> >> > contains mapping for DMA, which must be set up before playing
> >> > around. So there are layers you need to go through.
> >> >
> >> > Also, the MSCP controllers only actually have two registers on the
> >> > bus, and they are only really used for anything more advanced than
> >> > just getting the attention of the controller at initialization.
> >> > After that, all communication happens through buffers.
> >> >
> >> >    Johnny
> >> >
> >> > On 2020-05-14 02:14, Mike Stramba wrote:
> >> >> What is the relationship / mapping between the addresses displayed
> >> >> for the SHOW RQ  (disk controller) command and the listed
> >> >> registers in the
> >> >> vax780 manual ?
> >> >>
> >> >> E.g  SA, S1DAT, CQBA etc ?
> >> >>
> >> >> i.e. Does the SA register appear  /  is accessed at 2013F468 ?
> >> >>
> >> >> S1DAT at 2013F46A  .... etc ?
> >> >>
> >> >> If so, are those addresses not accessible with EXamine / Deposit ?
> >> >>
> >> >> sim> ex 2013F468
> >> >> Address space exceeded
> >> >>
> >> >> Only from an instruction ?  :
> >> >>
> >> >> e.g.
> >> >>
> >> >> MOVW R0,2013F468
> >> >>
> >> >> sh rq
> >> >> RQ    address=2013F468-2013F46B, vector=1FC*, BR5, UDA50, 4 units
> >> >> .....
> >> >> _______________________________________________
> >> >> Simh mailing list
> >> >> Simh at trailing-edge.com
> >> >> http://mailman.trailing-edge.com/mailman/listinfo/simh
> >> >>
> >> >
> >> >
> >>
> >>
> >> --
> >> 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
> >> _______________________________________________
> >> Simh mailing list
> >> Simh at trailing-edge.com
> >> http://mailman.trailing-edge.com/mailman/listinfo/simh
> >



More information about the Simh mailing list