
Apple Early Chip Design - salgernon
http://www.byrdsight.com/apple-macintosh/
======
klodolph
> A RISC based implementation of the Apple II 6502 Processor: In mid ’85 I
> performed an analysis that showed a simple RISC style implementation of a
> 16‐bit binary compatible superset of the 8‐bit microprocessor used in the
> Apple II 6502, along with some judicious use of on‐chip caching, could
> substantially improve performance – to the point of potentially
> outperforming the 68000 used in the Mac, and given the simplicity of the
> 6502 the implementation was “doable” by a small team.

This is fascinating, and I wonder if any of the design work has survived.

~~~
Taniwha
Remember that "RISC" in 1985 was barely a word, RISC was, in part a response
to the changing costs/speed tradeoffs between memory and CPUs - prior to ~'86
memory was slow and expensive - instructions were heavily encoded to reduce
instruction fetch bandwidth - RISC instructions are bigger, easier to encode,
they essentially assume caches

A "RISC 6502" likely wasn't a "reduced instruction set 6502" it was more
likely a "non-microcoded single cycle CPU running the 6502 instruction set"
(possibly with some address extension past 64k and 16-bit data paths) -

remember that even the very first 68ks available in '79 was a 32-bit CPU
architecture from day one (even if it had 24-bit addressing and an external
16-bit data bus), while the 8088/8086/80186/80286 were all 16-bit (the 80386
didn't show up until 6 years later)

~~~
copperx
Is there a good book or resource where I can learn this history of
microprocessors?

~~~
Taniwha
I'm not sure, I mostly picked this stuff up reading comp.arch as it happened

------
CharlesW
> _But probably the most memorable pearl of wisdom is what I have come to call
> the_ valley creed _. Early on at Apple they took me for a walk and said
> “Pete my boy, there are three basic rules that apply to a career in the
> valley, and if you can accept these rules, then you can thrive here. If not,
> then you should leave” — of course I said, “Ok, what are they?”. Walt said,
> “#1 — there is no justice”. “#2 — there is no mercy”, and “#3 — this is the
> most important — are you paying close attention Pete? — #3 is....no one
> cares”. There you have it – the_ valley creed _._

This is good life advice.

~~~
wwweston
This is nihilism.

You could eke out an argument that it's not nihilism until you throw in #3 --
justice and mercy may well be lacking even in an environment where people have
values.

"No one cares", taken at face value, is a way of saying _no one has values_.

~~~
asdff
I don't think this is nihilism, I think this is just a rhetorical device to
keep yourself grounded and stay rolling with the punches.

------
userbinator
I believe this is also partly why the early Apple computers cost much more
than the equivalent IBM PC/XT/AT --- the latter did not make use of custom
chip designs, instead using standard off-the-shelf parts. (This also made them
easier to clone... and the rest is history.)

~~~
protomyth
I think Atari's 8-bit line proves this to be wrong. The Apple II was priced
much higher than it needed to be. Even with the Apple II, Apple was more
interested in profit margin than market share. Commodore lost its market share
to the IBM PC, not Apple who had already lost the lead.

~~~
zozbot123
I find it hard to believe that the Commodore 8-bit line would be competing w/
the IBM PC in any real sense. The natural upgrade path from a Commodore 8-bit
was an Atari ST or Amiga, not an IBM PC.

~~~
protomyth
Well, market share wise it was the leader when IBM brought the PC out in 81.
IBM even straddled the whole 8-bit / 16-bit line with the 8088 instead of the
8086[1]. It was Commodore's game to lose and they didn't move into the 16 or
32-bit eras with a machine that stayed in the price range they had carved out.
Both Commodore and Atari went for the $800 (ST) to $1,300 (Amiga) mark for
their next generation, and Apple decided $2,495 was a great idea.

Heck, Commodore's sequel to the C64 known as the C128 coupled the 8502 (better
6510 which was a better 6502) with another 8-bit chip in the Z80. They built a
Frankenstein and not a natural upgrade.

1) a curse on all those that prevented IBM from using the 68000. Sure, use the
68000 in something that's supposed to act like a 370 but not in the PC where
it would have saved us all a whole lot of crap.

~~~
zozbot123
The point of that Z80 chip was to support the CP/M platform, which was used
for a _lot_ of business and utility software pre-IBM PC. So, I'm not sure why
you think that coupling the two was a bad idea.

~~~
protomyth
Because it was an 8-bit chip with no future in 1985 and CP/M was pretty much
dead. Two 8-bit chips was just a bad idea.

------
twtw
The late 1980s (after the Mead&Conway revolution) seems like such a magical
time for VLSI to me, as someone who wasn't around at that time.

Does this spirit of getting a few engineers together and taping out a chip in
a few months still exist anywhere?

~~~
lnsru
Why should it exist? You can choose any chip from 0.05$ Padauk microprocessor
to $20k high end FPGA and everything in between off the shelf. Exception was
bitcoin and litecoin mining ASICs couple years ago, but I am not following
current status.

Edit: typo

~~~
leggomylibro
This is true right now, but isn't that largely because the cost of fabricating
a VLSI design is astronomical, and the tools to debug any issues with a first
run also cost an arm and a leg?

If you could get parts made affordably and have some insight into their
operation, then you might see more interest. Sort of like how affordable PCB
fabrication services have led to a proliferation of customized circuit boards
for all sorts of purposes, including spurious art like conference badges.

I bet if it were affordable to get a working design with a bit of studying,
you'd see a lot more special-purpose chips, especially in small 3-6 pin
packages.

------
classichasclass
What was the "Newton team" doing in _2007_? Did he mean the early iPhone
group?

('when I transferred to the Newton team (called “Special Projects” on my
transfer form) in early September 2007')

~~~
wmf
That must be a typo for 1987(?).

------
jecel
I never understood why they needed a custom RTC chip for the Mac. It didn't
seem to do anything that the commercially available alternatives couldn't. It
did complicate cloning, but brazillian Unitron didn't find it hard to reverse
engineer it (though they didn't get it quite right the first time).

------
nixpulvis
I love when people find fun ways to use parser generators (like YACC).

~~~
AceJohnny2
I don't get it? He used YACC to parse equations. Isn't that exactly what YACC
is for?

~~~
nixpulvis
A grammar for motherboard operational equations sounds fun to me at least.

~~~
zackmorris
I feel like there is a connection between the functional programming (FP) that
logic circuits do, and the imperative programming (IP) of languages like C,
through parser generators like YACC. In other words:

(FP) Verilog/VHDL<->YACC<->C (IP)

I have seen many FP to C transpilers (where you write the spec in a FP
language like Lisp and it generates IP language C) because it's trivial:

[https://www.quora.com/How-can-I-compile-a-Common-Lisp-or-
Sch...](https://www.quora.com/How-can-I-compile-a-Common-Lisp-or-Scheme-to-C-
or-C++)

But I've never seen a C to Lisp transpiler that breaks the code down into a
series of basic functions. My guess is that mutability becomes a major problem
and either can't be represented without monads, or becomes unreadable
spaghetti where the mutations have to be expressed via types or generics
somehow.

In other words, the difficulty of statically analyzing mutability leads to
excessively complex FP code that is unreadable by humans.

This might be one of the only examples I've seen where someone went from
relatively human readable C to the FP expressed in the circuit by way of YACC.

Edit: upon reading this again, it looks like only the input equations were
parsed by the "YACC generated program". The C code was only used for the
"event driven cycle accurate simulator". But I still think there is merit in
what I said about FP<->YACC<->IP.

