[comp.sys.apple2] Building a NEW computer

sk2f+@andrew.cmu.edu (Seth D. Kadesh) (11/29/90)

I've been thinking about this for quite some time now.  So.....
Lots of people have been talking about fixing the GS.  Why should we stop
there?!  Why do we need to build a GS clone?!  We know what philosophy this
computer should embody - the things we like about the Apple II family, and
don't like about the others.  I'm talking real big here, but let's build for
the future!  Let's build the ultimate (I wanted to say next, but I can't :-)
personal computer.  I had in mind something powerful, with the home environment
in mind, but there's no reason why this work can't be applied to other
environments.
I'm being vague, I know.  I don't have enough knowledge (I'm between a sophmore
and a junior in CS here at Carnegie Mellon, with some physics also).  But I'm
not just talking faster processors, better memory access, or stuff like that.
I'm thinking about more radical changes.....

1. HDTV.  It will be here soon.  What are its specifications? (I think it's
  better than most current computer resolutions, but I'm not sure).  But I
  don't just want to have the resolution of HDTV, I want to interface with it.
  I'm not quite sure yet what I mean by interface, but let your imagination
  roam.  Take your favorite SF stories.....

Other aspects of the computer would follow, but i have a class to get to, and
a problem set to do.  I'm not quite sure what I'm proposing here, but all
interested parties are quite welcome to expound on this....
I'll post more thoughts as I consolidate them.....

-seth
  - tHe mAd ScienTisT, and other carnations
------------------------
sk2f@andrew.cmu.edu    | everything seems so easy this way but I'm going under
tmSatCMU@DRYCAS.BITNET | fast, I'm slipping away, am I so crazy - Marillion

$CSD211@LSUVM.BITNET (Mark Orr) (11/29/90)

|I've been thinking about this for quite some time now.  So.....
|Lots of people have been talking about fixing the GS.  Why should we stop
|there?!  Why do we need to build a GS clone?!  We know what philosophy this
|computer should embody - the things we like about the Apple II family, and
|don't like about the others.  I'm talking real big here, but let's build for
|the future!  Let's build the ultimate (I wanted to say next, but I can't :-)
|ersonal computer.  I had in mind something powerful, with the home environment
|in mind, but there's no reason why this work can't be applied to other
|environments.

I think that building an Apple II for the future is a great idea. Any computer
we designed would have to conform to what we have come to expect from II's
(i.e. great expansion possibilities, built in BASIC, a ROM based system monitor
and in general a great deal of flexibility) I would direct you to Todd Whitesel
Apple IIf paper as a start. But take it with a grain of salt. It seem to be
written from the perspective of "what is a realistic interpolation of what
Apple could do with the II?" It contains many exceptional ideas but, as I have
said, I don't think it goes far enough (i.e. it would please Apple II users to
no end...but how would it attract new users)

Certainly I think that we need a new processor. The 6502/65816 has clearly had
its day. Some people (on this net) are waiting for the ASIC 65816 clone which
may run at up to 25 MHz. With a cache, and without the IIgs's bottlenecks, this
could provide a dramatic speedup for the II. But let's take a look at some
solid facts:

     (1) The ASIC does no yet exist. And with the recent events involving the
         Duet (i.e. hardware and software supporters jumping ship),it may never
         exist.
     (2) With a cache, the ASIC will, at best, turn 2 MIPS...probably lower.
     (3) The ASIC, like all other chips - the manufacturer wanting to recoup
         the R&D, will not be cheap for a while.
     (4) Thirty-two bit processors capable of much higher performance than
         the ASIC are available NOW. I have mentioned the AMD 29000 RISC,
         the VLSI VL86C020 (the ARM - another RISC). Both these are powerful,
         inexpensive processors (used mainly in embedded applications). Let me
         add the Inmos T400, the highest performance to cost ratio chip
         available. The T400 can do 20 MIPS and costs about $20 (of course
         it does require a cache, so the actual cost is higher. But remember,
         the ASIC would need a cache too to achieve maximum performance.
         the T400 is also an embedded RISC processor.
     (5) A thirty-two bit RISC chip has about 1000 times the marketing value
         of a 65816 (which enough people know has an 8-bit data bus with a
         sixteen bit architecture). Look at the trade papers...everyone is
         saying that the '286 is dead. In what state of conciousness is the
         65816
     (6) The processors I have mentioned have wider address buses than the
         65816. Not only does this mean that more memory may be added (right
         this is not a factor, since you can get far more memory than you
         need for the IIgs), but one can map more peripherals to that
         address space. What say we choose the AMD for our main processor and
         use the new FutureBus+ (IEEE 896.1), now we have an industrial
         strength bus that developers will flock to, and it's mapped in its
         full glory on the address bus. (BTW, FutureBus+ not only has a
         smokin' name (market wise), but can transfer at over 100 Mb/s)

Add to this Super-VGA level graphics (which we can animate like lightning),
and an Ensoniq (or two :-) ). We can use a 65816 on the motherboard to
handle the I/O (and emulate the gs). We use UNIX as our operating system and
X-Windows as our windowing environment. Add to this Direct Slots, which allow
full access to the CPUs, video and sound hardware (for that extra measure of
cleverness).

Like Apple IIs of the past (and taking into account the mistakes of Steve
Jobs) we don't want to build everyting in, even if we do have all those slots.
I/O should include serial ports, MIDI, SCSI, and inputs for keyboard, mouse
and two joystick (we will lose ADB naturally)

A full implementation of MIDI should be on the board because the MIDI adapters
that attach to the gs's serial ports are not a full MIDI set. A full MIDI set
would include MIDI in, MIDI out, MIDI thru, and fourth port (which I cannot
remember). There are compelling reasons for NOT including SCSI, like leaving
room for third parties like CVTech to build a high speed SCSI (or SCSI-2)
card. But since were using UNIX, we'll probably need it.

GS compatibility would be maintained in a manner similar to the UNIX //e
emulators, except with hardware support...this way we needn't copy or rebuild
the GS ROMs...just provide a hardware interface for it. The RISC would still
be used to handle video and sound and to run the software-interface.

Todd Whitesel expressed the valid concern that, with the addition of the
RISC, the GS side would become less important. In time, I hope it would.
It would take time for applications to be developed. Users would still use
GS software to start.

|1. HDTV.  It will be here soon.  What are its specifications? (I think it's
|  better than most current computer resolutions, but I'm not sure).  But I
|  don't just want to have the resolution of HDTV, I want to interface with it.
|  I'm not quite sure yet what I mean by interface, but let your imagination
|  roam.  Take your favorite SF stories.....

Problem...HDTV is yet to be defined in the USA (as far as i've heard).
Besides VGA and Super-VGA level resolutions are higher than HDTV (1148x524
I think).
Video overlay cards could be built for FutureBus+ by third parties. We don't
want to build everything in. Just what is considered a competitive standard
(i.e. resolution, sound, I/O) plus the high performance bus and CPU.

|-seth
|  - tHe mAd ScienTisT, and other carnations
|------------------------
|sk2f@andrew.cmu.edu    | everything seems so easy this way but I'm going under
|tmSatCMU@DRYCAS.BITNET | fast, I'm slipping away, am I so crazy - Marillion

----------------------------------
|  MARK A. ORR                   |
|  $CSD211 @ LSUVM.SNCC.LSU.EDU  |
|          @ LSUVM.BITNET        |
----------------------------------

toddpw@nntp-server.caltech.edu (Todd P. Whitesel) (12/01/90)

$CSD211@LSUVM.BITNET (Mark Orr) writes:

>Apple IIf paper as a start. But take it with a grain of salt. It seem to be
>written from the perspective of "what is a realistic interpolation of what
>Apple could do with the II?" It contains many exceptional ideas but, as I have
>said, I don't think it goes far enough (i.e. it would please Apple II users to
>no end...but how would it attract new users)

Damn right it was a realistic extrapolation. I originally wrote the paper and
mailed the second version to Sculley. He forwarded it to Birss, who wrote me
a nice letter back that said essentially nothing (sources tell me he read it
thoroughly before passing it on). The //f paper's primary purpose was to
attempt to convince Apple that they could do it.

So now Apple's working with ARM to make a new generation of notebook machines.

My idea was limited, but that was so it could be realistic enough to make.
Your idea is superior as an idea, but where are you going to get the funding?

Todd Whitesel
toddpw @ tybalt.caltech.edu

weird@netcom.UUCP (Richard Ney) (12/01/90)

the guys would Kill me if this got out... Hear from ya soon! :) 
                      BAAUGfest - Information Plan
BAAUGfest - [WHO]

An organization of Apple ][ users, primarily from Northern California, are
concerned about the severe lack of development and exposure of the Apple ][
computer.

BAAUGFest - [WHAT]

This organization of end users of the Apple ][ Computer, have resolved that the
machine is well deserving of its own show.  The Fest will consist of products
that have been or are being, developed for the Apple ][.

BAAUGFest - [WHEN]

The dates have been scheduled for Mid-February.  This time was selected so that
it would not interfere with the schedule of the southern California AppleFest
in December and the East Coast Fest in the spring.

BAAUGFest - [WHY]

With the reality of "AppleFest" being moved to southern California so that it
could be held in conjunction with the Macintosh show, it may be assumed that:

a... the convention developers feel that the Apple ][ cannot support a show of
     its own and that it is a crippled and antiquated system.
b... they apparently intend to eventually phase out this show in the future.

This is clearly incorrect and unacceptable.  We believe that with advertising
alone the dynamic capability of the Apple ][ will become apparent to the first
time home computer buyer, small businesses and other interested parties.

Factually, there is NOTHING that any other personal computing system can do,
including Macintosh and MS-DOS based systems, that an Apple ][ cannot do.  If
basic design developments are made to the ][ by Apple Inc it would serve to
further enhance its appeal to this available market. The keyword is exposure.

BAAUGFest - [WHERE]

Our Planning and Operations Sections are currently searching for a location
suitable for the Fest.  Suggestions are more than welcome and appreciated.

Some of the qualifications that must be met are:

     Within the immediate San Francisco/Oakland area for ease of access.
     Approximately 4,000 square feet are needed for exhibitions.
     The cost, based on at least 4 days access, must be reasonable.

COMMENTS:

There will be no additional charge for keynote addresses, seminars and etcetra.
We are encouraging developers to display the potency of their products and the
ability of the Apple ][.  Each exhibitor will have the opportunity to take the
stage and demonstrate their product(s).  There have been committments by many
of the most prominant Apple ][ developers in the general and K-12 areas.

If you or your organization are interested in additional information regarding
BAAUGfest, space rental or getting on our mailing list, contact the:

                Bay Area Apple ][ Users Group
                750 La Playa, #522
                San Francisco, CA 94121-3227

                Attn: Ernest Moore
--
              =====[ The Bay Area Apple ][ Users Group ]=====

Our specific goal is the restoration of the Northern California Apple ][
  classic Fest.  Our purpose is to enhance the reality of the value of the
  Apple ][ computer in two primary sectors:

  <1> to the computing public that should be aware of Apple ][ potential.
  <2> to those involved in decision making at Apple Inc.

                                ***

We realize that there are other personal computers on the market that are
  popular, more powerful and faster.  Yet we also realize that the Apple ][
  is the perfect computer for the cross section of people that have no need for
  the BEST or the fastest that is available.  The Apple ][gs is a far cry from
  being antiquated technology.  With general upgrades it could once again
  become the standard system for use in the home, in the private business arena
  and in the classroom.

                                ***

We believe that the evangelistic process attempted by others has not produced
  adequate results.  Our goal is to SHOW the value of the Apple ][ and let the
  computing public judge the capacity of this computer on it's merit alone.
  This cannot be accomplished by letters and verbal pleas to deaf ears.  It
  must be accomplished by exposure to the potential buying market.
--
Even though only being a Beta Draft, you can see what is going on here. We hope
you can acquire the Duet Card for I'm working on getting the Die Hard II end
Credits (since done on a Custom Program) and when people walk into our Fest,
they'll REALLY BE Surprised to see such things possible on a GS! Apple II
Forever! (If you can track that GS down on Comp.sys.apple2 for $500 or less,
let me know... someone needs a computer but is broke... I heard there was a GS
there for $500, but since I'm stuck on the Net being Blind... Thanks!)

Be Seeing You.
                                        -The Prisoner 
                                        (Prisoner@Darkside.com)
--
 I got this from a friend's account. Enjoy.

(DO NOT respond to me about this. I'm just posting it!!!)

          (Weird aka Rick Ney)
A
ZZZ

jerry@polygen.uucp (Jerry Sheckel) (12/04/90)

weird@netcom.UUCP (Richard Ney) writes:
>
>Factually, there is NOTHING that any other personal computing system can do,
>including Macintosh and MS-DOS based systems, that an Apple ][ cannot do.
>

This ain't so.  Even if you look only at the processors, the 680x0 and 80x86
processors of the Macs and PC's have capabilities that the 6502 (and 65816)
simply lacks.  This isn't bashing; this isn't flaming; this is simple fact.

Then there's graphics capabilities, memory capacity, disk capacity, etc.
Sure, almost anything is POSSIBLE with an Apple ][, but many things are
just not PRACTICAL.  Running an OS with isolated 32-bit memory spaces for
each process, for example, is IMPOSSIBLE, because the processor has no
support for that.  Running a serious CAD or number-crunching program is
POSSIBLE, but definitely not PRACTICAL.

And please, don't start flaming me with statements like, "Ah, but with
BlowoutBrickWall Technologies' plug-in 75MHz RISC processor card, my
IIgs can outrun a Cray!".  The comments I made above are all about systems
running in their respective native modes.

>
>          (Weird aka Rick Ney)
>
--
+-------------------+----------------------+---------------------------------+
| JERRY J. SHEKHEL  | POLYGEN CORPORATION  | When I was young, I had to walk |
| Drummers do it... | Waltham, MA USA      | to school and back every day -- |
|    ... In rhythm! | (617) 890-2175       | 20 miles, uphill both ways.     |
+-------------------+----------------------+---------------------------------+
|           ...! [ princeton mit-eddie bu sunne ] !polygen!jerry             |
|                            jerry@polygen.com                               |
+----------------------------------------------------------------------------+

$CSD211@LSUVM.BITNET (Mark Orr) (12/05/90)

|weird@netcom.UUCP (Richard Ney) writes:
|>
|>Factually, there is NOTHING that any other personal computing system can do,
|>including Macintosh and MS-DOS based systems, that an Apple ][ cannot do.
|>
|
|This ain't so.  Even if you look only at the processors, the 680x0 and 80x86
|processors of the Macs and PC's have capabilities that the 6502 (and 65816)
|simply lacks.  This isn't bashing; this isn't flaming; this is simple fact.

Yeah...Like I said, What other personal computer in '90 uses a processor
without multiply or divide instructions. Sure you can routines to do that, but
that wastes memory and time.

|Then there's graphics capabilities, memory capacity, disk capacity, etc.
|Sure, almost anything is POSSIBLE with an Apple ][, but many things are
|just not PRACTICAL.  Running an OS with isolated 32-bit memory spaces for
|each process, for example, is IMPOSSIBLE, because the processor has no
|support for that.  Running a serious CAD or number-crunching program is
|POSSIBLE, but definitely not PRACTICAL.

Just like people were talking about Mathematica, Stellar-7, etc. Sure the
new Stellar-7 could be ported to the GS...but it wouldn't be as good as the
PC version. Someone stated "a good assembly language programmer could probably
make a version even faster than a '286." Why should we force software companies
to use our assembly language. Mathematica wasn't done in assembly language,
and it's extremely inconvenient for software companies to revert to low level
languages and make machine-specific versions - that just isn't practical
anymore. This is the reason that Sierra uses SCI (their own interpreter), even
though Stellar-7 dosen't use it. They can make a program that can be used on
all machines. You can bet that they aren't hacking out programs on PC's, Macs
Amigas, GSs or Atari STs. Besides, Sierra said that if accelerators like the
Transwarp (or ZipGSX) became popular enough, they'd complete SCI. But for now
the GS is too slow to run it. (Remember, any programs they made would have to
be compatible with both ROM01, and ROM03. No sense making two versions of SCI.)

|And please, don't start flaming me with statements like, "Ah, but with
|BlowoutBrickWall Technologies' plug-in 75MHz RISC processor card, my
|IIgs can outrun a Cray!".  The comments I made above are all about systems
|running in their respective native modes.

Yeah, that BlowoutBrickWall card will do it every time. ;-)
There just no substitute for hardware.

|+-------------------+----------------------+---------------------------------+
|| JERRY J. SHEKHEL  | POLYGEN CORPORATION  | When I was young, I had to walk |
|| Drummers do it... | Waltham, MA USA      | to school and back every day -- |
||    ... In rhythm! | (617) 890-2175       | 20 miles, uphill both ways.     |
|+-------------------+----------------------+---------------------------------+
||           ...! [ princeton mit-eddie bu sunne ] !polygen!jerry             |
||                            jerry@polygen.com                               |
|+----------------------------------------------------------------------------+

----------------------------------
|  MARK A. ORR                   |
|  $CSD211 @ LSUVM.SNCC.LSU.EDU  |
|          @ LSUVM.BITNET        |
----------------------------------

sk2f+@andrew.cmu.edu (Seth D. Kadesh) (12/05/90)

You guys all kind of missed the original intent of my post, though Mark Orr
was kind of close.
I'll try again soon, after I write this compiler (in Scheme) for my CS class.
Obligatory piece of news:
  Apple Computer bought a 30% share of ARM.  They're talking about cheap,
fast, small, notebook computers.

I'm not sure of the exact share percentage.  The article is in the latest
Macweek.

-seth
  - tHe mAd ScienTisT, and other carnations
------------------------
sk2f@andrew.cmu.edu    | everything seems so easy this way but I'm going under
tmSatCMU@DRYCAS.BITNET | fast, I'm slipping away, am I so crazy - Marillion

m.tiernan@pro-angmar.UUCP (Michael Tiernan) (12/06/90)

In-Reply-To: message from $CSD211@LSUVM.BITNET

Mr Shekhel is dead right, the basic problem with the Apple II line
is/has-been/will be that it lacks a few required instructions at the processor
level to allow it to be a competative force.  This has been the problem since
way back in the days of the Apple ][+ when they decided that no one will ever
need an inerrupt line so they took them out of the card slots.  I'm not too
sure that I agree that it's largest lack of abilities revolves around the
concept of multiply and devide, yea it takes memory to do that with software
but memory is cheaper than microcode.  The Apple II line has a history of lack
of support of the concept of interrupts.  ProDOS is really the first OS that
actively supports it.  The UCSD p-system allowed it but didn't support it. 
ProDOS does provide you with methods of hooking your routines in using a very
nice clean manner but then at EVERY interrupt, ProDOS runs a little ditty
before handing off control to your code.  (I grant you, they did it for the
right reasons, to return the machine to a known state before you get control)
but hell, that's not their judgement to make beyond the absolute minimum.

Aside from all that, the II line lacked a non-preempt style of instruction
that would allow you to run (cleanly) multiple tasks.  Even the oldest IBM-PC
had an instruction to increment a memory word that blocked all attempts at
prememption until it completed.  Using this, you could signal tasks into and
out of a run/ready state.  We ain't got it.  HOLD IT!  Before the flames get
turned on, I am not saying I should be able to run a uucp transfer while I
recompile the great American program in the background, but even little things
like clean print spoolers, alarm clocks and the such are hindered in their
abilities without such a thing.

Oh well, time to move on.

Thanks for the use of the soapbox, "NEXT!"


<< MCT >>

GEnie       : M.Tiernan
AppleLinkPE : M Tiernan or BCS Mike
Internet    : pro-angmar!m.tiernan@alphalpha.com
UUCP        : ...!uunet!alphalpha!pro-angmar!m.tiernan

"God isn't dead, he's only missing in action."
                                             - Phil Ochs

jb10320@uxa.cso.uiuc.edu (Desdinova) (12/07/90)

In article <10895.apple.net@pro-angmar> m.tiernan@pro-angmar.UUCP (Michael Tiernan) writes:
[ mentions Apple's apparent early disregard for interrupts ]
>ProDOS does provide you with methods of hooking your routines in using a very
>nice clean manner but then at EVERY interrupt, ProDOS runs a little ditty
>before handing off control to your code.  (I grant you, they did it for the
>right reasons, to return the machine to a known state before you get control)
>but hell, that's not their judgement to make beyond the absolute minimum.

   With the IIgs and GS/OS, interrupts are actively used for all sorts of
system tasks. The heartbeat timer, appletalk and serial ports, keyboard,
etc. all generate interrupts and GS/OS depends on them.
   What you're probably referring to is vectored vs. single line interrupts.
Tis' true the 6502/65816 doesn't have vectored interrupts, but adding them
would be a tradeoff against system reconfigurability- in a PC you can only
have a certain number of interrupt generating devices- in a II there is no
limit.

>Aside from all that, the II line lacked a non-preempt style of instruction
>that would allow you to run (cleanly) multiple tasks.  Even the oldest IBM-PC
>had an instruction to increment a memory word that blocked all attempts at
>prememption until it completed.  Using this, you could signal tasks into and
>out of a run/ready state.  We ain't got it.  HOLD IT!  Before the flames get
>turned on, I am not saying I should be able to run a uucp transfer while I
>recompile the great American program in the background, but even little things
>like clean print spoolers, alarm clocks and the such are hindered in their
>abilities without such a thing.

   The 6502 does indeed lack a Test-And-Set instruction, but the 65c02
and 65816 both have it.  TSB or TRB are all that's needed for mutual
exclusion checking in a preemptive environment. (Note this doesn't hold
true for multiple processor systems, but there aren't any, so I'm not
worried.)    Note that the 6502 DOES have an indivisible INC memory location
instruction, but INC alone is not good enough for mutex.

>Thanks for the use of the soapbox, "NEXT!"
Thank you!


--
Jawaid Bazyar               | Being is Mathematics 
Senior/Computer Engineering | Love is Chemistry
jb10320@uxa.cso.uiuc.edu    | Sex is Physics
   Apple II Forever!        | Babies are engineering

$CSD211@LSUVM.BITNET (Mark Orr) (12/07/90)

|From:         Michael Tiernan <pro-angmar!m.tiernan@ALPHALPHA.COM>

|Mr Shekhel is dead right, the basic problem with the Apple II line
|is/has-been/will be that it lacks a few required instructions at the processor
|level to allow it to be a competative force.  This has been the problem since
|way back in the days of the Apple ][+ when they decided that no one will ever
|need an inerrupt line so they took them out of the card slots.  I'm not too
|sure that I agree that it's largest lack of abilities revolves around the
|concept of multiply and devide, yea it takes memory to do that with software
|but memory is cheaper than microcode.  The Apple II line has a history of lack

I didn't mean to say that hardware multiply and divide were all that is wrong
(or even the crux of what is wrong) with the 6502/65816. I merely offered it
as a typical example of what the 65xxx series lacks. But still, you can't deny
that the 65s are lacking in math capabilities. Memory may be cheaper than
microcode, but it is also far slower. Too bad the 65s don't have an associated
FPU. (of course you can use any on the market, but...)


|of support of the concept of interrupts.  ProDOS is really the first OS that
|actively supports it.  The UCSD p-system allowed it but didn't support it.
|ProDOS does provide you with methods of hooking your routines in using a very
|nice clean manner but then at EVERY interrupt, ProDOS runs a little ditty
|before handing off control to your code.  (I grant you, they did it for the
|right reasons, to return the machine to a known state before you get control)
|but hell, that's not their judgement to make beyond the absolute minimum.

So very true. Interrupt handling in the OSs leaves something to be desired.

|Aside from all that, the II line lacked a non-preempt style of instruction
|that would allow you to run (cleanly) multiple tasks.  Even the oldest IBM-PC
|had an instruction to increment a memory word that blocked all attempts at
|prememption until it completed.  Using this, you could signal tasks into and
|out of a run/ready state.  We ain't got it.  HOLD IT!  Before the flames get
|turned on, I am not saying I should be able to run a uucp transfer while I
|recompile the great American program in the background, but even little things
|like clean print spoolers, alarm clocks and the such are hindered in their
|abilities without such a thing.

Yes, I can see that that would be nice. This is what concerns me about the
ASIC. If you're going to go to the trouble, why not correct the '816s
deficiencies. Instead of building a '816 clone, why not build an enhanced
'816 more along the lines of the Hitachi 64180 or the 68HC11 or one of those
other well groomed device controllers. I can't believe that ASIC is cloning the
'816 just for a fast GS (that's much too risky, it might not be there by the
time they're done :( ) WDC makes good money on the '816 in device control
applications (medical devices, I think)...but the '816 just dosen't have the
hardware features of the HD64180 or 68HC11 (even though these are "smaller"
chips, i.e. address space)

|<< MCT >>
|
|GEnie       : M.Tiernan
|AppleLinkPE : M Tiernan or BCS Mike
|Internet    : pro-angmar!m.tiernan@alphalpha.com
|UUCP        : ...!uunet!alphalpha!pro-angmar!m.tiernan
|
|"God isn't dead, he's only missing in action."
|                                             - Phil Ochs

----------------------------------
|  MARK A. ORR                   |
|  $CSD211 @ LSUVM.SNCC.LSU.EDU  |
|          @ LSUVM.BITNET        |
----------------------------------

gwyn@smoke.brl.mil (Doug Gwyn) (12/07/90)

In article <10895.apple.net@pro-angmar> m.tiernan@pro-angmar.UUCP (Michael Tiernan) writes:
-Aside from all that, the II line lacked a non-preempt style of instruction
-that would allow you to run (cleanly) multiple tasks.  Even the oldest IBM-PC
-had an instruction to increment a memory word that blocked all attempts at
-prememption until it completed.  Using this, you could signal tasks into and
-out of a run/ready state.  We ain't got it.  HOLD IT!  Before the flames get
-turned on, I am not saying I should be able to run a uucp transfer while I
-recompile the great American program in the background, but even little things
-like clean print spoolers, alarm clocks and the such are hindered in their
-abilities without such a thing.

What an idiot.

toddpw@nntp-server.caltech.edu (Todd P. Whitesel) (12/07/90)

WDC's microcontroller versions of the 65c02 and 65816 have true vectored
interrupts for EVERYTHING... they are extremely nice microcontrollers and
I can see why they are popular.

The problem with interrupts in the Apple II was that Woz's original IRQ handler
used a zero page location, and backwards compatibility issues became important
_before_ he had a chance to fix it. Add that to the fact that Apple didn't
settle on an interrupt handler protocol until Prodos -- there were memory
state issues to deal with by then and things were just messy.

The GS and GS/OS do a far better job, but the real solution is true vectored
interrupts. The 65816 provides support for externally vectored interrupts
(in fact, all you need is an SRAM and a PAL) but Apple hasn't done anything
about it.

It's tempting to do something like this as an add-on -- it wouldn't be pretty
but it could be done. It might be easier to add to the Zip or the TWGS.

Todd Whitesel
toddpw @ tybalt.caltech.edu

rhyde@ucrmath.ucr.edu (randy hyde) (12/08/90)

The 6502 indeed supports several "test and set" instructions.  You've
probably known them as LSR and ASL in past incarnations.  Both of these
instructions can be used to perform an non-interruptable test and set
operation.

Of course, anyone who has taken a operating systems class in the past
15 years or so *SHOULD* realize that (1) an atomic (non-interruptable)
instruction doesn't always do the job.  I.e., TSB would not work if you
have two processors accessing memory because only memory cycles, not
instructions, separate accesses to the semaphores.  I ran into this 
problem when working with a MILL card (6809 coprocessor) on a lowly
Apple II (not even a "+").  The solution?  (2) Lamport's Bakery algorithm
(or Dekker's algorithm for only two processes) works just fine.  You
don't need uninterruptable instructions to prevent multiple processes from
entering a critical region.

As for the complaints about the Apple II not supporting multitasking:
It most certainly does.  I've written a couple of multitasking OSes for
the Apple II (mostly as an academic exercise).  What people really want
is a multitasking DOS 3.3, ProDOS, or GS/OS.  *THAT* is probably not
possible.  But multitasking certainly is;  I've done it.  While it's
true that the 6502 doesn't support memory management (on chip, it can be
added) and other neat features, people were running multiprogramming
operating systems on CPUs much me primitive that the 6502 25 years ago.

To address the other questions of 6502 shortcomings: keep in mind that
the 65xxx family is a family of controller chips, not general purpose
CPUs.  It doesn't support MUL and DIV or (heaven forbid!) floating pont
because the applications (i.e., Nintendo) where the chip was destined
don't require it.  They need something cheap.  MUL, DIV, and FP cost
money!  Apple II (and especially Apple //gs) users think their machines
drive the CPU development.  DEAD WRONG!  Apple has only sold a couple
hundred thousand GS machines.  Compare that to the millions of Nintendoes
sold.

If you want to run UNIX, buy a Next (if you're a student) or an AMIGA
(if you're not a student).  The 65xxx family just doesn't have enough
get up and go to support UNIX.  Better yet, scoot on over to the
comp.sys.nsc32k group and order a PC532 board (32532 CPU).  Now that's
a great UNIX chip.
*** RAndy Hyde O-)

alfter@uns-helios.nevada.edu (SCOTT ALFTER) (12/08/90)

In article <10395@ucrmath.ucr.edu> rhyde@ucrmath.ucr.edu (randy hyde) writes:
>As for the complaints about the Apple II not supporting multitasking:
>It most certainly does.  I've written a couple of multitasking OSes for
>the Apple II (mostly as an academic exercise).  What people really want
>is a multitasking DOS 3.3, ProDOS, or GS/OS.  *THAT* is probably not
>possible.  But multitasking certainly is;  I've done it.  While it's
>true that the 6502 doesn't support memory management (on chip, it can be
>added) and other neat features, people were running multiprogramming
>operating systems on CPUs much me primitive that the 6502 25 years ago.

You've gotten the II to multitask?  That sounds interesting.  I've
thought one way to multitask would be to grab an instruction from each
process and execute it, but that would be painfully slow--basically, a
6502 interpreter running on a 6502!  How did you go about multitasking
the II?  I'd be interested (and other people would also doubtless be
interested)--if for nothing else than just to see how it can be done.

-----------------------------------------------------------------------------
Scott Alfter                             _/_
                                        / v \ Apple II:
Internet: alfter@uns-helios.nevada.edu (    ( the power to be your best!
   GEnie: S.ALFTER                      \_^_/

AABENSON@MTUS5.BITNET (12/08/90)

Just as a small correction, in the IIgs (running P16 or GS/OS), there IS a
little memory word increment thingy-doodad -- It's called the "Busy Flag".
It gets incremented when stuff becomes busy, and decremented when stuff
becomes unbusy.

Also, I think that it would not be too terribly difficult to run a
multitasking OS on the IIgs -- although I would HIGHLY recommend more
memory and a speed accelerator.  For instance, you'd need to be able to
schedule interrupts at any time you want -- no problem, that's why nobody
ever uses all 16 voices of the Ensoniq chip anyway.  By adjusting the
frequency (pitch) that it plays a flat (no-sound) waveform at, you can control
how quickly it gets done, and if desired (it would be desired.), how
often it (the Ensoniq 5503 or whatever number) generates interrupts.

Of course, a major problem with this would be that many many programs which
use sould would suddenly become incompatible.  Also, you couldn't really
run a couple desktop programs at once, but it WOULD be good for things
like alarm clocks, print-spoolers, or even background modem transfers.

What should really be done is for somebody to write this "thing", and then
create some sort of shell that would run under it -- Then, you'd boot up
GS/OS to this shell, and go from there...  Otherwise you're talking about
rewriting the whole darn operating system...  Maybe somebody wants to do
that, but it's certainly not me (by myself).  I think a small group of
people (or even a single person) could write this sub-OS (if I may call
it that) without too much difficulty.  Of course, it would have to be
incredibly flexible and come with a bunch of nifty stuff to encourage
others.

I guess that's all my ideas for now.  Please please please PLEASE comment
on them (at length would be nice)... Also, email would be really really
REALLY super-duper nice, since we don't get much net news, and half of
what we DO get gets lost because this system (MTUS5) has been
losing data lately (crashing I think).

So if you can, please email to my internet address below.  Thanks!

                                              - Andrew A. Benson

Internet: "aabenson@balance.cs.mtu.edu"
Bitnet: "AABENSON@MTUS5.BITNET"         (Internet address is preferred)

unknown@ucscb.UCSC.EDU (The Unknown User) (12/08/90)

In article <10395@ucrmath.ucr.edu> rhyde@ucrmath.ucr.edu (randy hyde) writes:
>Apple II (not even a "+").  The solution?  (2) Lamport's Bakery algorithm
>(or Dekker's algorithm for only two processes) works just fine.  You
	I dunno, maybe it's just my lack of sleep, but it's neat to see
these algorithms I read/study in computer classes discussed here!
	I like the dining philosophers problem too. N-1 people at a table,
and N chopsticks (one on each side of a person).

>possible.  But multitasking certainly is;  I've done it.  While it's
>true that the 6502 doesn't support memory management (on chip, it can be
>added) and other neat features, people were running multiprogramming
>operating systems on CPUs much me primitive that the 6502 25 years ago.

	The 68851 (PMMU) car would still be neat...

>drive the CPU development.  DEAD WRONG!  Apple has only sold a couple
>hundred thousand GS machines.  Compare that to the millions of Nintendoes
>sold.

	Is "10" a "couple"? It seems that the commonly accepted value is
at least a million GSes out of over 5 million Apple //s total.

>If you want to run UNIX, buy a Next (if you're a student) or an AMIGA
>(if you're not a student).  The 65xxx family just doesn't have enough
>get up and go to support UNIX.  Better yet, scoot on over to the
>comp.sys.nsc32k group and order a PC532 board (32532 CPU).  Now that's
>a great UNIX chip.

	A great UNIX chip? Please explain in mail...

	Well, the person who is going to hopefully make the 68851 card
has also compiled part of UNIX on a GS and I believe it worked... (although
I honestly don't know how they could tell if they'd not written the low-level
GS specific routines necessary).

	Anyway, you think the GS with the 25 megahertz 65816 and a 68851
wouldn't have the "Get up and go" to support UNIX?
-- 
/Apple II(GS) Forever! unknown@ucscb.ucsc.edu MAIL ME FOR INFO ABOUT CHEAP CDs\
|WRITE TO ORIGIN ABOUT ULTIMA VI //e and IIGS! Mail me for addresses, & info. | 
\   "Dammit Bev, is it you inside or is it the clown?" -IT by Stephen King    /

$CSD211@LSUVM.BITNET (Mark Orr) (12/09/90)

|From:         randy hyde <ucrmath!rhyde@UCSD.EDU>

<stuff deleted>

|To address the other questions of 6502 shortcomings: keep in mind that
|the 65xxx family is a family of controller chips, not general purpose
|CPUs.  It doesn't support MUL and DIV or (heaven forbid!) floating pont
|because the applications (i.e., Nintendo) where the chip was destined
|don't require it.  They need something cheap.  MUL, DIV, and FP cost
|money!  Apple II (and especially Apple //gs) users think their machines
|drive the CPU development.  DEAD WRONG!  Apple has only sold a couple
|hundred thousand GS machines.  Compare that to the millions of Nintendoes
|sold.

Apple has sold more than a million IIgs's. The IIgs was for a while (late 86
early 87, just after it was released) a very hot selling item (despite short-
ages of the Ensoniq chip). The Apple II series was not the only one to use the
6502...remember the Atari 400/600/800/1200/XL's and XE's (probably a couple of
million of those), and the Commodore PETs and VIC-20s (a million or so more),
and the BBC micro (more millions), the Rockwell KIM/SYM/AIM (a few hundred
thousand), not to mention other sundry no-names. I really doubt that machines
like the Nintendo were the "intended market." To say that MOSTEK didn't have
computers in mind when they put together the 6502 is just silly. Compared to
the chips of the day (8080s, 6800s) the 6502 looks deluxe. Now the chip you
also mentioned, the 6809 (used in Stellation Two's MILL and VitaMILL) was a
really nice chip...too bad it was wasted on a veg-o-matic like the Radio Shack
Color Computer.

Yeah, MUL, DIV and FP instructions cost money...But show me another personal
computer (built now) based on a CPU without divide and multiply. To say that
these instructions have no use on a computer (even a Nintendo) is goofy. Try
doing rapid coordinate transforms without 'em.

|If you want to run UNIX, buy a Next (if you're a student) or an AMIGA
|(if you're not a student).  The 65xxx family just doesn't have enough
|get up and go to support UNIX.  Better yet, scoot on over to the
|comp.sys.nsc32k group and order a PC532 board (32532 CPU).  Now that's
|a great UNIX chip.
|*** RAndy Hyde O-)

Any of you seen the new Amiga 3000UX. Comes with UNIX system V release 4,
X windows and Open Look...it easily outperforms the old NeXT (pre '040s),
and it has all the AMIGA custom hardware (so much for Jobs' "mainframe power
on two chips).

UNIX could be run on an Apple II...with a coprocessor card. Say, if a card
with a Inmos T400 or AMD 29000 were added, along with higher-resolution
graphics. (the old Saybrook and PDQ II coprocessors (68000s) ran versions
of UNIX, but of course they're long gone). If we formed a company to build
a renegade II, with the coprocessor built in...Hey, who knows?

----------------------------------
|  MARK A. ORR                   |    "Eww...I'm so mad, I'm gonna get in my
|  $CSD211 @ LSUVM.SNCC.LSU.EDU  |     Lincoln Town Car and lean on the gas
|          @ LSUVM.BITNET        |     'till I get to West Virginiaaaaa"
----------------------------------           - Larry Bud Melman

gwyn@smoke.brl.mil (Doug Gwyn) (12/09/90)

In article <9012090428.AA16099@apple.com> $CSD211@LSUVM.BITNET (Mark Orr) writes:
>Yeah, MUL, DIV and FP instructions cost money...But show me another personal
>computer (built now) based on a CPU without divide and multiply. To say that
>these instructions have no use on a computer (even a Nintendo) is goofy. Try
>doing rapid coordinate transforms without 'em.

Some CDC mainframes did not have "divide" instructions, yet nobody
accused them of being slow.

Multiplication is of some use but division is seldom used in most
applications.  Floating point is of even less general use, and in
fact floating-point accelerators are frequently an extra-cost option,
so that only those who need them pay the price.  Note that a 68881
card is available for the Apple II family; I have one but it is of
noticeable benefit only for a few specialized applications.

>UNIX could be run on an Apple II...with a coprocessor card.

That would be rather pointless.  In fact, UNIX (circa 7th Edition)
could run on a stock IIGS.  However, it is doubtful that it would be
worth the porting effort.

Talk about manufacturing your own enhanced Apple IIs is silly.
Hardware is not important; software is.  Nobody is likely to
market any software for your deviant machine, so you'd have to
roll your own.  Not even most of the computer industry giants
were able to survive without third-party commercial software for
their systems.

rhyde@ucrmath.ucr.edu (randy hyde) (12/11/90)

I now have read two replies which claim apple has sold over 1 million
Apple //gs systems.  I have never seen this in print.  Could someone
give me a reference to support this figure?  I would like to believe
you, but it sounds like too much wishful thinking to me.  Although
1 million computers is small potatoes today, I still think it's a
large enough market to attain the "critical mass" required by
various developers to support a machine.  That's why I have trouble
believing this figure.
*** Randy Hyde O-)

mvk@pawl.rpi.edu (Michael V. Kent) (12/12/90)

In article <10426@ucrmath.ucr.edu> rhyde@ucrmath.ucr.edu (randy hyde) writes:
>I now have read two replies which claim apple has sold over 1 million
>Apple //gs systems.  I have never seen this in print.  Could someone
>give me a reference to support this figure?  I would like to believe

I really don't have the answer you're looking for, but maybe I can be of 
some help.  Early in 1989, while waiting for someone at the library, I picked
up an IBM magazine for a quick look.  In it, they published their top ten
selling machines for 1988.  Number 1 was the IBM PS/2 model something
selling 350,000 machines.  Number 2 was the Apple IIGS selling 340,000 machines.
That was for calendar year 1988.  Perhaps someone can look up the numbers for
1986, 1987, 1989, and 1990.  I'd be very VERY surprised if they didn't add
up to 660,000 machines.

The GS was a pretty hot item until a little over a year ago.

Michael Kent
mvk@pawl.rpi.edu

awillis@pro-angmar.UUCP (Albert Willis) (12/14/90)

In-Reply-To: message from gwyn@smoke.brl.mil

Could somebody please inform Free Tools Association that they can't continue
to create breath taking 3-d demos, since the IIgs doesn't have multiply and
divide instructions in silicon?

Gee, you would think that people would understand that doing 3-d graphics on
the IIgs is impossible without these instructions. Right? ;-)

Albert Willis
INET:  pro-angmar!awillis@alphalpha.com          | America Online: BCS Al
UUCP:..!uunet!alphalpha!pro-angmar!awillis       | GEnie: A.Willis