PDP-10 / klh10

Community maintained version of Kenneth L. Harrenstien's PDP-10 emulator.
Other
59 stars 7 forks source link

Issues building on Ubuntu 14.04 LTS #1

Closed eswenson1 closed 8 years ago

eswenson1 commented 8 years ago

I tried building base-ks-its on Ubuntu 14.04 LTS and ran into build issues, and after fixing the easy one preventing kn10-ks from building, could not bring up ITS.

The compilation issue is a reference to asm/io.h in dvlites.c. This was easily fixed by changing "asm" to "sys". This fix allows kn10-ks to build. Another issue prevented dpimp from building having to do with "struct ifreq" not having a member named "ifr_space".

But most importantly, ignoring the failed dpimp build, and trying to run ITS with "kn10-its klh10-md.ini", KLH10 makes it through the ".ini" file, but when I try to start (by typing "GO"), I get the following error:

KLH10# go Starting KN10 at loc 0144430...

Salvager 260

* ERROR * THE SYSTEM MAY NOT BE BROUGHT UP

DDT

Rhialto commented 8 years ago

I'll have to look later at the build things; I normally use NetBSD to build and that probably makes a difference. Regarding the latter, do you have the PI-ITS-RP06.0-dbd9 file? It's the disk that ITS runs on. It was never included in the klh distribution but it can be found here and there. I found it at ftp://ftp.trailing-edge.com/pub/PI-ITS-RP06.0-dbd9.bz2 .

EDIT: typo

eswenson1 commented 8 years ago

I do. But I've managed to the panda-dist up and running, since trying your source tree. I think the failed builds left one or more of the required binaries not built and therefore missing from the run directory.

Rhialto commented 8 years ago

I haven't tried ITS much actually. I'm not even sure if I tried it with my changes, I was mostly looking at the Panda TOPS-20.

Rhialto commented 8 years ago

I pushed some fixes for your compilation issues, and fixed some other errors too that were shown by compiler warnings. For me, ITS now works as well on Linux as it does for me on NetBSD,which is unfortunately not quite :(

.../klh10/new/lnx86-ks-its$ ./kn10-ks klh10-pi.ini
KLH10 V2.0H (MyITS) built Jul 18 2015 02:06:55
    Copyright � 2002 Kenneth L. Harrenstien -- All Rights Reserved.
This program comes "AS IS" with ABSOLUTELY NO WARRANTY.

Compiled for LINUX on I386 with word model USEHWD
Emulated config:
     CPU: KS10   SYS: ITS   Pager: ITS  APRID: 4097
     Memory: 512 pages of 1024 words  (SHARED)
     Time interval: INTRP   Base: OSGET   Quantums: OSVIRT
     Interval default: 60Hz
     Internal clock: OSINT
     Other: CIRC JPC DEBUG PCCACHE CTYINT IMPINT EVHINT
     Devices: RH11 RPXX(DP) TM03(DP) DZ11 CH11 LHDH(DPIMP)
[MEM: Allocating 512 pages shared memory, clearing...done]

KLH10# ; KLH10 emulator configuration for PI ITS system.
KLH10# 
KLH10# ; Define basic KS10 device config - two RH11s each on its own Unibus
KLH10# 
KLH10# devdef rh0  ub1   rh11   addr=776700 br=6 vec=254
KLH10# devdef rh1  ub3   rh11   addr=772440 br=6 vec=224
KLH10# 
KLH10# ; Provide one disk, one tape in config ITS expects
KLH10# 
KLH10# devdef dsk0 rh0.0 rp     type=rp06 format=dbd9 path=PI-ITS-RP06.0-dbd9 iodly=0
KLH10# devdef mta0 rh1.0 tm02   fmtr=tm03 type=tu45
KLH10# 
KLH10# ; ITS wants a 60Hz clock, allow it.  Need this until defaults OK.
KLH10# set clk_ithzfix=60
   clk_ithzfix: 60.  =>  60.
KLH10# 
KLH10# ; Define IMP for PI on ITS.JOSS.COM
KLH10# devdef imp  ub3   lhdh   addr=767600 br=6 vec=250 ipaddr=199.34.53.51 gwaddr=199.34.53.50
KLH10# 
KLH10# ; Define IMP for PI on ITS.JOSS.COM
KLH10# devdef imp  ub3   lhdh   addr=767600 br=6 vec=250 ipaddr=199.34.53.51 gwaddr=199.34.53.50
KLH10# 
KLH10# ; Dummy definitions.  Only one DZ is still (apparently) needed.
KLH10# devdef dz0  ub3   dz11   addr=760010 br=5 vec=340
KLH10# ;devdef dz1  ub3   dz11   addr=760020 br=5 vec=350
KLH10# ;devdef chaos ub3  ch11   addr=764140 br=5 vec=270
KLH10# 
KLH10# ; Define new HOST device hackery
KLH10# devdef idler ub3 host addr=777000
KLH10# 
KLH10# ; Preload ITS for convenience
KLH10# load @.its-647pi-u
Using word format "u36"...
Loaded "@.its-647pi-u":
Format: ITS-SBLK
Data: 65470, Symwds: 0, Low: 01, High: 0777266, Startaddress: 0144430
KLH10# 
KLH10# ; go 774000 ; to start DDT, else "go" to start ITS
KLH10# 
KLH10# [EOF on klh10-pi.ini]
KLH10# go
Starting KN10 at loc 0144430...

Salvager 260

[dpimp: Warning - cannot set high priority - Permission denied]

[dpimp: Fatal error: Must be superuser!]
THE KS-10 CLOCK HAS BEEN RESET, IF THE TIME CANNO!
T
BE DETERMINED FROM THE NETWORK, YOU MAY HAVE TO :PDSET
PI ITS 1647 IN OPERATION
PI ITS 1647 SYSTEM JOB USING THIS CONSOLE.
 LOGIN  TARAKA 0 

                              Attention!

                              Attention!

The time could not be set because:
No host responded.
It will be necessary for someone to set the time
manually by logging in and running :PDSET.

TARAKA NETIME IOTLSR  

PI ITS 1647 SYSTEM JOB USING THIS CONSOLE. 
NET: TIMED OUT TRYING TO COME UP  
[HALTED: FE interrupt]
KLH10> 

It doesn't seem to accept input at this point, where I suppose it should allow logins.

Rhialto commented 8 years ago

Hm, just after writing that and hitting all keyboard keys, it seems that typing ^N helped. Or ^C. After a while... it seems a bit random. Maybe it's a scheduling thing with a messed up clock (because of the "You're all alone, Fair share = 2%" I saw).

It also helps if your xterm is in vt52 mode.

eswenson1 commented 8 years ago

By the way, I had the same issue with dpimp not working. I did set the suid bit on dpimp, but that didn't work. So I ended up removing the setuid bit and running the simulator as root. That managed to get dpimp to come up without error.

On Fri, Jul 17, 2015 at 5:57 PM, Rhialto The M. notifications@github.com wrote:

Hm, just after writing that and hitting all keyboard keys, it seems that typing ^N helped.

It also helps if your xterm is in vt52 mode.

— Reply to this email directly or view it on GitHub https://github.com/Rhialto/klh10/issues/1#issuecomment-122462338.

Rhialto commented 8 years ago

Yes, running as root prevents that message. About the login issue: I vaguely recall reading something about that somewhere. Which is a bit useless. In the mean time I'm closing this issue because your original point, building on Linux, should be fixed now. Thanks for reporting it!