[Simh] Standalone boot on vax8600?

Johnny Billquist bqt at softjar.se
Wed Jul 23 08:11:21 EDT 2014


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 <bqt at softjar.se
>> <mailto:bqt at softjar.se>> 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 <bqt at softjar.se
>>         <mailto:bqt at softjar.se>
>>         <mailto:bqt at softjar.se <mailto:bqt at softjar.se>>> 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
>>                  <Mark at infocomm.com <mailto:Mark at infocomm.com>
>>         <mailto:Mark at infocomm.com <mailto:Mark at infocomm.com>>
>>                  <mailto:Mark at infocomm.com <mailto:Mark at infocomm.com>
>>         <mailto:Mark at infocomm.com <mailto:Mark at infocomm.com>>>> wrote:
>>
>>                       On Thursday, July 10, 2014 at 5:23 PM, Mark
>>         Pizzolato wrote:
>>                        > On Jul 10, 2014 2:02 PM, Johnny Billquist
>>                  <bqt at softjar.se <mailto:bqt at softjar.se>
>>         <mailto:bqt at softjar.se <mailto:bqt at softjar.se>>
>>                       <mailto:bqt at softjar.se <mailto:bqt at softjar.se>
>>         <mailto:bqt at softjar.se <mailto:bqt at softjar.se>>>> 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
>>         Simh at trailing-edge.com <mailto:Simh at trailing-edge.com>
>>         <mailto:Simh at trailing-edge.com <mailto:Simh at trailing-edge.com>__>
>>                  <mailto:Simh at trailing-edge.com
>>         <mailto:Simh at trailing-edge.com> <mailto:Simh at trailing-edge.com
>>         <mailto:Simh at trailing-edge.com>__>__>
>>         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: bqt at softjar.se <mailto:bqt at softjar.se>
>>         <mailto:bqt at softjar.se <mailto:bqt at softjar.se>>             ||
>>
>>                Reading murder books
>>              pdp is alive!                     ||  tryin' to stay hip" -
>>         B. Idol
>>
>>
>>
>>
>>     --
>>     Johnny Billquist                  || "I'm on a bus
>>                                        ||  on a psychedelic trip
>>     email: bqt at softjar.se <mailto:bqt at softjar.se>             ||
>>       Reading murder books
>>     pdp is alive!                     ||  tryin' to stay hip" - B. Idol
>>
>>
>
>


-- 
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
-------------- next part --------------
*** 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)


More information about the Simh mailing list