• Please review our updated Terms and Rules here

TK50 various questions

HELP!

I have written a TK50 boot tape for BSD 2.11 - to send off to someone. I could not squeeze the whole thing onto 1 tape so the write of the last file failed. (So it is a two tape job....) but that is another story.

Anyway, my problem is that when I use BSD to read back the blocks from the (first blocks) of the tape it compares perfectly to the data that should be there. However when I try to boot (using the on-board roms on a mentec board) from the tape it wont.

The boot-rom printout explicitly say that "MU" handles TK50. If I offline the drive and try to boot off it, it says "drive offline" - reasonable evidence it is seeing the drive?
If I online the drive the boot winds the tape back and forward and the tape heads climb and fall (?seaching for the data track?).
[It looks like it is doing data read retries as the "fast flashing red light" appears before it tries again.]

After a failed tape boot, I go back to the disk boot, I can still read the tape and cmp the data to the boot block I wrote to it.

Thoughts:
1 the mentec board cannot actually boot off the TK50?
2 Interrupts (or DMA) missing during boot (but why does BSD work and read)
3 I have tried a second controller card. Same issues.
4 How can BSD write a tape it can read but that boot roms cant? I will go read the source of the drivers when I get a minute but I cant think why a tape written on a drive and reads on the drive wont boot from the drive.


Any thoughts?

Appreciated.
 
This is probably a tape block size error. The first file on the TK50 must be written in 512-byte blocks, and must contain 3 files internally:
512 bytes (exactly) mtboot (pad this out to 512 bytes with dd conv=sync)
512 bytes (exactly) mtboot (use the same file as above)
512 bytes, padded to exact byte boundaries

One way is:
dd if=mtboot of=mtboot.512 bs=512 conv=sync
dd if=boot of=boot.512 bs=512 conv=sync
cat mtboot.512 mtboot.512 boot.512 > booters
dd if=booters of=/dev/nrmt0 bs=512

Then, the standalone programs follow one file at a time, ion 1024-byte blocks:
dd if=disklabel of=/dev/nrmt0 bs=1024 conv=sync
dd if=mkfs of=/dev/nrmt0 bs=1024 conv=sync
[etc, for icheck if you want it, and restor)

Then, the rest of the files use 10240-byte blocks:
dd if=root.dump of=/dev/nrmt0 bs=10240
dd if=usr.tar of=/dev/nrmt0 bs=10240
[etc]
 
Thanks "Roe"
I did not have the 2 boot files exactly 512 bytes long. i just catted mtboot mtboot and boot into a file and write that with bs=512.
It has been many many years since I had to write a boot tape - and that was 9 track - but the same neurons are firing!

What you have makes a big difference.

I am writing these tapes for another forum member, I am sure he sends his thanks.
 
Thanks "Roe"
I did not have the 2 boot files exactly 512 bytes long. i just catted mtboot mtboot and boot into a file and write that with bs=512.
It has been many many years since I had to write a boot tape - and that was 9 track - but the same neurons are firing!

What you have makes a big difference.

I am writing these tapes for another forum member, I am sure he sends his thanks.

Glad to hear things are working, and always happy to help out.
 
Invalid boot block from TK50 tape

Invalid boot block from TK50 tape

with the "crushed up" boot block - that is not padded to 512 bytes - I get
M80/90 BOOTSTRAP/DIAGNOSTIC VERSION V 3.0

Commands are :
BOOT - Boot from a specific device.
HELP - Re-display this summary of commands.
LIST - List the bootstraps provided.
MAP - Display a map of the address space.
SETUP - Configure the M80.
TEST - Enter a continuous test mode

Enter a command and press the return key :B

BOOT >MU
BOOT-E-Invalid boot block on volume


However with the "padded to 512 bytes" I get
BOOT >MU
73Boot from tms(0,0,0) at 0174500
:
: tms(0,0,0)unix

sorry about the squares I get 00/7F at the start of each line in my "dip" program until I get up and running
 
Paul
The next tape is in the post.
Here - warts and all - is a script output of me doing the first few stages of the install from tape.
It is exactly what the manuals say - except for all themistypes and rubout keys I am great at putting in!

I was writing to a SCSI2SD "drive" that had a scratch SD in it - the sizes of my disk were wrong, so I just (incorrectly) extended them.

I am working from http://www.tuhs.org/Archive/PDP-11/Distributions/ucb/2.11BSD/

The tape you will get - called "tape 1 of 2 (second try)" has the first 6 files on it (so up to a stripped back version of /usr).
I will get "tape 2 of 2" as soon as I can.

If anything works differently from the manual can you note it here so that their exists an "Arnie Sacknewsome".


: tms(0,1)
Boot: bootdev=06001 bootcsr=0174500
disklabel
Disk? ra(0,0)
'ra(0,0)' is unlabeled or the label is corrupt.
Proceed? [y/n] y
d(isplay) D(efault) m(odify) w(rite) q(uit)? w
partition a: extends past end of unit 0 2249115 2245020
d(isplay) D(efault) m(odify) w(rite) q(uit)? m
modify
d(isplay) g(eometry) m(isc) p(artitions) q(uit)? d

type: MSCP
disk: RA91
label: DEFAULT
flags:
bytes/sector: 512
sectors/track: 62
tracks/cylinder: 255
sectors/cylinder: 15810
cylinders: 142
rpm: 3600
drivedata: 0 0 0 0 0

1 partitions:
# size offset fstype [fsize bsize]
 a: 2249115 0 2.11BSD 1024 1024 # (Cyl. 0 - 142*)

modify
d(isplay) g(eometry) m(isc) p(artitions) q(uit)? p
modify partitions
d(isplay) n(umber) s(elect) q(uit)? n
Number of partitions (8 max) [1]? 1
modify partitions
d(isplay) n(umber) s(elect) q(uit)? s
a b c d e f g h q(uit)? a
sizes and offsets may be given as sectors, cylinders
or cylinders plus sectors: 6200, 32c, 19c10s respectively
modify partition 'a'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? d

type: MSCP
disk: RA91
label: DEFAULT
flags:
bytes/sector: 512
sectors/track: 62
tracks/cylinder: 255
sectors/cylinder: 15810
cylinders: 142
rpm: 3600
drivedata: 0 0 0 0 0

1 partitions:
# size offset fstype [fsize bsize]
 a: 2249115 0 2.11BSD 1024 1024 # (Cyl. 0 - 142*)

modify partition 'a'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? q
modify partitions
d(isplay) n(umber) s(elect) q(uit)? q
modify
d(isplay) g(eometry) m(isc) p(artitions) q(uit)? q
partition a: extends past end of unit 0 2249115 2245020
d(isplay) D(efault) m(odify) w(rite) q(uit)? w
partition a: extends past end of unit 0 2249115 2245020
d(isplay) D(efault) m(odify) w(rite) q(uit)? w
partition a: extends past end of unit 0 2249115 2245020
d(isplay) D(efault) m(odify) w(rite) q(uit)? w
partition a: extends past end of unit 0 2249115 2245020
d(isplay) D(efault) m(odify) w(rite) q(uit)? w
partition a: extends past end of unit 0 2249115 2245020
d(isplay) D(efault) m(odify) w(rite) q(uit)? m
modify
d(isplay) g(eometry) m(isc) p(artitions) q(uit)? p
modify partitions
d(isplay) n(umber) s(elect) q(uit)? n
Number of partitions (8 max) [1]?
modify partitions
d(isplay) n(umber) s(elect) q(uit)? s
a b c d e f g h q(uit)? a
sizes and offsets may be given as sectors, cylinders
or cylinders plus sectors: 6200, 32c, 19c10s respectively
modify partition 'a'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? s
'a' size [2249115]: 2245020
modify partition 'a'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? q
modify partitions
d(isplay) n(umber) s(elect) q(uit)? q
modify
d(isplay) g(eometry) m(isc) p(artitions) q(uit)? q
d(isplay) D(efault) m(odify) w(rite) q(uit)? w
d(isplay) D(efault) m(odify) w(rite) q(uit)? q

73Boot from tms(0,0,1) at 0174500
: tms(0,2)
Boot: bootdev=06002 bootcsr=0174500
Mkfs
file system: ra(0,0)
file sys size [1122510]:
bytes per inode [4096]:
interleaving factor (m; 2 default):
interleaving modulus (n; 7905 default):
isize = 65488
m/n = 2 750
Exit called

73Boot from tms(0,0,2) at 0174500
: tms(0,3)
Boot: bootdev=06003 bootcsr=0174500
Restor
Tape? tms(0,5)
Disk? ra(0,0)
Last chance before scribbling on disk. End of tape
73Boot from tms(0,0,3) at 0174500
: ra(0,0,0)
Bad magic # 00
: ra(0,0,0)unix
2.11 BSD UNIX #115: Sat Apr 22 19:07:25 PDT 2000
sms1@curly.2bsd.com:/usr/src/sys/GENERIC

ra0: Ver 5 mod 13
ra0: RA91 size=2249115
panic: swsiz
no fs on dev 5/0
syncing disks... done

006102
@



OOPS ;-( a bit more work needed - but not today! - I have to partition the disk properly. I can do this with SCSI2SD and then with "partition"
 
Last edited:
All this about the TK-50 is starting to make me think that’s the next project I want to take on. Just have to find the drive and wonder if my old version of RT-11 has the drivers to use it. Not interested in using this as a boot device, just want to see the tape go round and round. Know I have asked this before but just what do I have to have in RT-11 to use a SCSI device and is it as simple as then assigning it a name and going on from there?
 
rt11- tk50

rt11- tk50

All this about the TK-50 is starting to make me think that’s the next project I want to take on. Just have to find the drive and wonder if my old version of RT-11 has the drivers to use it. Not interested in using this as a boot device, just want to see the tape go round and round. Know I have asked this before but just what do I have to have in RT-11 to use a SCSI device and is it as simple as then assigning it a name and going on from there?

I have rt-11 on a scsi2sd disk and on a "real" scsi disk (on a uc07).
My tk50 is on an M7546 card.
My notebook shows that rt11-5.07 accessed the tk50. (RT-11SB V05.07). It was there as an MU device, I did nothing special to be able to see it.

I had some early-day troubles working out what my backplane (non dec) was and the way it serpentined.
When the card had a "gap" before it RT11 would hang at boot - awaiting interupt? Or awaiting DMA?
I dont know, but when the bus order was correct I could certainly access it.

(I only used rt-11 as a stepping stone to BSD2.11, so I dont have a lot of play-time with it).

I still have the scsi disk and the SD so can run any tests if it helps.
 
I pulled the trigger on an external TK-50 drive and have a bid in on an M-7546 card. Once everything gets here will start work on restoring the drive and building cables. The big problem now is that I will need some TK-50 tape cartridges for working on and testing the drive. Anyone have a couple packs they would be willing to part with? Hope to use this as just as another drive on the system and not a boot device being that I have RL drives for that. Somehow feel that work with the TK-50 subsystem may be a good primer for one day incorporating a nine track open reel transport. Deinceps in praeteritum!
 
I pulled the trigger on an external TK-50 drive and have a bid in on an M-7546 card.

I wouldn't go much higher than the $10 bid on the M7546 TQK50. I'd be slightly surprised if anyone else outbids you. I doubt there is much demand for those. I have at least a couple of those plus some M7559 TQK70 controllers that I'm sure I will never get around to trying to do anything with and could part with them.

-Glen
 
It is an M90 - but the PROMS say M80/90. It is a 22 bit "AB CD" like an 11/73 I guess.

As it runs BSD 2.11 (and I did not switch off floating point) it must have FP.
[I have heard it said you can switch on the floating-point emulator on BSD 2.11. I have also heard it said that has
never been tested!]

I dont seem to have a photo of it on file If you want one ask. Also I have no manuals so the few DIP switches I know about have been found by trial and error·

Boot:
M80/90 BOOTSTRAP/DIAGNOSTIC VERSION V 3.0

Commands are :
BOOT - Boot from a specific device.

HELP - Re-display this summary of commands.

LIST - List the bootstraps provided.

MAP - Display a map of the address space.

SETUP - Configure the M80.

TEST - Enter a continuous test mode


Enter a command and press the return key :L

Valid devices are:

DB RM02
DD TU58
DL RL01/02
DM RK06/07
DU MSCP Devices
DX RX01
DY RX02
MS TS11/TSV05/TK25
MU TK50
XQ DEQNA
NL Delay unit No. is delay factor

Press <CR> to continue
 
[I have heard it said you can switch on the floating-point emulator on BSD 2.11. I have also heard it said that has
never been tested!]

There are a few of us that bought some of the QED993 CPU boards being sold on eBay. They have no FP emulation and as far as I know no one has had any success in getting 2.11BSD to run on them.
 
M90

M90

Understood.
I was basing my knowledge on the information in http://pdp2011.sytse.net/wordpress/download/.

Do you know why things dont run? Is the FPE in BSD2.11 just too faulty to run? Have you tried compiling the kernel with Floating Point disabled - even on SIMH?
Or is it something to do with the sep I/D space implementations and the transfer between the spaces that is different? I was looking at one of those boards but got put off with the advice of members saying "it does not work".Here is a photo of the M90 - taken in a hurry sorry about the shadow.M90.wee.jpg.

I dont know you but if you send me your QED993 I am happy to try to get BSD on it for you - or at least to find out what is borken. Does the QED have boot proms that will do RL02/TK50 or RAs (DU) -
otherwise I am stuffed.
 
Last edited:
Looks like the Mentec M90 uses a standard DEC J11 CPU chip. This page says the M70, M71, M80, M90, and M100 all used the standard DEC J11 CPU chip so there shouldn't be any CPU compatibility issues there:
http://en.wikipedia.org/wiki/Mentec_PDP-11
Then the M11 and M1 were Mentec's own microcoded implementations which might not be 100% compatible:
http://www.fuse-network.com/fuse/demonstration/30/24675/24675.pdf


I tried building the 2.11BSD kernel with patch 445 included and that wasn't enough to fix things. I forget if it changed the symptom at all. It's been a while since I last looked at it. I don't think I did any FP related experiments on SIMH at the time.

Code:
Subject: kernel floating point simulation crash, postscript printer Makefile update
Index:	sys/pdp/mch_fpsim.s,local/mp/Makefile 2.11BSD
Description:
	The in kernel floating point emulator, used when no hardware FP unit
	is present, would panic the system on the first FP instruction
	executed by a user program.
Repeat-By:
	Try to run a program using FP on a system w/o hardware FP
Fix:
	Apply the patch below and rebuild the kernel.
 
I have been running the mentec (rt11+BSD) for some months. I have not had any compatibility issues so far.

Perhaps you can advise about the "patch 445" type messages. I have read about these and searched high and low for a web-site with patches - but I guess my search ability is too poor.
(ftp://sg-1.ims.ideas.gd-ais.com/pub/2.11BSD)
Thus I have applied no patches.
All I did was downloaded a version for 2.11 (that uses "ZEKE" as the system build name not at home done have more detail - sorry).

That version runs my DU/MU/TK50/DL (rl02) together with QE networking. No patches applied.

Where do I get the patches?

When I get back from curling tonight I will play with SIMH and an no FP kernel build on the kernel I am using and report on what happens.
Off thread now I guess
 
Last edited:
Johnny Bilquist created "patch 448" which supports non-DEC MSCP devices (e.g. CMD) - https://groups.google.com/forum/#!topic/vmsnet.pdp-11/S9ZR_C_swg0

I don't remember if Don had patched Zeke up to that level but I'm sure he'll check in here shortly.

Jack

The posted 2.11bsd image with the 'ZEKE' (one of my old dogs, who has since left us) configuration is good thru PL444, which was the latest available at the time it was generated (2009).

I have since patched my actual 11/44 2.11bsd running image thru PL448.

I have now uploaded my 2.11bsd PL448 SIMH configuration to my web page: http://ak6dn.dyndns.org/PDP-11/2.11BSD/ for those that are interested.
It is a runnable SIMH (and works on my real 11/44 hardware as well) 2.11bsd image with the latest known patches applied.


Don
 
Last edited:
Back
Top