Finally had a few minutes to look at this.
Congratulations, Henry. You actually found a bug in simh.
Fix attached.
Mark, could you please commit this?
Also, I noticed a bunch of warnings from some printf in pdp11_dmc.c, which I did not do anything about. I grabbed the code from today, so I suspect you or someone else will fix those soon anyway.

        Johnny

On 2014-07-13 07:18, Johnny Billquist wrote:
On 2014-07-13 05:01, Henry Bent wrote:
Here you go:
http://occs.cs.oberlin.edu/~hbent/vaxultrix/boot.gz

Thanks. I'll see if I have some time to look at it today.

     Johnny



-Henry


On 12 July 2014 22:57, Johnny Billquist <[email protected]
<mailto:[email protected]>> wrote:

    On 2014-07-13 04:52, Henry Bent wrote:

        Sure, I'll work on getting an Ultrix image in a usable state so
        that I
        can upload it.


    Actually, thinking about it, it should be enough with just the boot
    file that you are using.

             Johnny


        -Henry


        On 12 July 2014 22:50, Johnny Billquist <[email protected]
        <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>> wrote:

             On 2014-07-13 04:19, Henry Bent wrote:

                 Cool, thanks.

                 I figured out what's going on.  The standalone programs
        are running,
                 they just aren't displaying any input or output after
        the first
                 character is printed.  So if I do this:

                 --
                 sim> load -o boot 0
                 sim> run 2

                 --
                 and then blindly type "ra(0,0)vmunix", it boots!


             [...]

             Hmm hmm. I suspect I might know what is going on there. I'd
        have to
             test and play around some to verify, though. The console
        I/O on the
             86x0 machines are a bit special, and I wouldn't be
surprised if
             there were some issues in simh related to that.

             Mark, can we get some trace of all reads and writes to the
        registers
             related to the console? (There are four logical devices
        addressed on
             the 86x0 machines through the same CSRs.)

             Henry, if you could get such information logged, we could
        probably
             fix this pretty fast. Or else if you could just provide me
        with the
             files, I could test this myself as well. I don't have an
        old Ultrix
             image around, though.

                      Johnny


                 --
                 Ultrix V2.2 System #2: Wed Nov 18 01:14:13 EST 1987
                 real mem  = 8388608
                 avail mem = 6888448
                 using 34 buffers containing 278528 bytes of memory
                 VAX 8600, serial no. 1234, hardware level = 7
                 IO adapter 0 at address 0x20080000 is an SBI adapter
                 uba0 at address 0x20006000
                 uda0 at uba0
                 uq0 at uda0 csr 172150 vec 774, ipl 15
                 ra0 at uq0 slave 0
                 de0 at uba0 csr 174510 vec 120, ipl 15
                 mba0 at address 0x20012000
                 ht0 at mba0 drive 0
                 tu0 at ht0 slave 0
                 boot device not found
                 root device?
                 --

                 And I can then interact with the console, characters
        are displayed
                 normally, etc.

                 -Henry


                 On 12 July 2014 19:33, Mark Pizzolato - Info Comm
                 <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
                 <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>> wrote:

                      On Thursday, July 10, 2014 at 5:23 PM, Mark
        Pizzolato wrote:
                       > On Jul 10, 2014 2:02 PM, Johnny Billquist
                 <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
                      <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>> wrote:
                       > >
                       > > On 2014-07-11 01:08, Mark Pizzolato - Info
        Comm wrote:
                       > > > On Thursday, July 10, 2014 at 3:13 PM, Cory
        Smelosky
                 wrote:
                       > > >> On Thu, 10 Jul 2014, Henry Bent wrote:
                       > > >>
                       > > >>> Well, that at least did something
different.
                       > >>>
                       > >>> sim> boot rq0 /r5:8
                       > >>> Loading boot code from vmb.exe
                       > >>> %BOOT-F-Unexpected Exceptio
                       > >>>
                       > >>> The 8600 simulator always seems to cut off
        the last
                 character
                      of its
                       > >>> messages, I wonder if that's in any way
        related to
                 the other
                      console
                       > >>> problems.
                       > >>>
                       > >>
                       > >> 780, 750, and 730 have the same
        issue...along with not
                      actually booting from
                       > >> the console RL, floppy, et al.
                       > >
                       > > The last character output in a message just
        prior to
                 executing
                      a HALT
                       > > instruction is not surprising since the
simulator
                 implements a
                      delay
                       > > (as a number of instructions executed) from
        when the
                 data is put in
                       > > the output register prior to generating the
        completion
                      interrupt/status.
                       > >  The halt instruction gets executed before
        the delay
                 number of
                       > > instructions have completed.  Even if that was
                 'fixed', nothing
                       > > operational would change.  The reason the
        message has been
                       > > generated will still exist.

                      The latest github code will no longer drop the last
                 character output
                      just prior to executing a HALT instruction which
        returns to the
                      "sim> " prompt.

                      Like I said above, nothing else changes though.

                      - Mark
                      ___________________________________________________

                      Simh mailing list
        [email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>__>
                 <mailto:[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>__>__>
        http://mailman.trailing-edge.____com/mailman/listinfo/simh


        <http://mailman.trailing-edge.__com/mailman/listinfo/simh
        <http://mailman.trailing-edge.com/mailman/listinfo/simh>>




             --
             Johnny Billquist                  || "I'm on a bus
                                                ||  on a psychedelic trip
             email: [email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>             ||

               Reading murder books
             pdp is alive!                     ||  tryin' to stay hip" -
        B. Idol




    --
    Johnny Billquist                  || "I'm on a bus
                                       ||  on a psychedelic trip
    email: [email protected] <mailto:[email protected]>             ||
      Reading murder books
    pdp is alive!                     ||  tryin' to stay hip" - B. Idol






--
Johnny Billquist                  || "I'm on a bus
                                  ||  on a psychedelic trip
email: [email protected]             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol
*** simh-master/VAX/vax860_stddev.c     Thu Jul 17 19:04:40 2014
--- simh-fix/VAX/vax860_stddev.c        Wed Jul 23 14:06:10 2014
***************
*** 55,62 ****
  #define TXCS_V_TEN      16                              /* Transmitter en */
  #define TXCS_M_TEN      0xF
  #define TXCS_TEN        (TXCS_M_TEN << TXCS_V_TEN)
! #define TXCS_RD         (CSR_DONE + CSR_IE + TXCS_TEN + TXCS_IDC)  /* 
terminal output */
! #define TXCS_WR         (CSR_IE + TXCS_TEN)
  #define ID_CT           0                               /* console terminal */
  #define ID_RS           1                               /* remote services */
  #define ID_EMM          2                               /* environmental 
monitoring module */
--- 55,62 ----
  #define TXCS_V_TEN      16                              /* Transmitter en */
  #define TXCS_M_TEN      0xF
  #define TXCS_TEN        (TXCS_M_TEN << TXCS_V_TEN)
! #define TXCS_RD         (CSR_DONE + CSR_IE + TXCS_TEN + TXCS_IDC + TXCS_WMN)  
/* Readable bits */
! #define TXCS_WR         (CSR_IE)                      /* Writeable bits */
  #define ID_CT           0                               /* console terminal */
  #define ID_RS           1                               /* remote services */
  #define ID_EMM          2                               /* environmental 
monitoring module */
***************
*** 493,506 ****
  
  void txcs_wr (int32 data)
  {
! tto_csr = (tto_csr & ~TXCS_WR) | (data & TXCS_WR);
! if (data & TXCS_WMN)                                    /* updating mask? */
!     tto_update_int ();
! if ((data & CSR_IE) == 0)
      tto_int = 0;
! else if ((tto_csr & (CSR_DONE + CSR_IE)) == CSR_DONE)
      tto_int = 1;
! return;
  }
  
  void txdb_wr (int32 data)
--- 493,508 ----
  
  void txcs_wr (int32 data)
  {
!   tto_csr = (tto_csr & ~TXCS_WR) | (data & TXCS_WR);        /* Write new 
bits. */
!   if (data & TXCS_WMN) {                                    /* Updating 
enable mask? */
!     tto_csr = (tto_csr & ~TXCS_TEN) | (data & TXCS_TEN);    /* Yes. Modify 
enable mask. */
!     tto_update_int ();                                      /* This can 
change interrupt requests... */
!   }
!   if ((data & CSR_IE) == 0)
      tto_int = 0;
!   else if ((tto_csr & (CSR_DONE + CSR_IE)) == CSR_DONE)
      tto_int = 1;
!   return;
  }
  
  void txdb_wr (int32 data)
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to