Jump to content

SID tester for MIDIbox SID?


idiotcountry2
 Share

Recommended Posts

Has anyone come up with a test routine to actually test a SID chip prior to being used in the MIDIbox SID? Would be nice to have (and probably already exists for the C64 but I wouldn't know where to look). As referenced on the HardSID page about their SID 'classes':

http://www.hardsid.com/modules.php?name=Content&pa=showpage&pid=11

Cheers,

tom

Link to comment
Share on other sites

Hmm..

I'd say that's just their "salestalk" to justify 20 euros per SID. Don't know about any C64 testing software, but it really could exist. Calling C64 freaks!?

If you know, how SID should sound and it's still in the C64.. I'd say that game music is the best way to test it out :P

Bye, Moebius

Link to comment
Share on other sites

If half of the SIDs they get their hands on are bad I would say they are sourcing production rejects.

They are sensitive devices, but no way half the ones they see are that trashed (unless they are buying from the UK ebay guy that was shipping them in non anti-stat bags..........)

Definitely sales language, otherwise they could not afford to sell them for 20 euro (considering the stated reject rate)

Best!

Smash

Link to comment
Share on other sites

It's a piece of cake to realize such a SID test software with the C wrapper of MIOS, even if the SID is not directly connected to the core:


/////////////////////////////////////////////////////////////////////////////
// This function is called by MIOS when an button has been toggled
// pin_value is 1 when button released, and 0 when button pressed
/////////////////////////////////////////////////////////////////////////////
void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value)
{
  // do nothing if button has been released (pin_value == 1)
  if( pin_value )
      return;

  // clear screen
  MIOS_LCD_Clear();

  // print header at upper line
  MIOS_LCD_CursorSet(0x00);
  MIOS_LCD_PrintCString("SID test finished.");

  // print SID class at lower line
  MIOS_LCD_CursorSet(0x40);
  switch( TestSID() ) // returns the quality class
  {
      case 2:
        MIOS_LCD_PrintCString("Quality: Class III :-/");
break;
      case 1:
        MIOS_LCD_PrintCString("Quality: Class II -> $ -> :-)");
break;
      case 0:
        MIOS_LCD_PrintCString("Quality: Class I -> $$$ -> :-D");
break;
      default:
        MIOS_LCD_PrintCString("Quality: Class IV :-( Press Button again!");
break;
  }
}


/////////////////////////////////////////////////////////////////////////////
// This function returns the quality class of the SID
// Just hold it near to Port J5 (the ADC inputs)
// Note: the inputs should NOT be connected to any voltage source and
// should especially not be grounded!!!
/////////////////////////////////////////////////////////////////////////////
char TestSID()
{
  return (MIOS_AIN_PinLSBGet(0) +
          MIOS_AIN_PinLSBGet(1) +
          MIOS_AIN_PinLSBGet(2) +
          MIOS_AIN_PinLSBGet(3) +
          MIOS_AIN_PinLSBGet(4) +
          MIOS_AIN_PinLSBGet(5) +
          MIOS_AIN_PinLSBGet(6) +
          MIOS_AIN_PinLSBGet(7) ) & 0x03;
}
[/code]

Best Regards, Thorsten.

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.

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...
 Share

×
×
  • Create New...