From: John Selck on
Paul Schlyter wrote:
> Swapping pieces of code on/off to floppy disks would be QUITE slow... :-)

Where do you see any swapping (if it hasn't been there before)?

>> It depends on what you do. If you do lot's of graphics and sound stuff,
>> Java is definitely a bad choice.
>
> In such a case, UCSD Pascal would be an even worse choice.....

That's why C/C++ is used for such tasks with a bit of inline assembly
for the inner loops.
From: Michael J. Mahon on
John Selck wrote:
> Stephen Harris wrote:
>
>> And now you've introduced program bloat, dual code paths, extra
>> potential for
>> bugs...
>
>
> That's the way you handle low level stuff. All your Windows XP drivers
> are doing the same, and all the games which support SSE or MMX
> instructions.

This works only when the behavior of all versions are known, and they
can be differentiated by software tests.

Since it is difficult to predict which undocumented behavior(s) would
be present in a future chip, it cannot, in general, allow for future
chips, except in the special case where the "test" encompasses *exactly*
the behavior that the exploiting code uses (no more, no less).

> Doing it the "one routine works for every condition" way usually means
> 10 times slower programs.

Oh, come now--even the wildest example given (just the inner loop) was
less than a factor of 2 different. The vast majority of uses of such
undocumented "features" have negligible effects on any important
measure--they are just hacks, in the worst sense.

Modern programming practice does allow for code (and even algorithms)
tailored to specific processor levels, but only when there is a method
for differentiating implementations that is architectural, and therefore
sanctioned by the manufacturer(s). Of course, most compilers don't
offer support for this, except in some embedded environments.

-michael

Music synthesis for 8-bit Apple II's!
Home page: http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it is seriously underused."
From: Michael J. Mahon on
Jim Brain wrote:
> Michael J. Mahon wrote:

>> I don't fault them for what they did, either--I was just pointing out
>> that we don't do things that way anymore, and for good reason: we
>> found out by (sad) experience that programmers cannot be trusted
>> to "keep off the undocumented grass". ;-)
>
> I wasn't directing that at you per se. I just saw a lot of posts on
> this thread along the lines of "If I had designed the CPU..." Bah, I
> say. Those guys taped out a CPU when you still had to use tape. Kudos
> to them.

Actually, they didn't even use mag tape--they used rubylith tape to make
the optical masters for the masks.

The actual layout was done on the floor of a large room using little
scooting "skateboards" like mechanics use to go under cars, and using
Xacto knives!

Ah, those were the days of "wooden chips and iron men". ;-)

>> And I also agree that for any platform with a single, unchanging
>> implementation, as most retro platforms are today, the use of
>> stable undocumented behavior is not a practical problem.
>
> It does cause issues, as emulator authors have to jump through hoops to
> support it, and the DTV designer left illops out of the original version
> of the unit, due to complexity and time issues.

Yes, that's true. Emulators *are* the "new implementation" for these
old platforms, and they incur the full penalty for any exploitation
of undocumented behavior--both in determing what it is (since it's
undocumented ;-), and then in replicating it.

-michael

Music synthesis for 8-bit Apple II's!
Home page: http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it is seriously underused."
From: Michael J. Mahon on
Eric Smith wrote:
> "Michael J. Mahon" <mjmahon(a)aol.com> writes:
>
>>The 6502 was already a much less expensive processor than its
>>competitors, because of a mask retouching technique MOS Technology
>>developed that saved mask iterations.
>
>
> I saw that claim on Wikipedia. Is there any published reference?

I saw it in an interview published on the web, but I apparently
didn't bookmark it. I'll let you know if I find it...

> Stephen Harris wrote:
>
>>With the 6502 essentially not having a microcode level, this
>>optimisation is exposed to the programmer.
>
>
> The PLA is essentially equivalent to microcode. The difference is
> that it is addressed by the instruction register and a few state bits,
> rather than a micro-PC.

Exactly. I once worked on a machine that had an unusual "distributed
PLA" approach: the opcode register and state counter were bussed
along the backplane of the machine, and each opcode (or small family
of similar ops) was decoded on the plugin card(s) that implemented
it. It was the only machine I ever saw where individual ops could
be removed from the machine by unplugging their cards!

-michael

Music synthesis for 8-bit Apple II's!
Home page: http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it is seriously underused."
From: Michael J. Mahon on
heuser.marcus(a)freenet.de wrote:
>>>The 6502 was already a much less expensive processor than its
>>>competitors, because of a mask retouching technique MOS Technology
>>>developed that saved mask iterations.
>>
>>I saw that claim on Wikipedia. Is there any published reference?
>
>
> There is book about the history of Commodore which is rather detailed
> (and entertaining) about the MOS history, too:
> http://www.commodorebook.com
>
> The MOS chapter can be read freely here:
> http://www.commodorebook.com/view.php?content=toc
>
> Excerpt:
>
> At MOS Technology, John Pavinen pioneered a new way to fabricate
> microprocessors. "They were one of the first companies to use
> non-contact mask liners," says Peddle. "At that time everybody was
> using contact masks."
>
> With non-contact masks, the metal die did not touch the wafer. Once the
> engineers worked out all the flaws in the mask, it would last
> indefinitely.
>
> ---
>
> I guess, Chuck Peddle is a good enough reference ;-)

But clearly the author didn't "get" the subject very well...

Here, he clearly means "the metal *mask* did not touch...", and
later he refers to one of the metal layers being *germanium*!

-michael

Music synthesis for 8-bit Apple II's!
Home page: http://members.aol.com/MJMahon/

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