Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

running 2.11BSD on e11

79 views
Skip to first unread message

Walter F.J. Müller

unread,
Jul 20, 2022, 6:47:17 AM7/20/22
to
I've a bunch of PDP-11 operating system disk sets that happily run on the SimH PDP-11 emulator. Recently, I tried to run them on the Ersatz-11 e11 emulator too. All fine for DEC OS and Unix V7. But for 2.11BSD I only get garbage on the console because 2.11BSD uses the parity bit on tty output. For SimH is use

set tto 7b
set dlo0 7b

to clear the MSB for console output. I couldn't find an equivalent option for the e11. What is a proper e11 configuration for starting 2.11BSD ?

Johnny Billquist

unread,
Jul 20, 2022, 9:15:45 AM7/20/22
to
First of all, you should update your 2.11BSD system to something fairly
recent in patch level, where the parity of serial lines, and the
specifically the console, have been fixed. ;-)

But for the rest, it's in the manual:

SET TT0: MODE=2400,E,7,1

would set the console to 2400 bps, 7 bits, even parity and one stop bit,
for example. Default is 9600,N,8,1

Johnny

Jonathan Harston

unread,
Jul 20, 2022, 9:41:28 AM7/20/22
to
I use:
set cpu 70
mount db0: H:\develop\pdp11\unix\bsd2-11.dsk /rp06
boot db0:

with E11 v7.0, and the disk image from
https://skn.noip.me/pdp11/pdp11.html

Walter F.J. Müller

unread,
Jul 20, 2022, 11:32:14 AM7/20/22
to
On Wednesday, July 20, 2022 at 3:15:45 PM UTC+2, Johnny Billquist wrote:

> But for the rest, it's in the manual:
> SET TT0: MODE=2400,E,7,1
> would set the console to 2400 bps, 7 bits, even parity and one stop bit,
> for example. Default is 9600,N,8,1

Tried that, also "MODE=2400,N,7,1". Doesn't work for me. I get proper output up to
70Boot from rl(0,0,0) at 0174400
:
: rl(0,0,0)unix
Boot: bootdev=03400 bootcsr=0174400

2.11 BSD UNIX #3: Wed May 29 22:28:05 PDT 2019
root@w11a:/usr/src/sys/RETRONFPRL
phys mem = 2146304
avail mem = 1791488
user mem = 307200

thus all output from boot loader and kernel itself. But output going through the
driver stack is crap like "����9���:30:0��i�it:�co�fi��re����te��"

I don't know what the 'MODE' option does. Is it really affecting the output bytes,
as the '7b' options work on SimH, or does e11 try to set some serial port parameters
in the host system ? That of course will not do anything on a pty.

Walter F.J. Müller

unread,
Jul 20, 2022, 3:32:45 PM7/20/22
to
I tried this 211BSD image. It's patch level 448.
I tried e11 version 7.3 and 7.2, both under Linux.
The output up to and including "Sat Oct 31 16:00:38 PST 1981" is ok.
After that I see crap.

I've tried with SimH again. The default setting in 'classical' SimH is 7bit !
When I boot that image in SimH with tto default setting all is fine.
When I use "set tto 8b" I get the same crap that I see with e11.

The problem is obviously that there is no mechanism in e11 to set the console output into 7bit mode.
Since 211BSD fills in the parity bit, the host system sees character codes > 0177 and misinterprets them
as UTF-8 characters.

Johnny Billquist

unread,
Jul 20, 2022, 7:14:55 PM7/20/22
to
On 2022-07-20 21:32, Walter F.J. Müller wrote:
> On Wednesday, July 20, 2022 at 3:41:28 PM UTC+2, j...@mdfs.net wrote:
>> I use:
>> set cpu 70
>> mount db0: H:\develop\pdp11\unix\bsd2-11.dsk /rp06
>> boot db0:
>>
>> with E11 v7.0, and the disk image from
>> https://skn.noip.me/pdp11/pdp11.html
>
> I tried this 211BSD image. It's patch level 448.

If it truly is at 448, then you should not have the problem. I actually
did 448 on a local 11/83 with a VT420, and it was just so annoying that
I had the 7-bit parity problem when booting 2.11BSD, while everything
was fine when booting RSX on the same machine, and I did not want to go
in and change the setup in the terminal every time I booted the other
system. (And the boot roms in the 11/83 themselves also assume you have
an 8-bit clean console, so it was really 2.11BSD that was the odd duck.)
So I know that worked correctly on real hardware.

But it's really just a one line change. usr/src/sys/pdp/cons.c line 167.
And in there you'll find an or with the parity, which I just commented out.

449 and 450 changed it to be settable, as my forced non-parity was
considered a little too brutal. :-)

> I tried e11 version 7.3 and 7.2, both under Linux.
> The output up to and including "Sat Oct 31 16:00:38 PST 1981" is ok.
> After that I see crap.
>
> I've tried with SimH again. The default setting in 'classical' SimH is 7bit !
> When I boot that image in SimH with tto default setting all is fine.
> When I use "set tto 8b" I get the same crap that I see with e11.
>
> The problem is obviously that there is no mechanism in e11 to set the console output into 7bit mode.
> Since 211BSD fills in the parity bit, the host system sees character codes > 0177 and misinterprets them
> as UTF-8 characters.

Interesting that E11 don't actually seem to do anything with the
specified mode. I guess you might be right in that it just tries to
change the characteristics of the actual line.

You could always ping John Wilson about it...

Johnny

Walter F.J. Müller

unread,
Jul 28, 2022, 6:25:54 AM7/28/22
to
On Thursday, July 21, 2022 at 1:14:55 AM UTC+2, Johnny Billquist wrote:

> You could always ping John Wilson about it...

Did that.
John said, that the current MODE implementation is meant for a physical serial port and has no effect on pty's.
And indicated, that he might change that in an upcoming release and support optional 7bit data truncation also to pty's.
0 new messages