====== MIDIbox VGM Player ====== This small synth is a demo of the [[MBHP_Genesis]] module ([[http://midiboxshop.bigcartel.com/product/midibox-quad-genesis-board|available now from the MIDIbox Shop!]]). ===== Hardware Features ===== * Supports one to four [[MBHP_Genesis]] modules, allowing the user to play that number of VGM files simultaneously (one on each board) * OPN2: supports YM2612 and YM3438 * PSG: supports SN76489 and SN76496 directly, SN76494 with external clock generator * Simple front panel interface * Entire synth can be powered from USB ===== VGM Playback Engine Features ===== * Stream VGM data from SD card; supports Sega Genesis / Mega Drive, Sega Master System, Sega Game Gear, and any other VGM file that includes a YM2612 or SN76489 * Advanced multithreaded system for optimal performance * Corrects OPN2 frequency commands in real time (hardware OPN2 clocked at 8 MHz rather than 7.67 MHz) * Corrects PSG noise zero frequency issue to match Sega Genesis embedded PSG behavior * Supports block and embedded samples * Seamless VGM looping * Simple API--project is contained in one short app.c file ====== Construction ====== You need: * STM32F4 core with SD card * 2x20 or larger character LCD * Small custom front panel board with 1 encoder and 6 buttons (see below) * One to four [[MBHP_Genesis]] modules * One [[MBHP_Genesis_LS]] level shifter board ===== Front panel board ===== The front panel board has a single 74HC165 DIN shift register, with the following connections: * Pin 0: Encoder A * Pin 1: Encoder B * Pin 2: Enter button (currently "Play") * Pin 3: Menu/Back button (currently "Stop") * Pin 4: Softkey 1 * Pin 5: Softkey 2 * Pin 6: Softkey 3 * Pin 7: Softkey 4 The other sides of each of the buttons, as well as the encoder's common pin, are grounded. The four softkeys each correspond to five characters on the LCD display's bottom row. ====== Software ====== An [[http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fsynthesizers%2Fmidibox_vgmplayer%2F|official build]] is available now on SVN! Report bugs to me [[http://midibox.org/forums/topic/20030-midibox-vgm-player/|on the forums]]. ====== Usage ====== Connect an SD card with several VGM files in the root directory before powering on the synth. It is recommended to rename them to file names 8 characters or less, or else the names will use MS-DOS syntax on the screen and be hard to read. Select the MBHP_Genesis board to play the VGM file on with the softkeys. Select the file with the encoder. Press Enter to play the VGM file or to stop the current one and start the selected one. Press Menu/Back to stop playing the current VGM file.