This is a little sideways from on topic, but no too far. Is there a good open source implementation of a pdp11 for fpga in verilog/vhdl that works well for Unix v6+? Google turns up a number, but I’m hoping some of y’all have actual experience with one that you could recommend over others. I’m financially challenged so it’s a requirement that it run on cheap fpga’s not some Tesla prototype :)
Sent from my iPhone
Hi all, also an off-topic question. I got a private e-mail from a person
who has been trying to collect old academic papers from the CompSci/IT
field. Does anybody know of an existing archive for old CS/IT papers?
One of the reasons I enjoy emacs is Meta-X dissociated-press, which
turns the most turgid bureaucratic prose into something truly worth
Has anybody documented or provided a timeline for the emergence of the
Travesty Generator? (I know that text processing was one of the major
focuses of university research, as opposed to the more utilitarian
focuses of the scientific computing or corporate record keeping areas.
One early CompSci book I got from a second-hand booksellers in
Christchurch before the earthquakes, had a nice section on SNOBOL.)
So who wrote the first Travesty Generator/s?
> The journey is documented here:
> The network code is in a different tree, I'll move it over to the above tree over the weekend.
Posted the network bit in the online repo; it's in the v6net directory.
Also fixed the instability - it is quite satisfying to login to v6 from a 'nc' client on modern hardware.
However, I also found that the BBN code from November 1981 is what is says on the can: beta.
I'll move to the October 1982 code when I find some time.
PS, this is the 'server' that nc connects to:
#define unchar unsigned char
#define netaddr unsigned long
unsigned long ip;
ip = w;
ip = (ip<<8)|x;
ip = (ip<<8)|y;
ip = (ip<<8)|z;
struct con con;
execl("/bin/sh", "[net-sh]", 0);
int i, n, sd;
con.c_mode = CONTCP;
con.c_fcon = ipaddr(192,168,1,114);
con.c_lcon = ipaddr(172,16,0,2);
con.c_fport = 0;
con.c_lport = 4000;
sd = open("/net", &con);
A Reddit user is asking about Space Traveller:
>I am an OpenBSD user and am interested in finding the original source code for Ken Thompson's Space Traveller. I have been searching the web for sometime now, but have sadly come up empty handed. Does anyone here by chance know where I could find a copy of it's source code? I am wanting to port it over to OpenBSD as a thank you to it's helpful and welcoming community.
> > the code size is about 25KB for both a minimal V6 kernel and the TCP
> > stack, the rest is data.
> That's impressively small; the MIT V6+ with 'demux only in the kernel' was
> 40KB for the combined code (although I can't easily get separate figures for
> the networking part and the rest).
I think my sentence was confusing: it is ~25KB each, so about 50KB combined.
The original V6 kernel was about 29KB (says here https://www.tuhs.org//cgi-bin/utree.pl?file=V6). I've simplified the TTY driver, only support one type of disk driver, dropped shared text segments, dropped FP emulation. Remains about 25KB. Note that the SLIP is merely via a "super RAW" mode on the TTY driver, so I don't need to include the bulky IMP interface driver. Even at 30KB, the V6 kernel must have offered the best bang/buck ratio in the history of software, imho.
> > The Gurwitz code also has an Ethernet driver (note ARP was not invented
> > yet)
> How did it get Ethernet addresses?
:^) See here: https://www.tuhs.org//cgi-bin/utree.pl?file=BBN-Vax-TCP/bbnnet/netconf.c
"Someday this will be generated from the configuration file." I think later it did, but I don't have that code.
> > a project to make V6 run ... on a TI990 clone
> Oh, about the basic part of this: did you start with a plain V6 distribution?
> So you've had to do all the machine language stuff from scratch (and modify
> things in C like estabur())?
> What are you using for a C compiler ? Is there one out there, or did you have
> to do your own?
I has been a journey. I started with the 2.11BSD compiler and ported that to the TI990 architecture (more precisely the 9995 chip, which is similar to a T11 chip).
I debugged that to make XINU run, and then moved on to LSX (as recovered by the BK-UNIX project). Then I started with the V6 kernel from the TUHS website and made that work. Dave Pitts made it work on a real TI990 (he has a TI990/10 and a TI990/12 in working order). So, yes, I did bootstrap all the low level stuff from scratch.
After a three year hiatus I resumed work on this, integrating the Gurwitz TCP stack.
The journey is documented here:
The network code is in a different tree, I'll move it over to the above tree over the weekend.
> From: Paul Ruizendaal
> a project to make V6 run ... on a TI990 clone
Oh, about the basic part of this: did you start with a plain V6 distribution?
So you've had to do all the machine language stuff from scratch (and modify
things in C like estabur())?
What are you using for a C compiler ? Is there one out there, or did you have
to do your own?
> In my setup, network connectivity is via a SLIP interface.
Yeah, that's probably the way to go, to start with.