[Simh] MicroVAX II time

Mark Pizzolato Mark at infocomm.com
Mon Apr 11 11:51:08 EDT 2016


On Monday, April 11, 2016 at 8:38 AM, Bob Supnik wrote:
> Looking through the MV II sources, it appears that the watch chip is simply
> not implemented. The watch chip should have registers at 200B8000. The MV
> II emulator has "128 bytes" of NVR (non-volatile RAM) starting at that
> address instead.
> 
> The NVR implementation isn't right either. Although the watch chip occupies
> addresses 200B8000-200B807E, the bytes of the watch chip are accessed on
> word (16b) boundaries. So there are really only 64 bytes available - 14 bytes
> of registers and 50 bytes of battery-backed up RAM.
> Byte access is undefined.
> 
> The byte corresponding to CSR D defaults to 0. The VRT (valid time) bit is
> supposed to be set by hardware when the register is read. Because this
> doesn't happen, VRT always remains 0, and VMS will always ask for the time
> and date.
> 
> See chapter 11 of the KA630 processor spec for all the gory details.
> 
> So yes, feel free to file a bug report.

Actually, the watch chip is implemented it is implemented as a separate module 
and DEVICE in VAX/vax_watch.c.

The nvr initializes the valid bit in the watch check when the NVR is attached and 
clears it when NVR is detached.

Well, I didn’t check the details about 16bit or byte access, but the watch chip 
works correctly for me if I use Wilm's config and point it at my generic test disk.
I get prompted for time IF I don't attach the NVR and don't if I do.

The interactions with the watch chip can be exposed with:
	sim> SET DEBUG STDOUT
	sim> SET WTC DEBUG

If yours doesn't look similar to mine (shown below) please send the debug 
output produced when the debug commands are added to the 
configuration file.



    Debug output to "STDOUT"
    Debug output to "STDOUT" at Mon Apr 11 08:47:13 2016
    MicroVAX II (KA630) simulator V4.0-0 Beta        git commit id: $Format:
    Loading boot code from internal ka630.bin
    DBG(150720)> WTC REG: wtc_rd(pa=0x200B801A [CSRD], data=0x80) VALID1

    KA630-A.V1.3

    Performing normal system tests.

      5..4..3..

    Tests completed.


    >>> boot

      2..1..0..


       VAX/VMS Version V5.5-2   Major version id = 1 Minor version id = 0
    DBG(289707992)> WTC REG: wtc_rd(pa=0x200B8014 [CSRA], data=0x20) UIP0 DV=32.768KHz
    DBG(289707996)> WTC REG: wtc_rd(pa=0x200B8016 [CSRB], data=0x6) SET0 DM=Binary 24HR=24Hr DST=Disabled
    DBG(289707999)> WTC REG: wtc_rd(pa=0x200B8012 [YEAR], data=0x52) VALUE=82
    DBG(289708000)> WTC REG: wtc_rd(pa=0x200B8010 [MON ], data=0x3) VALUE=3
    DBG(289708001)> WTC REG: wtc_rd(pa=0x200B8004 [MIN ], data=0x2F) VALUE=47
    DBG(289708002)> WTC REG: wtc_rd(pa=0x200B8008 [HR  ], data=0x8) VALUE=8
    DBG(289708003)> WTC REG: wtc_rd(pa=0x200B800E [DOM ], data=0xB) VALUE=11
    DBG(289708004)> WTC REG: wtc_rd(pa=0x200B8000 [SEC ], data=0x24) VALUE=36
    DBG(289714755)> WTC REG: wtc_rd(pa=0x200B8014 [CSRA], data=0x20) UIP0 DV=32.768KHz
    DBG(289714759)> WTC REG: wtc_rd(pa=0x200B8016 [CSRB], data=0x6) SET0 DM=Binary 24HR=24Hr DST=Disabled
    DBG(289714762)> WTC REG: wtc_rd(pa=0x200B8012 [YEAR], data=0x52) VALUE=82
    DBG(289714763)> WTC REG: wtc_rd(pa=0x200B8010 [MON ], data=0x3) VALUE=3
    DBG(289714764)> WTC REG: wtc_rd(pa=0x200B8004 [MIN ], data=0x2F) VALUE=47
    DBG(289714765)> WTC REG: wtc_rd(pa=0x200B8008 [HR  ], data=0x8) VALUE=8
    DBG(289714766)> WTC REG: wtc_rd(pa=0x200B800E [DOM ], data=0xB) VALUE=11
    DBG(289714767)> WTC REG: wtc_rd(pa=0x200B8000 [SEC ], data=0x24) VALUE=36
    DBG(289714860)> WTC REG: wtc_wr(pa=0x200B8016 [CSRB], data=0x86) SET1 DM=Binary 24HR=24Hr DST=Disabled
    DBG(289714861)> WTC REG: wtc_wr(pa=0x200B8014 [CSRA], data=0x20) UIP0 DV=32.768KHz
    DBG(289714862)> WTC REG: wtc_wr(pa=0x200B8000 [SEC ], data=0x25) VALUE=37
    DBG(289714863)> WTC REG: wtc_wr(pa=0x200B8004 [MIN ], data=0x2F) VALUE=47
    DBG(289714864)> WTC REG: wtc_wr(pa=0x200B8008 [HR  ], data=0x8) VALUE=8
    DBG(289714865)> WTC REG: wtc_wr(pa=0x200B800E [DOM ], data=0xB) VALUE=11
    DBG(289714866)> WTC REG: wtc_wr(pa=0x200B8010 [MON ], data=0x3) VALUE=3
    DBG(289714867)> WTC REG: wtc_wr(pa=0x200B8012 [YEAR], data=0x52) VALUE=82
    DBG(289714868)> WTC REG: wtc_wr(pa=0x200B8016 [CSRB], data=0x6) SET0 DM=Binary 24HR=24Hr DST=Disabled
    DBG(289714879)> WTC REG: wtc_rd(pa=0x200B8014 [CSRA], data=0x20) UIP0 DV=32.768KHz
    DBG(289714883)> WTC REG: wtc_rd(pa=0x200B8016 [CSRB], data=0x6) SET0 DM=Binary 24HR=24Hr DST=Disabled
    DBG(289714886)> WTC REG: wtc_rd(pa=0x200B8012 [YEAR], data=0x52) VALUE=82
    DBG(289714887)> WTC REG: wtc_rd(pa=0x200B8010 [MON ], data=0x3) VALUE=3
    DBG(289714888)> WTC REG: wtc_rd(pa=0x200B8004 [MIN ], data=0x2F) VALUE=47
    DBG(289714889)> WTC REG: wtc_rd(pa=0x200B8008 [HR  ], data=0x8) VALUE=8
    DBG(289714890)> WTC REG: wtc_rd(pa=0x200B800E [DOM ], data=0xB) VALUE=11
    DBG(289714891)> WTC REG: wtc_rd(pa=0x200B8000 [SEC ], data=0x24) VALUE=36
    DBG(298694541)> WTC REG: wtc_rd(pa=0x200B8014 [CSRA], data=0x20) UIP0 DV=32.768KHz
    DBG(298694545)> WTC REG: wtc_rd(pa=0x200B8016 [CSRB], data=0x6) SET0 DM=Binary 24HR=24Hr DST=Disabled
    DBG(298694548)> WTC REG: wtc_rd(pa=0x200B8012 [YEAR], data=0x52) VALUE=82
    DBG(298694549)> WTC REG: wtc_rd(pa=0x200B8010 [MON ], data=0x3) VALUE=3
    DBG(298694550)> WTC REG: wtc_rd(pa=0x200B8004 [MIN ], data=0x2F) VALUE=47
    DBG(298694551)> WTC REG: wtc_rd(pa=0x200B8008 [HR  ], data=0x8) VALUE=8
    DBG(298694552)> WTC REG: wtc_rd(pa=0x200B800E [DOM ], data=0xB) VALUE=11
    DBG(298694553)> WTC REG: wtc_rd(pa=0x200B8000 [SEC ], data=0x25) VALUE=37
    DBG(298694646)> WTC REG: wtc_wr(pa=0x200B8016 [CSRB], data=0x86) SET1 DM=Binary 24HR=24Hr DST=Disabled
    DBG(298694647)> WTC REG: wtc_wr(pa=0x200B8014 [CSRA], data=0x20) UIP0 DV=32.768KHz
    DBG(298694648)> WTC REG: wtc_wr(pa=0x200B8000 [SEC ], data=0x26) VALUE=38
    DBG(298694649)> WTC REG: wtc_wr(pa=0x200B8004 [MIN ], data=0x2F) VALUE=47
    DBG(298694650)> WTC REG: wtc_wr(pa=0x200B8008 [HR  ], data=0x8) VALUE=8
    DBG(298694651)> WTC REG: wtc_wr(pa=0x200B800E [DOM ], data=0xB) VALUE=11
    DBG(298694652)> WTC REG: wtc_wr(pa=0x200B8010 [MON ], data=0x3) VALUE=3
    DBG(298694653)> WTC REG: wtc_wr(pa=0x200B8012 [YEAR], data=0x52) VALUE=82
    DBG(298694654)> WTC REG: wtc_wr(pa=0x200B8016 [CSRB], data=0x6) SET0 DM=Binary 24HR=24Hr DST=Disabled
    DBG(298694665)> WTC REG: wtc_rd(pa=0x200B8014 [CSRA], data=0x20) UIP0 DV=32.768KHz
    DBG(298694669)> WTC REG: wtc_rd(pa=0x200B8016 [CSRB], data=0x6) SET0 DM=Binary 24HR=24Hr DST=Disabled
    DBG(298694672)> WTC REG: wtc_rd(pa=0x200B8012 [YEAR], data=0x52) VALUE=82
    DBG(298694673)> WTC REG: wtc_rd(pa=0x200B8010 [MON ], data=0x3) VALUE=3
    DBG(298694674)> WTC REG: wtc_rd(pa=0x200B8004 [MIN ], data=0x2F) VALUE=47
    DBG(298694675)> WTC REG: wtc_rd(pa=0x200B8008 [HR  ], data=0x8) VALUE=8
    DBG(298694676)> WTC REG: wtc_rd(pa=0x200B800E [DOM ], data=0xB) VALUE=11
    DBG(298694677)> WTC REG: wtc_rd(pa=0x200B8000 [SEC ], data=0x25) VALUE=37

    $!  Copyright (c) 1992 Digital Equipment Corporation.  All rights reserved.

    %STDRV-I-STARTUP, VMS startup begun at 11-APR-2016 08:47:49.78

    The VAX/VMS system is now executing the system startup procedure.



More information about the Simh mailing list