Re: Detect a C128 from C64 mode

From: Segher Boessenkool <segher_at_kernel.crashing.org>
Date: Thu, 23 May 2013 21:02:24 +0200
Message-Id: <7138F41C-0B92-4B10-B07E-07D06136F6AA@kernel.crashing.org>
>> _c64_check:
>>    asl $d030
>>    ror $d030
>>    adc #0        <-- can't work
>>    rts
>
> GIGO  (Garbage In, Garbage Out)
>
> We can't know what would be already in the accumulator; therefore,  
> we must set it to a known value.

Ugh, yes.

>> Or, if you return in the carry flag instead of in .A:

[This is not what I wrote; please don't edit quotes].

>>
>> _c64_check:
>>    asl $d030
>>    ror $d030
>>    rts
>
> I was thinking of a C-callable library function:

Is there a standard C ABI for 6502?  I have never seen one, do
you have a link perhaps?

>> Unfortunately, I don't think any of these work; they all set
>> the test-mode bit (bit 1) to 1 (on)?
>
> Does that matter?  The original test bit (in $d016) crashed the  
> system because it disabled the dynamic RAM refresh (therefore, it  
> was removed).  But, the new test bit doesn't do that -- and, the  
> change is momentary.

Are you saying the bit auto-clears?  Docs on the web disagree
(but of course those could be wrong).


Segher


       Message was sent through the cbm-hackers mailing list
Received on 2013-05-23 21:00:08

Archive generated by hypermail 2.2.0.