[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 65020 CPU? Look this...
Charlie wrote:
"Michael J. Mahon" <mjmahon@aol.com> wrote in message
3IqdncETYKAOTbnfRVn-3A@comcast.com">news:3IqdncETYKAOTbnfRVn-3A@comcast.com...
Charlie wrote:
"Michael J. Mahon" <mjmahon@aol.com> wrote in message
q5adndT5WJr0477fRVn-vw@comcast.com">news:q5adndT5WJr0477fRVn-vw@comcast.com...
< snip >
I have nothing against the Apple IIgs, but when it is not running in
8-bit mode, it is nothing like an original Apple II.
I believe you are being way too hard on the Apple IIgs. While not
running
in 8-bit mode it retains much of the the original Apple II (slots, game
I/O
socket, speaker, NTSC output, GR/HGR/Text screens, most softswitches,
system monitor commands, etc.). It can even be run at the original
Apple
II speed if you so desire. Programming in the 16-bit mode is only
slightly
more complex than 8-bit. You still have 1 byte opcodes that are for
the
most part 16-bit versions of the old 8-bit ones. This seems pretty
logical
to me. You do have a few new opcodes but they are not really that
complex.
I agree that the logical complexity of the hardware is incremental
with respect to the classic Apple II.
OK
My concern with the IIgs hardware and its fidelity to the Apple II
tradition is its large linearly addressable RAM. As I noted in another
reply, that is an invitation to programmers to abandon the discipline
of their craft. GSOS is simply a natural result of "too much RAM"
(and many would say, not enough processor ;-).
Yes, the IIgs has a large linearly addressable RAM where an original Apple
II has a small linearly addressable RAM but I think this does not justify
the statement:
"... when it is not running in 8-bit mode, it is nothing like an original
Apple II."
OK, perhaps my statement should have been a bit more qualified--like,
"when it is running GSOS, it is nothing like..."
But for all practical purposes, the only time it's not running in 8-bit
mode is when it is running GSOS.
I know that one can write ProDOS programs that switch into 16-bit mode
for their internal calculations, but since these are then incompatible
with the Apple II line, I don't consider them very interesting. (You
may be surprised to learn that I don't use 65C02 instructions, either,
and for the same reason. Why give up universal Apple II compatibility
for a few easily-avoided instructions?)
My reason for posting was not to change your mind about the IIgs (well
maybe just a little) but although I respect your knowledge in both
programming and hardware I think that statement sent the wrong message to
someone who is considering buying their first Apple II.
I do agree that the small RAM of the Apple II forced the programmer to be
more disciplined but I never felt that was an advantage. While I certainly
admire the compact and elegant code of programmers like yourself, I believe
that is more a reflection of your talent than the constraints of the
original Apple II. I love programming (as a hobby) and did so on an Apple
II+ from 1980 to 1987 for more hours than I would like to admit, but I'm
still a mediocre programmer. I think more people fall into this catagory
and therefore more addressable memory is a blessing. I loved my Apple II+
but when I got my IIgs in 1987 I felt like I died and went to heaven. I
still think that a IIgs is the best Apple II to buy. Of course at today's
prices why not get one of each. <grin>
I certainly agree that the IIgs is an interesting and useful machine,
and one which many people love to use. I wouldn't want to discourage
anyone from experimenting with almost anything that takes their fancy.
I have several, myself--but I find myself programming on my //e's!
I really don't want to spend my time learning the ins and outs of
a complex toolbox environment. I'd rather spend my time imagining
new things an Apple II might be able to do, and then trying to do
them. ;-)
I'm not really down on the _concept_ of tools, but I resist the huge
barrier to entry created by having a whole bushel of them dumped on
me! I prefer a simple tool environment, and, when the need arises,
I prefer to write some of my own tools. (I have little patience
with what I regard as poor design.)
But here I am speaking of my own preferences and motivations, and I find
that Applesoft is a very welcoming programming environment for beginners
and experienced programmers alike. Few programs must be fast to be
useful, and very few are used frequently.
I would think that 48KB is _huge_ for any beginning programmer. And on
the IIgs, Applesoft is still just an 8-bit, 48KB environment.
48KB sounds like plenty for any "proof of concept", and it's hard to
imagine an Apple II as a realistic platform for an "important" app in
the modern world.
If we consider programming in C, then the IIgs is _practically_ the only
Apple II game in town, so there's no argument there--but most beginners
find C and its tool enviroment daunting--enough so that in the Apple II
world there is about one hobby C programmer for every ten thousand (or
more) Applesoft programmers!
And while I appreciate the compliment, I think that a constrained
programming environment is a virtue in learning to program well.
Think of it as a way to learn the art of programming sonnets,
rather than epics. ;-)
I have always said that our most important design tool is
our wastebox--and it is much too little used! When you can't
see how to do something with little memory and few instructions,
then _keep thinking_. At the end of that process there are two
possibilities: 1) you know that it can't be done, and exactly
why, or 2) you know that it can be done, and how to do it.
Of course, there may be "false stops", when it only _appears_
that it can't be done. That's when even more thinking is in
order. ;-) BTW, I think with pencil and paper, so throwing
away the not-so-good ideas/code is the thing that enables me
to get to the beautiful realization.
Every poor or incomplete design I have seen could have been
significantly better if the designer had been willing to
discard his bad ideas to make space for the great ones.
Another of my maxims: If you haven't thrown at least two
designs away, then there is a much better design waiting to
be discovered.
I think maybe your dislike of the Apple IIgs has more to do with the
GSOS/GUI part.
It is certainly true that writing a GUI program that conforms to the
Apple
guidelines and uses GSOS is complex and by its nature uses more memory
but
GSOS is just a program running on an Apple IIgs. You can still use an
Apple IIgs in 8-bit or 16-bit (or even mixed) modes and anything you
can do
with GSOS and the Toolbox you can also do without them. Of course
you'll
have to "roll your own".
You are correct. I lay much of the blame for complexity in programming
the IIgs at the feet of GSOS.
Again, don't get me wrong--as GUIs go, GSOS is wonderfully simple and
clean. But _all_ GUIs shift the programmers concerns from 90% function
and 10% interface to 90% interface and 10% function. (A bit like
WYSIWYG editors, which cause memo writers to spend 1 minute on content
and 10 minutes picking fonts. ;-)
I have found this to be true mostly when a person first programs in a GUI
environment or for that matter uses a WYSIWYG editor. Its the Wow! factor
(Wow! Look what I can do). For most people though the novelty wears off
and after a while the memo writers pick a font they like and stick with it
and the programmers write a reusable skeleton program to which they "plug
in" their real function code.
Yes, this is the standard way of dealing with GUIs--because anything
else would be intolerable.
Although this conserves your time (except when compiling), it still
usually means that the code of a simple program will be a factor of
ten larger than the same program written for a command line interface.
I find that offensive, when the GUI delivers no real incremental value
to the program.
When GSOS was produced, GUIs were thought to be superior to command line
interfaces in every way. Most programmers, though, continue to use a
command line interface while developing, because it's easier to do
exactly what you want, and programming is mostly text entry anyway.
GUI verses command line has been an argument for some time and as you may
have guessed I prefer a GUI environment for programming. The main reason
for me is the ease of disk/file functions.
As one who has always used standard naming conventions to group files,
I find I can do more, faster, with a command line, but I understand
your preference. FWIW, I also find that I spend a very small fraction
of my time doing file operations, compared to pencil-pushing, text
entry, and testing.
I don't dismiss GSOS entirely as Mac envy, but if you consider the
embattled atmosphere of the tiny Apple II division when it was created,
you know that it must have had a lot of "so there" motivation.
Probably true.
Of course, all this happened long past the point where there was
any real chance of the IIgs becoming a mass-market platform. The
personal computer industry/market had moved on, never to return.
While I'm on the subject, I really like the fact that the Apple II
is not the "computer for the rest of us". I cherish the fact that
it is a computer created by and for hobbyists, not "end users".
Of course, Apple wanted to sell _lots_, so they encouraged lots of
mass-appeal, eye candy applications for the Apple II, but, at its core,
it remains a hacker's machine.
In general I agree with you but I would like to add that some hobbyists
actually like to see their creations used by non-hobbyists. <grin>
Agreed. ;-) But today, one must be satisfied merely with one's own
effort, not with the validation provided by others--at least in the
Apple II (small) world.
I was a bit surprised that _no one_ has corresponded with me about
getting their own NadaNet running. ;-( Are they just completely
self-sufficient, and happily networking away in silence? Or is
everyone (?) waiting for the IIgs native-speed-compatible version?
Is the set of programmers with more than one running Apple II tiny?
Or is no one interested enough to give it a try?
I thought that constructing the two-transistor interface might be
a barrier, so I added an illustrated construction article to my
web site--but still no takers. ;-(
At least a few have used my Sound Editor and DAC522, both for their
own amusement and as a platform for some very creative work. (BTW,
I'm working on a synthesizer version of DAC522--one that could be
an eight-voice synthesizer on an AppleCrate! More soon.)
As the community of Apple II enthusiasts ages (and I sense that it is),
it is returning, proportionately, to its hobbyist roots. I relish that,
not just for noatalgia's sake, but for the craft involved.
As a person who has owned and used both an original Apple II (OK, an
Apple
II+) and an Apple IIgs ROM 01 I will agree that the original is an
excellant machine in which to learn programming as well as computer
hardware architecture but I also feel the IIgs retains most of that
while
providing a logical 16-bit extension and some very nice extra features.
As I have said
before, I regard it as a Model T (a wonderful classic) fitted with a
high-compression V8 engine and tailfins. A fine "hotrod", but neither
truly classic (too many mods) nor truly modern (still has running
boards). ;-)
The analogy with cars doesn't work well with me. I believe all Apple
II
models are classics.
Ah, but some classics are more classic than others. ;-)
I agree but I suspect we disagree on which one is the more classic. <grin>
Surely the _original_ must always win that contest. ;-)
BTW, Charlie, I'm really enjoying our conversation! I suspect you're a
very good programmer, yourself. ;-)
Maybe we are the usual poles of programming: the application programmer
and the system programmer...
-michael
New Applesoft BASIC interface for NadaNet networking!
Home page: http://members.aol.com/MJMahon/