A Bird in the Hand (PolyModular)

Phillip L. Harbison alvitar at traveller.com
Sun May 9 09:39:21 CEST 1999


WARNING: This post contains content related to DIGITAL electronics.
         If you are offended by this, please hit delete now. :-)

Martin Czech wrote:
> The original design is by WDC in Arizona.

I thought MOS Technology created the 6502.  They licensed the design
to Rockwell and Synertec, then were bought by Commodore.  I have not
kept up with them for years, so maybe they became "WDC".

Gene Zumchak wrote:
> > WeAreAs1 at aol.com wrote:
> > There are probably a hundred different microproccesor chips that
> > would be faster, groovier, sexier, and more elegant than the 6502,
>
> IMNSHO this is not true at all. [...] The addressing and indexing
> schemes of the 6502 were the most elegant and advanced of any micro
> and to this day have not been duplicated.

The 6502 had more (and better) addressing modes of any of the ORIGINAL
four micro families (8080, Z80, 6800, 6502).  However, I think you're
going a bit far in saying "to this day have not been duplicated."  The
6809 picked up most of the 6502 modes missing from the 6800, plus it
had 16-bit (versus 8-bit) index registers and stack pointers.  And of
course the 68020 had every addressing mode known to man, plus a few
we havn't found a use for yet. :-)

> The indexing schemes of the 6502 effectively permitted up to 128
> pointer registers residing in zero page.

The 6809 expanded on this idea by adding a direct page register, in
essence allowing you to designate any of the 256 "pages" of memory
as your direct (zero) page.

> Nothing before or since has ever been more elegant.  I have been
> designing with micros since 1972 and used practically all of them.
> The 6502 has no equal.  PERIOD.

Like I said, the 6502 was my favorite micro IF we're limiting the
field to the original four.  I put myself through college writing
6502 assembly code.  But that was a time before THE ENLIGHTENMENT.
One day as I travelled the road to Damascus, uh, I mean Huntsville,
a bright flash of light blinded me.  When I awoke, I found in my
hand a copy of The C Programming Language by Brian Kernighan and
Ken Ritchie.  A bearded sage uttered some words about bridging
the "syntax gap" before disappearing into the mist.  I studied
the book and eventually realized there was a better way.

Today I do most of my programming in C++, along with some Java.
The only place I use assembly language is in "low.s" (the portion
of old UNIX kernels that includes machine-specific code).  I weigh
over 300 pounds and the state of Georgia makes me wear a "wide load"
sign whenever I walk on the sidewalk, but if you mention assembler
programming during a job interview you WILL NOT be able to run fast
enough to catch me!  I'm outa there, baybee!!

The problem with the 6502, IMHO, is that it isn't a good host for
C or C++.  I ported the Z80 version of Small-C to the 6809 and I
looked at what it would take to port it to the 6502 and 6801.  It
isn't pretty.  Now the 68000, that was an elegant processor and a
great host for C.  About the only thing missing was an instruction
to extend the sign of a byte to a 32-bit word, and this was added
in the 68010.  The 68020 went off the deep end with extra address
modes, most of which a compiler cannot use.  The 88000 and 29000
RISC families were elegant.  Most of the current RISC processors
are extremely complex, but if you look back to the early members
of the family you will find a simple, elegant processor.

I'm into DIY synthesizers primarily to have FUN.  IMNSHO, writing
assembler code is NOT fun!  I prefer to write in C++, Java, or C
in that order.  You guys are welcome to use whatever processor you
prefer, but for my own designs I plan to use a member of the 683xx
family or possibly even the new MPC8240 (PowerPC 603e core plus a
buttload of peripherals).  The MPC8240 + Flash ROM + some SDRAM +
PCI SCSI chip + PCI Ethernet chip + PCI graphics card = a pretty
good platform for running LinuxPPC or MkLinux.  This development
system would be self-hosting (using GNU tools) and would allow me
to leverage off of thousands of other people's work (not just a
few people on synth-diy).  MkLinux would be especially interesting
as all Synth-related tasks could run as separate Mach threads at
high priority.

[fade to black as angry mob shouts "stone the UNIX man!"]


--
*name: Phil Harbison
*path: alvitar at xavax.com
*URL: http://www.xavax.com/alvitar





More information about the Synth-diy mailing list