Booting RT-11 on the DCJ11 SBC
Creating a Bootable TU-58 Image
For a long time I tried to create a bootable TU-58 image using simh and always failed. Then after some research I found the following article Building a bootable TU-58 image of RT-11. But this did not work either. At least I know there was someone who succeeded and after some research I found out that I hit a bug in simh, as already mentioned in the Forth article of the DCJ11 SBC, once the bug was fixed the above mentioned article worked like a charm and I was finally able to create a bootable TU-58 image with RT-11 using simh. Previously I always used a real PDP-11 to do so, but having the same process working using simh is much more convenient. In my case I used the following pdp11.ini file and then followed the procedure of the copying the minimum of necessary files to the TU-58 image.
set cpu 11/73 128K
set tto 8b
set tti 8b
set rl0 writeenabled
set rl0 rl02
attach rl0 rt11v53dd.dsk
set tdc enable
attach tdc0 rt11tu58.dsk
boot rl0
Starting a TU-58 Emulation
Next you need to connect your computer using a USB Serial/TTL adapter to SLUA of the MCU IO card and launch the TU-58 emulation
peter@MacBook-Air-von-Peter bootblock % tu58em -v -s 115200 -p /dev/cu.usbserial-D34N2YUF -w rt11tu58.dsk
info: unit 0 rw file 'rt11tu58.dsk'
info: serial port /dev/cu.usbserial-D34N2YUF at 115200 baud 1 stop
info: TU58 emulation start
info: R restart, S toggle send init, V toggle verbose, D toggle debug, Q quit
info: emulator started
Booting RT-11
Per default the emulated ROM is a copy of the Plessey Multifunction Board which
also supports booting from TU-58. If you have not set the jumpers
JP1 and JP2 on the DCJ11 SBC
to automatically start the program, aka BootROM, at address 1730008 you
can start it manually using ODT. Then just enter DD and hit the ENTER key.
@173000g
$DD
RT-11SJ V05.03
?KMON-F-File not found DK:STARTS.COM
.
You should now be running RT-11.
TU-58 Emulator Output
As a reference here you see the verbose output of the TU-58 emulator during the RT-11 boot process. As you can see, there are only a few reads executed and RT-11 is booted.
info: emulator started
info: boot unit=0 blk=0x0000 cnt=0x0200
info: read unit=0 sw=0x00 mod=0x00 blk=0x0002 cnt=0x0800
info: read unit=0 sw=0x00 mod=0x00 blk=0x0006 cnt=0x0400
info: read unit=0 sw=0x00 mod=0x00 blk=0x000E cnt=0x00B8
info: read unit=0 sw=0x00 mod=0x00 blk=0x0072 cnt=0x0200
info: read unit=0 sw=0x00 mod=0x00 blk=0x0072 cnt=0x069A
info: read unit=0 sw=0x00 mod=0x00 blk=0x000D cnt=0x01A0
info: read unit=0 sw=0x00 mod=0x00 blk=0x0011 cnt=0x4202
info: read unit=0 sw=0x00 mod=0x00 blk=0x0010 cnt=0x00FE
info: read unit=0 sw=0x00 mod=0x00 blk=0x000F cnt=0x0086
info: read unit=0 sw=0x00 mod=0x00 blk=0x0077 cnt=0x0200
info: read unit=0 sw=0x00 mod=0x00 blk=0x0051 cnt=0x0400
info: read unit=0 sw=0x00 mod=0x00 blk=0x0055 cnt=0x0400
info: read unit=0 sw=0x00 mod=0x00 blk=0x0006 cnt=0x0400
info: read unit=0 sw=0x00 mod=0x00 blk=0x0035 cnt=0x0400
Executing Commands in RT-11
Depending on how many files you copied to the TU-58 image during the creation process you have no several commands you can use. I only copied the minimum end therefore the commands are limited. Here are some examples.
.show all
RT-11SJ V05.03
Booted from DD0:RT11SJ
USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
TT is set NOQUIET
ERROR is set ERROR
SL is set OFF
EDIT is set KED
KMON nesting depth is 3
Unknown Processor
256KB of memory
Floating Point Microcode
Extended Instruction Set (EIS)
Memory Management Unit
Cache Memory
60 Cycle System Clock
FPU support
Device Status CSR Vector(s)
------ ------ --- ---------
DD Resident 176500 300 304
TT Installed 000000 000
TT
DD (Resident)
DD0 = DK , SY
27 free slots
Job Name Console Level State Low High Impure
--- ---- ------- ----- ----- --- ---- ------
0 RESORC 0 0 Run 000000 144502 N/A
No multi-terminal support
Address Module Words
------- ------ -----
160000 IOPAGE 4096.
155546 DD 589.
144544 RMON 2305.
001000 ..BG.. 25522.
LD handler unavailable
And of course you can display the directory of your boot volume.
.dir
RT11SJ.SYS 79P 20-Dec-85 SWAP .SYS 27P 20-Dec-85
DD .SYS 5P 20-Dec-85 TT .SYS 2P 20-Dec-85
PIP .SAV 30P 20-Dec-85 DIR .SAV 19P 20-Dec-85
RESORC.SAV 25P 20-Dec-85
7 Files, 187 Blocks
317 Free blocks
.
Even when you set the SLU to 115200 baud the performance is not exceptional. However as there is no seek time for an emulated TU-58, the performance is acceptable to do small things.