GBADotnet icon indicating copy to clipboard operation
GBADotnet copied to clipboard

Fix zayd prefetch roms

Open DaveTCode opened this issue 2 years ago • 2 comments

prefetch-abuse-idelafter.gba image

prefetch-abuse-str.gba image

prefetch-abuse-master.gba image

Roms as used here are checked in but also in this zip prefetch-abuse.zip

No idea what this is testing but it's likely related to the missing few timing tests in #5 and possible also to the other zayd dma timings #75

DaveTCode avatar Apr 20 '22 20:04 DaveTCode

Tests here are from https://github.com/GhostRain0/PrefetchAbuse

DaveTCode avatar Apr 20 '22 20:04 DaveTCode

Each column in the test refers to a different wait state configuration:

Column WaitState Region 0 Region 1 Region 2
1 0x4000 4,2 4,4 4,8
2 0x4010 4,1 4,4 4,8
3 0x4004 3,2 4,4 4,8
4 0x4014 3,1 4,4 4,8

Except in the prefetch-abuse-str case I only fail timings on colums 2 and 3, so wait states with 1 cycle for seq access to region 0. I then only fail those in 2 rows (4 & 7).

The rows here refer to the number of idle states before the test is executed (caused by mul spam). Row 4 is "IDLES_VERYLONG" which is mul r3, r8, r11 where r11 is 0xAAAAAAAA. Row 7 is mul r3, r8, r11 followed by mul r3, r8, r10.

These are just statements rather than any judgement on what's happening.

Also none of this is about why the str case fails so badly across the board. I think that might be something to do with wait states for str to ROM space whilst bus is in use by prefetch

DaveTCode avatar Apr 20 '22 20:04 DaveTCode