From: daveh@cbmvax.commodore.com (Dave Haynie)
Newsgroups: comp.sys.amiga.hardware
Subject: Re: Why I need Hardware References.
Date: 17 Nov 92 01:11:05 GMT
Reply-To: daveh@cbmvax.commodore.com (Dave Haynie)
Organization: Commodore, West Chester, PA

In article <Bxn0Gu.54@news.iastate.edu> barrett@iastate.edu (Marc N. Barrett) writes:
>In article <37019@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes:
>>In fact, it was one of these guys, not anyone at C=, who found how that
>>interlace mode in the C128 80 column chip actually worked (we thought it
>>was broken, when in fact the designer forgot to fully document it before
>>moving to Texas). 

>   Actually, I was one of those guys.  I had a utility written to 
>display four mono 320x200 C64 pictures at once using the C128 80-column
>interlaced mode, before very many people knew anything about the mode.

There were a couple of ways to do it.  Fred Bowen here at C= of course had
the 8563 docs, which most of us followed.  These led you to believe that the
80 column interlace hardware was broken.  One systems guy even thought he
found the problem in the chip circuitry (one of the problems was having a 
systems guy look too closely at a custom chip schematic :-).  Fred got 
interlace mode working by changing the bitmap pointer during vertical blanking,
via an interrupt scheme of some kind he concocted.  Shortly thereafter, some 
hacker from Europe told Fred he got the thing working in hardware by doing
something totally undocumented.  What do you know, it worked.

>I gave my utility to some hackers at a Commodore Expo, and some people
>grealy improved on it, but I was one of the first to do it.  I wish I was
>as good at hacking on the Amiga, but I am not.  The C-128 really was a
>joy to hack on.

There were several good reasons for that.  Primarily, its because the C128
was a toy computer, like the C64.  Sure, you could do real work on it, but
it wasn't designed to handle most of the HW/SW problems a "real" computer
needs to solve (even back then).  You had to resort to hacks, there was no
other way to do most of what you wanted to do.  The machine's HW and system SW 
was simple enough for one person to know virtually everything there was to 
know about both.  

And because of all of that, the "Kernal" and BASIC ROMs, the bit-patterns in
those ROMs, pretty much became part of the machine's hardware specification.
We tried to change the C64 character ROM for a slightly nicer font.  Even that
broke code, so we wound up swapping ROMs between C128 and C64 modes.  The fact
that we had this hardware-defined OS mode should be some indication of how
nasty this kind of compatibility is to support.  That's why this kind of stuff
can't be done on the Amiga.  You can't program an Amiga like it was a C128.
That shouldn't make it less fun -- I got tired of my C128 a couple of months
after it was shipping, which strangely enough coincided with my unrestricted
access to an Amiga 1000.

-- 
Dave Haynie / Commodore Technology, High-End Amiga Systems Design (cool stuff)
 "The Crew That Never Rests"  {uunet|pyramid|rutgers}!cbmvax!daveh   BIX: hazy
		SCIENCE:	"I'll believe it when I see it"  
		RELIGION:	"I'll see it when I believe it"