|[hatari-devel] New SYNC release. New Hatari bugs found ;)|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
I've been hacking away at the Audio Sculpture v1.5 beta image the last week, and released a SYNC version of it tonight: http://sync.wtf/AS15SYNC.ZIP
During the final testing I discovered two issues in Hatari.
1) In the current dev versions, but not in Hatari 2.0, something's wrong with memory detection in ST mode. $42e (memtop) becomes 00 22 00 00 when I test with 512KB or 1MB RAM size, and from that follows that $44e (video mem address) becomes 00 21 80 00. If you try to boot the image above on 1MB ST with Hatari dev you should get nothing on screen due to that.
2) In TT mode (68030/16/MMU is what I tested) I had no issues until I added my intro, and then something really strange happened. It's been tested not to happen on real hw, but this issue is the same on Hatari v2.0 and current dev versions it seems. This is in the Audio Sculpture code, so something changes in the emulation from when I only loaded the AS binaries compared to when running the (TOS friendly) intro beforehand as well. But, on real hw it's fine.
$0000f3bc : 836d 00a0 or.w d1,$a0(a5)
$0000f3c0 : 836d 00a2 or.w d1,$a2(a5)
I'm stepping the two instructions above. If we look at the registers we clearly see "next PC" being f3c0 after f3bc:
D0 4681836E D1 003DE350 D2 00000008 D3 00000009
D4 00000006 D5 003DE350 D6 00000000 D7 0000FFFF
A0 003DE350 A1 00027D17 A2 0001006A A3 0002FFA1
A4 003D8500 A5 003DE300 A6 003DE3A0 A7 003D9BE8
USP 003DA6F2 ISP 003D9BE8 SFC 00000000 DFC 00000000
CACR 00003010 VBR 00000000 CAAR 00000000 MSP 00000000
T=00 S=1 M=0 X=0 N=0 Z=0 V=0 C=0 IMASK=3 STP=0
0: 7FFF-7FFFFFFF-FFFFF800 +nan 7FFF-7FFFFFFF-FFFFF800 +nan
2: 7FFF-7FFFFFFF-FFFFF800 +nan 7FFF-7FFFFFFF-FFFFF800 +nan
4: 7FFF-7FFFFFFF-FFFFF800 +nan 7FFF-7FFFFFFF-FFFFF800 +nan
6: 7FFF-7FFFFFFF-FFFFF800 +nan 7FFF-7FFFFFFF-FFFFF800 +nan
FPSR: 00000000 FPCR: 00000000 FPIAR: 00e00460 N=0 Z=0 I=0 NAN=0
SRP: 0 CRP: 8000000200000700
TT0: 017E8107 TT1: 807E8507 TC: 80F04445
Prefetch 0000f3c0 00000003 (1) 0681 (1) 0000 (1) 0003 (1)
0000F3BC 836d 00a0 OR.W D1,(A5, $00a0) == $003de3a0 [80c0]
Next PC: 0000f3c0
CPU=$f3be, VBL=1837, FrameCycles=256659, HBL=252, LineCycles=627, DSP=N/A
$0000f3be : 00a0 836d 00a2 ori.l #$836d00a2,-(a0)
... but only one word was consumed, PC is set to f3be, and then decodes from there instead ...