[comp.os.minix] Minix ... for PDP-11

rickr@virtech.uucp (Rick Rodman) (05/28/90)

I guess I am unable to get a message to Holland MUG, since the system
I am using doesn't understand addresses with @'s in them.  (Someone ought
to document why this network uses two different kinds of addresses...)

At any rate, I notice that the MUG library includes some PDP-11 stuff.
I also note in the discussion about bringing up Minix on the 6502 that
there have been many comments about the PDP-11.

I have a PDP-11/73 which is running RSX-11M.  A while back, I asked if
there was any available Unix for the machine.  To make a long story short,
there isn't.  Unix on the PDP-11 apparently died out with the Unibus.
The 11/73 is too new (1985) and the only OSs available are RSX-11M and
RT-11.

And anyhow, I'm just a poor hobbyist who rescued the pitiful little thing
from being sent to the dump.

But now I'm curious about whether Minix could run on it...  Does anyone
know?

As for the Atari 8-bit:  I have Abacus C for the C-64 here...:-}
Seriously, don't forget that the 6502 has a fixed, 256-byte stack at
0100 hex.  I suspect that swapping the CPU with a 65816 (or the 8-bit
equivalent) might overcome that problem.

-- 
Rick Rodman      uunet!virtech!rickr  (703)734-7261(w)  (703)330-9849(h)
Cable & Wireless, Tysons Corner VA

lennox@lectroid.sw.stratus.com (Craig Scott Lennox) (05/28/90)

In article <1990May28.015301.7341@virtech.uucp> rickr@virtech.uucp (Rick Rodman) writes:

   I also note in the discussion about bringing up Minix on the 6502 that
   there have been many comments about the PDP-11.

Mostly along the lines of "Well if 64K PDP-11's can run Unix, than why not
64K Atari 8-bits?".  The problem with this reasoning is that it takes a LOT
more 6502 than PDP-11 code to accomplish the same tasks; with only 3
special purpose 8-bit registers on the 6502 compared to the 11's five 
general purpose 16-bit registers, and none of the fancy addressing modes
of the 11 on the 6502

   As for the Atari 8-bit:  I have Abacus C for the C-64 here...:-}
   Seriously, don't forget that the 6502 has a fixed, 256-byte stack at
   0100 hex.

Well, that's not SUCH a problem, since you're designing an O/S from the ground
up you can simply implement your own stacks in software.  The biggest problems
I've run into have to do with using 8-bit registers to access a 16-bit address
space (especially the lack of word operations -- ick!) and of course the
fact that the Atari 800's 64K is not all RAM (12K is ROM, and 4K DOESN'T
EVEN EXIST!?!?!?!?!).

But all in all, getting a Un*x-like O/S to run on your old Atari 800 is
probably the ultimate in a hacking challenge, and I've been having a hell of
a time.

--
| flame me at: lennox@shire.hw.stratus.com, Craig Lennox, Stratus Computer  |
|"Oh boy, virtual memory! Now I'm gonna make myself a REALLY BIG ram disk!" |
|   Disclaimer:  My opinions are covered by section 2b of the Gnu Public    |
|                License and thus do not belong to Stratus Computer.        |

MAB01057%UFRJ.BITNET@cornellc.cit.cornell.edu (Marcelo Amarante Ferreira Gomes) (05/29/90)

In a previous article, Craig Scott Lennox <lennox@lectroid.sw.stratus.com>
tells us that the Atari 800 doesn't really have 64K of memory. That's true
of the *really old* Atari's. The 800XL's do have entire 64K, although it
may be a little harder to use the memory above 48K, since that memory must
be switched on and off as you turn the machines's ROM on and off at the
very same address space. That place seems to be a good one to store Unix
user programs. Note also that the newer 8-bit Atari's (like the 130XE) even
have more than 64K (128K ?), also switchable.

The kernel could then run in the lower, say, 10 or 20K of available RAM.
I hear you saying: nonsense! No one could ever write such a small kernel!
Not on *that* machine!

Just remember that all the I/O part is already written, tested and debugged
(to some extent - there are some known bugs :-( ) and is available in that
ROM that must be switched on and off. Everything one has to do is to write
a little scheduler, assign some memory usage conventions, write a compiler
that uses them and put everything together. The scheduler is even easy to
be written with the extensive interrupt support you've got on the Atari.

It's really a challenge, but it can be done. Do you remember OS/9? It runs
on a 6809, wich is a processor a little bit more powerful than good old
6502. And it runs fast! This last item is not so easy on an Atari because
of hardware limitations I mentioned before (another article).

Unix on an Atari 800 (even the old one) is not science fiction. It may not
be practical, but is sure an excellent academic exercise.

Marcelo A. Ferreira Gomes (Wally Gator) <MAB01057@UFRJ.bitnet>

jca@pnet01.cts.com (John C. Archambeau) (05/29/90)

lennox@lectroid.sw.stratus.com (Craig Scott Lennox) writes:
>In article <1990May28.015301.7341@virtech.uucp> rickr@virtech.uucp (Rick Rodman) writes:
>
>   I also note in the discussion about bringing up Minix on the 6502 that
>   there have been many comments about the PDP-11.
>
>Mostly along the lines of "Well if 64K PDP-11's can run Unix, than why not
>64K Atari 8-bits?".  The problem with this reasoning is that it takes a LOT
>more 6502 than PDP-11 code to accomplish the same tasks; with only 3
>special purpose 8-bit registers on the 6502 compared to the 11's five 
>general purpose 16-bit registers, and none of the fancy addressing modes
>of the 11 on the 6502
>
>   As for the Atari 8-bit:  I have Abacus C for the C-64 here...:-}
>   Seriously, don't forget that the 6502 has a fixed, 256-byte stack at
>   0100 hex.
>
>Well, that's not SUCH a problem, since you're designing an O/S from the ground
>up you can simply implement your own stacks in software.  The biggest problems
>I've run into have to do with using 8-bit registers to access a 16-bit address
>space (especially the lack of word operations -- ick!) and of course the
>fact that the Atari 800's 64K is not all RAM (12K is ROM, and 4K DOESN'T
>EVEN EXIST!?!?!?!?!).
>
>But all in all, getting a Un*x-like O/S to run on your old Atari 800 is
>probably the ultimate in a hacking challenge, and I've been having a hell of
>a time.

Yea, but how are you going to implement the C compiler?  Best C compiler
I ever saw for the Atari 8-bit didn't even support structures.  Are you
going to write it all in *gasp* assembly?  Maybe Action! by OSS, perhaps?

Hell of a time is an understatement.
 
     // JCA

 /*
 **--------------------------------------------------------------------------*
 ** Flames  : /dev/null                     | Small memory model only for
 ** ARPANET : crash!pnet01!jca@nosc.mil     | Unix?  Get the (*bleep*) out
 ** INTERNET: jca@pnet01.cts.com            | of here!
 ** UUCP    : {nosc ucsd hplabs!hd-sdd}!crash!pnet01!jca
 **--------------------------------------------------------------------------*
 */

jja@etana.tut.fi (Ahola Jari) (06/04/90)

From article <1990May28.015301.7341@virtech.uucp>, by rickr@virtech.uucp (Rick Rodman):
> 
> I have a PDP-11/73 which is running RSX-11M.  A while back, I asked if
> there was any available Unix for the machine.  To make a long story short,
> there isn't.  Unix on the PDP-11 apparently died out with the Unibus.
> The 11/73 is too new (1985) and the only OSs available are RSX-11M and
> RT-11.
> 

BSD 2.10.1 should be fine for your PDP.

> Rick Rodman      uunet!virtech!rickr  (703)734-7261(w)  (703)330-9849(h)


-jja

Jari 'jja' Ahola      |Tampere University of Technology, Signal Processing Lab
Opiskelijankatu 16A12 |P.O. Box 527, 33101 Tampere, Finland
33720 Tampere, Finland|Tel (intl) 358 31 162708 (work)/358 31 174009 (home)
Puh. 931-174009       |Net address: jja@tut.fi, AHOLA@FINTUTA (BITNET), bix:jja

gdtltr@freezer.it.udel.edu (Gary Duzan) (06/05/90)

In article <2869@crash.cts.com> jca@pnet01.cts.com (John C. Archambeau) writes:
=>>But all in all, getting a Un*x-like O/S to run on your old Atari 800 is
=>>probably the ultimate in a hacking challenge, and I've been having a hell of
=>>a time.
=>
=>Yea, but how are you going to implement the C compiler?  Best C compiler
=>I ever saw for the Atari 8-bit didn't even support structures.  Are you
=>going to write it all in *gasp* assembly?  Maybe Action! by OSS, perhaps?
=>
   There is a relatively new C compiler out called CC65 which is rather good.
It outputs relacatable 6502 assembly and supports structures, unions, and
even funky things like an arrays of pointers to functions. It is the best
Atari 8-bit C compiler so far.

=>Hell of a time is an understatement.
=> 
   Maybe not.

                                        Gary Duzan
                                        Time  Lord
                                    Third Regeneration
                                 Atari Enthusiast Extreme



--
                          gdtltr@freezer.it.udel.edu
      _o_                 --------------------------                 _o_
    [|o o|]     "My field is blood and guts programming." -- Me    [|o o|]
     |_O_|      "Don't listen to me; I never do." -- Doctor Who     |_O_|

jca@pnet01.cts.com (John C. Archambeau) (06/06/90)

gdtltr@freezer.it.udel.edu (Gary Duzan) writes:
>In article <2869@crash.cts.com> jca@pnet01.cts.com (John C. Archambeau) writes:
>=>>But all in all, getting a Un*x-like O/S to run on your old Atari 800 is
>=>>probably the ultimate in a hacking challenge, and I've been having a hell of
>=>>a time.
>=>
>=>Yea, but how are you going to implement the C compiler?  Best C compiler
>=>I ever saw for the Atari 8-bit didn't even support structures.  Are you
>=>going to write it all in *gasp* assembly?  Maybe Action! by OSS, perhaps?
>=>
>   There is a relatively new C compiler out called CC65 which is rather good.
>It outputs relacatable 6502 assembly and supports structures, unions, and
>even funky things like an arrays of pointers to functions. It is the best
>Atari 8-bit C compiler so far.
>
>=>Hell of a time is an understatement.
>=> 
>   Maybe not.

If you have some new tools out there, then you might as well use them.  I'm
basing my opinion on my experience with how the Atari 8-bit world was back
about three to four years ago when I still had a 130XE.
 
     // JCA

 /*
 **--------------------------------------------------------------------------*
 ** Flames  : /dev/null                     | Small memory model only for
 ** ARPANET : crash!pnet01!jca@nosc.mil     | Unix?  Get the (*bleep*) out
 ** INTERNET: jca@pnet01.cts.com            | of here!
 ** UUCP    : {nosc ucsd hplabs!hd-sdd}!crash!pnet01!jca
 **--------------------------------------------------------------------------*
 */

scott@wilbur.uucp (Scott Beckstead) (06/08/90)

   Well the 6502 whether you know it or not is designed on the lines of
PDP-8 and has almost all of the fancy addressing modes you could want.
  The 65C02 has even more and a couple of fixes that make it quite a usable
processor.  It also has the advantage of single cycle instructions that make
the equivalent of a risc.  I just got thru implementing a 6502 real time
multitasking operating system (minus the disk part) and it was really not that 
bad.  You should be able to implement MINIX on it no problem the only problem
I see is speed on the old Atari.  with a 7 mhz part we have 32 tasks running
simultaneously (16 sio at 19.2kbaud and 16 parallel in/out at 2k bytes per 
second)  This processor moves bytes faster than most 32 bit systems.  Never
give up on a processor just because it's old technology.  Architectures don't
have that kind of immunity I'm afraid. 
Scott
-- 
Scott Beckstead      | Sew Crates was a grate greek.  
CIS 76106,3720       |     Dang that one got right by the spelling checker
FIDO 1:206/2814      | don't look at me YOU wrote it!