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

Web server running on RSX-11M-PLUS

51 views
Skip to first unread message

Johnny Billquist

unread,
Apr 12, 2012, 10:13:58 AM4/12/12
to
Ok. I just thought I'd stir some interest and just general noise by
announcing that I've written a small web-server running under RSX.
It's written in BASIC+2, and uses the TCP/IP stack for RSX that I've
also written. There are probably a bunch of bugs and issues still
around, so I'm happy to take any bug reports, comments or whatever.

The url is http://madame.update.uu.se/, and if anyone is curious about
the code, it's at mim.update.uu.se (same machine, other IP), under
MIM::DU:[HTTPD]WWW.B2S (also on HECnet)

If people have any interest in this stuff, or something else/more, I'm
interested in hearing about it. The TCP/IP stack will eventually (soon)
be available for others to download and use, and apart from the web
server, I've also written a telnet client, and a few small services
under TCP, as well as some tools for administration. I have some
polishing to do, I need to finish a DNS resolved, and I'd like to also
finish FTP and a telnet server, but I might be open to distributing
things before I've finished all those things, especially if someone is
interested in helping writing stuff.

I have interfaces completed for BASIC+2, PDP-11 C, Macro-11. FORTRAN 77
should also work, but I haven't tried it yet.

This all runs under RSX-11M-PLUS V4.6, but I think it should be possible
to get running under almost any M+ version, but there might be some
hacking needed for some versions.
It will not work under 11M, and I never expect it to. One or two drivers
as well as one or two tools really are big enough that I need to use the
split I/D space feature in M+. Rewriting stuff to not need that is way
too much work.

Johnny

Mark Matlock

unread,
Apr 12, 2012, 10:56:36 PM4/12/12
to
On Apr 12, 9:13 am, Johnny Billquist <b...@softjar.se> wrote:
> Ok. I just thought I'd stir some interest and just general noise by
> announcing that I've written a small web-server running under RSX.
> It's written in BASIC+2, and uses the TCP/IP stack for RSX that I've
> also written. There are probably a bunch of bugs and issues still
> around, so I'm happy to take any bug reports, comments or whatever.
>
> The url ishttp://madame.update.uu.se/, and if anyone is curious about
> the code, it's at mim.update.uu.se (same machine, other IP), under
> MIM::DU:[HTTPD]WWW.B2S (also on HECnet)
>
> If people have any interest in this stuff, or something else/more, I'm
> interested in hearing about it. The TCP/IP stack will eventually (soon)
> be available for others to download and use, and apart from the web
> server, I've also written a telnet client, and a few small services
> under TCP, as well as some tools for administration. I have some
> polishing to do, I need to finish a DNS resolved, and I'd like to also
> finish FTP and a telnet server, but I might be open to distributing
> things before I've finished all those things, especially if someone is
> interested in helping writing stuff.
>
> I have interfaces completed for BASIC+2, PDP-11 C, Macro-11. FORTRAN 77
> should also work, but I haven't tried it yet.
>
> This all runs under RSX-11M-PLUS V4.6, but I think it should be possible
> to get running under almost any M+ version, but there might be some
> hacking needed for some versions.
> It will not work under 11M, and I never expect it to. One or two drivers
> as well as one or two tools really are big enough that I need to use the
> split I/D space feature in M+. Rewriting stuff to not need that is way
> too much work.
>
>         Johnny


Johnny,
Very cool!

Who says you can't teach old dogs new tricks (not that RSX was EVER a
dog).
I for one will be very interested in your TCP/IP stack and the clients
and servers.
It's great to know that someone is still cranking out some interesting
code and tools
for RSX. Thanks a bunch for your efforts!

Mark

ChrisQ

unread,
Apr 15, 2012, 8:07:48 AM4/15/12
to
That is amazing and a real achievement. I guess the tcp/ip stack must
be written in macro ?. The first thing any machine needs to be really
usefull
is network access.

I have somewhere a Whitesmiths C cross compiler on 5.25" floppies that runs
on an ibm pc under dos, translating to pdp11 macro source. Leftover from a
mid eighties project. Don't know about licensing issues now, but you
would be
welcome to a copy of the disks and docs if you ever need them. I think
gcc has a port to pdp11 as well. That's if you ever need a decent language
to program in :-)...

Regards,

Chris

Johnny Billquist

unread,
Apr 15, 2012, 9:41:44 AM4/15/12
to
Yes, it's all MACRO-11 for the actual stack and basic tools. The web
server is the first piece I've written in an HLL here. And it was much
because I wanted to write the HLL interface routines, and needed a small
pet project to do to test the interface.
Using TCP/IP from BASIC+2 in RSX is ridicously easy. You just INPUT and
PRINT as usual, but to a file you opened that is the TCP connection.

> I have somewhere a Whitesmiths C cross compiler on 5.25" floppies that runs
> on an ibm pc under dos, translating to pdp11 macro source. Leftover from a
> mid eighties project. Don't know about licensing issues now, but you
> would be
> welcome to a copy of the disks and docs if you ever need them. I think
> gcc has a port to pdp11 as well. That's if you ever need a decent language
> to program in :-)...

Thanks. I already know about the gcc implementation, having helped some
on that many years ago. However, it's more of a curiosity than anything
useful, as you have absolutely no libraries to go with it. And you can
forget about glibc. :-)

I know that Whitesmith did a C compiler for the PDP-11, along with
libraries and all, but I have never tried it.

I do have DECUS C, which I have modified over the years, and that is
usable but perhaps a little restricted for some people (pure K&R, and
some additional restrictions).

I also happen to have the DEC PDP-11 C compiler for RSX, which is pretty
much a full blown ANSI C. Not overly impressed by the code it generates,
but it's a rather nice compiler over all (very little, if any
optimization done by the compiler). And yes, I have also been working on
the TCP/IP interface to that. I have a somewhat usable version, but I'm
fighting with myself about if I should go with my original idea, in
which where you actually open the tcp socket and get a file handle, to
which you can then do printf() and so on, or if I should implement the
Unix style socket interface.
The Unix style sockets is something people know, which in a way makes it
easier for people to write code, but on the other hand, it's a stupid
interface and somewhat inefficient.
The biggest problem with my current interface is that C have this
idiotic idea that a file handle can only be used for input *or* output,
not both. And the PDP-11 C libraries enforce this, so I have a small
routine that resets the library opinion in which direction I/O is going,
which I need to use whenever I "change" the direction of I/O.

C is a decent language for some things, but not all. It's very nice for
handling structured data of all kinds and forms, but it's horrible to
process strings. BASIC on the other hand is very nice to do string
processing in, and it's pretty fast to do development. And if you
haven't looked at BASIC+2 or VMS BASIC, you'd be surprised about the
language. It's pretty far from the BASIC of various Micros...

Johnny

--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: b...@softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol

Rich Alderson

unread,
Apr 16, 2012, 3:48:06 PM4/16/12
to
Johnny Billquist <b...@softjar.se> writes:

> I also happen to have the DEC PDP-11 C compiler for RSX, which is pretty
> much a full blown ANSI C. Not overly impressed by the code it generates,
> but it's a rather nice compiler over all (very little, if any
> optimization done by the compiler). And yes, I have also been working on
> the TCP/IP interface to that. I have a somewhat usable version, but I'm
> fighting with myself about if I should go with my original idea, in
> which where you actually open the tcp socket and get a file handle, to
> which you can then do printf() and so on, or if I should implement the
> Unix style socket interface.

> The Unix style sockets is something people know, which in a way makes it
> easier for people to write code, but on the other hand, it's a stupid
> interface and somewhat inefficient.

Let me chime in and say "Do it the right way. Don't use sockets!"

--
Rich Alderson ne...@alderson.users.panix.com
the russet leaves of an autumn oak/inspire once again the failed poet/
to take up his pen/and essay to place his meagre words upon the page...

Johnny Billquist

unread,
Apr 16, 2012, 6:20:18 PM4/16/12
to
On 2012-04-16 21:48, Rich Alderson wrote:
> Johnny Billquist<b...@softjar.se> writes:
>
>> I also happen to have the DEC PDP-11 C compiler for RSX, which is pretty
>> much a full blown ANSI C. Not overly impressed by the code it generates,
>> but it's a rather nice compiler over all (very little, if any
>> optimization done by the compiler). And yes, I have also been working on
>> the TCP/IP interface to that. I have a somewhat usable version, but I'm
>> fighting with myself about if I should go with my original idea, in
>> which where you actually open the tcp socket and get a file handle, to
>> which you can then do printf() and so on, or if I should implement the
>> Unix style socket interface.
>
>> The Unix style sockets is something people know, which in a way makes it
>> easier for people to write code, but on the other hand, it's a stupid
>> interface and somewhat inefficient.
>
> Let me chime in and say "Do it the right way. Don't use sockets!"

:-)
Thanks...
I might do both in the end. I already have the file I/O interface
working, although it needs some more polishing. The most annoying detail
being that blocking of reads if you've done a write and vice versa in
the standard C I/O routines. I have a workaround, but it is ugly...
Interfacing from other languages are much easier.

John Wallace

unread,
Apr 17, 2012, 3:14:18 PM4/17/12
to
On Apr 15, 2:41 pm, Johnny Billquist <b...@softjar.se> wrote:
> On 2012-04-15 14:07, ChrisQ wrote:
>
>
>
> > On 04/12/12 14:13, Johnny Billquist wrote:
> >> Ok. I just thought I'd stir some interest and just general noise by
> >> announcing that I've written a small web-server running under RSX.
> >> It's written in BASIC+2, and uses the TCP/IP stack for RSX that I've
> >> also written. There are probably a bunch of bugs and issues still
> >> around, so I'm happy to take any bug reports, comments or whatever.
>
> >> The url ishttp://madame.update.uu.se/, and if anyone is curious about
Whitesmiths C, at least in the early 1980s when I was using it on RSX,
had some quirks (to put it politely). For example, it didn't use K+R
style IO (no printf) and didn't quite use K+R style string handling.
However, it was good enough for us to see if its generated code would
link and run under RT11, given sufficient library support (and it did,
though the commercial implications weren't resolved before I moved
on). I never had enough experience of any of the DECUS C to actively
compare the commercial vs the free offerings.
0 new messages