Re: [hatari-devel] Suspected Hatari 2.3.0 regression (prefetch?)

[ Thread Index | Date Index | More Archives ]


On 12/16/20 12:46 AM, Roger Burrows wrote:
I'm working on an incompatibility (reported by Eero) between EmuTOS and TOS4
when running a program called DELMPAINT.  I have previously been using Hatari
2.2.1 to help debug this.

I just switched to 2.3.0, and DELMPAINT now gets a bus error doing something
that it did before without crashing, when run with Hatari 2.2.1.  The problem
occurs when DELMPAINT tries to copy the Falcon palette registers at
$ff9800-$ff9bff to its own memory.  It does it with a loop that copies 512
bytes at a time.  The program initialises a0 to $ff9800, a1 to its own memory,
then does the following loop twice:
     movem.l  (a0)+,d1-d7/a2            ; copy 32 bytes
     movem.l  d1-d7/a2,(a1)
     movem.l  (a0)+,d1-d7/a2-a6         ; copy 48 bytes
     movem.l  d1-d7/a2-a6,$20(a1)
     movem.l  (a0)+,d1-d7/a2-a6         ; copy 48 bytes
     movem.l  d1-d7/a2-a6,$1a0(a1)
     movem.l  (a0)+,d1-d7/a2-a6         ; copy 48 bytes ***
     movem.l  d1-d7/a2-a6,$1d0(a1)

The crash occurs in the second (and last) time through the loop, at the
instruction marked with *** above.  After that instruction, a0 will point to
$ff9c00 (although that address has not been read, at least from a programming
POV).  The error msg from Hatari is "Bus Error reading at address $ffff9c00".
According to real device test results done with byte and word access:

Only palette regs are readable, not the the area
after them.

If prefetcher triggers now (2.2 -> 2.3) access
errors when reading something that program didn't
actually read, that does sound like a regression

Nicolas, any idea why MMU would prevent those?

(I've been wondering about why some programs now
need MMU, and bug like this sounds a plausible
explanation.  Toni is less likely to run across
issues of bus errors happening at wrong place
with Amiga, or it could be Hatari integration

	- Eero

P.S. If you need DELMPAINT, Eero can point you to it.

Mail converted by MHonArc 2.6.19+