[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple //e hardware question



Charlie <charlieDOTd@verEYEzon.net> wrote:
> On 5/23/2013 8:06 AM, Bill Buckels wrote:
>> "Charlie"<charlieDOTd@verEYEzon.net>  wrote:
>> 
>>> For instance, the //e doesn't use locations $C022, $C029 and $C034 for
>>> registers/softswitches.  Are they safely available to use?
>> 
>> $C034 is in use and is not safely available for peripheral add-ons. The
>> Apple II device map is like latin.
> 
> $C034 is used for the border color and clock control bits on an Apple
> IIgs but I've never seen any information showing it used on a //e.  Can
> you point me to some information showing what its used for?
> 
>>> Accessing $C034 does click the speaker every other time, but would that be
>>> a problem?
>> 
>> The Aztec C Sound function which I use in many of my programs plays music
>> using the speaker. Other programs do as well. Here is my code which has been
>> around since 1989...
>> 
>> <--- snip --->
>> 
>> TOPPER:;  /* loop the required note length */
>> #asm
>>          BIT $C030
>> #endasm
>>          j=pit;
>> COUNTER:;
>>          if(j--)goto COUNTER;
>>          if(temp--)goto TOPPER;
>> 
>>          /* wait for the duration specified by pitch */
>>          /* then click it again                      */
>> 
>> <--- snip --->
>> 
> 
> Yes, $C030 is the speaker on all Apple IIs, I believe.  I assumed that
> $C034 clicks when accessed because the //e didn't fully decode the $C030 address.

Exactly. 

Though it is seldom useful, any reference in the $C030..$C03F range has the
same effect. 

Doing more complete decoding for some other purpose can always be done, but
it has two unfortunate consequences: 1) the original partially decoded
action will occur (click) whenever the new fully decoded action is desired,
and 2) some programs may inadvertently reference the new fully decoded
address, causing unintended results. 

-michael - NadaNet 3.1 and AppleCrate II: http://home.comcast.net/~mjmahon