[hatari-devel] Conditional breakpoint code, please comment!

npomarede at corp.free.fr npomarede at corp.free.fr
Fri Jul 3 00:17:28 CEST 2009


On Thu, 2 Jul 2009, Eero Tamminen wrote:

> Hi,
>
> On Thursday 02 July 2009, npomarede at corp.free.fr wrote:
>>> Anyway, have you had time to test the conditional breakpoints and do
>>> they work fine for you or do I need to fix something?
>>>
>>> I was a bit suprised to have no complaints about it after two weeks.
>>> :-)
>>
>> Well, I tried it and there's a limitation at the moment : when checking
>> for address indirect, your test function doesn't allow to put a
>> breakpoint on addresses between ff8000 and ffffff (all the iomem range).
>
> This check:
>        if ((addr > STRamEnd && addr < 0xe00000) || addr > 0xff0000) {
>
> Was copied from Thomas' address breakpoint code in debugui.c, but I hadn't
> though that in indirect addressing some other addresses might be valid too.
>

I committed a change to handle addresses between 0xff8000 and 0xffffff.

In the case of indirect addresses, I also added a mask to only keep the 24 
lower bits of the address (when checking value and reading memory). This 
way $ffff820a is also recognized as io mem $ff820a (which is the same 
in the 68000).

Something similar should be made for DSP 16 bit address space I guess, but 
I don't know what.

By the way, why do I have this warning, it doesn't seem useful ?

> b ( $ff820a).b = 0
WARNING: mask ffffffff doesn't fit into 8 address/register bits


Nicolas



More information about the hatari-devel mailing list