Jump to content

Sauraen
 Share

Recommended Posts

6 hours ago, Altitude said:

oh hell no. 

What's a-matter, you... chicken...? :wink:

Not sure if this will make you feel any better, but it only took me about 20 hours to assemble and bring up the front panel board.

If (when?) I sell these boards, I will also offer a matching aluminum front panel for about $300 and a matching set of 3D printed transparent buttons and LED pipes for about $30. But I will not sell them until the MIDIbox Quad Genesis firmware is significantly usable (won't say "done"), which won't be for a few months.

6 hours ago, yogi said:

And I've noticed your uploads to the SVN

Due to my schedule of having to get this hardware done by next week, the only software I've been writing is test programs for various functions (though this also includes ironing out the last of the bugs in the MBHP_Genesis module driver and the VGM-streaming-from-SD-card engine). I will be gone for a couple weeks (next week I'm presenting this hardware, as well as MIDIbox FM V2.1, at a panel at MAGFest with Josh Whelchel, my client; and then the week after that I have a graduate school event). After that, I expect it to take me a week or so to get my copy of MIDIbox Quad Genesis up to the same state as this one (this one's for Josh Whelchel). And then, finally, I will modify and clean up my code into the two apps I promised: MIDIbox Genesis Tracker and MIDIbox VGM Player. The former will have no synth engine and just control sound chip parameters directly via MIDI, and the second will have the VGM player and a small LCD+DIN+DOUT interface. So this means code that anyone can use with the MBHP_Genesis module should be going up in about a month from now (middle of March). Sorry it can't be sooner, the client comes first!

1 hour ago, Phatline said:

YEAAAAH!

It's much more impressive when the lights are off--it lights up the room quite nicely. :happy: This was taken in a bright room (midday while it was snowy outside).

Edited by Sauraen
Link to comment
Share on other sites

9 hours ago, Sauraen said:

What's a-matter, you... chicken...? :wink:

 

Heh, no. Sign me up.  Been assembling parts for this since you announced it

 

Been living in the states too long,  "oh hell no" is a positive reaction to something

 

If you do proceed with releasing/group buy/sharing files etc. might I recommend using dual/tri footprints for the tacts like Smash's sequencer boards to future proof it

Edited by Altitude
Link to comment
Share on other sites

3 hours ago, Altitude said:

Been living in the states too long,  "oh hell no" is a positive reaction to something

I live in the US as well, and I've heard many "reverse" expressions like that, but never that one.

3 hours ago, Altitude said:

If you do proceed with releasing/group buy/sharing files etc. might I recommend using dual/tri footprints for the tacts like Smash's sequencer boards to future proof it

I thought about that, but there's two reasons I didn't do that.

  1. There's no room on the board for larger tact switches--they'd intersect with the LEDs.
  2. In order for the tact switches to work properly with the LEDs and the 3D printed button caps, they have to be 5mm high and positioned right where they are. Fortunately this is a very standard type of tact switches.

The LEDs are a bigger concern in terms of availability. Ultra-high brightness LEDs are required to illuminate the transparent button caps and LED pipes. The board contains about $150 worth of LEDs.

Link to comment
Share on other sites

  • 2 weeks later...

Thanks everyone! As I said before, more information and first versions of complete code for the simple applications should be coming out in about a month.

On 2/22/2016 at 0:27 PM, Hawkeye said:

This must be one of the most flashy MIDIboxes evar! :-)

Nah, that award goes to Ander's Station controller. I won't ever be able to top that.

 

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

 

MIDIbox Quad Genesis Unit 01 (the second one) is mostly completed, there's a couple minor issues with the front panel that I'm ignoring for now, but it's working fine for testing VGM-related things.

I've converted the VGM playback code I used in the test application into a proper module driver, and I'm in the process of making it more powerful and adding features to it so that it can be the basis of all three MIDIbox Genesis projects. I've changed some of the data structures around and have moved all the SD card reading off the sound chip ISR to a separate thread. Very soon I should be implementing the advanced task switching algorithm TK and I have been discussing, enabling even higher performance out of the VGM playback engine. I can't promise anything quite yet, but I hope to have a video within a week or so of streaming several VGM files at once, one to each of the MBHP_Genesis boards.

In conjunction with that, I'm working with what will be MIDIbox VGM Player. So that those who are curious can get started on hardware, it consists of:

  • MBHP_CORE_STM32F4 with SD card
  • No MIDI I/O required (besides that necessary to upload code, i.e. USB MIDI)
  • One or more MBHP_Genesis modules attached to the core via MBHP_Genesis_LS level shifter
  • 2x16 or larger character LCD
  • Mini "front panel", consisting of one 74HC165 connected to DIN with the following connected to it:
    • 0: encoder A
    • 1: encoder B
    • 2: button "Enter"
    • 3: button "Menu/Back"
    • 4: button "Softkey 1"
    • 5: button "Softkey 2"
    • 6: button "Softkey 3"
    • 7: button "Softkey 4"

It'll just play VGM files in the root directory of the SD card, with some options. Assuming I get this working, it will support playing multiple VGM files at the same time on multiple boards if you have them connected.

Link to comment
Share on other sites

large.56f4af58ab4d9_MBQGUnit01VGMprogres

MIDIbox Quad Genesis Unit 01 (the second one) is mostly completed, there's a couple minor issues with the front panel that I'm ignoring for now, but it's working fine for testing VGM-related things.

I've converted the VGM playback code I used in the test application into a proper module driver, and I'm in the process of making it more powerful and adding features to it so that it can be the basis of all three MIDIbox Genesis projects. I've changed some of the data structures around and have moved all the SD card reading off the sound chip ISR to a separate thread. Very soon I should be implementing the advanced task switching algorithm TK and I have been discussing, enabling even higher performance out of the VGM playback engine. I can't promise anything quite yet, but I hope to have a video within a week or so of streaming several VGM files at once, one to each of the MBHP_Genesis boards.

In conjunction with that, I'm working with what will be MIDIbox VGM Player. So that those who are curious can get started on hardware, it consists of:

  • MBHP_CORE_STM32F4 with SD card
  • No MIDI I/O required (besides that necessary to upload code, i.e. USB MIDI)
  • One or more MBHP_Genesis modules attached to the core via MBHP_Genesis_LS level shifter
  • 2x16 or larger character LCD
  • Mini "front panel", consisting of one 74HC165 connected to DIN with the following connected to it:
    • 0: encoder A
    • 1: encoder B
    • 2: button "Enter"
    • 3: button "Menu/Back"
    • 4: button "Softkey 1"
    • 5: button "Softkey 2"
    • 6: button "Softkey 3"
    • 7: button "Softkey 4"

It'll just play VGM files in the root directory of the SD card, with some options. Assuming I get this working, it will support playing multiple VGM files at the same time on multiple boards if you have them connected.

Edited by Sauraen
Link to comment
Share on other sites

Very well done. VGM support is huge, not just for playback of existing game files but also for new arrangements  composed on cross platform tools like Deflemask and VGM Music Maker. And Yes one could use flash carts for VGMs on original consoles but the functionality you've added is very useful even now with your first release :)

Yogi

Link to comment
Share on other sites

  • 1 month later...

Thanks everyone! Now I'm getting down to programming the actual functional modes.

Regarding MIDIbox Genesis Tracker, the idea was that it would be a GENMDM-compatible backend that you could stream MIDI commands into to play the sound chips (like the GENMDM cartridge for the actual Genesis). The code for this is actually written and partially tested. However, I actually don't know anything about Genesis trackers and other PC software, so I don't know what software would be used to play into GENMDM or MIDIbox Genesis Tracker. I also don't know where to find GENMDM-compatible MIDI files that I could play into the synth. Anyone know about this?

Link to comment
Share on other sites

11 hours ago, Sauraen said:

Thanks everyone! Now I'm getting down to programming the actual functional modes.

Regarding MIDIbox Genesis Tracker, the idea was that it would be a GENMDM-compatible backend that you could stream MIDI commands into to play the sound chips (like the GENMDM cartridge for the actual Genesis). The code for this is actually written and partially tested. However, I actually don't know anything about Genesis trackers and other PC software, so I don't know what software would be used to play into GENMDM or MIDIbox Genesis Tracker. I also don't know where to find GENMDM-compatible MIDI files that I could play into the synth. Anyone know about this?

For Littlescales' GenMDM the best cross platform tool would be Aly James' FMDrive VST, though not a tracker it could be used with any DAW, such as Renoise, or as a standalone GUI. It simplifies the use and creation of instruments and with multiple instances may support a number of YMs. FMDrive is for just the YM chip but there is also a PSG VST that could be used alongside it for full Saga support.

http://www.alyjameslab.com/alyjameslabfmdrive.html

  The downside is it is Win only, but works under Wine I think. He has a Controller only version that doesn't load the synth engine, which would be great for the MB Quad Genesis. He may be open to the idea of expanding support, time permitting. 

Also Littlescale has a set of Max4Live patches supporting the GenMDM for Ableton Live users. They look pretty useful but I don't have Live so...

As to other tools, most current Sega trackers like Deflemask, will output a native ROM or a VGM file but not direct control via midi. There are of course native sound engines and tools for building ROMs but little use here.

Yogi

 

Link to comment
Share on other sites

On 5/9/2016 at 7:29 AM, Psykhaze said:

@Sauraen Juce API www.juce.org is really nice about handling MIDI. Maybe with  http://www.vgmusic.com/ you could find your midi files?
Regards,
JK

Oh, I know all about JUCE, and I used to be an arranger for vgmusic. But all the MIDI files I've seen there are intended for playback on computer MIDI synths (MSGS Wavetable SW Synth), not on custom hardware. A GenMDM-compatible MIDI would completely not work or sound terrible on a normal MIDI synth, and vice versa.

19 hours ago, yogi said:

For Littlescales' GenMDM the best cross platform tool would be Aly James' FMDrive VST, though not a tracker it could be used with any DAW, such as Renoise, or as a standalone GUI. It simplifies the use and creation of instruments and with multiple instances may support a number of YMs. FMDrive is for just the YM chip but there is also a PSG VST that could be used alongside it for full Saga support.

http://www.alyjameslab.com/alyjameslabfmdrive.html

  The downside is it is Win only, but works under Wine I think. He has a Controller only version that doesn't load the synth engine, which would be great for the MB Quad Genesis. He may be open to the idea of expanding support, time permitting. 

Also Littlescale has a set of Max4Live patches supporting the GenMDM for Ableton Live users. They look pretty useful but I don't have Live so...

As to other tools, most current Sega trackers like Deflemask, will output a native ROM or a VGM file but not direct control via midi. There are of course native sound engines and tools for building ROMs but little use here.

Yogi

 

I knew about this VST, though I didn't know it was GenMDM compatible. I'm more looking for a set of MIDI files that use this standard, so I can play them into the synth and make sure all the commands are working. The GenMDM spec isn't exactly clear on a few points. Maybe I should contact Aly James or Littlescale directly?

Link to comment
Share on other sites

Littlescale may be a little hard to get ahold of but his facebook page is most likely. I sent Aly an email inviting him into this thread. I had talked with him a long while ago about a simular (arduino base board) subject; at that time he was interested but busy with other projects. He does have a wealth of ref material on alyjameslab.com in the DL section. 

http://www.alyjameslab.com/download.html#collapseOne

I'll see if I can find a GenMDM test file for you, do you have Ableton Max4live? Other DAW?

yogi

Link to comment
Share on other sites

That would be great, if you can get me in contact with either of them privately also.

I use REAPER, sorry no Ableton/Max.

From looking at the docs it seems that GenMDM was buggy and never fully supported... ouch. My implementation may end up varying in small details in order to be more consistent/correct. Also, since I've been part of the effort to fully reverse-engineer the YM2612, I've become a bit of a snob about emulation accuracy, especially since some of the undocumented features are used in MIDIbox Quad Genesis. It looks like Aly has a handle on some of these features, e.g. CSM mode, but I'm not sure whether to trust his implementation of SSG illegal modes or the test bits.

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