Al 23/10/12 02:19, En/na Johnny Billquist ha escrit:
Nice idea. Or the libc from DECUS C?
Hmm yes. Will there be compiler compatibility issues there? (like
with anything done in assembler, asm/C interface etc?)
You could use the DECUS C libc, but you need to rewrite part of it. I bet the calling convention for gcc isn't the same as for DECUS C. Also, DECUS C does not expect to run on bare metal, so some basic I/O functionality needs to be written as well.
But this is all pretty simple if you know your assembler.
Well, gas (the GNU assembler) is not source-compatible with MACRO-11, so there would be some previous work before even trying to compile the stuff... For a starter, gas uses the '$' symbol to prefix immediate arguments, while MACRO-11 uses '#'. And this one is easy, since gas can work in a sort of "compatibility mode". The macro and symbol handling is also different, and some pseudoinstructions are different... Nothing that can't be worker around, but it would be a lot of work. The 2.11 BSD libc, on the other hand, is mostly written inC, and the parts in assembler are written for the BSD assembler, which is much more compatible with gas, and the calling standard is the same (R0 and R1 get clobbered, the return value comes in R0 for words and R0:R1 for longs, the called routine saves R3-R5, R5 is the frame pointer and the caller cleans the stack after the return). Oh, and the BSD license is liberal enough to not to worry about those pesky issues; (I have not checked the DECUS-C license though).
On 23 Oct 2012, at 11:29, Dave McGuire <mcguire at neurotica.com> wrote:
On 10/22/2012 04:06 PM, Cory Smelosky wrote:
Was anyone ever crazy enough to try to implement any DECnet bits for
4.3BSD?
Nope, not outside of Ultrix. I wonder if the sources ever escaped DEC.
Wait, I have the source code to Ultrix 4.2a. I wonder if it's in there.
Hmm, I wonder as well.
Also, it's probably better I mention connecting here so all the crazy
solutions get mentioned. Dynamic IP, located in Ohio, US. I have
several spare UNIX systems to run a bridge on, and I would prefer to
get several systems connected (what area should I use? I'll get back
with node names once I figure out how to change them in RSTS/E and
TOPS-20) I'm not very good with using emacs, maybe I should just
stick with a more basic editor. Or find a better terminal emulator I
don't have any real DEC terminals or any real DEC hardware yet.
Where in Ohio? I'm in western PA, just a hair northeast of Pittsburgh.
Near Columbus.
I can hook you up with some hardware. I have, erm, a bit of a surplus
at the moment.
What do you have as surplus?
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
On 10/22/2012 04:06 PM, Cory Smelosky wrote:
Was anyone ever crazy enough to try to implement any DECnet bits for
4.3BSD?
Nope, not outside of Ultrix. I wonder if the sources ever escaped DEC.
Wait, I have the source code to Ultrix 4.2a. I wonder if it's in there.
Also, it's probably better I mention connecting here so all the crazy
solutions get mentioned. Dynamic IP, located in Ohio, US. I have
several spare UNIX systems to run a bridge on, and I would prefer to
get several systems connected (what area should I use? I'll get back
with node names once I figure out how to change them in RSTS/E and
TOPS-20) I'm not very good with using emacs, maybe I should just
stick with a more basic editor. Or find a better terminal emulator I
don't have any real DEC terminals or any real DEC hardware yet.
Where in Ohio? I'm in western PA, just a hair northeast of Pittsburgh.
I can hook you up with some hardware. I have, erm, a bit of a surplus
at the moment.
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
IIRCV there was a bunch of discussion on http://minnie.tuhs.org/mailman/listinfo/tuhs in 2004 about the tapes and how to boot them
On Oct 22, 2012, at 6:56 PM, Gregg Levine <gregg.drwho8 at gmail.com> wrote:
Hello!
Does anyone have any experience with the collection of tapes that
contain Ultrix-11 there? I have them, and, ah, I'm still working out
the details behind everything.
-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."
On 2012-10-23 00:07, Dave McGuire wrote:
On 10/22/2012 05:35 PM, Paul_Koning at Dell.com wrote:
The main barrier to a bare metal binary, or for that matter a not so
bare metal one, is the supporting libraries. I did a *really* crude
hack job on newlib to give me just enough bare metal support that I
could run the GCC test suite under SIMH. But that certainly isn't
enough for real bare metal.
A pdp11 port of newlib would be a nice project.
I tried... But it is too big. I think I got a fatty library because I
selected the floating point support... I tried to use sprintf() and it
didn't even fit into the PDP address space :(.
The printf() family is GIGANTIC. In newlib there are non-FP-enabled
versions of those functions; iprintf(), siprintf(), etc. They are much,
much smaller than their floating-point counterparts. I suggest you try
again with that and see where things land.
I'm using them on ARM7 with great results. Granted that's got a much
larger address space, but my resultant binaries and stack utilization
are still pretty small.
The 2.11BSD lib looks
leaner, and I am using it in my pet OS project (I pick the pieces I need
"on the run", I have not done a complete port... yet).
If the above suggestion doesn't get you anywhere, perhaps avrlibc
could be hacked into a PDP-11 library. All of the hardware support will
have to be ripped out of course, but there are nice tight
implementations of generic library functions in there.
Nice idea. Or the libc from DECUS C?
Hmm yes. Will there be compiler compatibility issues there? (like
with anything done in assembler, asm/C interface etc?)
You could use the DECUS C libc, but you need to rewrite part of it. I bet the calling convention for gcc isn't the same as for DECUS C. Also, DECUS C does not expect to run on bare metal, so some basic I/O functionality needs to be written as well.
But this is all pretty simple if you know your assembler.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Hello!
Does anyone have any experience with the collection of tapes that
contain Ultrix-11 there? I have them, and, ah, I'm still working out
the details behind everything.
-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."
On 10/22/2012 05:35 PM, Paul_Koning at Dell.com wrote:
The main barrier to a bare metal binary, or for that matter a not so
bare metal one, is the supporting libraries. I did a *really* crude
hack job on newlib to give me just enough bare metal support that I
could run the GCC test suite under SIMH. But that certainly isn't
enough for real bare metal.
A pdp11 port of newlib would be a nice project.
I tried... But it is too big. I think I got a fatty library because I
selected the floating point support... I tried to use sprintf() and it
didn't even fit into the PDP address space :(.
The printf() family is GIGANTIC. In newlib there are non-FP-enabled
versions of those functions; iprintf(), siprintf(), etc. They are much,
much smaller than their floating-point counterparts. I suggest you try
again with that and see where things land.
I'm using them on ARM7 with great results. Granted that's got a much
larger address space, but my resultant binaries and stack utilization
are still pretty small.
The 2.11BSD lib looks
leaner, and I am using it in my pet OS project (I pick the pieces I need
"on the run", I have not done a complete port... yet).
If the above suggestion doesn't get you anywhere, perhaps avrlibc
could be hacked into a PDP-11 library. All of the hardware support will
have to be ripped out of course, but there are nice tight
implementations of generic library functions in there.
Nice idea. Or the libc from DECUS C?
Hmm yes. Will there be compiler compatibility issues there? (like
with anything done in assembler, asm/C interface etc?)
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
On Oct 22, 2012, at 3:32 PM, Dave McGuire wrote:
On 10/22/2012 02:56 PM, Jordi Guillaumes i Pons wrote:
The main barrier to a bare metal binary, or for that matter a not so
bare metal one, is the supporting libraries. I did a *really* crude
hack job on newlib to give me just enough bare metal support that I
could run the GCC test suite under SIMH. But that certainly isn't
enough for real bare metal.
A pdp11 port of newlib would be a nice project.
I tried... But it is too big. I think I got a fatty library because I
selected the floating point support... I tried to use sprintf() and it
didn't even fit into the PDP address space :(.
The printf() family is GIGANTIC. In newlib there are non-FP-enabled
versions of those functions; iprintf(), siprintf(), etc. They are much,
much smaller than their floating-point counterparts. I suggest you try
again with that and see where things land.
I'm using them on ARM7 with great results. Granted that's got a much
larger address space, but my resultant binaries and stack utilization
are still pretty small.
The 2.11BSD lib looks
leaner, and I am using it in my pet OS project (I pick the pieces I need
"on the run", I have not done a complete port... yet).
If the above suggestion doesn't get you anywhere, perhaps avrlibc
could be hacked into a PDP-11 library. All of the hardware support will
have to be ripped out of course, but there are nice tight
implementations of generic library functions in there.
Nice idea. Or the libc from DECUS C?
paul
On Oct 22, 2012, at 4:51 PM, Jason Stevens <neozeed at gmail.com> wrote:
On Mon, Oct 22, 2012 at 4:06 PM, Cory Smelosky <b4 at gewt.net> wrote:
Was anyone ever crazy enough to try to implement any DECnet bits for 4.3BSD?
I doubt it was very highly demanded, thus the "crazy" bit. I'd consider trying to implement it myself, but I don't know C, BSD internals, or in-depth DECnet info and the craziest I've done is gotten a crippled Perl 5 built on Quasijarus. (while i'm on that topic, anyone ever manage to build autoconf/automake on 4.3BSD?) My eventual end goal is to build irssi on 4.3BSD and ignoring the fact it's pretty much impossible.
I've just built the old ircII stuff... and that was involved to say the least. the University of Wisconsin version of 4.3 BSD seemed more usable as its got some SUN magic in there like NFS and various other cleanups ...
I haven't looked at irssi as I'd imagine it'd be ... involved.
Very involved. I need to get a newer shell to build pkg-config or pkgconf (pkg-config compatible thing, probably easier to use it) so I can get glib built. But I doubt pkg-config will ever build., so the plan stops there unfortunately
It seems GNU configure scripts are..picky about shells. They hate pdksh, tcsh, proper ksh, and it seems pkgconf needs a modern bash.
I've tried to build several shells as of yet no luck. Seems sys/time.h needs a bit of work for the history functions of bash3 to build. Maybe I can backport that from FreeBSD? Probably too many dependencies for that. I managed to get locale.h and sys/cdefs.h ported back to build with older GCC, i don't trust it but it built :-).
But it would probably be a bit easier on a different 4.3BSD flavour.