• Please review our updated Terms and Rules here

Looking for BASIC and other software for RT-11

NF6X

Veteran Member
Joined
Sep 9, 2013
Messages
1,563
Location
Riverside, CA, USA
I'm trying to find BASIC and other software for RT-11. I wasn't sure whether to start a new thread or resurrect this old one, but I chose to start a new thread since I'm not just asking about BASIC. And I also plan to ramble on a bit before I get to the point. ;)

I'm just starting to experiment with RT-11 in SIMH to learn the ropes. I have a PDP-11/44 project in the works; it's approaching the end of the "gather pieces" phase, and I hope to get to the "emit smoke" phase sometime in the next several weeks. I have a pile of four PDP-11/44 chassis with about 1.8 CPUs worth of boards between them to hopefully Frankenstein into at least one working system, a heap of four RL02 drives with hopes of making at least two of them work, and a Kennedy 9610 9-track tape drive that needs a bit of work. Also an alleged tape controller board, a presumed GPIB board, and a DEUNA Ethernet board, all topped off with a VT131 terminal for a console. It'll be a cool system once it's assembled and working! I took off Friday to go pick up an HP 42U rack that ended up being free due to the eBay Bucks I accumulated over the last quarter of financial indiscretions. It took four of us to tip it over and slide it into my pickup truck (with a cargo shell), but I had to unload it and set it upright by myself. Naturally, I cheated.

IMG_0836.jpg

The rack has sides and doors; I just have them pulled off for unloading. A couple pairs of slides for my RL02 drives are supposed to be on the way from Pinnacle Micro; I don't know yet whether they'll include the rack ears for the ends. I still need to find or make the rear rack ears for the PDP-11/44 chassis slides, and I'll need to procure some suitable slides for the tape drive.

Ok, I'm getting closer to the point. Honestly!

I have an RL02 image file of an RT-11 5.3 installation disk, and I gather that I should be able to bootstrap it onto my real hardware eventually with a TU-58 emulator program, using the magic of magic. I have tu58em_v1.4e built on my Mac, waiting until it's time to try booting up my 11/44. Until I need to do it for real, I'm playing around in SIMH to develop some clues about RT-11.

So now that I can virtually install RT-11 on an emulated system, I'm interested in what I can actually do with it. And, I'm not having much luck yet finding software. Many of the links I've found have gone stale. For example, this cool blog post makes reference to a "Languages Master" disk image that is said to contain BASIC-11, but the link to it is stale. Mr. Google didn't turn up the image for me, either. I'd like to have a BASIC interpreter and/or compiler for my eventual system. Can any of y'all help? Some other languages may also be interesting. I see that the basic RT-11 installation I made includes a file called "MACRO.SAV". Would that be a macro assembler?

I'm also interested in finding other fun and/or useful RT-11 software. I'd appreciate pointers to deposits of the stuff that I haven't managed to unearth yet. I'm mostly a hardware guy, so I'm interested in industrial-style control and data acquisition stuff. Programming languages like BASIC, C, Forth, etc. would also be useful.
 
Couple of comments:

(1) tu58em has been updated to version 1.4i pretty recently. I made some tweaks to make it run at much higher performance when using a USB-RS232serial adapter. The version history is listed below. You might want to consider updating if you plan to use a USB serial adapter.

Code:
// v1.4e - 16 Feb 2008 - donorth - changed to --long switches from -s
//                               - Slightly updated RT-11 disk init bits
//                               - Added --nosync switch
// v1.4g - 30 Oct 2013 - donorth - Removed XRSP switch
// v1.4h - 03 Nov 2013 - donorth - Added packet timing computation in debug mode
// v1.4i - 14 Nov 2013 - donorth - Disabled devtxflush() in wait4cont() routine
//                                 to fix USB output (PC to device) thruput and
//                                 allow 64B USB packets to be used

(2) If you already have a bootable RT11 disk pack, tu58em is not going to be of much use in the RT11 realm. However, it will be very useful in booting running DEC XXDP diagnostics while bringing up the system piece by piece. In particular I would not try booting your (only?) RT11 pack until you have a good deal of confidence in the operation of the system.

As always access to XXDP TU58 bootable images are available here: http://ak6dn.dyndns.org/PDP-11/TU58/ and the emulator binary and source files are linked from this page also. I have a number of disk image files that contain 11/44 specific CPU diagnostics as well as various common peripherals. I also developed a new memory diagnostic from scratch (on disk 11XX_9.dsk as MEMX.BIN) that uses modern memory testing algorithms (MarchC-) that runs much faster than the old DEC memory diagnostics and provides much better fault information. It runs on any PDP-11 system that has an MMU (it does relocation).

I have an 11/44 with FPU, CIS, and 4MB memory, plus a DEUNA, DZ11, RX11, KW11P, and Emulex UC17 SCSI controller. I run diagnostics via tu58em when I do 'field service maintenance' on my system.

Don
 
Last edited:
Thanks! I've grabbed the new tu58em source. I'll probably need to reapply my patches to make it compile under OSX.

I don't have any bootable RL02 packs yet. Well, I have a stack of RL02 packs, but I don't know what (if anything) is on them. I've been told that I can actually use an RL02 image of RT-11 in the TU58 emulator for the initial bootstrapping, which surprised me. Apparently the RT-11 filesystem structure is the same whether it's on an RL02 drive or a TU58 tape?

I imagine I'll be playing with XXDP stuff for a while to test out my system before I start trying to make bootable RT-11/etc. disk packs.
 
Sorry, my bad. I misread:

I have an RL02 image file of an RT-11 5.3 installation disk, ...
as you having a bootable RL02 pack instead of an image.

Apparently the RT-11 filesystem structure is the same whether it's on an RL02 drive or a TU58 tape?

Basically correct. The TU-58 tape is physically a tape, but it is block structured like a disk (much like the original DECtape was).

If you initialized a TU-58 tape using RT11, it would build a directory structure that has a smaller capacity (number of files) than you would get if you did the same operation on an RL02. However, the basic directory and file structure is architecturally the same.

That is why you can 'mount' an RL02 disk image on the TU58 emulator and read all the files and blocks without issue. It is also because DEC designed the TU58 serial link protocol to be able to handle a 16b block number, so a TU58 is able to access a physical image of up to 2^16*512B or 32MByte. Since a real RL0x is either 10MB or 20MB, mounting an image of those devices on the TU58 works.

Don
 
That is just so cool!

I've seen references to a DECUS C compiler. It's not clear to me whether there's an RT-11 version. I'll add that to the list of things I'd like to find.
 
If you send me a RL-02 pack I can install RT-11 on it that will be bootable along with Basic. Have couple videos on YouTube showing how to work with RT-11 and its utilities and basic on a PDP-11/34, not much different from DOS.

Qbus
 
Thanks! I've grabbed the new tu58em source. I'll probably need to reapply my patches to make it compile under OSX....

I would be very interested in an OSX version of the TU58em source code if you undertake that work. Guess I'll need to obtain a serial adapter for my Mac as well. Which version of OSX would you be compiling for as a target?

Additionally, this question of BASIC for RT-11 comes up often around here these days. I frequently find that BASIC kits are incomplete, and do not contain all the files required to reconfigure BASIC to use Floating Point Hardware. A very complete (and hard to locate) BASIC-11 v2.1 kit for RT-11 may be found in this thread.

Lastly - with no disrespect to generous offers of help from the VCF community - I would highly recommend that you put in the time to perform the full exercise of creating real media from emulated images. You will be very happy to have fully enabled this path when working with your 11/44. I maintain a PC setup expressly for this purpose, and it has proven invaluable for my own needs as well as assisting others.

P.S. - I've recently run across Whitesmith's C somewhere in my online travels. It seems to be the preferred C for PDP-11. The DECUS C for RSX was a bit of a disappointment, and I expect the same will hold true for an RT version.
 
Last edited:
I would be very interested in an OSX version of the TU58em source code if you undertake that work. Guess I'll need to obtain a serial adapter for my Mac as well. Which version of OSX would you be compiling for as a target?

I'm running 10.8.5, and building in the MacPorts environment. If Don doesn't mind, I can share my patched code on github so that it's easy to see exactly what I've changed. I don't have the new version building yet, but I'm close.

Additionally, this question of BASIC for RT-11 comes up often around here these days. I frequently find that BASIC kits are incomplete, and do not contain all the files required to reconfigure BASIC to use Floating Point Hardware. A very complete (and hard to locate) BASIC-11 v2.1 kit for RT-11 may be found in this thread.

THANK YOU!

Lastly - with no disrespect to generous offers of help from the VCF community - I would highly recommend that you put in the time to perform the full exercise of creating real media from emulated images. You will be very happy to have fully enabled this path when working with your 11/44. I maintain a PC setup expressly for this purpose, and it has proven invaluable for my own needs as well as assisting others.

That is my preference as well, if for no other reason than to learn how to do it. I haven't tried to figure out how to add/remove files in RT-11 disk images yet, but I'll look into that very soon.
 
As an alternative view and with all respect as a hardware guy I think the best way is to get the system up and running and then learn how to use and understand everything in the RT-11 environment with a functional system. Having a working RL Disk pack is great being you don’t have to have a good understanding of RT-11 to get started and myself had no idea of how to use Assign, Show or the Edit functions until I had a working system and the documentation to work with. Not questioning if it can be done but think its way easier to start with a known good system disk then trying to build that system pack yourself, at least with me.
 
I took off Friday to go pick up an HP 42U rack that ended up being free due to the eBay Bucks I accumulated over the last quarter of financial indiscretions. It took four of us to tip it over and slide it into my pickup truck (with a cargo shell), but I had to unload it and set it upright by myself. Naturally, I cheated.

Wimp. :) I loaded my pickup with an HP storage array rack (looks to be about the same size as yours) and, after mounting a Fujitsu X2444 tape drive in it, shuffled it up a flight of stairs by my lonesome. It helped that there are wheels on the thing--and an anti-tilt kickout. It even had the power strip installed.

All it takes is stubbornness and a complete lack of caution and common sense.
 
I'm running 10.8.5, and building in the MacPorts environment. If Don doesn't mind, I can share my patched code on github so that it's easy to see exactly what I've changed. I don't have the new version building yet, but I'm close.

Not a problem. Once you figure out the changes required I'll pull them down and integrate into my master source code so that future changes by me will automatically include MacOS build capability.

I don't normally use a Mac much anymore (just the wife...) but I do have an old MacMini around that I could use for a system to build and check a MacOS version. It is running MacOS X now, don't know if that will make a difference.

Don
 
...I don't normally use a Mac much anymore (just the wife...) but I do have an old MacMini around that I could use for a system to build and check a MacOS version. It is running MacOS X now, don't know if that will make a difference.
There are significant differences in the applications compiled for various OSX versions. Also, your MacMini may not be capable of running or having the latest OSX installed.

I for example, have a 2,1 MacMini. It can run 10.4 (Tiger), 10.5 (Leopard) and 10.6 (Snow Leopard). Legitimate 10.7 (Lion) or beyond will refuse to install on it. I have both 10.4 and 10.6 installed, and therefore could in theory produce apps for both those targets - at a minimum.

Outside that envelope - only testing could assure.

If I understand correctly - NF6X has Mountain Lion, while the latest is 10.9 (Mavericks).

Ideally - it would be good to ultimately make targets for all intel based Macs.
 
My MacMini is X86 based running Mavericks 10.9. It is not one of the earlier PowerPC units.

I was not aware that there was such a version dependency in OS X for application compilation. Maybe just for GUI apps? TU58em is just a (more or less) vanilla unix app.

I've had no problems compiling it on Windows CYGWIN or Ubuntu linux for the last 10 or 12 years or so.

Don
 
Testing will tell Don... I'm just giving you a heads up. Sounds like between the three of us, we cover a pretty good range.
 
Back
Top