Difference between revisions of "User:Dugo/My sandbox"
(get the fuzz) |
m (Jnc moved page Template:My sandbox to User:Dugo/My sandbox without leaving a redirect: Not system-wide content) |
||
(19 intermediate revisions by one other user not shown) | |||
Line 14: | Line 14: | ||
I know nothing about RT-11, let alone fuzzball operation, this is going to be fun! | 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. | ||
− | Mills archive | + | 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 (udel2.udel.edu?) 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 : 129.140.0.0 : 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.. | ||
http://malarky.udel.edu/~dmills/data/du0/ | http://malarky.udel.edu/~dmills/data/du0/ | ||
+ | |||
+ | ..and the complete archive is here. | ||
+ | http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz | ||
+ | |||
+ | 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 (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS. | ||
+ | |||
+ | I got that idea by looking at the SET statements in STARTF.COM. | ||
+ | |||
+ | <pre> | ||
+ | SET TT: QUIET | ||
+ | SET USR NOSWAP | ||
+ | SET TT: FORM | ||
+ | SET TT: WIDTH=80 | ||
+ | SET TT: TAB | ||
+ | SET TT: SCOPE | ||
+ | ASSIGN SY: DK: | ||
+ | ASSIGN SY: INP: | ||
+ | ASSIGN SY: OUT: | ||
+ | ASSIGN DU1: ARC: | ||
+ | ASSIGN TT: LP: | ||
+ | SET DU0: UNIT=0 PART=0 | ||
+ | SET DU1: UNIT=0 PART=1 | ||
+ | SET DU2: UNIT=0 PART=2 | ||
+ | SET DU3: UNIT=0 PART=3 | ||
+ | SET DU4: UNIT=0 PART=4 | ||
+ | DATE 1-JAN-92 | ||
+ | R SETCLK | ||
+ | SET TT: NOQUIET | ||
+ | R PGWAIT | ||
+ | R BOS6 | ||
+ | </pre> | ||
What to set cpu in simh? | What to set cpu in simh? | ||
Line 33: | Line 96: | ||
*BRL used 2 PDP-11/34's and 1 11/23 | *BRL used 2 PDP-11/34's and 1 11/23 | ||
− | *the 256Kb of memory on the full up 18 bit version | + | *the 256Kb of memory on the full up 18 bit version of the PDP-11's is entirely adequate for an IP gateway. |
− | of the PDP-11's is entirely adequate for an IP gateway. | ||
− | What disks .. 2 RL02s look cool | + | What disks .. 2 RL02s look cool to get RT-11 to boot.. |
http://hampage.hu/pdp-11/kepek/1123PLUS.JPG | http://hampage.hu/pdp-11/kepek/1123PLUS.JPG | ||
11/23 had what .. 248k? | 11/23 had what .. 248k? | ||
+ | |||
+ | From: | ||
+ | http://lists.ntp.org/pipermail/hackers/2003-September/000321.html | ||
+ | |||
+ | <pre> | ||
+ | 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.</pre> | ||
+ | |||
+ | |||
+ | and from other places | ||
+ | |||
+ | <pre> | ||
+ | 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, | ||
+ | </pre> | ||
+ | |||
+ | & | ||
+ | |||
+ | <pre> | ||
+ | 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. | ||
+ | </pre> | ||
+ | |||
+ | & | ||
+ | |||
+ | <pre> | ||
+ | ..while the NSFNET backfuzz are connected only to each other | ||
+ | via DDCMP serial lines and to Ethernets at each site. | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | 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). | ||
+ | </pre> | ||
+ | |||
+ | Also lines in BOS6.COM and DAT6.COM yield a few clues..: | ||
+ | |||
+ | <pre> | ||
+ | ! lsi-11/73 (2048k), rx02, mscp, dlv11, dmv11, etc. | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | .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) | ||
+ | </pre> | ||
== get/compile/strip simh pdp11 == | == get/compile/strip simh pdp11 == | ||
Line 265: | Line 393: | ||
</pre> | </pre> | ||
− | and we have dsdd | + | 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" ;) | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | 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. | ||
+ | </pre> | ||
+ | |||
+ | == have a look around == | ||
+ | |||
+ | Dream up some pdp-11 w/ 4 floppy drives..: | ||
+ | |||
+ | <pre> | ||
+ | set ptr dis | ||
+ | set ptp dis | ||
+ | set lpt dis | ||
+ | set dz DISABLED | ||
+ | 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 | ||
+ | ;quit | ||
+ | </pre> | ||
+ | |||
+ | I tried an almost textbook rebuild of the configuration-independent modules w/ | ||
+ | <pre> | ||
+ | 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 | ||
+ | ASSIGN DL1: DK: | ||
+ | INITIALIZE/NOQUERY DK: ! trash the rt-11 install files | ||
+ | ASSIGN DK: INP: !input device | ||
+ | ASSIGN DK: OUT: !output device | ||
+ | ASSIGN DK: ARC: !archive device | ||
+ | COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE | ||
+ | COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE | ||
+ | COPY DU2:SYSGEN.COM DK: | ||
+ | @SYSGEN | ||
+ | </pre> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | == DOSEMU & PUTR route== | ||
+ | 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. | ||
+ | |||
+ | <pre> | ||
+ | mkdir dos | ||
+ | cd dos | ||
+ | svn co https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk dosemu | ||
+ | cd dosemu | ||
+ | wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download | ||
+ | mv dosemu-freedos-1.0-bin.tg* dosemu-freedos-bin.tgz | ||
+ | ./configure | ||
+ | make | ||
+ | make install | ||
+ | cd .. | ||
+ | wget http://www.dbit.com/pub/putr/putr.com | ||
+ | wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz | ||
+ | gunzip -c fuzzball.tar.gz |tar -xvf - | ||
+ | </pre> | ||
+ | |||
+ | === Reconstructing the last know fuzzball disk === | ||
+ | Get in the mood for this desecration ritual. | ||
+ | http://www.eecis.udel.edu/~mills/backroom.html | ||
+ | |||
+ | Now create an indirect command file called PUTR.INI | ||
+ | |||
+ | <pre> | ||
+ | CLS | ||
+ | SET COPY BINARY | ||
+ | SET MORE OFF | ||
+ | FORMAT fuzzball.img /RD54 /RT11 | ||
+ | Y | ||
+ | DU | ||
+ | Mills | ||
+ | INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0 | ||
+ | DU0 | ||
+ | Mills | ||
+ | INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1 | ||
+ | DU1 | ||
+ | Mills | ||
+ | INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2 | ||
+ | DU2 | ||
+ | Mills | ||
+ | INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3 | ||
+ | DU3 | ||
+ | Mills | ||
+ | INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4 | ||
+ | DU4 | ||
+ | Mills | ||
+ | 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: | ||
+ | BOOT DU0: | ||
+ | RT11FB | ||
+ | DU | ||
+ | DISMOUNT DU0: | ||
+ | DISMOUNT DU1: | ||
+ | DISMOUNT DU2: | ||
+ | DISMOUNT DU3: | ||
+ | DISMOUNT DU4: | ||
+ | EXIT | ||
+ | </pre> | ||
+ | |||
+ | With the command: | ||
+ | |||
+ | <pre> | ||
+ | dosemu putr.com | ||
+ | </pre> | ||
+ | |||
+ | you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits. | ||
+ | A ready made image can be fetched from http://www.xs4all.nl/~dugo/fuzzball.img.bz2 | ||
+ | |||
+ | === booting the fuzzball === | ||
+ | First some words of encouragement the esteemed Mills himself.. | ||
+ | http://mailman.postel.org/pipermail/internet-history/2009-January.txt | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | simulation. | ||
+ | </pre> | ||
+ | |||
+ | You now have a bootable disk image fuzzball.img suitable for simh. The emulator ini will need something like: | ||
+ | |||
+ | <pre> | ||
+ | set rq0 RD54 | ||
+ | att rq0 fuzzball.img | ||
+ | boot rq0 | ||
+ | </pre> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | <pre> | ||
+ | PDP-11 simulator V3.9-0 | ||
+ | Disabling CR | ||
+ | |||
+ | RT-11FB V05.05 | ||
+ | |||
+ | .SET TT: QUIET | ||
+ | <nothing received> | ||
+ | ?SETCLK-W-Device error | ||
+ | |||
+ | .R PGWAIT | ||
+ | NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11 | ||
+ | .R BOS6 | ||
+ | |||
+ | HALT instruction, PC: 010262 (MOV 105754,73246) | ||
+ | Goodbye | ||
+ | </pre> | ||
+ | |||
+ | === 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..: | ||
+ | <pre> | ||
+ | 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. | ||
+ | </pre> | ||
+ | |||
+ | With STARTF.COM left intact the below commands will do the trick. | ||
+ | <pre> | ||
+ | UNPROTECT ARC:FUZZ3.DSK | ||
+ | DEL ARC:FUZZ3.DSK | ||
+ | @SYSGEN | ||
+ | </pre> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | Code: | ||
+ | .IIF NDF,SLUREG SLUREG == 176560 ;default slu device address | ||
+ | .IIF NDF,CLKTYP CLKTYP == ^RPST ;default clock type | ||
+ | |||
+ | Simh: | ||
+ | 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 === | ||
+ | |||
+ | <pre> | ||
+ | ; 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 dz DISABLED | ||
+ | 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 | ||
+ | ATTACH LPT LPT.TXT | ||
+ | ; | ||
+ | ; not sure if this is right, | ||
+ | ; maybe 7b works better w/ | ||
+ | ; KED and friends? | ||
+ | ; Mills does a | ||
+ | ; SET TT: WIDTH=80 | ||
+ | ; SET TT: TAB | ||
+ | ; SET TT: SCOPE | ||
+ | ; in STARTF.COM | ||
+ | ; | ||
+ | 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. | ||
+ | ; | ||
+ | SET CLK 60HZ | ||
+ | ; | ||
+ | ; 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 https://archive.org/details/bitsavers_dsdDSD880B_7659665 | ||
+ | ; ..and, this lucky chap got the front panel of one of those disks from a fuzzie | ||
+ | ; http://www.vintagecomputer.net/browse_thread.cfm?id=357 | ||
+ | ; | ||
+ | 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 | ||
+ | quit | ||
+ | </pre> | ||
== deadly quote == | == deadly quote == | ||
"Laugh it up, fuzzball." - Han Solo to Chewbacca, "The Empire Strikes Back" | "Laugh it up, fuzzball." - Han Solo to Chewbacca, "The Empire Strikes Back" |
Latest revision as of 01:05, 11 April 2019
Contents
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 (udel2.udel.edu?) 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 : 129.140.0.0 : 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.. http://malarky.udel.edu/~dmills/data/du0/
..and the complete archive is here. http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz
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 (http://www.dbit.com/pub/putr/), but I dread solutions that require running MS-DOS.
I got that idea by looking at the SET statements in STARTF.COM.
SET TT: QUIET SET USR NOSWAP SET TT: FORM SET TT: WIDTH=80 SET TT: TAB SET TT: SCOPE ASSIGN SY: DK: ASSIGN SY: INP: ASSIGN SY: OUT: ASSIGN DU1: ARC: ASSIGN TT: LP: SET DU0: UNIT=0 PART=0 SET DU1: UNIT=0 PART=1 SET DU2: UNIT=0 PART=2 SET DU3: UNIT=0 PART=3 SET DU4: UNIT=0 PART=4 DATE 1-JAN-92 R SETCLK SET TT: NOQUIET R PGWAIT R BOS6
What to set cpu in simh? what it looked like.. eg this LSI-11 http://www.eecis.udel.edu/~mills/pic/fuzzballb.jpg
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.. http://hampage.hu/pdp-11/kepek/1123PLUS.JPG
11/23 had what .. 248k?
From: http://lists.ntp.org/pipermail/hackers/2003-September/000321.html
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
wget http://simh.trailing-edge.com/kits/rtv53swre.tar.Z uncompress rtv53swre.tar.Z cat rtv53swre.tar |tar -xvf - cp Disks/rtv53_rl.dsk rl1.dsk wget http://www.dbit.com/pub/pdp11/empty/rl02.dsk.gz 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 quit __EOF ###restart ###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 ZA[c\ 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: DD-MMM-YY 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. 16-oct-94 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- zation. 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 .TYPE V5USER.TXT 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 http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0022.JPG http://hpwren.ucsd.edu/~hwb/NSFNET/NSFNET_lost+found/RIMG0023.JPG
now we:
wget http://www.dbit.com/pub/pdp11/fuzzball/bos.dsk.gz wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz1.dsk.gz wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz2.dsk.gz wget http://www.dbit.com/pub/pdp11/fuzzball/fuzz3.dsk.gz 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 dz DISABLED 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 ;quit
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 ASSIGN DL1: DK: INITIALIZE/NOQUERY DK: ! trash the rt-11 install files ASSIGN DK: INP: !input device ASSIGN DK: OUT: !output device ASSIGN DK: ARC: !archive device COPY/DEVICE/NOQUERY DU1: ARC:FUZZ1.DSK/FILE COPY/DEVICE/NOQUERY DU2: ARC:FUZZ2.DSK/FILE COPY DU2:SYSGEN.COM DK: @SYSGEN
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.
DOSEMU & PUTR route
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 https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk dosemu cd dosemu wget http://prdownloads.sourceforge.net/dosemu/dosemu-freedos-1.0-bin.tgz?download mv dosemu-freedos-1.0-bin.tg* dosemu-freedos-bin.tgz ./configure make make install cd .. wget http://www.dbit.com/pub/putr/putr.com wget http://www.eecis.udel.edu/~mills/resource/fuzzball.tar.gz gunzip -c fuzzball.tar.gz |tar -xvf -
Reconstructing the last know fuzzball disk
Get in the mood for this desecration ritual. http://www.eecis.udel.edu/~mills/backroom.html
Now create an indirect command file called PUTR.INI
CLS SET COPY BINARY SET MORE OFF FORMAT fuzzball.img /RD54 /RT11 Y DU Mills INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:0 DU0 Mills INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:1 DU1 Mills INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:2 DU2 Mills INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:3 DU3 Mills INITIALIZE fuzzball.img /RD54 /RT11 /PARTITION:4 DU4 Mills 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: BOOT DU0: RT11FB DU DISMOUNT DU0: DISMOUNT DU1: DISMOUNT DU2: DISMOUNT DU3: DISMOUNT DU4: EXIT
With the command:
dosemu putr.com
you fire up PUTR in dosemu. PUTR reads in PUTR.INI, executes the commands and exits. A ready made image can be fetched from http://www.xs4all.nl/~dugo/fuzzball.img.bz2
booting the fuzzball
First some words of encouragement the esteemed Mills himself.. http://mailman.postel.org/pipermail/internet-history/2009-January.txt
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 simulation.
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 .SET TT: QUIET <nothing received> ?SETCLK-W-Device error .R PGWAIT NOTE TO USER: HIT CTRL C TWICE WITHIN 10 SECONDS FOR RT11 .R BOS6 HALT instruction, PC: 010262 (MOV 105754,73246) Goodbye
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.
UNPROTECT ARC:FUZZ3.DSK DEL ARC:FUZZ3.DSK @SYSGEN
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.
Code:
.IIF NDF,SLUREG SLUREG == 176560 ;default slu device address .IIF NDF,CLKTYP CLKTYP == ^RPST ;default clock type
Simh:
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 dz DISABLED 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 ATTACH LPT LPT.TXT ; ; not sure if this is right, ; maybe 7b works better w/ ; KED and friends? ; Mills does a ; SET TT: WIDTH=80 ; SET TT: TAB ; SET TT: SCOPE ; in STARTF.COM ; 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. ; SET CLK 60HZ ; ; 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 https://archive.org/details/bitsavers_dsdDSD880B_7659665 ; ..and, this lucky chap got the front panel of one of those disks from a fuzzie ; http://www.vintagecomputer.net/browse_thread.cfm?id=357 ; 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 quit
deadly quote
"Laugh it up, fuzzball." - Han Solo to Chewbacca, "The Empire Strikes Back"