On 8/15/2017 2:10 AM, Jerry Weiss via cctalk wrote:
On Aug 14, 2017, at 11:49 PM, Glen Slick via cctalk <cctalk@classiccmp.org>
wrote:
On Sun, Aug 13, 2017 at 9:00 AM, Ulrich Tagge via cctalk
<cctalk@classiccmp.org> wrote:
Hi all,
maybe someone can help.
I would like to install TCP/IP on my RT-11 system.
After a short search I have found the following, which I would use:
http://www.classiccmp.org/PDP-11/RT-11/freeware/decus11/110939/rthtml/tcpget.htm
But the images are in DSK format, but I can't write them with PDP11GUI,
which is the only way I have at the moment.
I would take a quick look at those .DSK images to see what I can make
of them, but none of the download links on that page work for me.
For example, I can't download this .DSK image. Do these links work for
other people?
ftp://shop-pdp.kent.edu/du3:/tcpip.pkg/tcpipm.dsk
Glen - Try this link ftp://shop-pdp.net/pub/tcpip/tcpip/tcpipm.dsk
As far as the DSK format, the files from at Alan’s site are logical
disk images. Logical block 0,1,2,3 from from a DY sized volume starting at
Track 1. In this case track 0 is ignored.
This is what RT-11 expects and uses for Logical Disks (LD:).
I’ve used Kermit and FTP to copy this file from my OSX disk to
a RT-11 DU type drive as a file. They mount and operate as
LD: drive without additional conversion.
SIMH on the other hand as I understand it, expects disk images to represent
the sectors of a disk. I did a few checks and its appears faithful to the RX02
format.
It expects 256 byte sectors for track 0 (qty 26) and 512 byte sectors
for the rest of the disk as Don pointed out. You need to prepend 6556. bytes
of zero to the above file to get things started. But this is not the entire
story.
$ dd of=pad.dsk if=/dev/zero bs=256 count=26
6656 bytes transferred in 0.000230 secs
$ cat pad.dsk tcpipm.dsk >tcpipm_V2.dsk
When you attach tcpipm_V2.dsk in SIMH to an RY device (DY to RT-11), the expected
boot block is visible as (RT-11) Block #0.
.dump/rad50/ascii/end:0 dy:/term
DY:/X/E:0
BLOCK NUMBER 000000
000/ 000240 000005 000404 000000 000000 041420 116020 000400 *
..........C....*
D E FT J*H X82 FP
020/ 004067 000044 000015 000000 005000 041077 047517 026524
*7.$.......?BOOT-*
ALW 6 M AX JW9 L$W GJD
040/ 026525 067516 061040 067557 020164 067157 073040 066157 *U-No boot on
vol*
GJE Q2N O. Q3G EG. QZ1 R6 QM9
060/ 066565 006545 005012 000200 105737 177564 100375 112037
*ume....._.t.}…*
For an RT-11 Volume, the next logical block #1 should be the home block. In
this case,
its not. Instead it is found at block #7, but offset (early) -256. bytes from
its normal location in the block.
The first directory block should start at block #6. Here there directory
blocks starting at block #3 and #4.
So the padding is not enough here. The 6 sector skew and interleave
implemented in the handler come
into play. I haven’t looked at the code, but SIMH probably expects the disk to
be sequential copies of
physical sectors for the floppy drives. This makes sense, as the emulator
presents them to the DY: handler
where it will de-skew the data.
Thus a DSK file representing logical blocks will not work for a floppy image in
this case.
A small program can probably be written to skew/Interweave the data to make
them usable directly in SIMH.
Images of most other DEC media probably don’t encounter the problem, as their
device handler or driver doesn't
implement either skew or interleave directly. Most of the ones I encounter
leave that to the disk media formatting
and/or controller firmware.
Jerry
j...@ieee.org
Jerry's analysis is spot on. What Alan generated on his site were 988. block
long logical container files, not RX02 device file images.
One could write a simple program that reads the binary ".DSK" file, and
implements the track 0 prepend, 2:1 sector interlave, and +6 sector track to
track offset to generate true ".RX2" disk images with the appropriate sector
interleaves, as an exact image of the RX02 media. This .RX2 file would be
mountable directly under SIMH (and presumably PDP11GUI) as an emulated RX02 device.
One simple (heh) way to do the conversion without having to do any programming
would be to use SIMH running RT11. Boot RT11 from some media (say RL02) and then
mount the .DSK file as an MSCP device image (MSCP supports variable sized
physical disks using logical block order). Then mount an RX02 device under RT11;
it will use the native SIMH .RX2 file format. Then under RT11 copy 988. blocks
from the MSCP (DU) device to the RX02 (DY) device. RT11 thru its RX02 driver
will handle all the low level details of skipping track 0, sector-sector
interleave, and track-track sector skew.
Don