On 04/06/2017 04:02 AM, Thorsten Otto wrote:
On Thursday 06 April 2017 00:03:06 Eero Tamminen wrote:
Failing address is blitter halftone register, so obviously
it will give errors on ST. Does above function have
something to do with screen updates, and with autostarting
TOS 2 somehow mistaking ST for STE? Or is NULL in A0
when the function is called just TOS 2 bug?
That null in A0 is not bug, if you look at the function you see that
it is
explicitly set to 0 at $00e014e2. Don't ask me why, but they sometimes
access
the blitter like that. You will also see that the bus-error handler
was set to
an address inside the function to catch it. That function is called from
Blitmode(), to detect wether a blitter is present. Blitmode just
starts before
this function, at $00e014b4. Obviously the desktop tries to activate the
blitter there, according from the setting from desktop.inf.
Hm...
Using DESKTOP.INF saved with TOS 1.04, got rid of crashes
with that TOS version after the autobooted program exits,
and it works fine with TOS 1.06 & 1.62.
-> Need to update Hatari desktop.inf
TOS 4.04 works otherwise with that, but comes up with
2-color 320x200 video mode!
-> probably need separate newdesk.inf for newer machines
TOS 2.06 still tries to access blitter regs with that on ST.
Saving NEWDESK.INF from TOS 2.06 under ST, verifying that
it has blitter disabled on STE, and modifying that to do
autoboot doesn't help. It still tries to do halftone
regs addresses on ST after autoboot. Seems very much
like TOS 2 bug.
- Eero
PS. Something in my patch breaks TT emulation.
I don't see how that could happen, but I'm debugging...