Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #2550 > unrolled thread
| Started by | wssimms@gmail.com |
|---|---|
| First post | 2016-03-20 01:12 -0700 |
| Last post | 2016-03-31 00:24 +0000 |
| Articles | 8 on this page of 28 — 8 participants |
Back to article view | Back to comp.sys.apple2.programmer
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]
| From | Andy McFadden <thefadden@gmail.com> |
|---|---|
| Date | 2016-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]
| From | wssimms@gmail.com |
|---|---|
| Date | 2016-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]
| From | Nicola <nvitacolonna@gmail.com> |
|---|---|
| Date | 2016-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]
| From | wssimms@gmail.com |
|---|---|
| Date | 2016-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]
| From | D Finnigan <dog_cow@macgui.com> |
|---|---|
| Date | 2016-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]
| From | wssimms@gmail.com |
|---|---|
| Date | 2016-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]
| From | wssimms@gmail.com |
|---|---|
| Date | 2016-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]
| From | D Finnigan <dog_cow@macgui.com> |
|---|---|
| Date | 2016-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