A short note about installing and using the DZ-11 Terminal Multiplexor in v7 for access from telnet on a host.

Prereqs

This note assumes you have a working instance of V7 and you want to use the DZ-11 Terminal Multiplexor to serve up telnet. It further assumes that you have not previously configured UNIX for another set of additional terminal interfaces (such as the DC-11). If you have, that’s fine, you will just need to remove the existing /dev/tty?? entries. Otherwise, this note should work for you as well.

My guide for setting up a V7 instance will work for this (follow the directions through setting up a multi-user system and don’t do the multi-session instructions). The most current post is here

Boot up your v7 instance

cd ~/workspaces/v7-work
pdp11 nboot.ini

login as root

Make changes to the configuration and build a new kernel

cd /usr/sys/conf

ed mkconf.c
249a

		"dz",
		0, 300, CHAR+INTR,
	"    dzin; br5+%d.\n    dzou; br5+%d.",
		".globl _dzrint\ndzin:  jsr     r0,call; jmp _dzrint\n",
	".globl    _dzxint\ndzou:    jsr    r0,call; jmp _dzxint\n",
	"",
		"       dzopen, dzclose, dzread, dzwrite, dzioctl, nulldev, dz_tty,",
	"",
		"int    dzopen(), dzclose(), dzread(), dzwrite(), dzioctl();\nstruct    tty    dz_tty[];",
.
45a
	"dz",
.
w
q

cc mkconf.c
mv a.out mkconf

cp hptmconf myconf
echo dz >> myconf
mkconf < myconf
make unix
sum unix

Should result in:

43924 108

Save the kernel

mv unix /munix

Edit the ttys file

ed /etc/ttys
266
2,17s/./1/
w
q

# sed -n '1,17p' /etc/ttys
14console
10tty00
10tty01
10tty02
10tty03
10tty04
10tty05
10tty06
10tty07
10tty08
10tty09
10tty10
10tty11
10tty12
10tty13
10tty14
10tty15

Determine the major device number from c.c

cat /usr/sys/conf/c.c |grep dz
int    dzopen(), dzclose(), dzread(), dzwrite(), dzioctl();
struct  tty     dz_tty[];
	   dzopen, dzclose, dzread, dzwrite, dzioctl, nulldev, dz_tty,      /* dz = 19 */

It’s 19, use that to create the devices.

Create the devices:

/etc/mknod /dev/tty00 c 19 0
/etc/mknod /dev/tty01 c 19 1
/etc/mknod /dev/tty02 c 19 2
/etc/mknod /dev/tty03 c 19 3

/etc/mknod /dev/tty04 c 19 4
/etc/mknod /dev/tty05 c 19 5
/etc/mknod /dev/tty06 c 19 6
/etc/mknod /dev/tty07 c 19 7

/etc/mknod /dev/tty08 c 19 8
/etc/mknod /dev/tty09 c 19 9
/etc/mknod /dev/tty10 c 19 10
/etc/mknod /dev/tty11 c 19 11

/etc/mknod /dev/tty12 c 19 12
/etc/mknod /dev/tty13 c 19 13
/etc/mknod /dev/tty14 c 19 14
/etc/mknod /dev/tty15 c 19 15
chmod 640 /dev/tty??

Set the baud rate

Edit .profile to set the baud rate to something reasonable:

stty erase "^h" kill "^u" nl0 cr0 9600

Shutdown the V7 instance

# sync
# sync
# sync
#
Simulation stopped, PC: 002306 (MOV (SP)+,177776)
sim> q
Goodbye

Modify boot.ini to accommodate the DZ

vi mboot.ini

set dz en
set dz line=16
;att dz -m 2222
att dz 2222

Test it out with telnet on the host

telnet localhost 2222

Celebrate!

post added 2022-12-02 12:14:00 -0600