Welcome, Guest. Please login or register.

Author Topic: Natami and FPGAArcade  (Read 11213 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: Natami and FPGAArcade
« on: April 30, 2009, 06:04:15 AM »
Yep, what's wrong with the SID ?

I am finishing my own C64 implementation in VHDL (got the VSP and AGSP tricks working last weekend :-) ).
Do you use somebody else's SID ?

The SID is not so complex to implement compared to the VIC-II. I had quite a lot of head scratching with the filter but I figured it out now.

Regards,

Frederic
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: Natami and FPGAArcade
« Reply #1 on: May 01, 2009, 02:29:41 AM »
Hello Mike,

let me finish the testing of the SID first.
I have seen the die scans but no detailled documentation except for the analog filter.
I am thinking about implementing a pseudo stereo mode too.

I also have the VIC-1541 being implemented in VHDL but it still has some bugs (IEC lock-ups). My guess is that the 6522 or 6526 implementations are not perfect.

Regards,

Frederic
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: Natami and FPGAArcade
« Reply #2 on: May 05, 2009, 04:30:47 AM »
Hello Mike,

I have one question : what is the part number for your slide switch ?
I am using one that is rated for 500mA 6V (which is enough for my design) but the one on your board seems a lot better.

BTW, I am still working on the SID. It looks like I need to have part of the digital audio processing with signed numbers...

Regards,

Frederic
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: Natami and FPGAArcade
« Reply #3 on: May 06, 2009, 05:11:07 AM »
Quote

mikej wrote:
Yeah, it took me a while to find a suitable small switch.
It is eswitch ra tl1105-rf100q digikey EG1837-ND fits.

Thanks! I will update my PCB with it:-).

Quote

I prefer to use offset maths for DSP work, it is easier to see in the simulator.
Say your input is 8 bit 0 to 255.

This could mean the signal is -128 to 127 if the value 128 is taken as 0.

If you want to use signed numbers you can still use std_logic_vector (in VHDL) - just remember that the number is signed so invert and add one where appropriate.


In the SID, I generate the waveform with unsigned then, before multiplying it with the envelope, I flip the MSB.
Then, I mix the 3 voices (and the DC offset) together and multiply the result with the volume. Finally, I flip back the MSB to have unsigned for the 1-bit DAC.
The 1-bit DAC has a 64x oversampling (linear interpolation) and a first order sigma-delta. I will try a second order later.

Quote

It's just wires, so it's how you treat the value which matters.
/Mike
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: Natami and FPGAArcade
« Reply #4 on: May 07, 2009, 01:52:40 AM »
Quote

mikej wrote:

I had a number of email conversations with George before he died. He was very proud of his SID, and we had an agreement I could release the code when it was finished. Sadly this never happened.

This is why I never released Peter's C64 code (which was missing a SID at the time) on my website, and why I have started to look at it again for the new board.

/Mike



I have seen his website too.

Concerning the filter, the digital version of the state variable filter should be close enough.
There is a good explanation here:
http://www.earlevel.com/Digital%20Audio/StateVar.html
We certainly need some non-linearities in the feedback loop. I am thinking about using a look-up table made with a block RAM and some interpolation.

BTW, mike the part number you posted was not the slide switch next to the power connector. It is a momentary switch (for a reset button maybe ?).

Regards,

Frederic
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Natami and FPGAArcade
« Reply #5 on: May 19, 2009, 05:14:13 PM »
Quote from: FrenchShark;452768
I have seen his website too.

Concerning the filter, the digital version of the state variable filter should be close enough.
There is a good explanation here:
http://www.earlevel.com/Digital%20Audio/StateVar.html
We certainly need some non-linearities in the feedback loop. I am thinking about using a look-up table made with a block RAM and some interpolation.

BTW, mike the part number you posted was not the slide switch next to the power connector. It is a momentary switch (for a reset button maybe ?).

Regards,

Frederic
Hello,

I have my VHDL SID working now (without the filter).
The last bug was an excessive amplitude that saturated the line driver. I just divided the output by 2.
Now, I am working on the filter. It does not seem to be too complicated.
Once I am done, I post an MP3 (any SID tune preference ?).

Regards,

Frederic
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: Natami and FPGAArcade
« Reply #6 on: May 21, 2009, 05:40:24 AM »
Quote from: jensl;455298
Something from Rob Hubbard or Martin Galway (Delta or Arkanoid)

MfG

Jens


I just finished implementing the filter.
It sounds like it works !
Frequency goes from 30Hz to 12500Hz and Q factor from 0.707 to 1.707. There is no distortion in the feedback loop (yet).

I have tried Arkanoid and Great Giana Sisters with PSID64. They really sound great !

The C64 with the VIC-1541 only take 30% of my Cyclone III.

It is late, I will record the MP3 tomorrow.

Regards,

Frederic
« Last Edit: May 21, 2009, 05:44:49 AM by FrenchShark »