Jump to content
IGNORED

TIA Audio Question


JetSetIlly

Recommended Posts

I'm hoping someone can help me with the Audio implementation in Gopher2600. It's mostly okay (correct) but there are a couple of things which don't work correctly.

 

I've implemented the volume mixing as described in the document "TIA Sounding Off in the Digital Domain" by @Crispy and to my ears that correctly implements the MsPacMan music distortion (I've attached a WAV file) mspacman.wav

 

On its own however, this doesn't fix the the ET spaceship effect et.wav or the phaser06.bin demo ROM phaser06.wav (WAV files of current Gopher2600 version)

 

My code is based on Ron Fries original TIASound.c file and the volume mixing taken from the "Digitial Domain document".

 

What am I missing or misunderstanding?

 

Link to comment
Share on other sites

1 hour ago, JetSetIlly said:

I'm hoping someone can help me with the Audio implementation in Gopher2600. It's mostly okay (correct) but there are a couple of things which don't work correctly.

 

I've implemented the volume mixing as described in the document "TIA Sounding Off in the Digital Domain" by @Crispy and to my ears that correctly implements the MsPacMan music distortion (I've attached a WAV file) mspacman.wav

 

On its own however, this doesn't fix the the ET spaceship effect et.wav or the phaser06.bin demo ROM phaser06.wav (WAV files of current Gopher2600 version)

 

My code is based on Ron Fries original TIASound.c file and the volume mixing taken from the "Digitial Domain document".

 

What am I missing or misunderstanding?

 

TIASound.c does not emulate the noise generator of the TIA, it just reproduces the patterns generated by the generators. This means that the transitions and phase of the different signal patterns are off, and you notice this most if there are pronounced interference effects between both channels. I found that AVCSTec Challenge or the Homestar Runner demo demonstrate that effect well, in addition to the ROMs you mention above.

 

Have a look at the audio implementation in Stella or 6502.ts, they are based on a C simulation of the noise generator circuit kindly provided by @Crispy, and they are much more correct. To my knowledge, the only missing detail is that volume changes are only applied when a new sample is generated (which is twice per scanline), while the change takes effect immediately on hardware.

  • Like 2
Link to comment
Share on other sites

15 hours ago, DirtyHairy said:

Have a look at the audio implementation in Stella or 6502.ts, they are based on a C simulation of the noise generator circuit kindly provided by @Crispy, and they are much more correct. To my knowledge, the only missing detail is that volume changes are only applied when a new sample is generated (which is twice per scanline), while the change takes effect immediately on hardware.

 

Thanks. I've made some progress with that.

 

Question: Why is the tone generation divided into two phases? Phase 0 at the first 114 clock and Phase 1 at the 228 clock. The results are similar (to my ear) if you run both functions every 114 clocks and create an output sample then. Is this a reflection of the hardware somehow?

 

It's okay. I see what it's doing now.

Edited by JetSetIlly
Link to comment
Share on other sites

19 hours ago, DirtyHairy said:

@CrispyTo my knowledge, the only missing detail is that volume changes are only applied when a new sample is generated (which is twice per scanline), while the change takes effect immediately on hardware.

 

Are there any example ROMs where this is particularly noticeable?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...