[hatari-devel] Suspected Hatari 2.3.0 regression (prefetch?) |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi!
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".
Roger
P.S. If you need DELMPAINT, Eero can point you to it.