Re: ROM Dump of Amiga Keyboard controller

From: Marko Mäkelä <msmakela_at_gmail.com>
Date: Wed, 2 Jul 2014 09:34:32 +0300
Message-ID: <20140702063432.GA2020@x60s>
On Tue, Jul 01, 2014 at 06:13:59PM -0500, Jim Brain wrote:
>    send_data(0x2C);
>    send_data(0x24);
>    send_data(0xEA);
>    send_data(0xEA);
>    send_data(0x78);
>    send_data(0x78);
>    send_data(0xA9);
>    send_data(0x55);

I do not think that this will synchronize. If the processor fetches the 
0x2c byte as an instruction (BIT $ea24), it will next execute 0xea78 as 
NOP, and 0x78a9 as SEI. After that, it will fetch 0x55, which is not 
intended (you wanted LDA#$55).

If the 0x2c is not there (replaced with the string of 0xea), it looks 
better. The processor would enter by executing NOPs from the preceding 
string of bytes (0xeaea). The last NOP can be 0xeaea or 0xea24. If the 
last NOP is 0xeaea, then the next instruction will be BIT $ea (0x24eaea, 
3 cycles). If it was 0xea24, the next instruction will be NOP (0xeaea).  
Both will be followed by SEI (0x7878).

	Marko

       Message was sent through the cbm-hackers mailing list
Received on 2014-07-02 07:00:02

Archive generated by hypermail 2.2.0.