Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #2550 > unrolled thread

Project: 6th Edition Unix for the Apple IIe/IIc

Started bywssimms@gmail.com
First post2016-03-20 01:12 -0700
Last post2016-03-31 00:24 +0000
Articles 8 on this page of 28 — 8 participants

Back to article view | Back to comp.sys.apple2.programmer


Contents

  Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 01:12 -0700
    Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 01:17 -0700
      Re: Project: 6th Edition Unix for the Apple IIe/IIc Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-03-20 10:59 -0700
        Re: Project: 6th Edition Unix for the Apple IIe/IIc D Finnigan <dog_cow@macgui.com> - 2016-03-20 19:10 +0000
          Re: Project: 6th Edition Unix for the Apple IIe/IIc remygibert63@gmail.com - 2016-05-09 07:14 -0700
      Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-30 12:04 -0700
    Re: Project: 6th Edition Unix for the Apple IIe/IIc D Finnigan <dog_cow@macgui.com> - 2016-03-20 19:14 +0000
      Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 12:29 -0700
        Re: Project: 6th Edition Unix for the Apple IIe/IIc D Finnigan <dog_cow@macgui.com> - 2016-03-20 19:34 +0000
          Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 12:48 -0700
        Re: Project: 6th Edition Unix for the Apple IIe/IIc Oliver Schmidt <ol.sc@web.de> - 2016-03-21 16:05 +0000
      Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 12:38 -0700
        Re: Project: 6th Edition Unix for the Apple IIe/IIc D Finnigan <dog_cow@macgui.com> - 2016-03-20 20:39 +0000
          Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 19:03 -0700
            Re: Project: 6th Edition Unix for the Apple IIe/IIc D Finnigan <dog_cow@macgui.com> - 2016-03-21 02:41 +0000
              Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 21:12 -0700
              Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 21:17 -0700
                Re: Project: 6th Edition Unix for the Apple IIe/IIc D Finnigan <dog_cow@macgui.com> - 2016-03-21 04:20 +0000
                  Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-21 02:57 -0700
            Re: Project: 6th Edition Unix for the Apple IIe/IIc Michael J. Mahon <mjmahon@aol.com> - 2016-03-21 01:40 -0500
        Re: Project: 6th Edition Unix for the Apple IIe/IIc Andy McFadden <thefadden@gmail.com> - 2016-03-20 13:45 -0700
          Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-20 18:55 -0700
    Re: Project: 6th Edition Unix for the Apple IIe/IIc Nicola <nvitacolonna@gmail.com> - 2016-03-25 07:52 +0200
      Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-25 01:38 -0700
        Re: Project: 6th Edition Unix for the Apple IIe/IIc D Finnigan <dog_cow@macgui.com> - 2016-03-30 18:29 +0000
          Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-30 11:55 -0700
            Re: Project: 6th Edition Unix for the Apple IIe/IIc wssimms@gmail.com - 2016-03-30 12:34 -0700
            Re: Project: 6th Edition Unix for the Apple IIe/IIc D Finnigan <dog_cow@macgui.com> - 2016-03-31 00:24 +0000

Page 2 of 2 — ← Prev page 1 [2]


#2566

FromAndy McFadden <thefadden@gmail.com>
Date2016-03-20 13:45 -0700
Message-ID<88d7a09f-d78b-4bb5-a2d1-22ad2c3b7910@googlegroups.com>
In reply to#2561
On Sunday, March 20, 2016 at 12:38:29 PM UTC-7, wss...@gmail.com wrote:
> One other thing regarding multiuser operation.
> Although Unix will fully support multiuser operation,
> the lack of segmentation hardware means that
> anyone trying to do development work in a shared
> system risks catastrophically bringing the system
> down in a way that would be very unkind to the other
> users.

FWIW, I think the lack of an MMU is what usually deters people from attempting a port after stumbling across the Lions Book.  The lack of a source of periodic interrupts is also problematic, but there are hardware options for that.

You can mitigate some issues by not putting any OS data in low memory, so that null dereferences don't trash anything useful.  IIRC, old Mac OS kept a vector table in low memory that tended to get trashed.

One possibly useful approach would be to build MMU operations into an emulator that would be no-ops on real hardware (e.g. through unused memory-mapped I/O locations).  You can build and debug on an emulator with protected segments to make it easy to find faults.  Well-behaved code will run equally well with or without the emulated MMU.

[toc] | [prev] | [next] | [standalone]


#2569

Fromwssimms@gmail.com
Date2016-03-20 18:55 -0700
Message-ID<261fc678-7f62-4a7f-8dca-30bc1c475fa2@googlegroups.com>
In reply to#2566
I am taking the approach of assuming well behaved programs.
This was the approach taken by the earliest versions of Unix at Bell Labs as well.

Clearly this is dangerous for a production system but fortunately in 2016 it's all just for fun.

[toc] | [prev] | [next] | [standalone]


#2588

FromNicola <nvitacolonna@gmail.com>
Date2016-03-25 07:52 +0200
Message-ID<nd2jn4$1e09$1@adenine.netfront.net>
In reply to#2550
On 2016-03-20 08:12:35 +0000, wssimms@gmail.com said:
> 
> I am porting 6th Edition Unix to the Apple IIe. I plan to port
> everything: kernel, filesystem, and all of userland, including C,
> Fortran, dc, nroff, etc.

This is fantastic news! From the video it looks pretty good! Can't
wait to see how it works out. Are you using Lions's book as your
reference or something else?

> - I have ported the 5th Edition Unix version of ed.

If you'd be able to port vi, that would be amazing! (Do you think
that a ProDOS port would be feasible, btw?)

> - After the release of the Unix compatibility environment, I will go
>   all-in on the kernel.

I was wondering whether you (or someone else) have ever considered working
on a microkernel (say, Minix). What would be the challenges?

Nicola


--- news://freenews.netfront.net/ - complaints: news@netfront.net ---

[toc] | [prev] | [next] | [standalone]


#2589

Fromwssimms@gmail.com
Date2016-03-25 01:38 -0700
Message-ID<ae5e066d-619e-45d2-b813-6cec21ed35a9@googlegroups.com>
In reply to#2588
On Friday, March 25, 2016 at 2:52:40 PM UTC+9, Nicola wrote:
> On 2016-03-20 08:12:35 +0000, wssimms@gmail.com said:
> > 
> > I am porting 6th Edition Unix to the Apple IIe. I plan to port
> > everything: kernel, filesystem, and all of userland, including C,
> > Fortran, dc, nroff, etc.
> 
> This is fantastic news! From the video it looks pretty good! Can't
> wait to see how it works out. Are you using Lions's book as your
> reference or something else?

I'm mainly using the source code available at:
http://minnie.tuhs.org/cgi-bin/utree.pl

I have consulted the Lions book a few times but
I don't find it to be a great primary source. Most of it's
explanations are fairly elementary.

> > - I have ported the 5th Edition Unix version of ed.
> 
> If you'd be able to port vi, that would be amazing! (Do you think
> that a ProDOS port would be feasible, btw?)

vi is really big. It would be feasible if it fits.

> > - After the release of the Unix compatibility environment, I will go
> >   all-in on the kernel.
> 
> I was wondering whether you (or someone else) have ever considered working
> on a microkernel (say, Minix). What would be the challenges?

I've never looked at Minix. I chose 6th Edition Unix
because it is historically important and it is small.

[toc] | [prev] | [next] | [standalone]


#2614

FromD Finnigan <dog_cow@macgui.com>
Date2016-03-30 18:29 +0000
Message-ID<dog_cow-1459362746@macgui.com>
In reply to#2589
wssimms wrote:
> On Friday, March 25, 2016 at 2:52:40 PM UTC+9, Nicola wrote:
>> On 2016-03-20 08:12:35 +0000, wssimms@gmail.com said:
>> > 
>> > I am porting 6th Edition Unix to the Apple IIe. I plan to port
>> > everything: kernel, filesystem, and all of userland, including C,
>> > Fortran, dc, nroff, etc.
>> 
>> This is fantastic news! From the video it looks pretty good! Can't
>> wait to see how it works out. Are you using Lions's book as your
>> reference or something else?
> 
> I'm mainly using the source code available at:
> http://minnie.tuhs.org/cgi-bin/utree.pl
> 
> I have consulted the Lions book a few times but
> I don't find it to be a great primary source. Most of it's
> explanations are fairly elementary.
> 

Are you documenting your code and deviations from PDP Unix as you go, or do
you plan to do that later?

[toc] | [prev] | [next] | [standalone]


#2615

Fromwssimms@gmail.com
Date2016-03-30 11:55 -0700
Message-ID<d3411d73-37f6-45c3-b9c0-9c5c14bd320b@googlegroups.com>
In reply to#2614
On Thursday, March 31, 2016 at 3:32:28 AM UTC+9, D Finnigan wrote:
> wssimms wrote:
> > On Friday, March 25, 2016 at 2:52:40 PM UTC+9, Nicola wrote:
> >> On 2016-03-20 08:12:35 +0000, wssimms@gmail.com said:
> >> > 
> >> > I am porting 6th Edition Unix to the Apple IIe. I plan to port
> >> > everything: kernel, filesystem, and all of userland, including C,
> >> > Fortran, dc, nroff, etc.
> >> 
> >> This is fantastic news! From the video it looks pretty good! Can't
> >> wait to see how it works out. Are you using Lions's book as your
> >> reference or something else?
> > 
> > I'm mainly using the source code available at:
> > http://minnie.tuhs.org/cgi-bin/utree.pl
> > 
> > I have consulted the Lions book a few times but
> > I don't find it to be a great primary source. Most of it's
> > explanations are fairly elementary.
> > 
> 
> Are you documenting your code and deviations from PDP Unix as you go, or do
> you plan to do that later?

At the very least I will update the original V6 Unix manpages to conform to the
Apple II version. I hope to also document the internals of various programs,
but I'm not making any promises about that.

For most user programs the manpages will require no changes. For
library calls and system calls, usually the only difference is register usage.

Personally I am just referring to the original manpages as necessary when
coding. The system calls are identical except in register usage, and generally
PDP-11 R0 can be replaced with 65c02 A, unless a 16-bit value is possible,
in which case X/Y are used instead.

[toc] | [prev] | [next] | [standalone]


#2617

Fromwssimms@gmail.com
Date2016-03-30 12:34 -0700
Message-ID<4a00ddf5-bf17-4ab1-a28b-9461dd822314@googlegroups.com>
In reply to#2615
On Thursday, March 31, 2016 at 3:55:20 AM UTC+9, wss...@gmail.com wrote:
> On Thursday, March 31, 2016 at 3:32:28 AM UTC+9, D Finnigan wrote:
> > wssimms wrote:
> > > On Friday, March 25, 2016 at 2:52:40 PM UTC+9, Nicola wrote:
> > >> On 2016-03-20 08:12:35 +0000, wssimms@gmail.com said:
> > >> > 
> > >> > I am porting 6th Edition Unix to the Apple IIe. I plan to port
> > >> > everything: kernel, filesystem, and all of userland, including C,
> > >> > Fortran, dc, nroff, etc.
> > >> 
> > >> This is fantastic news! From the video it looks pretty good! Can't
> > >> wait to see how it works out. Are you using Lions's book as your
> > >> reference or something else?
> > > 
> > > I'm mainly using the source code available at:
> > > http://minnie.tuhs.org/cgi-bin/utree.pl
> > > 
> > > I have consulted the Lions book a few times but
> > > I don't find it to be a great primary source. Most of it's
> > > explanations are fairly elementary.
> > > 
> > 
> > Are you documenting your code and deviations from PDP Unix as you go, or do
> > you plan to do that later?
> 
> At the very least I will update the original V6 Unix manpages to conform to the
> Apple II version. I hope to also document the internals of various programs,
> but I'm not making any promises about that.
> 
> For most user programs the manpages will require no changes. For
> library calls and system calls, usually the only difference is register usage.
> 
> Personally I am just referring to the original manpages as necessary when
> coding. The system calls are identical except in register usage, and generally
> PDP-11 R0 can be replaced with 65c02 A, unless a 16-bit value is possible,
> in which case X/Y are used instead.

To follow up about the system calls, here is my current init program. Pretty
much all it does is a few system calls. You can compare this code to the original
6th Edition Unix man pages (http://man.cat-v.org/unix-6th/).

               lst   off

               xc
               org   $800
               use   sys

               sys   open
               dw    consol
               dw    0
               bcs   nocon
               sys   open
               dw    consol
               dw    1
               bcs   nocon
               sys   fork
               bra   new
               bra   old
new
               sys   exec
               dw    shname
               dw    shargs
               lda   #0
               sys   write
               dw    exfail
               dw    22
gopd
               sys   write
               dw    pressk
               dw    22
               lda   #1
               sys   read
               dw    exfail
               dw    1
               sys   exit
old
               sta   chpid
:0
               sys   wait
               cmp   chpid
               bne   :0
               sys   exit
nocon
               sys   write
               dw    exfail
               dw    22
               bra   gopd

chpid          dw    0
consol         asc   '/hd/dev/console',00
shname         asc   '/hd/bin/sh',00
shargs         dw    shname
               dw    0
exfail         asc   +Can't exec /hd/bin/sh+,0A00
confail        asc   +Can't open /hd/dev/console+,0A00
pressk         asc   'Press any key to exit',0A00

[toc] | [prev] | [next] | [standalone]


#2621

FromD Finnigan <dog_cow@macgui.com>
Date2016-03-31 00:24 +0000
Message-ID<dog_cow-1459384055@macgui.com>
In reply to#2615
wssimms wrote:
>
> I hope to also document the internals of various
> programs, but I'm not making any promises about that.
> 

That's what I was interested in knowing about, as I'm pretty familiar with
the man pages already.

And while you're at it, get out your time machine and go back to the early
1990s, as you'll find a handful of college students who are interested in
your work too.

-- 
]DF$
The Marina IP stack for Apple II--
http://marina.a2hq.com/

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | comp.sys.apple2.programmer


csiph-web