GTMP3 - GTROM variant with MP3 sound expansion

The Membler Industries, Strangulation Games, and Strangulation Records forum.

Moderator: Moderators

Post Reply
User avatar
Memblers
Site Admin
Posts: 3770
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

GTMP3 - GTROM variant with MP3 sound expansion

Post by Memblers » Tue Oct 29, 2019 12:58 am

GTMP3 is now available, contact me or Beau (Sole Goose Productions) if you'd like to get a dev cart. Based on GTROM, one of the two LEDs was removed and replaced with an MP3 player. MP3 files are played from the microSD card. Unfortunately, the NES can't read data from the memory card, only the MP3 chip can.
GTMP3.jpg
The first release to use this this board is an album release by the metalcore band Zao.
https://www.facebook.com/ZAO.Official/p ... =3&theater
https://twitter.com/OfficialZao/status/ ... 5203338240

With how long I've been wanting to make an NES cart with expansion audio hardware, starting with Squeedo 15 years ago where I had a PIC18F running a 4 channel wavetable, then later experiments with PIC32MZ, and now more migrating towards FPGA stuff, it's a little embarrassing that I end up with my first expansion audio cart being 'simply' an MP3/WAV player. It can just sound like anything, but without the dynamic controls of a synthesizer obviously. But it's relatively cheap, practical, connects right up to one of GTROM's expansion outputs (normally are LEDs). The first production run has already been done, it was a smaller batch of 300 though. The price could get lower if we can get into making a larger quantity, don't know if that will be possible, but we'll see.

(as of Oct 29 2019) quantity pricing is $17 each, 512MB microSD included.

10-30-19 edit: updated document (PDF version is outdated):
https://docs.google.com/document/d/108L ... sp=sharing
Attachments
GTMP3.pdf
board documentation
(263.73 KiB) Downloaded 103 times

lidnariq
Posts: 8795
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: GTMP3 - GTROM variant with MP3 sound expansion

Post by lidnariq » Tue Oct 29, 2019 10:19 am

I don't think I see a 3V regulator. Does the MP3 player IC provide one for the SD card? or did you find an SD card that can safely operate off 5V?

tepples
Posts: 21756
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: GTMP3 - GTROM variant with MP3 sound expansion

Post by tepples » Tue Oct 29, 2019 10:36 am

That 1% clock variance and open-loop operation (without audio position feedback) might cause problems when syncing visuals, such as animation in cut scenes, to music. Don't expect anything like Dance Dance Revolution to be possible with this mapper.

calima
Posts: 1022
Joined: Tue Oct 06, 2015 10:16 am

Re: GTMP3 - GTROM variant with MP3 sound expansion

Post by calima » Tue Oct 29, 2019 11:30 am

So just checking, to actually hear it on a NES you need one of those thingies for the bottom expansion port right?

User avatar
Memblers
Site Admin
Posts: 3770
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: GTMP3 - GTROM variant with MP3 sound expansion

Post by Memblers » Tue Oct 29, 2019 4:05 pm

lidnariq wrote:I don't think I see a 3V regulator. Does the MP3 player IC provide one for the SD card? or did you find an SD card that can safely operate off 5V?
Yeah, the MP3 IC includes a regulator. There's a lot of stuff in there! 16-bit MCU, DSP, DAC, regulator, oscillator, USB host interface (for USB drive), speaker amplifier, headphone out (what the cart uses, mixing the 2 channels together). It's a YX5200, and all the docs are in Chinese.
tepples wrote:That 1% clock variance and open-loop operation (without audio position feedback) might cause problems when syncing visuals, such as animation in cut scenes, to music. Don't expect anything like Dance Dance Revolution to be possible with this mapper.
The datasheet doesn't really say, but I suspect each one may have been calibrated to be nominal at room temperature. If that was true, I think the extreme ends of that variance would only happen at extreme ambient temperatures. We do know it's supposed to be accurate enough to work as a USB host, which I think is 0.5% (but it might calibrate itself from the USB device, that's possible). I didn't measure it, but one test I ran, triggering the same file on my PC had them out of sync by something like 150~250ms by the time it reached the end of an ~5 minute song. So yeah I agree, longer cut scenes would be problematic (unless it's about thunder and lightning effects, then it's all good :lol:), and stuff that requires absolutely perfect sync over a long period is simply impossible.
calima wrote:So just checking, to actually hear it on a NES you need one of those thingies for the bottom expansion port right?
Yeah, it uses the audio expansion jumper by INL. He has 2 models, one has a volume control pot (and switch to select fixed/variable), and a nice 3d-printed cover. The other is just simply a little board with resistor and 2 pins, it's pretty much cheap enough to include with every cart.

User avatar
Memblers
Site Admin
Posts: 3770
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: GTMP3 - GTROM variant with MP3 sound expansion

Post by Memblers » Wed Oct 30, 2019 1:51 am

There is an example program here:
https://github.com/Memblers/mp3player
I've attached it to the post if you want check it out (obviously with no audio). It's mapper #2, for testing purposes in 8bitworkshop.

I have written a guide about how to mass-import MP3 files into my "MI Media Player" program:
https://docs.google.com/document/d/1yGJ ... sp=sharing
Attachments
mp3player.c(79).rom.nes
(128.02 KiB) Downloaded 95 times

lidnariq
Posts: 8795
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: GTMP3 - GTROM variant with MP3 sound expansion

Post by lidnariq » Wed Oct 30, 2019 10:05 am

; 186.434 cycles/bit
Hm. The YX5200's data sheet is really insistent that one can change it to faster than 9600 baud, but having read through it now, no-where does it say how.

Kinda funny to come full circle from all of the earlier bit-banged asynchronous serial projects to using same to communicate to a peripheral on the cartridge.

Also funny that it seems to be interfacing to the SD card in SPI mode, not any of the wider faster licensing-required modes. ... er, I guess that makes it "obvious" instead of "funny" :/

Post Reply