Re: Hardware emulation of 6509 using 6502?

From: Francesco Messineo <francesco.messineo_at_gmail.com>
Date: Sun, 25 Feb 2018 21:51:08 +0100
Message-ID: <CAESs-_zVo0byUFtQaK7m+wp9d_YdGqXCZeW-UJGyw9NbwkWsXw@mail.gmail.com>
On Sun, Feb 25, 2018 at 9:46 PM, Michał Pleban <lists@michau.name> wrote:
> Hello!
>
> Jim Brain wrote:
>
>> The system goes along fine until the CMP $03fa at $f99e.  The 6509 reads
>> $f0, while the 6502 reads $f8.
>
> This is not a problem. The CPU is reading from uninitalized RAM here, so
> a random value is being read and that's OK. AFAIR, this is a memory
> location containing the "warm start" flag; after initialization, a magic
> value is written there.
>
>> After a bit, the paths greatly diverge.
>> I think I am out of my element, and need help to move beyond this.
>
> The real problem is at $F9B9: LDA $97. The code earlier expects the
> value $00 that it has written there, and 6509 indeed reads this value
> back, whereas 6502 reads $97. Therefore the following BMI instruction
> branches back.

because the 6502 fails every write, instead of the correct value, it
puts on the databus the previous value read from the databus itself.
I'm not sure why, I don't know what hardware is in the middle between
6502 and the actual data bus.


F

       Message was sent through the cbm-hackers mailing list
Received on 2018-02-25 22:02:41

Archive generated by hypermail 2.2.0.