From Computer History Wiki
Jump to: navigation, search

I am trying to make a reproducable zoo/museum of emulated internetworked machines running historically significant operating systems, protocols and daemons.

Note: Respect to the Jolitzes. If I appear not to pay, attribute it to a failed attempt at humor.

Notes from the zoo keepers

The first cages will be Bochs set to cpu level 3. In this cage the endangered 386BSD 0.1 should be relatively safe from ridicule and evangelism as the Free-, Net-, and OpenBeasty require a 486 or better nowadays and Dragonflies die in it.

Initial attempts to populate the cage were a failure, the OS refused to reproduce its own kernel, so a breeding program was started. We found a suitable mate in the "official unofficial" patchkits.

Several spawns have now been running around in the nursery. They seem to love playing hide and seek in the dungeon with the original netcat and the lynx. Unfortunately they suffer from an extreme case of agoraphobia when confronted with their cage. Once the enclosure exceeds 504MB they refuse to venture around. We are currently working on a special diet of disktabs and disklabels to ween them off the 1024/16/63 bottle.

Looking for

Any clue on how to get Fuzzball up on a PDP-11


fuzzball notes

** Important Note ***

This fuzzware is distributed only with permission from the Defense Advanced
Research Projects Agency (DARPA) under the condition that it not be
redistributed outside of the receiving organization without prior DARPA
approval. It is provided on an as-is basis only. Users should be cautioned
that only very minimal help is available and that support and maintenance is
not a contractual responsibility of the distributor.

I know nothing about RT-11, let alone fuzzball operation, this is going to be fun!

From what I gathered so far, you have to bring up a fuzzball fully configured.

You build the configuration dependent modules. This is not something I'm fast with (yet). I'm so used to bringing up something quickly and then molding it until it does something cool, I'm not sure how to attack this yet. Getting handy at EDIT/TECO and rebuilding the resident system, then bring up something iteratively.. or.. spend some time designing a setup.

For now a bit of both vectors.

A cage with an isolated standalone fuzzball is cruel, the poor critter keeps shouting `Hello!' and `what time is it' at all interfaces. Archeological findings suggest the critter is very social and likes swamps. Zoo management is currently looking into acquiring a dozen fuzzbals so they can keep each other company. The cost for housing these will be astronomical, but the finance director thinks this can earned back if they can be trained to do some cool tricks. The PdpWorld Fuzzball Show!

This will require some digging because nobody in their right mind currently runs any of these beasts and all the trainers of yesteryear are probably in or near retirement.

Digging hard and deep in and around French ftp caves of academic nature yielded a tarball with loads of goodies. It is still being catalogued, bagged, mirrored and taged, but by the looks of it is a backup of Mills workstation ( complete with RT-11 V 5.5 backups and even fuzzball configs from the time the NFSNET backbone critters were converted to NTP servers.

  • NET : : NSFNET-BB :
    • San Diego CA -- General Atomics -- San Diego Supercomputer Center, SDSC
    • Urbana-Champaign IL -- University of Illinois -- National Center for Supercomputing Applications, NCSA
    • Pittsburgh PA -- Carnegie Mellon University -- Pittsburgh Supercomputer Center, PSC
    • Ithaca NY -- Cornell University -- Cornell Theory Center, CTC
    • Princeton NJ -- Princeton University -- John von Neumann National Supercomputer Center, JvNC
    • Boulder CO -- National Center for Atmospheric Research, NCAR

There are 30ish FUZZ entries in a 1987 DoD Internet Host Table, not sure if the NSFNET-BB fuzzballs were listed though.

Here is Mills archive of his du0 system disk..

..and the complete archive is here.

I think the complete archive are dumps of what were 5 partitions on something like an RD54 MSCP disk. I should be able to recreate such a disk w/ PUTR (, but I dread solutions that require running MS-DOS.

I got that idea by looking at the SET statements in STARTF.COM.


What to set cpu in simh? what it looked like.. eg this LSI-11

1MB mem in a 85/86 era pdp-11

DEQNA UNIBUS, PROTEON Unibus ethernet cards??

from tcp-ip archive:

  • BRL used 2 PDP-11/34's and 1 11/23
  • the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway.

What disks .. 2 RL02s look cool to get RT-11 to boot..

11/23 had what .. 248k?


The stuff I have is the Fuzzware for the NSFnet backbone, including all
sources, binaries and scripts. It's on three RT-11 flopette images now
spining on mort. Fuzzballs used the LSI-11/73 with the PDP11/45 memory
segmentation hardware, a real-time clock board and any of several kinds
of disk drives. Getting that stuff to spin in a simulator would be an
interesting exercise.

and from other places

A  Backbone  node  consists  of a  Digital  Equipment  Corporation  LSI- 
11173 system  wtth  512K  bytes  of memory,  dual-diskette  drive, 
Ethernet  interface  and  serial  interfaces.
One  or two  low-speed 
serial-asynchronous  interfaces  are  provided,  as well  as  one  to three 
high-speed  serial-synchronous  interfaces.  All  Backbone  nodes 
include  crystal-stabilized  clock  interfaces,


At the time 
the NSF phase-I backbone had six LSI-11 fuzzballs as routers, each 
connected to a hardware interface that did retransmissions when 
necessary. The backbone was connected at several points to the ARPAnet, 
most of which at 56/64 kbps. The fuzzbals were located at the five NSF 
supercomputer centers on various college campuses.


..while the NSFNET backfuzz are connected only to each other
via DDCMP serial lines and to Ethernets at each site. 
The NSFNET Backbone fuzzies 
use DDCMP links	with CRC checking and they do find significant numbers of 
errors sometimes on marginal trunks. I would be	a little uneasy	if the IP 
and/or TCP checksums were the only protection. However,	I am completely 
comfortable without CRC	protection on single-user PCs and workstations 
and would be even more comfortable if the drat Backfuzz	links did NOT use 
retransmission (DDCMP interface	retransmissions	are done in hardware and 
cannot be disabled).

Also lines in BOS6.COM and DAT6.COM yield a few clues..:

! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc.
        .PARAM  DQ0,<DQI,DQO>,27,1600.,270,174440,10000 ;ethernet link
        .PARAM  DM0,<DMI,DMO>,27,,330,160020,40100 ;dmv11 link
        .PARAM  DY,DYD,200,1976.,264,177170,0 ;rx03 disk controller (sigma)
        .PARAM  DU,DUD,200,65535.,154,172150,0 ;mscp disk controller (fuji)

get/compile/strip simh pdp11

check pcap path .. maybe add -lnl .. mkdir BIN $ gmake USE_NETWORK=1 all

install rt-11 5.3

uncompress rtv53swre.tar.Z
cat rtv53swre.tar |tar -xvf -
cp Disks/rtv53_rl.dsk rl1.dsk
gunzip rl02.dsk.gz 
cp rl02.dsk rl0.dsk
touch lpt.txt
cat >inst.ini <<__EOF
set cpu 11/23+ 256K
attach LPT lpt.txt
set rl1 writeenabled
set rl1 rl02
attach rl1 rl1.dsk
set rl0 writeenabled
set rl0 rl02
attach rl0 rl0.dsk
set rl0 badblock
boot rl1

###cp Disks/rtv53_rl.dsk rl1.dsk; cp rl02.dsk rl0.dsk

$ pdp11 inst.ini 

PDP-11 simulator V3.8-1
Disabling CR
Overwrite last track? [N] y
        Welcome to RT-11 V5.3

        You have bootstrapped the RT-11 Distribution Disk.  Use this disk to
        install your RT-11 system, then store it in a safe place.

        RT-11  V5.3  provides an automatic installation procedure which will
        back up your distribution disk and build a working system disk which
        should  be  used for your work with RT-11.
        This  working  system disk will only  contain  the  RT-11  operating
        system.  After  the  RT-11  installation  is  complete,  follow  the 
        installation instructions  packaged  with  any optional languages or
        utility software which you will be using.

        Press the "RETURN" key when ready to continue. 

        You  can  choose  to  install  RT-11  manually.  This  procedure  is
        described in the RT-11 Installation Guide. 

        If  you  are a new user of RT-11, DIGITAL highly recommends that you
        use the automatic installation procedure.

        Do you want to use the automatic installation procedure?
        (Type YES or NO and press the "RETURN" key): y

        You  will  be guided through the installation process by a series of
        instructions  and questions; you have an interactive dialog with the
        RT-11  installation  program.   All  you  need  to  do is follow the
        instructions  carefully.  When  the  instructions ask you to mount a
        disk in a specified drive, find the disk with the correct label  and
        mount it in the drive, as shown in your installation booklet. 

        Do  not  remove  any  disk until specifically instructed to do so.
        Once  a  disk  is  mounted in a drive, it must remain in the drive
        until a message appears asking you to remove the disk.

        Press the "RETURN" key when ready to continue. 

        Please enter today's date in the following format:

          where DD is the day of the month
                MMM is the first 3 letters in the name of the month
        YY is the last two numbers of the year

        For example:   September 19, 1984 is 19-SEP-84

        Type in the date, then press the "RETURN" key.


        A backup copy of the distribution disk will now be built.
        Mount a blank disk in DL0 (Drive 0).
        See the Automatic Installation Booklet for mounting instructions.
        (Remember that the disk is not mounted until you have pressed the LOAD
        button and the READY indicator light is on).

        Press the "RETURN" key when you have mounted the disk. 

        Before  a  blank  disk  can  be used it must be prepared so that the
        software can write data to it. This preparation is called initiali-

        The disk in DL0 is now being initialized.

        The following procedure should produce informational  messages
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action
        is required as a result of these messages.  If BAD blocks  are
        detected, the block number will be provided.  This information
        should be noted for future reference.

        This can take approximately fifteen minutes.  Please wait...

?DUP-I-No bad blocks detected DL0:

        Now copying the distribution disk from DL1 (Drive 1) to DL0 (Drive 0).

        This may take up to five minutes.  Please wait...

        Your backup copy of the distribution disk is in DL0 (Drive 0).

        Please remove this disk from DL0 and label it
        "RT-11 V5.3 BIN RL02 BACKUP".
        Refer to Appendix B of your installation booklet for instructions
        for dismounting a disk.

        Press the "RETURN" key when you have removed the disk. 

        Your working system disk will now be built automatically. This  disk
        will contain the RT-11 Operating System.
        Select a blank disk and label it: "RT-11 V5.3 BIN RL02 WORKING"
        and mount it in DL0 (Drive 0).

        Press the "RETURN" key when you have mounted the disk. 

        The disk you mounted in DL0 (Drive 0) is an original distribution
        or backup disk.

        The next procedure initializes DL0.  As a  result,  any  files
        that currently reside on DL0 will be permanently lost. If  you 
        would like to retain any files,  EXIT  from Automatic Installation
        Procedure and copy  them  to another volume.

        Do you want to EXIT from Automatic Installation (Y)? n
        The disk in DL0 is now being initialized.

        The following procedure should produce informational  messages
        in the form ?FORMAT-I-Message,  or ?DUP-I-Message.  No  action
        is required as a result of these messages.  If BAD blocks  are
        detected, the block number will be provided.  This information
        should be noted for future reference.

        This can take approximately fifteen minutes.  Please wait...

?DUP-I-No bad blocks detected DL0:

        Now copying RT-11 from DL1 (Drive 1) to DL0 (Drive 0).

        This can take approximately two minutes.  Please wait...

        Your working system disk will now be bootstrapped.

        Press the "RETURN" key when ready to continue. 

RT-11FB  V05.03  


                              RT-11 V5.3

       Installation of RT-11 Version 5.3 is complete and you are now
    executing from the working volume    (provided you have used the
    automatic installation procedure). DIGITAL recommends you verify
    the correct  operation  of  your  system's  software  using  the
    verification procedure.  To do this, enter the command:

                             IND VERIFY

        Note that VERIFY should be performed  only after the distri-
    bution media have been backed up.  This was accomplished as part
    of automatic installation on  all  RL02,  RX02,  TK50, and  RX50
    based systems,   including the  MicroPDP-11 and the Professional
    300.  If you have not completed automatic installation, you must
    perform a manual backup before using VERIFY.  Note also,  VERIFY
    is NOT supported on RX01 diskettes,    DECtape I or II,   or the
    Professional 325.

    DIGITAL also  recommends  you  read  the  file V5NOTE.TXT, which
    contains information  formalized too late to be included  in the
    Release Notes.  V5NOTE.TXT can be TYPED or PRINTED.


get the fuzzware

This used to go by mail

now we:

gunzip *dsk.gz

and we have DSDD images..

Gee, thanks wizz!

AFAICT DEC didn't make 8" DS floppy drives, simh doesn't have one for the emulated PDP-11 and RT-11 V5.3 doesn't like the idea very much either.

Maybe they are not 8" ;)

FUZZ1.DSK, FUZZ2.DSK, FUZZ3.DSK, NSF.DSK 5.25" floppy disk disk images
                for the Fuzzball operating system and Internet
                applications for the PDP11 family of computers. These
                are in RT-11 file system format suitable for copying
                to double-density, double-side media. The Fuzzball
                operating system was used in the NSFnet Phase-1
                Backbone during the period 1986-1988 and is probably
                of historic interest only.

have a look around

Dream up some pdp-11 w/ 4 floppy drives..:

set ptr dis
set ptp dis
set lpt dis
set RK dis
set HK dis
set rx dis
set rp dis
set tm dis
set tq dis
set xq dis

set console telnet=50000
set tti 8b
set tto 8b
set cpu 11/23+ 256K
;attach LPT lpt.txt
set rl1 writeenabled
set rl1 rl02
attach rl1 rl1.dsk
set rl0 writeenabled
set rl0 rl02
attach rl0 rl0.dsk
set rq enabled
set rq0 RX33
set rq1 RX33
set rq2 RX33
set rq3 RX33
att rq0 bos.dsk
att rq1 fuzz1.dsk
att rq2 fuzz2.dsk
att rq3 fuzz3.dsk
set rl0 badblock
set rl1 badblock
;set throttle 500K
boot rl0
;boot rl1

I tried an almost textbook rebuild of the configuration-independent modules w/

DATE 25-oct-94                     ! don't go even near turn of the century
TIME 15:35:35                      ! fuzzballs like to know what time it is
INITIALIZE/NOQUERY DK:             ! trash the rt-11 install files
ASSIGN DK: INP: !input device
ASSIGN DK: OUT: !output device
ASSIGN DK: ARC: !archive device

This breaks somewhere around the compilation of TNLSI and again at LOG.

Unless you change something on the FUZZ1 or FUZZ2 volumes, these steps will not be necessary, or so the README.TXT on DU2: claims.

I take that to mean you can take the binaries from fuzz3.dsk available here at DU3:

Building the resident system with configuration dependent files is another ballgame.

I'm going to give up building a fuzzball on RT-11 V5.3. All is not lost as the above shows nicely how to bring up RT-11 5.3.

I tried setting up RT-11 V5.5 from the various .DSK files in the complete Mills archive, but that gave me headaches and no booting system.

I'm going to give the PUTR (or maybe KERMIT @ 9600 baud) route a shot now as I do want to have a stylised Phase-1 NSFNET running to tie my other emulation projects together.


Sometimes you have to make a detour to get something running. Funny how often MS-DOS is sitting in a corner shouting... use me!, use me! Well, not this time.

Get the tools and archive in place

The below commands get you dosemu, freedos, putr and the final fuzzball release.

mkdir dos
cd dos
svn co dosemu
cd dosemu
mv* dosemu-freedos-bin.tgz
make install
cd ..
gunzip -c fuzzball.tar.gz |tar -xvf -

Reconstructing the last know fuzzball disk

Get in the mood for this desecration ritual.

Now create an indirect command file called PUTR.INI

FORMAT fuzzball.img /RD54 /RT11
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3
INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4
MOUNT DU0: fuzzball.img /RD54 /RT11 /PARTITION:0
MOUNT DU1: fuzzball.img /RD54 /RT11 /PARTITION:1
MOUNT DU2: fuzzball.img /RD54 /RT11 /PARTITION:2
MOUNT DU3: fuzzball.img /RD54 /RT11 /PARTITION:3
MOUNT DU4: fuzzball.img /RD54 /RT11 /PARTITION:4
COPY DU0\*.* DU0:
COPY DU1\*.* DU1:
COPY DU2\*.* DU2:
COPY DU3\*.* DU3:
COPY DU4\*.* DU4:

With the command:


you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits. A ready made image can be fetched from

booting the fuzzball

First some words of encouragement the esteemed Mills himself..

The last remaing fuzzball is in my basement. The original PDP11 code yet 
spins on a disk here. Someday somebody migh enjoy lighing it up in 

You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like:

set rq0 RD54
att rq0 fuzzball.img
boot rq0

The BOS6 system is nothing like our emulated PDP-11, so the whole thing comes crashing down, but nothing stops you from hitting ctrl-c twice and start building your own fuzzies now.

PDP-11 simulator V3.9-0
Disabling CR

RT-11FB  V05.05  

<nothing received>
?SETCLK-W-Device error


HALT instruction, PC: 010262 (MOV 105754,73246)

Rebuilding the configuration independent modules

The configuration independent modules don't need to be rebuild, but it is always fun to compare a modern box running simh with the old LSI-11/73s.

From readme.txt..:

You can now mumble @SYSGEN and go read a book. The procedure, which
takes the better part of an hour, will result in a new logical disk FUZZ3.DSK
containing all the goodies.

With STARTF.COM left intact the below commands will do the trick.


On museum (a EUR 200,-- Packard-Hell netbook + 1TB USB drive stuffed in a shoebox) the sysgen takes a mere 85 seconds.

Fuzzball clock notes.

The STARTF.COM on Mills fuzzball archive runs this before booting BOS.

       DATE 1-JAN-92
       R SETCLK

It is used to set time and date from local reference. The clocks in vogue at the time often don't provide the year, so this is specified first with the RT-11 DATE command.

SETCLK can be conditionally assembled. Assuming the defaults were used (suspend disbelief here) there is a PST/Traconexattached to what simh console keyboard uses as console keyboard.


       .IIF NDF,SLUREG SLUREG == 176560 ;default slu device address
       .IIF NDF,CLKTYP CLKTYP == ^RPST ;default clock type


       sim> sh TTI
       TTI address=17777560-17777563, vector=60

COM12: .ASCIZ 'Enter date (mm/dd/yy): '<200> COM13: .ASCIZ 'Enter time (hh:mm:ss): '<200>

Fuzzball CPU / bus/ MMU / LTC / disk notes

; SIMH config file to emulate DCN6 fuzzball hardware
; "Laugh it up, fuzzball."
;  Han Solo to Chewbacca, "The Empire Strikes Back"
; disable a lot of stuff first
set ptr dis
set ptp dis
set RK dis
set HK dis
set rx dis
set rp dis
set tm dis
set tq dis
set xq dis
set CR dis
set rl dis
set rq dis
; From SUP6.MAC, the system conditionals for dcn6
; CPU == 5    ;sup cpu/bus type (22-bit I/D space)
; The CPU and memory configuration can be:
; CPU   PS      Memory
; -----------------------------------------------------------------
; 0     no      16      LSI-11/2 (without PS), 16-bit bus
; 1     yes     16      PDP11, LSI-11/2/23/73 (with PS), 16-bit bus
; 2     yes     18      PDP11, LSI-11/23/73 18-bit bus (default)
; 3     yes     22      LSI-11/23/73 22-bit bus
; 4     yes     22      LSI-11/73 22-bit bus with coincident i/d space
; 5     yes     22      LSI-11/73 22-bit bus with separate i/d space
; The 11/73 has an MMU, so let's give this a shot w/ 5, else try 3 and 4
set cpu 11/73 2048K
; Print listings until we have TCT/IP up!
set lpt enabled
; not sure if this is right,
; maybe 7b works better w/
; KED and friends?
; Mills does a 
set tti 8b
set tto 8b
; Hardware clocks
; For UNIBUS systems the interval timer and system clock functions
; can be provided by the KW11-L or KW11-P. For Q-BUS systems these
; functions can be provided by the integral LTC or KWV11-A/C. For the
; highest accuracy and lowest overhead, the combination of LTC as the
; interval timer plus KWV11-A/C as the system clock is recommended.
; HDWCLK Timer          Clock
; --------------------------------------------------------------
; 0     KW11-L/LTC      KW11-L/LTC      UNIBUS and Q-BUS
; 1     KW11-P          KW11-P          UNIBUS only
; 2     KWV11-A/C       KWV11-A/C       Q-BUS only
; 3     LTC             KWV11-A/C       Q-BUS only
; DCN6 had:
; HDWCLK  ==      3               ;sup hardware clock (kwv11-a/c)
; but simh doesn't have that (yet).
; 1 is available in a simh qbus system, but that's a bit weird.
; I'll go for 0 for now.
; Now for disks
; there is the DSK     Disk driver process
; and...
; DSKDU   MSCP disk driver
; DSKDY   RX21/RX02 disk driver
; DSKDL   RL11/RL01/RL02 disk driver
; DSKVM   RAM disk driver
; DSKFD   AED 6200 disk driver
; DCN6 had:
; CS.D22 ==  2  ;dskdy rx02 controller (sigma rxv31 22-bit)
; well.. that's DSKDY   
;; Pdp11/dcn rx21/rx02 disk driver
;; This module is an extension of the disk driver process. it services
;; The dec rx21/rxv21 disk controller with up to two rx02 drives and ssdd
;; disks. It also supports 22-bit mode and dsdd disks using the dsd 880 or
;; sigma rxv31 controllers. This driver does not support sssd disks.
;; Max blocks: 988/1976, rt-11 directory segments: 4 (8 blocks), rt-11 id: 6
;; Note: standard csr/vector addresses are 777170/264.
;; Conditional assembly switches
;.IIF NDF,CS.D22 CS.D22 == 0     ;0: dec rxv21, 1: dsd 880, 2: sigma rxv31
; no simh clue here
; The RX211 is disabled in a Qbus system with more than 256KB
; so much for dskdy
; with the below I can get a build system up at least..
set rq enabled
set rq0 RD54
att rq0 fuzzball.img
; That's simhese for the RQDX3/UDA50 MSCP Disk Controllers (RQ, RQB, RQC, RQD)
; with a RD54 drive.
; there might be some support for that in the fuzz..
; Pdp11/dcn mscp disk driver
; This module is an extension of the disk driver process. it services
; the dec uda50 mscp disk controller and drives. Note that this driver
; supports up to six partitions on mscp unit 0 (hard disk), together
; with one partition each on mscp units 1 and 2 (floppette disks). RT-11
; drives 0-5 are associated with the six partitions on unit 0, while
; drive 6 is associated with unit 1 and drive 7 with unit 2.
; Max blocks: 65535, rt-11 directory segments: 32 (64 blocks), rt-11 id:
; 50
; Note: standard csr/vector addresses are 172150/154.
; The dsd 880 mentioned above is an interesting beast.
; brochure at
; ..and, this lucky chap got the front panel of one of those disks from a fuzzie
sh dev
; this should show smth like
; CLK     60Hz, address=17777546-17777547, vector=100
; TTI     address=17777560-17777563, vector=60
; TTO     address=17777564-17777567, vector=64
; LPT     address=17777514-17777517, vector=200
; RQ      address=17772150-17772153, no vector, RQDX3, 4 units
; far from done, but hey..
boot rq0

deadly quote

"Laugh it up, fuzzball." - Han Solo to Chewbacca, "The Empire Strikes Back"