Re: Hardware emulation of 6509 using 6502?

From: smf <smf_at_null.net>
Date: Wed, 25 Jul 2018 10:03:30 +0100
Message-ID: <a02c403c-3285-b1ec-9ddd-31fd6c116865@null.net>
On 24/07/2018 07:30, Jim Brain wrote:

>> Can you set new $0/$1 while in 65816 that take effect when switching 
>> back to 6509?
> Sorry, but the registers disappear in '816 mode
>
>>
>> And the same for setting the 65816 environment from 6509 mode before 
>> switching?
> nope, sorry.

Does this mean you can only switch from 6509 to 65816 from a routine in 
bank 0?

The PBR will be 0 at startup and you can't change it until you're in 
65816 mode. You can leave the PBR set when you return to emulation mode, 
but if an interrupt occurs in emulation mode then it gets set back to 0. 
So the only way to keep consistency is to handle that transition from 
bank 0.

And if you switched to 65816 in bank 0 and can't update $0/$1 in 65816 
mode, then returning to emulation mode needs to be done in bank 0 as well.

AFAICT Interrupts in 65816 mode will be fetched from bank 0 and in 6509 
they will be fetched from bank 15.
Received on 2018-07-25 12:03:07

Archive generated by hypermail 2.2.0.