Wednesday, December 05, 2012

NTSC-default SMSM Interface Modification

By default, the SMSM interface is a PAL-based interface. That is to say, all of the tuning values that are used to generate frequencies are based on the oscillation frequencies found in PAL-territory consoles.

If you live in an NTSC territory or are using an NTSC-based SEGA Master System console, you would normally have to write MIDI data on MIDI CC #83 to a value above 64 on a channel between 1 and 4. You would need to write this value every time you start the SMSM interface.

If you would like to have your SMSM interface default to NTSC tuning as opposed to PAL tuning upon startup / restart, please follow these instructions.

1. Build a complete SMSM interface, as shown in the original SMSM tutorial.
2) Open the SMSM firmware in the Arduino IDE. Search for "pitchTableOffset".

3) Change "int pitchTableOffset = 0" to "int pitchTableOffset = 83". Save and upload your code to the Arduino board.

Now, every time you start your SMSM interface, it will be NTSC-based by default!