emufreak / iAmiga

iAmiga sources
44 stars 17 forks source link

Sound distortion when I double the speed of M68020 #66

Open mithrendal opened 7 years ago

mithrendal commented 7 years ago

I have activated the 68020 in the fame core with int prefs_cpu_model=020. According to the amiga benchmark Sysinfo Version 3.18 it gives me now about 3 times the power of a stock Amiga 1000 and approximately 1.31 the computing power of an stock A1200 with a 68EC020 14Mhz.

Everything runs quite fine especially Frontier has much better framerates. ;-)

But when I want to drive our emu like crazy and alter the clock speed for even better results for example with "mainMenu_CPU_speed=1" for 14Mhz or mainMenu_CPU_speed=2 for 28Mhz then the sound begins to stutter and plays with distortions. (Although it gives me an incredibly high score in sysinfo)

I saw that @simontoens adjusted the sound buffer length shortly after @emufreak migrated the fame core over from uae4all2. I tried some different length but did not found the correct one. Has anyone a clue why this is the case and how to adjust to the changed clock speed of the m68k ?

simontoens commented 7 years ago

@mithrendal sorry I don't know. I adjusted the sound buffer size based on experimentation way back, as you saw. Before that change, the sound was also totally distorted.

simontoens commented 7 years ago

@mithrendal I think it would still be nice if we could expose these CPU related settings officially, ie in our UI, even if we label them as "experimental" for now.

emufreak commented 7 years ago

@mithrendal Yes I agree. We'd need two settings. One for the Cpu (68000 or 68020) and one for the speed (Original or Overclock). The name Overclock itself shows that it's experimental and may cause compatibility problems. I'd also suggest a separate page in Settings for this as it gets quite crowded on the main page.

mithrendal commented 7 years ago

In order to run frontier-elite2, I have also set the chip ram to 2 Megabyte.

I also think what we need is a separate machine setting page, where we can set the size of chip memory, maybe also fast-memory, cpu-type and cpu-clockspeed.

emufreak commented 7 years ago

Yes I experimented with Chipmem and Fastmem also. Unfortunately didn't get Fastmem to work. I had no Issues with 2Mb Chipmem and Ocs however even though this configuration doesn't exist on any real Amiga.

I also think a Machines settings page would be a good Idea

mithrendal commented 7 years ago

Hi @emufreak

I have 8 MB of real Fastmem up and running parallel to the 2MB Chipram. It is easy going. You just have to specify the amount in the expansion.cpp:

static void allocate_expamem (void) { static int fastmem_size = 0x00800000; // currprefs.fastmem_size stoens: commented out when adding hd support ....

mithrendal commented 7 years ago

img_8541 img_8542