[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is the quintessential Apple II?



mdj wrote:
Michael J. Mahon wrote:


I've always felt a good rule was "do in software that which cannot be
done more efficiently in hardware". Doing too much in software can
compromise the performance of a design, while doing too much in
hardware compromises flexibility. Although, as you point out, not
anymore due to 'soft' hardware :-)

Agreed.  My own biases toward minimal hardware solutions for the
Apple II also come from wanting my designs to be usable by the largest
possible fraction of Apple II users, which argues strongly against
requiring *any* hardware.

NadaNet is an interesting case, since it began life as a completely
software-based network (hence, "nada-"), but changes to the Apple II
line starting with the //e made it necessary to add a tiny buffering
board with two emitter followers.  That minimal, but non-zero, hardware
requirement has probably done more than any other thing to prevent folks
from giving it a try.


The main thing preventing me from giving it a try is only ever having
one Apple II setup at a time, although I did at one point consider
modding an emulator to use a PC parallel port as a 'game' port (since
the signalling is similar), but the timing delays might be problematic

Yes--I don't know of any emulator with timing good to 1 microsecond,
which is the resolution required for reliable operation of the digital
phase-lock loop.

I've often thought that a 'killer app' for nadanet would be some form
of network block device support. On a IIe, it should be possible to
disconnect /RAM and reuse that space to implement the bare essential
calls, which would just be readblock and writeblock :-)

Such a thing would actually be a better solution than the Workstation
card, which overloads the PFI to do its magic and in the process
'breaks' compatibility with many utilities (CAT DOCTOR in particular).
The WS card is probably faster, being RS-422 based, but NadaNet is
easily fast enough to provide a responsive remote disk.

I've thought about something like this, but it would take a
microcontroller (with deterministic timing) to interface some
other computer with NadaNet.  It really is a native Apple II network.

If I could generate more electronic "drive" in software, I'd do it!  ;-)


Indeed! The emitter followers would be necessary even on the original
][ though if cable length was long

True--though my trial 25-foot twisted-pair cable worked fine.

I do agree that the no-hardware approach is a limitation that should not
apply in a more flexible environment.


Of course, we the enthusiasts would prefer to assess designs based on
the design, and ignore the time constraints on the designer. It's also
reasonable that design 'quality' have the time investment involved in
its realiastion be a part of it's metric. And herein lies the problem.

Yes, having the design time be the most fun does distort the metric
a bit!


:-)


In a world where sub $1000 PC's have > 3GHz processors, more than one
of them, and multiple gigabytes of RAM, I'm mindful that promise was
made before. Each time a major improvement in design methodology came
along, demand (in terms of expected functionality of product) expanded
to match it. It takes seemingly no time at all for someone to come up
with an innovative product which pushes the limits of what's acheivable
with delivery technology X, and the rest of pack, in an effort to
scavenge whatever market share than can from the innovator, will push
the limits of any delivery methodology from a time perspective, with
the above mentioned consequences :-(

In the case of consumer electronics, the usual pruning factor is product
cost.  If a more customized approach can deliver functionality "X" at a
cost saving of a fraction of a percent, then someone will use it and
gain a lead over less thrifty competitors.


An example of this was the emergence of 'soft' modems at the start of
the decade, reducing modems to nothing more than a line coupler and
DAC/ADC, with all the QPSK work being done by a software stack. I
always considered this cost reduction gone mad, and refused to purchase
any such product. After all, hardware solutions already existed, how
much cheaper could the softmodem be?

I, too, felt a little queasy about assigning a real-time DSP task
to a processor running Windows.  ;-)  But it worked well, eventually,
and also allowed easy software updates.

Interestingly, Apple is one of the few companies that routinely "spends"
on reducing product complexity, and it seems to be working for them.


Well, lower complexity has a direct impact on product quality, so it's
integral to the whole 'just works' mantra that Apple live by.

It's interesting that they haven't really changed much in terms of what
they deliver, but a market flooded with mediocre products is allowing
Apple's higher than average product cost to appear more like a small
price to pay for quality rather than the unnecessary premium it used to
be seen as.

Exactly.  In fact, the most remarkable thing to me about the PC market
is how little *anything* has changed!  In a decade, almost nothing of
significance has changed--just the number of zeroes in the speed and
capacity numbers--and now the uniprocessor speed is nearly a constant.

"In the land of the blind, the one-eyed man is king."

Around the early 1990's, I began preaching that "the end was near" for
uniprocessor speed increases--meaning that we were in the last decade
of uniprocessor speed doubling every two years or so.  My point was that
we *had* to learn to exploit explicit parallelism, which the computer
community had always avoided.

After sketching out the fundamental limiters that pushed us toward
multiprocessors, of *every* degree of coupling, I showed what needed
to be done to begin to bring parallel computing into the mainstream
(focussing on concepts, cookbooks, libraries, and tools).  My conclusion
was that the people who were going to write highly parallel programs
not only weren't there yet, but that the people who would be their
teachers weren't there yet, either!

Human generations are a lot slower than computer generations.  ;-)

It used to be said that a *quantitative* change of an order of magnitude
is a *qualitative* change.  But we have seen several such performance
and capacity changes in the PC market with no recent corresponding
qualitative change in either the role or usage of PCs.

This suggests a failure of insight and imagination of the highest order.

We have apparently scaled the computational mountain in an unprecedented
feat of mastery, only to have our vision fail as our altitude increases!

On the other side, Microsoft used to think their job was consuming a big
part of the exponential growth in PC speed and capacity, so as to create
a need for newer hardware, and fuel the "virtuous cycle" of rapid
platform evolution.  I suspect they've changed their tune a bit since
Moore's law (and their stock appreciation) has slowed down.


It's been really fun over the last year or so to watch the players in
the market scramble to take advantage of dual core processors, only to
be back where they started now that quad core is coming along :-)

Many years ago, when I worked at Burroughs, who exploited symmetric
multiprocessing in the 1960's, there was a saying that there were only
three interesting numbers of processors:  1, 2, and infinity.

If you have a single processor, life is simple:  the executing program
controls everything.

If you have two processors, life is more complicated, but the rule is
easy:  if you don't control it, the other processor does.

As soon as you have more than two processors, you are just a member of
a group, and don't know (without asking) who controls anything that you
don't control.  This is the general case of N processors (at a single
level of the sharing hierarchy--like shared memory).

Of course, now we realize that there are fractal hierarchies of
connectivity, defined by order-of-magnitude differences in latency
and bandwidth.  At each level of connectivity, the "1, 2, infinity"
situation plays out again.  And the migration of parallel function
between and across levels, and the consequent resource and bandwidth
allocation issues, is the central problem of parallel computing.

The whole PC industry is suffering through the commoditization of the
PC.  Now a PC is as useful as it is an appliance, not as an extensible
platform.  Partly, this is the usual mass market evolution, and partly
it's the result of a decade without any new "killer app" to drive the
market.

Ironically, the "any media anywhere, anytime" potential killer app is
what scares the heck out of content "owners" (not creators), and so has
been slowed significantly.  It's the usual problem of protecting one's
share of the pie instead of taking a risk and growing the pie.


It's these two things that have propelled Apple back into the spotlight
in recent years. The one thing missing from their product line is a
system targetted at hobbyists - something that has been the case more
or less constantly since the demise of the Apple II.

That makes sense.  Woz retired, Jobs commands.

You really have to admire Job's master stroke of becoming Disney's
largest shareholder. This enables enough clout to get one big media
company on the "any media anywhere, anytime" bandwagon, forcing the
others to follow suit, and handing Apple the lions share of the market
in the process :-)

It will be interesting to see how this plays out.  I expect it will
take about another decade at current rates.

-michael

NadaNet networking for Apple II computers!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it's seriously underused."