Sound Problems

Some of you who have used SpeccyDS 0.1a may have noticed a problem with the sound.

Occasionally, a small scratch or pop will be played.  You can hear it when the Spectrum is playing a fixed tone, such as the BEEP command, or during the lose-a-life music in Chuckie Egg.

I knew what was causing the problem, the ARM9 processor (which runs the emulation) was feeding too much data to the ARM7 processor (which plays the sound), but couldn’t originally get the two processors to synchronise correctly.

I had another look at it last night.  I scrapped the original timing code on the ARM9 and replicated it with the timings on the ARM7 to make sure they are running at exactly the same frequency.

This seems to have fixed it.  The BEEP command sounds much better and plays a nice constant tone.  I quickly played a few levels of Chuckie Egg and didn’t notice any more problems.  It also means SpeccyDS runs at a more accurate speed than before (it was running slightly too quickly in v0.1a).

Advertisements

7 comments so far

  1. Kenty on

    Those are very nice improvements for SpeccyDS. Unfortunately I couldn’t hear the cracking on my G6 Lite because SpeccyDS doesn’t run on it at all. Are there any news concerning G6 Lite compatibility?

    Even if not: Keep on the good work and Thanks!

  2. Charlie on

    Cheers on the news and look forward
    to a new release!

  3. Arm73 on

    Exellent job, I know that this wasn’t an easy task to fix, the problem of the sincronization between arm 7 and arm 9 is a well known issue in several projects, but you seem to have it creacked all on your own !
    Can’t wait to try the next release.
    🙂

  4. Compiler on

    First of all, I apologize for my poor english (I’m Spanish and I don’t speak/write english in a regular basis).

    And… finally… Thanks a lot for your job 🙂

    Why don’t you consider using the z80 emulation core for any GPL emulator? Or, at least, compare all the opcodes of your emulation-code with the source code of any other emulator, just to find if all your instruction cycles or the emulation itself of the opcodes are right.

    When I programmed “ASPECTRUM” (my pure-C portable Spectrum emulator (*)) I took a look to FUSE, Marat Faizullin’s z80core, and other emulators, to correct all emulation problems (those related to the z80 emulation) and currently there is no game failing under Aspectrum…

    If you want to take a look to Aspectrum and you feel that you can take WHATEVER you need from it’s code, I’ll be quite happy of helping that way 🙂

    (*) http://aspectrum.sourceforge.net/index.en.html

    As is pure C, you’ll have no problem to read the code and compare timings, microcode or whatever…

    Congratulations for SpeccyDS, I own a DS and a nice spectrum collection and I can’t wait for a PERFECT spectrum emulator 🙂

    THANKS 🙂

  5. Player 1 on

    Thanks A lot.

    I was testing the emulator last weekend ant It works GREAT!!!, and It just a Beta !!!

    Thanks again.

  6. Kasimir2007 on

    Not Perfect ! Don’t Works on my G6 lite !

  7. shayman on

    If anyones interested, I can confirm that SpeccyDS does work with the new DS-Xtreme card (once you’ve upgraded the card to firmware 1.0.2).
    And whats more it’s absolutely awesome. Fantastic piece of emulation.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: