Re: DFB1 BadMooD issues
Posted: 15 Nov 2022 18:49
If the program is running from STRam, performing say, 1-3x 16bit memory fetches for every instruction, but most of those instructions are reading uncached data samples from FastRAM... it will be switching down constantly (or will be continuously locked at 16mhz, not sure?) but still trying to access FastRAM. If the instructions are reading individual bytes from FastRAM (like a string, or worse - a sound sample which can involve address skips) could something weird be happening which causes it all to run slower than it normally would from STRam only?
I don't really see how/why this would be the case, but if running instructions out of STRam causes some kind of weird additional bottleneck for FastRAM access it might cause the audio mixer to paint very slowly and produce frame overruns. But it would need to be a *lot* slower, at least 3-4x slower than normal for this to occur I think. There's plenty of CPU free normally at 16MHz for the mixer with current settings (because it has to be low-impact during gameplay).
Anyway I'll set up the 040 and see if I reproduce any of this. It does not switch down like DFB1 - but STRam is a bit slower than normal and the 040 doesn't like the way the STRam bus works in terms of cache filling and writes and so on.
I don't really see how/why this would be the case, but if running instructions out of STRam causes some kind of weird additional bottleneck for FastRAM access it might cause the audio mixer to paint very slowly and produce frame overruns. But it would need to be a *lot* slower, at least 3-4x slower than normal for this to occur I think. There's plenty of CPU free normally at 16MHz for the mixer with current settings (because it has to be low-impact during gameplay).
Anyway I'll set up the 040 and see if I reproduce any of this. It does not switch down like DFB1 - but STRam is a bit slower than normal and the 040 doesn't like the way the STRam bus works in terms of cache filling and writes and so on.