Re: [hatari-devel] Hatari HG can't boot tos306fr.img anymore |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Am Fri, 18 Mar 2016 11:59:12 +0100
schrieb Thomas Huth <th.huth@xxxxxx>:
> On 18.03.2016 11:54, Vincent Rivière wrote:
> > (follow up from emutos-devel)
> >
> > On 18/03/2016 00:03, Eero Tamminen wrote:
> >> At least if you're using latest from HG, this happens ONLY
> >> if you have both of these:
> >> - Cycle-exact mode enabled (default)
> >> - MMU enabled (not default & WinUAE CPU core only)
> >
> > It happens, with those settings disabled.
> >
> > I use tos306fr.img (note the FR).
> > In the debugger, by putting a breakpoint at startup, I see that the
> > beginning of the ROM is corrupted with NOP starting at offset
> > 0x68.
>
> That's the TOS patch from Hatari for disabling MMU instructions. Have
> a look at tos.c and search for this line:
>
> { 0x306, -1, pszNoPmmu, TP_ANTI_PMMU, 0xE00068, 0xF0394000, 24,
> pNopOpcodes },
>
> However, that should _not_ get applied when MMU is enabled, so
> something seems to go wrong there...
Ok, I debugged the problem now, and the TOS patching was a red herring.
The problem is that there is no real cycle exact MMU CPU mode in the
WinUAE sources - the "cycle exact" should be ignored when MMU is
enabled. However, some parts of the code did not properly ignore the
cycle exact option when MMU is enabled, and that caused this bad
behavior. Should be fixed now, please update to the latest hg version
and have a try.
Thomas