Networking on the simh V4 KL-10B simulator with the Panda Distribution

So, the final part of this series is that I did get networking working. As a note, I’m not using NAT or SLiRP because I need an outbound connection since it’s running headless on a Raspberry Pi. But, the instructions for setting up TCP/IP from the original Panda Distribution’s README file still work.

Here is my ether.ini file:

set console log=out.log
; Use ^\ instead of ^e to get simh's attention and configure devices
ECHO "Use Ctl-\ to return to the console."
set console wru=034
set cpu kl10b 4096k
set cty rsx20
set tua rh20
set rpa rh20
set rpa0 rp07
set rpb rh20
; Disable devices
set rpb dis
set rpa2 dis
set rpa3 dis
set rpa4 dis
set rpa5 dis
set rpa6 dis
set rpa7 dis
set tua1 dis
set tua2 dis
set tua3 dis
set tua4 dis
set tua5 dis
set tua6 dis
set tua7 dis
; Attach an Ethernet device to the simulator.
set ni en
attach ni eth0
; Attach disk and load the bootstrap into memory
at rpa0 disks/panda.rp
load -c -b boot/boot.exb

Advertisement

Installing the TOPS-20 Panda Distribution on simh’s KL10 simulator

Preparation

First off, you’re going to need a couple of things:

  1.  The version of simh that’s available at Richard Cornwell’s fork (https://github.com/rcornwell/sims).
  2. A working C compiler (like GCC, we’re using Linux as an example).
  3. The tape images from the PDP-10 GitHub page (https://github.com/PDP-10/panda) and the TOPS-20 7.0 install tape, BB-H137F-BM (available from http://pdp-10.trailing-edge.com/tapes/bb-h137f-bm.tap.bz2 or http://bitsavers.org/bits/DEC/pdp10/magtape/dec_distribs/TOPS-20/BB-H137F-BM.tap.gz).
  4. The following configuration file seems to work (copy the following block and paste it into your editor of choice):
set console wru=034
set cpu kl10b 4096k
set cty rsx20
set tua rh20
set rpa rh20
set rpa0 rp07
set rpb rh20
set tua0 lock
at tua0 -f e11 bb-h137f-bm.tap 
at rpa0 panda.rp
load -c mtboot.exb

Installation

With all of that out of the way,  we’re largely going to be following the TOPS-20 Model KL10B Installation Guide for the first part of the installation. Build simh and copy the binaries in the BIN/ folder to someplace within your PATH.  Type in pdp10-kl and then go at the sim> prompt and it should present to you with this:

BOOT V11.0(315)


MTBOOT>

Type in /L and /G143 at MTBOOT to bring up the disk formatter:

MTBOOT>/l

[BOOT: Loading] [OK]

MTBOOT>/g143

The disk formatter instructions should be as follows:

[FOR ADDITIONAL INFORMATION TYPE "?" TO ANY OF THE FOLLOWING QUESTIONS.]


DO YOU WANT TO REPLACE THE FILE SYSTEM ON THE SYSTEM STRUCTURE? Y


DO YOU WANT TO DEFINE THE SYSTEM STRUCTURE? Y


HOW MANY PACKS ARE IN THIS STRUCTURE: 


ON WHICH "CHANNEL,CONTROLLER,UNIT" IS LOGICAL PACK # 0 MOUNTED? 0,-1,0


DO YOU WANT THE DEFAULT SWAPPING SPACE? Y


DO YOU WANT THE DEFAULT SIZE FRONT END FILE SYSTEM? Y


DO YOU WANT THE DEFAULT SIZE BOOTSTRAP AREA? Y


DO YOU WANT TO ENABLE PASSWORD ENCRYPTION FOR THE SYSTEM STRUCTURE? N

WHAT IS THE NAME OF THIS STRUCTURE? PS


[STRUCTURE "PS" SUCCESSFULLY DEFINED]

At this point, TOPS-20 will bring up some messages that we don’t need to worry about. When RUNNING DDMP appears, hit Ctl-C to bring up the basic monitor prompt. And then do then type G MTA0: twice at the MX prompt.

NO SYSJOB
NO EXEC
MX>GET FILE MTA0:
  ?
MX>GET FILE MTA0:

Wait a minute or two and it type S at the MX> prompt:

MX>START

We should be presented with this (ignore all BUGCHK messages):

 TOPS-20 Command processor 7(4143)
@

Type in ENA, run MTA0: and LOAD MTA0:, and then exit:

@ENA
$RUN MTA0:

DLUSER>LOAD MTA0:

DONE.
DLUSER>EXIT

And then start DUMPER:

$RUN MTA0:
DUMPER>TAPE MTA0:

Here’s where we break from the manual. All we needed to do was get DUMPER running since what we’re doing is restoring a disk image. Hit Ctl-\ to bring up the simh prompt and type:

sim> at tua0 panda.tap
sim> c

We now have returned to DUMPER and type the following after the DUMPER> prompt:

DUMPER>TAPE MTA0:
DUMPER>REWIND
DUMPER>PROTECTION TAPE
DUMPER>CREATE
DUMPER>FILES
DUMPER>RESTORE TOPS20:<*>*.*.* PS:<*>*.*.* 

What we told it to do was to use MTA0: as a tape drive, rewind the image, keep the permissions from the tape image, create directories while restoring, print out the files it’s restoring, and restore to the disk image from the tape image.

This may take awhile. Come back after a few hours.

Testing the restored image

At the DUMPER> prompt, type EXIT to return to the monitor:

DUMPER>EXIT

You can check the disk image here by typing DIR PS:<*>*.* but it’s not really needed either.

Type in the following to start shutting down the monitor, Ctl-E CEASE NOW and type enter to confirm:

$^ECEASE NOW

You should see something like this message when it’s shut down:

        OPERATOR - Wait for the message "Shutdown complete" before
        entering commands to PARSER.

$LOGOUT
Killed Job 1, User OPERATOR, Account OPERATOR, TTY 205,
  at 21-Feb-2020 09:30:32,  Used 0:01:46 in 7:04:22


Shutdown complete

Halt the simulated front end by typing in set cty stop and then go:

sim> set cty stop
sim> go
**HALTED**

Clear the simulator’ “memory” and load in the disk bootstrap:

sim> d 0-77777 0
sim> reset
sim> load -c boot.exb
sim> go

You should be presented with the following prompt:

BOOT V11.0(311)


BOOT>

Hit ENTER, and a spew of messages will appear. Type in login operator dec-20 to log into the system prompt.

@login operATOR

Use ^ECEASE NOW again to bring down the system. Any changes that need to be made while the monitor is running standalone should be loaded at the BOOT> prompt with the following:

BOOT>/e
BOOT>dbugsw/2
BOOT>147(esc)g

And that should be all for now. I will update this page for Ethernet when I figure that out.

Vintage Mac Stuff, Part I

So, it looks like I have a pet project that suddenly sprang up over the night.  I was fortunate (or unfortunate?) enough to have a ton of Apple LocalTalk cables with some Farallon PhoneNet cables and some extenders thrown in for good measure dropped off tonight.  There were some floppies and an ImageWriter II cable added in for good measure.  All of this is good.  I have a PowerMac 7200 that still has the appropriate ports for LocalTalk on it and I have a Performa 400 (LC II) that needs to have System 7 installed.

This appears to be a good test bed to install System 7 with the Network Access Disk.  I don’t have enough floppies to write the System 7.5.3 floppy images, so the 7200 would likely have to host the installation media for the Performa.

This is gonna be a lot of fun.  I’ve been wanting to do this for awhile now.

Sun Blade 100 (Part 2)

Currently, it looks like this:

I replaced the 15GB Seagate  drive in the Sun Blade 100 with an old 160 GB Western Digital drive that I used to use with Linux.  It won’t see the full 160 GB of it but 127 GB instead because it’s Ultra ATA/66 MHz.  That’s okay.  It’s a lot better than the smaller drive.

I have yet to figure out how to fix the IDPROM issue.  Despite my years as a Mac user during the late PowerPC era, OpenBoot eludes me greatly.  It’s the same basic firmware, but I can’t grok it very well.  However, I wound up installing Solaris 10 from a x86 VM because the Sun lacks a DVD drive.  It did make installation easier once I figured out Jumpstart enough to do a network install over a dedicated Ethernet port on the PC that’s hosting the VM.  Networking works but I have to manually configure the connection to match what the Sun thinks the Ethernet port is…

SunBlade 100 (Part 1)

Warning:  Extremely technical babble ahead.  Beware.

I finally got my hands on a dream machine sometime last week because my younger sibling found a SunBlade 100 secondhand and had to get it to me.  I’ve been interested in Suns since I first saw one in 1994 when I was out with my mother paying the bill for the local dial-up ISP.  The flurry of text I saw on screen was amazing and I was just fascinated by it.  Because of this, I eventually wandered to Solaris 9 Express on x86, but it ran like a dog. X took forever to start (and sometimes, failed), networking was wonky, and I could never figure out how to shut it down right.  In retrospect, it was almost certainly not the best Solaris experience as it wasn’t running on its native architecture–SPARC.

Of course, this dream machine is a bit of a fixer-upper.  Despite using computers for the past 23 years, I never touched a Sun and mostly x86 and PPC Mac computers.  One of the first things that I encountered was an IDPROM error and a U13 error. It wouldn’t boot automatically and thanks to a quick refresher on OpenFirmware (or OpenBoot as it is on a Sun), I was able to get it to boot Solaris 8’s installer.

There was a slight problem though.  The Sun absolutely refused to connect to a network, so I had to figure out why it wouldn’t.   The MAC address in Solaris was nothing but zeroes for the Ethernet adapter, so DHCP refused to offer a lease to it.  Apparently, as I found out, the MAC address in most Sun machines is stored in the IDPROM and on most other Ethernet cards, it’s stored om the card itself.

I eventually replaced the battery in hopes that it would fix the problem with the IDPROM since it loses its marbles when the battery dies.  It didn’t.  I’m actually up to one last thing and that’s reprogramming it manually…

Introduction

I’m a late twentysomething with a lifelong interest in technology, both old and new, and still sometimes doesn’t have the answer for some things (or can’t remember!).  I’ve been using computers since I was about 7 and typewriters since I was 9.  Other oddball things I like that will probably be covered:  old tube or transistor radios and audio equipment, film cameras, Voayager-era HP calculators, maybe even some older computers I have.

Of course, this will be done on a time-willing basis.  A lot of things aren’t done that I need to have done, but…