Coder Social home page Coder Social logo

klh10's People

Contributors

atsampson avatar bictorv avatar johnforecast avatar larsbrinkhoff avatar rhialto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

klh10's Issues

Problems running klh10 under MacOS "High Sierra" (dpni20 related)

Hello,

I've found a couple of problems:

  • dpni20 complains about not being able to lock shared memory
  • dpni20 is not able to locate the vde control directory
System restarting, wait...
Date and time is: Thursday, 16-November-2017 4:16AM
Why reload? cm
Run CHECKD? 
 (Y OR N) n
 DDMP: Started
[KNILDR: Loading microcode version 1(172) into Ethernet channel 0]

[dpni20: Warning - cannot lock memory]

[dpni20: Can't open VDE device "/tmp/vde" - No such file or directory]
[dpni20: ifc "/tmp/vde" => ether f2:b:a4:d:81:90]
[dpni20:   VHOST 0.0.0.0]

The boot sequence continues but the simulator hangs and it has to be killed.

/tmp/vde exists and it is under vde control:

MacJordi:~ jguillaumes$ ls -ld /tmp/vde
drwxrwxrwx  3 jguillaumes  wheel  96 Nov 16 13:16 /tmp/vde

The dpni20 program is set said:

MacJordi:~ jguillaumes$ ls -l /usr/local/bin/dpni20
-rwsr-sr-x  1 root  staff  47328 Nov 16 13:00 /usr/local/bin/dpni20

And this are the contents of my INI file:

; Define basic device config - one DTE, one disk, one tape
devdef dte0 200   dte	master
devdef rh0  540   rh20
devdef rh1  544   rh20
devdef dsk0 rh0.0 rp	type=rp07 format=dbd9 dppath=/usr/local/bin/dprpxx
devdef mta0 rh1.0 tm03	type=tu45

; Set Ethernet address
devdef ni0 564 ni20 dedic=true ifmeth=vde decnet=true ifc=/tmp/vde dppath=/usr/local/bin/dpni20

; Define the idle device on 700
devdef idler 700 host

; Set switch register
set sw=254200,,147

; Set console lights I/O base register
;Uncomment the following line if you have a Panda display.
;lights 378

; Load disk bootstrap directly
load boot.sav

; Ready to GO

Emulate 8080 and front end hardware

It would be nice to run the 8080 software.

For practical use, KLH10's front end is very convenient with its ability to load programs directly from the host file system. But this leaves a gap when it comes to running ALL THE SOFTWARE.

Issues building on Ubuntu 14.04 LTS

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

Build Github version under macOS 12

I have attempted several times over the last few years to build klh10 on modern versions of macOS, generally trying to follow the information on the network about converting makefiles to Xcode projects (and failing miserably).

How in fact do people build klh10 on macOS?

Question: How to setup networking

I am running ITS from this repo https://github.com/PDP-10/its
My home network is 192.168.0.0/24
I have built and installed on a Raspberry Pi 4 with wired Ethernet, Static IP 192.168.1.223. I also reserve 192.168.1.45 on the router to make sure it does not get handed out by DHCP.
When I SSH into the Pi I cannot Ping or FTP to 192.168.1.100 or ping 192.168.0.45 once ITS is running.

Is there any other step I am missing?
I also tried setting the gateway to .223 but that did not work either.

Any help would be appreciated
Mike

Boot from tape

SIMH has the ability to boot from a tape. I would like that feature in KLH10 too.

(Why? Because I'm working on an automated ITS installation, which starts from boot tapes.)

Merge all GitHub copies into one?

There are three KLH10 copies at GitHub. I suggest merging them all into one.

I tried to contact KLH but got no reply, so I guess we're on our own.

Confused installing kl, ks, and ks-its simultanously

The instructions and Makefile seem fuzzy on the notion of having all three emulators: kl, ks, and ks-its installed at the same time. In doc/install.txt, I read that I should do make -C bld-<model> install. But for each successive run of that for a different model, the previous install gets thrown into $KLH10_HOME/flushed. The instructions aren't clear how that directory is used. It seems that it be easier if we could install the assorted binaries to $KLH10_HOME/<model>/.

Am I missing something really obvious here?

Warning in build for bld-ks-its

Towards the end of building the bld-ks-its target, I get this warning:

../../src/dpimp.c: In function âarp_reqâ:
../../src/dpimp.c:1210:2: warning: âmemcpyâ reading 6 bytes from a region of size 4 [-Wstringop-overflow=]
  memcpy((char *)arp.arp.arp_spa,  /* Sender IP addr */
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   (char *)&ihost_ip, sizeof(arp.arp.arp_sha));
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc  -o dpimp dpimp.o dpsup.o  

"make" compiles targets three times

If you e.g. do "make base-ks-its", it would suffice to create kn10-ks-its once, but the Makefile created by mk/bld.mk repeats the "make base-ks-its" in all subdirectories, i.e. in bld-kl, bld-ks, and in bld-ks-its.

It would seem more reasonable to only do "make base-kl" in bld-kl, "make base-ks" in bld-ks, and "make base-ks-its" in bld-ks-its. Saves time, at least.

TOPS-20 hangs a short time after boot up

Hello,

This report should be confirmed by someone else.

Apparently, commit ba556fb has introduced unstability to the KL10 emulator. Now TOPS-20 freezes a few minutes after boot up. It also freezes almost immediately if a CHECKD is requested on boot.

I've tested it with the PANDA distribution. Going back to 9d13c2b seems to "fix" the problem.

Possible diagnose: the increment in the number of devices causes a memory overwrite somewhere. I have not looked at the code yet.

KS10 Ethernet

KLH10 doesn't have an ethernet card for the KS10.

There is half-finished support in ITS for using an NI1010. @atsampson is working on adding support for a DEUNA card.

UTF-8 locale

Consider this compiler warning, which I deliberately did not fix:

cc -c  -g3 -O3   -I../src -I../../src  -DKLH10_CPU_KS=1 -DKLH10_SYS_ITS=1 -DKLH10_EVHS_INT=1 -DKLH10_DEV_DPTM03=1 -DKLH10_DEV_DPRPXX=1 -DKLH10_DEV_DPIMP=1 -DKLH10_SIMP=0 -DKLH10_MEM_SHARED=1 -DKLH10_RTIME_OSGET=1 -DKLH10_ITIME_INTRP=1 -DKLH10_QTIME_OSVIRT=1 -DKLH10_IMPIO_INT=1 -DKLH10_CTYIO_INT=1 -DKLH10_APRID_SERIALNO=4097 -DKLH10_CLIENT=\"MyITS\" -DVMTAPE_ITSDUMP=1 -DKLH10_I_CIRC=1  ../../src/klh10.c
In file included from ../../src/klh10.c:59:
/*  Copyright <A9> 2017 Olaf Seibert
^
../../src/klh10.c:391:24: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    fprintf(f, "%s\n", KLH10_COPYRIGHT);
                   ^~~~~~~~~~~~~~~
../../src/klh10.h:68:15: note: expanded from macro 'KLH10_COPYRIGHT'
Copyright <A9> 2002 Kenneth L. Harrenstien -- All Rights Reserved."
              ^~~~
2 warnings generated.

I would say that the compiler is running in the wrong locale for this particular program: klh10, or rather the operating systems that run in it, doesn't know what to do with utf-8 text and/or terminals.

We can probably fix the locale of the compilation run, but how can we make sure that the user runs klh10 in a proper ASCII or ISO-8859-1 terminal?

Tape read failure

There seems to be some problem reading from tapes. This is an extract from my configuration file (based on run/ksits/klh10-pi.ini):

devdef mta0 rh1.0 tm02 fmtr=tm03 type=tu45
devmo mta0 minsys.tape
load @.nsalv-260-u
go

minsys.tape is a tape image created with itstar. It works fine with SIMH. @.nsalv-260-u is the ITS disk salvager from run/ksits.

When I type go and then mark<ESC>g, the disk formatting procedure works ok. (Answer 0, y, 0, n, 3000, foobar.)

But next, if I type tran<ESC>g to restore files from a tape, things sometimes go badly. (Answer 0, y.)

On some of my host machines, the start of a file is found, but then I get

Tape offline or controller not ready
*** ERROR *** THE SYSTEM MAY NOT BE BROUGHT UP

On some other host machines, sometimes all files are restored, or the error appears in the middle of the tape.

If we look into the source code of NSALV 260, we see

MREAD2: MOVEI B,<%TMD16_8.>+<%TMFCD_4.>+TMBTS
        IOWRI B,%TMTC           ;Tell TM03
        MOVEI B,%TMNOP          ;You may need this to set status values
        IOWRI B,%TMCS1          ; but I'm not really sure
        IODRI B,%TMCS1
        TRNE B,%TM1GO           ;Wait till done
         JRST .-2
        IODRI B,%TMFS           ;Get status
        TRNE B,%TMSOL           ;On line?
         TRNN B,%TMSFR          ;Formatter ready?
          LOSE "~&Tape offline or controller not ready"
  • %TMTC is the tape control register at 772432.
  • %TMCS1 is control and status 1 at 772400.
  • %TMFS is formatter status at 772412.

So presumably, the tape controller is ready, but the tape formatter is not.

Possible build issue under NetBSD

On a NetBSD system to which I have access, the autogen.sh script hangs in aclocal (repeatable running aclocal interactively) with a prompt "root#"

Has anyone built klh10 under NetBSD before?

Dies creating the first RP06 device (hopefully someone actually monitors this ;) )

The PDP-10 (specifically the KA-10) was the first computer I ever used and my first job was as a TOPS-20 assembly language programmer, so I wanted to play around. I am on a UBUNTU linux system. After some bumbling around I got it built and it 'starts' ok
Compiled for unknown-linux-gnu on x86_64 with word model USEINT
Emulated config:
CPU: KL10-extend SYS: T20 Pager: KL APRID: 3600
Memory: 8192 pages of 512 words (SHARED)
Time interval: INTRP Base: OSGET
Interval default: 60Hz
Internal clock: OSINT
Other: MCA25 CIRC JPC DEBUG PCCACHE CTYINT EVHINT
Devices: DTE RH20 RPXX(DP) TM03(DP) NI20(DP)
[MEM: Allocating 8192 pages shared memory, clearing...done]

KLH10# ; Sample KLH10.INI for initial installation
KLH10#
KLH10# ; Define basic device config - one DTE, one disk, one tape.
KLH10# ; Use two RH20s because TOPS-10 doesn't like mixing disk and tape on
KLH10# ; the same controller (TOPS-20 is fine).
KLH10#
KLH10# devdef dte0 200 dte master
KLH10# devdef rh0 540 rh20
KLH10# ;devdef rh1 544 rh20
KLH10# devdef dsk0 rh0.0 rp type=rp06 format=dbd9
KLH10# ;devdef mta0 rh1.0 tm03 type=tu45
KLH10#
KLH10# ; Need KLNI to avoid LAPRBF BUGCHKs - use valid address if known
KLH10# ;
KLH10# ; devdef ni0 564 ni20 ipaddr=10.0.0.51
KLH10# ; The (NetBSD/FreeBSD/Linux) version with tap(4) and bridge(4) creates the
KLH10# ; named tap device dynamically and bridges it to the default interface.
KLH10# ; If you want it differently (for instance routed instead of bridged),
KLH10# ; you can create the tap yourself and it will be used as it is.
KLH10# ;devdef ni0 564 ni20 ipaddr=10.0.0.51 ifmeth=tap+bridge ifc=tap0 dedic=true
KLH10# ; Use ifmeth=tap if you handle the bridging or routing yourself.
KLH10#
KLH10# ; Use this version if you want to use libpcap for ethernet access.
KLH10# ;devdef ni0 564 ni20 ipaddr=10.0.0.51 ifmeth=pcap ifc=re0 dedic=false
KLH10#
KLH10# ; Load disk bootstrap directly
KLH10# load boot.sav
Using word format "c36"...
Loaded "boot.sav":
Format: DEC-CSAV
Data: 4630, Symwds: 0, Low: 040000, High: 054641, Startaddress: 040000
Entvec: JRST (120 ST: 0, 124 RE: 0, 137 VR: 0,,0)
KLH10#
KLH10# ; Now ready to GO
KLH10# [EOF on klt20.ini]
KLH10# [Creating RP06 disk file "RH20.RP06.1"]

It just stops here with a zero length file created. Does anyone know what I am doing wrong? When I try the inst-klt20.ini file, it can't find the .tap file. Any help would be appreciated.
John

read20 should print author information

TOPS-20 tapes store author information, read20 should print it.

For dump.h add:

#define WdoffAuthor      WdoffFDB+030   /* Author offset */

Then in doFileHeader:

    getstring(block, authorname, WdoffAuthor, sizeof(authorname), STRING);

and print it when in verbose mode:

printf("%5d%9d %2d %o %s %s %s", offline ? apgcount : pgcount,
                   numbytes, bytesize, tprot, timeptr, topsname, authorname);

Massbus serial number(s)

The code to default the serial numbers of massbus devices seems wrong.

dvrpxx.c:

 RPREG(rp, RHR_SN) =                /* Serial Number register (BCD) */
               (((1    / 1000)%10) << 12)
             | (((6    /  100)%10) <<  8)
             | (((nrps /   10)%10) <<  4)
             | (((nrps       )%10)      );

dvtm03.c:

 TMREG(tm, RHR_SN) =                /* Serial Number register (BCD) */
               (((9    / 1000)%10) << 12)
             | (((9    /  100)%10) <<  8)
             | (((ntms /   10)%10) <<  4)
             | (((ntms       )%10)      );

The intention seems to be to set the serial number to 1600 + n and 9900 + n
respectively. It does not...

Problem attaching 8 disk images

@rmaldersoniii reported a problem in PDP-10/its#588.

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=dlw8 path=../../out/its.0.rp06 iodly=0
KLH10# devdef dsk1 rh0.1 rp type=rp06 format=dlw8 path=../../out/its.1.rp06 iodly=0
KLH10# devdef dsk2 rh0.2 rp type=rp06 format=dlw8 path=../../out/its.2.rp06 iodly=0
KLH10# devdef dsk3 rh0.3 rp type=rp06 format=dlw8 path=../../out/its.3.rp06 iodly=0
KLH10# devdef dsk4 rh0.4 rp type=rp06 format=dlw8 path=../../out/its.4.rp06 iodly=0
KLH10# devdef dsk5 rh0.5 rp type=rp06 format=dlw8 path=../../out/its.5.rp06 iodly=0
KLH10# devdef dsk6 rh0.6 rp type=rp06 format=dlw8 path=../../out/its.6.rp06 iodly=0
KLH10# devdef dsk7 rh0.7 rp type=rp06 format=dlw8 path=../../out/its.7.rp06 iodly=0
KLH10#
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=172.16.36.247 gwaddr=172.16.36.1
Out of room for more device defs

Incorporate SLIRP

It would be useful to add SLIRP as a networking option.
Currently I get very annoyed that the Panda install on my laptop only has working networking when it is in the correct location.

Make supdup compile

contrib/supdup doesn't compile on modern Unix. I've started to modernize it so that it compiles, but it is not finished yet. Hopefully it is going to work with ITS after that.

TOPS-10 boot failure on Raspberry Pi 2

I've built kn10-kl on the latest Stretch version of Raspbian (2018-3-13) for a Raspberry Pi 2. It works perfectly running TOPS-20 but when I try to boot TOPS-10 I get the following error loading the boot loader:

KLH10 2.0k-Rhialto (MyKL) built Mar 22 2018 20:45:27
Copyright ? 2002 Kenneth L. Harrenstien -- All Rights Reserved.
This program comes "AS IS" with ABSOLUTELY NO WARRANTY.

Compiled for unknown-linux-gnueabihf on armv7l with word model USEINT
Emulated config:
CPU: KL10-extend SYS: T20 Pager: KL APRID: 3600
Memory: 8192 pages of 512 words (SHARED)
Time interval: INTRP Base: OSGET
Interval default: 60Hz
Internal clock: OSINT
Other: MCA25 CIRC JPC DEBUG PCCACHE CTYINT EVHINT
Devices: DTE RH20 RPXX(DP) TM03(DP) NI20(DP)
[MEM: Allocating 8192 pages shared memory, clearing...done]

KLH10# ; KLH10 configuration for TOPS-10 test system
KLH10#
KLH10# ; DTE requires ackdly to avoid T10 race condition
KLH10# devdef dte0 200 dte master ackdly=5
KLH10# devdef rh0 540 rh20
KLH10# devdef rh1 544 rh20
KLH10# devdef dsk0 rh0.0 rp dppath=/usr/local/bin/dprpxx type=rp06 sn=4747 format=dbd9 path=T10-RP06.0-dbd9
KLH10# devdef dsk1 rh0.1 rp dppath=/usr/local/bin/dprpxx type=rp06 sn=1026 format=dbd9 path=T10-RP06.1-dbd9
KLH10# devdef mta0 rh1.0 tm03 dppath=/usr/local/bin/dptm03 type=TU77
KLH10#
KLH10# ; NI: param "c3dly" to avoid T10 race.
KLH10# ; NI: param "rdtmo" to avoid system hangups with OSF/1 V3.0
KLH10# ;
KLH10# ; Decnet node TWONKY, 9.429
KLH10# devdef ni0 564 ni20 dppath=/usr/local/bin/dpni20 dedic=true ifmeth=tap+bridge ifc=tap1 decnet=1 doarp=0 enaddr=aa:00:04:00:1c:fc dpdelay=12 c3dly=2 rdtmo=3
KLH10#
KLH10# load klboot.exe
Using word format "c36"...
Loading aborted, read failed for file page 1, proc page 0
Loading aborted, read failed for file page 2, proc page 448
Loading aborted, read failed for file page 4, proc page 451
Loaded "klboot.exe":
Format: DEC-PEXE
Data: 0, Symwds: 0, Low: 01000000, High: 0, Startaddress: 0
Entvec: 0 wds at 0
KLH10# [EOF on klt10.ini]

CHUDP binds to all interfaces

The Chaosnet UDP tunnel listens to all interfaces, including the tun interface used by the IMP.

I used a firewall rule to forward all Chaosnet UDP packets from the host to the ITS IP number. Then @b4 asked if this was necessary, and that got me thinking that it shouldn't be. But it was, and it worked. When I removed the rule, it still worked.

So I looked in the code, and there it was: dpchudp.c binds to INADDR_ANY.

Maybe chudp should accept a parameter, say if, and bind only to those interfaces.

The usefulness of tap interfaces without bridge

I'm about to migrate my oldest TOPS-20 system from klh-2.0h (last touched 2012) to this version, and discovered that NI20 tap interfaces don't work as they used to. It seems there is a little bit of confusion about the usefulness of tap-only devices (as opposed to tap+bridge devices), given comments in the code.

In my experience, tap-only devices are very useful as tunnel devices if they have their IP addresses set up (as they were in 2.0h). I just committed 510aedc which changes the crucial test to whether (in effect) the tunaddr parameter was given (indicating that it is to be used as a tunnel device) rather than checking pfdata->pf_ip4_only (indicating a tun (rather than tap) device).

I'm not sure if the other places in the code where tap+bridge is mentioned also need looking at.

And I think OSN_USE_IPONLY should be abolished in favor of pfdata.pf_ip4_only, but that's another matter.

(Sorry if this looks more like a rant than an issue.)

Crash when host out of memory

@Pul-Ess discovered that KLH10 will crash if the host machine is out of memory and allocation of a shared memory segment fails.

Specifically, inside dvrpxx.c rp_clear will fail if rp->rp_sdprp is NULL.

FreeBSD and runaway shm

klh10 absolutely eats every sysvshm resource I have on my FreeBSD system - and them for some reason I can't ipcrm them, despite it saying it succeeded.

No particularly helpful errors are returned indicating it is shm-related, either.

installation on macos 10.13 (High Sierra)

I have an issue building kn10-kl on High Sierra: A number of places have an interrupted format string in a write to a log file, and the compiler complains about a missing ")" at the end of the first part of the string. I will freely admit that I am using the original Panda distribution, which build just fine in 2011 on whatever generation of OS X that was, but the binaries will not run under High Sierra so I have to rebuild.

Has this been fixed in the Github variant? Or is there a known fix which I am missing?

This was easier when I had numerous Linux and BSD systems lying around the museum; now I'm stuck with my home resources

Secondarily, has anyone created an Xcode project to build KLH10 natively on the Mac?

Thanks,
Rich

Rich Alderson
ex Living Computers: Museum + Labs

Apple M1

Has anyone tested KLH10 on an Apple M1 machine?

Console input problem

It seems the console device can get into trouble if it receives input too fast. Error messages typically look like:

[CTYI: 153 => 553, old 465]

Sorry I don't have more details right now, but I can probably cook up a test case.

Basic LPD printer shim

Implement a printer device that just pipes everything to lpd and friends so I can print to my networked SIXEL dot matrix printer from ITS et al.

the CI seems to be broken...

See https://github.com/PDP-10/klh10/runs/3000438023 :

Cirrus CI / main failed 2 hours ago in 3m 48s
Task Summary

Instruction main failed in 00:01
Details

✅ 00:01 clone
✅ 03:44 install
❌ 00:01 main

./autogen.sh
autom4te-2.69: need GNU m4 1.4 or later: /usr/local/bin/gm4
aclocal: error: autom4te failed with exit status: 1
autom4te-2.69: need GNU m4 1.4 or later: /usr/local/bin/gm4
autom4te-2.69: need GNU m4 1.4 or later: /usr/local/bin/gm4
autoheader-2.69: '/usr/local/bin/autom4te-2.69' failed with exit status: 1
Not running configure in the source directory.
mkdir tmp
cd tmp
../configure --enable-lights
/tmp/scripts9566c74d10037c4d7bbb0407d1e2c649.sh: ../configure: not found

Exit status: 127

some static analysis results

I decided to feed the source (well, the ITS build, for the moment) through the scan-build utility, and it did indeed turn up a bunch of issues, some of which are trivial patches (e.g. unused or uninitialized variables), others (use-after-frees, for example) that are probably best subject to the gaze of someone who has actually spent time with the code, and in any event I don't want to step on anyone's toes. Would it be best just to attach the results for people to pick over?

Networking no longer works

With the latest git changes to klh10 my previously working TCP/IP setup no longer works.

System -
Linux Fedora 24 64 bit

Software -
Latest git klh10 running TOPS-20 Panda distribution.

Startup Script (klt20) -

[neilt@wol panda]$ cat klt20
#!/bin/sh
export KLH10_NET_BRIDGE=enp3s5homenet
exec ./kn10-kl klt20.ini

ini file (klt20.ini) -

[neilt@wol panda]$ cat klt20.ini
; Sample KLH10.INI for initial installation

; Define basic device config - one DTE, one disk, one tape.
; Use two RH20s because TOPS-10 doesn't like mixing disk and tape on
; the same controller (TOPS-20 is fine).

devdef dte0 200   dte	master
devdef rh0  540   rh20
devdef rh1  544   rh20
devdef dsk0 rh0.0 rp	type=rp07 format=dbd9
devdef mta0 rh1.0 tm03	type=tu45

; Need KLNI to avoid LAPRBF BUGCHKs - use valid address if known
;
; devdef ni0 564 ni20 ipaddr=10.0.0.51
; The (NetBSD/FreeBSD/Linux) version with tap(4) and bridge(4) creates the
; named tap device dynamically and bridges it to the default interface.
; If you want it differently (for instance routed instead of bridged),
; you can create the tap yourself and it will be used as it is.
devdef ni0 564 ni20 ipaddr=192.168.0.51 ifmeth=tap+bridge ifc=tap0 dedic=true
; Use ifmeth=tap if you handle the bridging or routing yourself.

; Use this version if you want to use libpcap for ethernet access.
;devdef ni0 564 ni20 ipaddr=10.0.0.51 ifmeth=pcap ifc=re0 dedic=false

; Load disk bootstrap directly
load boot.sav

; Now ready to GO

System Startup Messages -

[BOOT: Loading] [OK]


[TOPS20 mounted]
Neil's Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4 Internet: Loading host names [OK]

System restarting, wait...
Date and time is: Sunday, 22-January-2017 7:24AM
Why reload? pm
Run CHECKD? n
 DDMP: Started
[KNILDR: Loading microcode version 1(172) into Ethernet channel 0]


[dpni20: Cannot find default IP interface for host]
[dpni20: linux bridge_create: ioctl res=0]
[dpni20: Attached "tap0" to bridge "enp3s5homenet"]
[dpni20: ifc "tap0" => ether 0:0:0:0:0:0]
[dpni20:   VHOST 192.168.0.51]
[dpni20: Enabled net.ipv4.conf.tap0.arp_accept]

SYSJOB 7A(88)-4 started at 22-Jan-2017 0724
SJ  0: @LOGIN OPERATOR
SJ  0: @ENABLE
SJ  0: $SYSTEM:STSJ1
22-Jan-2017 07:24:37 SYSJB1: SYSJB1 started.
SJ  0: $^ESET LOGIN ANY
SJ  0: $OPR

 [NCP]:              Waiting for ORION to start
22-Jan-2017 07:24:38 SYSJB1: Job 0: 
22-Jan-2017 07:24:38 SYSJB1: Job 0:  Neil's Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4
22-Jan-2017 07:24:38 SYSJB1: Job 1: 
22-Jan-2017 07:24:38 SYSJB1: Job 1:  Neil's Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4
22-Jan-2017 07:24:38 SYSJB1: Job 2: 
22-Jan-2017 07:24:38 SYSJB1: Job 2:  Neil's Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4
22-Jan-2017 07:24:38 SYSJB1: Job 3: 
22-Jan-2017 07:24:38 SYSJB1: Job 3:  Neil's Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4
22-Jan-2017 07:24:38 SYSJB1: Job 4: 
22-Jan-2017 07:24:38 SYSJB1: Job 4:  Neil's Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4
22-Jan-2017 07:24:38 SYSJB1: Job 5: 
22-Jan-2017 07:24:38 SYSJB1: Job 5:  Neil's Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4
22-Jan-2017 07:24:38 SYSJB1: Job 1: @LOGIN OPERATOR
22-Jan-2017 07:24:38 SYSJB1: Job 3: @LOGIN OPERATOR
22-Jan-2017 07:24:38 SYSJB1: Job 0: @LOGIN OPERATOR
22-Jan-2017 07:24:38 SYSJB1: Job 2: @LOGIN OPERATOR
22-Jan-2017 07:24:38 SYSJB1: Job 2: @ENABLE
22-Jan-2017 07:24:38 SYSJB1: Job 3: @ENABLE
22-Jan-2017 07:24:38 SYSJB1: Job 4: @LOGIN OPERATOR
22-Jan-2017 07:24:38 SYSJB1: Job 5: @LOGIN OPERATOR
22-Jan-2017 07:24:38 SYSJB1: Job 0: @ENABLE
22-Jan-2017 07:24:38 SYSJB1: Job 0: $RESOLV
22-Jan-2017 07:24:38 SYSJB1: Job 1: @ENABLE
22-Jan-2017 07:24:38 SYSJB1: Job 2: $SMTJFN
22-Jan-2017 07:24:38 SYSJB1: Job 3: $MMAILR
22-Jan-2017 07:24:38 SYSJB1: Job 4: @ENABLE
22-Jan-2017 07:24:38 SYSJB1: Job 4: $IMAPSV
22-Jan-2017 07:24:38 SYSJB1: Job 5: @ENABLE
22-Jan-2017 07:24:38 SYSJB1: Job 1: $NETSRV
22-Jan-2017 07:24:38 SYSJB1: Job 5: $FTS
22-Jan-2017 07:24:38 SYSJB1: Job 5: FTS>TAKE FTS.CMD
22-Jan-2017 07:24:38 SYSJB1: Job 5: [FTS20: FTS event 38: spooler started]
22-Jan-2017 07:24:36 Internet: Network My-Network on, Output on
SJ  0: OPR>TAKE SYSTEM:SYSTEM.CMD
SJ  0: 
SJ  0: 07:24:40        --ORION logging disabled by job 1 OPERATOR at terminal 13--
SJ  0: 
SJ  0: 07:24:40        --Output display for OPR modified--
SJ  0: 
SJ  0: 07:24:40        --Output display for OPR modified--
SJ  0: 
SJ  0: 07:24:40        --Output display for OPR modified--
SJ  0: 
SJ  0: 07:24:40        --Output display for OPR modified--
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 0  -- Set Accepted --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 1  -- Set Accepted --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 2  -- Set Accepted --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 3  -- Set Accepted --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 0  -- Set Accepted --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 1  -- Set Accepted --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 2  -- Set Accepted --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 3  -- Set Accepted --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 0  -- Startup Scheduled --
SJ  0: 
SJ  0
07:24:40 From operator terminal 13 on node TOPS20::
	=>System in operation
: 07:24:40        Batch-Stream 1  -- Startup Scheduled --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 2  -- Startup Scheduled --
SJ  0: 
SJ  0: 07:24:40        Batch-Stream 3  -- Startup Scheduled --
SJ  0: OPR>
SJ  0: 07:24:40        --SEND command completed--

% [Logger 22-Jan-2017 07:24:41 ]: Started at 22-Jan-2017 07:24:37
SJ  0: OPR>
SJ  0: 07:24:46          -- Structure Status Change Detected --
SJ  0:                 Previously mounted structure TOPS20: detected
SJ  0: 
SJ  0: 07:24:46          -- Structure Status Change Detected --
SJ  0:                 Structure state for structure TOPS20 is incorrect
SJ  0:                   EXCLUSIVE/SHARED attribute set incorrectly
SJ  0:                 Status of structure TOPS20: is set:
SJ  0:                 Domestic, Unregulated, Shared, Available, Dumpable
SJ  0: 

bridge interface is up -

[root@wol ~]# ip addr show dev enp3s5homenet
7: enp3s5homenet: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:15:17:a6:0e:73 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.5/24 brd 192.168.0.255 scope global enp3s5homenet
       valid_lft forever preferred_lft forever
    inet6 fde3:e5a0:6e8e:0:215:17ff:fea6:e73/64 scope global mngtmpaddr dynamic 
       valid_lft forever preferred_lft forever
    inet6 fe80::215:17ff:fea6:e73/64 scope link 
       valid_lft forever preferred_lft forever

tap0 is up and connected to the bridge -

[root@wol ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
docker0		8000.0242d6e8cae6	no		
enp3s5homenet		8000.001517a60e73	yes		enp2s0f1
							tap0
virbr0		8000.000000000000	yes		

But no IP address on tap0 -

[root@wol ~]# ip addr show dev tap0
16: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master enp3s5homenet state UNKNOWN group default qlen 1000
    link/ether 9a:40:a2:c5:fb:af brd ff:ff:ff:ff:ff:ff
    inet6 fe80::9840:a2ff:fec5:fbaf/64 scope link 
       valid_lft forever preferred_lft forever

If I manually add an IP address -

[root@wol ~]# ip addr add 192.168.0.51/24 dev tap0
[root@wol ~]# ip addr show dev tap0
16: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master enp3s5homenet state UNKNOWN group default qlen 1000
    link/ether 9a:40:a2:c5:fb:af brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.51/24 scope global tap0
       valid_lft forever preferred_lft forever
    inet6 fe80::9840:a2ff:fec5:fbaf/64 scope link 
       valid_lft forever preferred_lft forever

@Rhialto
I can ping it, but not telnet to my Panda -

[root@wol ~]# ping -c 5 192.168.0.51
PING 192.168.0.51 (192.168.0.51) 56(84) bytes of data.
64 bytes from 192.168.0.51: icmp_seq=1 ttl=64 time=0.056 ms
64 bytes from 192.168.0.51: icmp_seq=2 ttl=64 time=0.048 ms
64 bytes from 192.168.0.51: icmp_seq=3 ttl=64 time=0.049 ms
64 bytes from 192.168.0.51: icmp_seq=4 ttl=64 time=0.060 ms
64 bytes from 192.168.0.51: icmp_seq=5 ttl=64 time=0.049 ms

--- 192.168.0.51 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4103ms
rtt min/avg/max/mdev = 0.048/0.052/0.060/0.008 ms
[root@wol ~]# telnet 192.168.0.51
Trying 192.168.0.51...
telnet: connect to address 192.168.0.51: Connection refused

Entire network broken -
At this stage, the networking on my machine is broken, I can ping my own interface (192.168.0.5) and the tap0 interface (192.168.0.51) but nothing's going into or out of my machine. Once I shutdown klh10, everything's back to normal.

Closedown works
On the plus side - dpni20 no longer hangs around, and everything shuts down properly.

If you need any more info/debugging, please shout.

Mount tapes R/W

Make it possible to mount a tape image R/W, or change from R/O to R/W.

Is there already a way? If so, I haven't found it.

KA10 support?

Just putting out a feeler. Would anyone be interested in adding support for the KA10 processor and devices? There is some vestigial code for it here and there.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.