RKDD Software

I personally wrote the enclosed software which allows a simulated SimH RK05 to be transferred onto a real RK05 disk.

Permission is granted for personal use. Any commercial use is forbidden. Some portions were written by others, or were based on software written by others. Attribution is provided where applicable.

There are 2 components to the software. Part of the software runs on the real PDP-11 machine and part runs on a host containing the SimH disk.
In my setup, I use an Asus EEE netbook as my host and the target machine is a PDP-11/10.

The EEEpc can run SimH and can boot the simulated disk and run the software. Lacking a serial port, a USB to RS232 adapter is used. Crunch Bang Linux is installed on the machine. Java along with a GNU serial communication package is used to provide a flexible platform. Theoretically, Windows, Linux and Mac should all be supported.
The PDP-11/10 has 32kW of core memory, RK05j disk, M7800 serial card, TS03 9-track 800bpi tape drive and a Centronics 101A line printer.
It is possible to use the software to connect the host software to the telnet console port of a PDP-11 running under SimH.

Host Software


Bootstrap

rkddBoot.java

Transfer

ApplicationException.java
Connection.java
CRC16.java
rkdd.java
SerialConnection.java
SocketConnection.java


PDP-11 Software


Bootstrap

rkddboot.s
RKDDBOT.LST

RKDDBOOT.PDP (assembled binary)
RKDDBOOT.od (octal dump of RKDBOOT.PDP)


Transfer

calccrc.s
rkdd.s
rwblk.s
util.s
RKDD.LST

RKDD.PDP (assembled binary)


Usage

on PDP11 toggle in rkkBootstrap.PDP:

    Addr   Content
    ------ ------
    010000 012700          MOV #0, r0
    010002 000000
    010004 012701          MOV #176500, r1
    010006 176500
    010010 105711    read: TSTB (r1)
    010012 100376          BPL read
    010014 116120          MOVB 2(r1),(r0)+
    010016 000002
    010020 000773          BR read

on PDP11 start at 010000

on host:
    java rkddBoot -p /dev/ttyUSB0 -b 9600 -d 10 RKDD.PDP

on PDP11 halt

on PDP11 start at 001000

on host write disk:
    java rkdd -p /dev/ttyUSB0 -b 9600 -d 10 -s 0 -e 4871 -w RSTS4B.DSK

on host read disk:
    java rkdd -p /dev/ttyUSB0 -b 9600 -d 10 -s 0 -e 4871 -r RSTS4B.DSK.tmp

on host verify:
    diff -b RSTS4B.DSK RSTS4B.DSK.tmp

on PDP11 bootk RK05 Disk Unit 0 (http://www.psych.usyd.edu.au/pdp-11/bootstraps.html)
	Loc.	Cont.	Instruction	Comment
	=======================================
	001000	012700	mov #rkwc, r0	controller address
	001002	177406
	001004	012710	mov #-256,(r0)	set the word count
	001006	177400
	001010	012740	mov #5,-(r0)	read command
	001012	000005
	001014	105710	tstb (r0)	wait for ready
	001016	100376  bpl .-2
	001020	005007	clr PC          auto start