The previous PDP-11 Live CD that I made is great, but it only works with IDE CD-ROM drives, so you cannot use it if you have a SATA or USB CD-ROM. Which is a shame. So I wanted to make a version that doesn't rely on having CD-ROM drivers for DOS, since it's unlikely that I'd be able to support all of the different types of drive. I have tried to get my external USB CD-ROM drive to work under DR-DOS and found that I couldn't make it go.
So, for a few days I have been struggling to create an "El Torito" hard disk image, so that I could make a CD bootable version of a hard disk. I haven't gotten it to work yet. I even tried this (twice actually) by taking the HxD hex editor to an ISO file. I've given up for the time being, but I'll probably come back to it.
However, I can get floppy disk "El Torito" images to work perfectly, including the 2.88 Mb variety. That's how I got the previous Live CD to start (but I was only using a 1.44 Mb image that time). So with a bit of lateral thinking I realised that my PDP-11 disk compresses quite well. So I went off an got an UNZIP program for DOS, from here ... or to be specific, I downloaded unz600x3.exe from: ftp://ftp.info-zip.org/pub/infozip/msdos/.
This means that I can fit DR-DOS into a 2.88 Mb floppy image along with a compressed copy of the PDP-11 emulator and disk. Since everything is inside the 2.88 Mb image, we don't need to load CD-ROM drivers in DOS. It means that this bootable ISO will work with SATA and USB CD-ROM drives, it doesn't need the drivers since it's all done by the BIOS and the magic of El Torito. Cool.
This was quite hard to find, so here is a zip file containing some documentation for Basic-11.
[NOTE: I have since made a better version here.]
This ISO image of a bootable CD is the combination of two different threads I have been working on: how to make bootable CDs and how to set up RT-11 with Basic in SIMH, the PDP-11 emulator. This CD only works if you have an IDE CD-DROM drive though.
So I took the bootable CD image that I had already made and added SIMH for MS-DOS. Then I added my RT-11 / Basic-11 disk image. I set SIMH to start up automatically from a 16Mb RAM disk. It all seems to work. It is pretty fast in comparison to a real PDP-11! Because it is running from a DOS RAM disk, you get read/write access under RT-11 (until you switch the power off). But it does mean that you can't mess it up since you get a clean install each time you boot the CD. Oh, and if you're looking for a manual on Basic-11 I've posted some stuff here.
So... if you'd like to have a play with an ancient operating system, give it a try. Burn the ISO to a CD or boot it directly in Virtual PC or VirtualBox. I've tried it with as little as 32Mb RAM, and it works fine. When I get time, perhaps I'll do an ancient Unix Live CD as well.
This post continues with my SIMH RT-11 tutorial... To add Basic-11 into the mix I've been using this image of the "Languages Master" RX50 floppy disk.
Download that disk image to the folder where you've saved pdp11.exe. Next, we're going to add that floppy to SIMH. We can do that by editing the ini file. Just before the line that reads "boot rl0", we need to add this line:
attach rl1 languages.dsk
This will mean that in RT-11 the Languages Master disk will appear as "DK1:", whereas the boot disk is "DK0:", the RT-11 install disk. Test it out by running pdp11.exe and typing DIR DK1: (and pressing enter) at the command prompt. You should see the directory listing of the languages master disk.
Before we try and install Basic, we need to make sure that we're using the RT-11 extended monitor, so type in these commands into RT-11:
copy/boot dk0:rt11xm.sys dk0:
This should restart RT-11 in the extended monitor (RT-11XM). When this disk is booted in future it will remember this setting. Now we can actually install Basic, enter these commands:
copy dk1:b*.* dk0:
copy dk1:*.bas dk0:
...you should see the files being copied to your boot disk. Now we're ready to try Basic-11. Try this command:
You should see this:
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)?
I normally respond by typing ALL (in capitals), in which case Basic responds with "READY". We have Basic!
We can now type in Basic programs, try this one:
10 FOR I=0 TO 12.6 STEP .2
20 PRINT TAB(30+COS(I)*30);"HELLO WORLD"
30 FOR S=0 TO 1000 \ NEXT S
40 NEXT I
50 GOTO 10
Press <CTRL>+C quickly twice to stop the program when you've got bored.
To leave Basic-11 the easy way, just type BYE at the READY prompt.
[EDIT: if you're looking for some information on Basic-11, I've posted some documents here.]
[ANOTHER EDIT: the PDP11.co.uk website, where I originally got the image of the languages disk from seems to have been shut down. I have changed the link above to a cached version from the wayback machine. And if you want to see the complete software page from PDP11.co.uk then you can still see it here.]
I have now managed to get a boot disk with RT-11 and BASIC-11 on it (thanks Mark for making *another* boot disk on your PC). So now I can boot my PDP and write programs on it. Progress indeed. Here is something I captured running on my actual PDP-11/53:
...as you can also see, I have also been busy experimenting with the best colours for my terminal emulator. Today I am mostly programming with grey text on a blue background. Getting this to work involved taking two 400k RX50 disk images and creating a single 1.2Mb RX33 image. So I effectively merged the contents of the RT-11XM boot disk and the "Languages Master" disk into a single boot disk. Works a treat. This seems to boot much faster now, so I suppose the RX33 drive is much faster at reading 1.2Mb 5.25" floppy disks.