NES Catridge Music Player

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
NES Catridge Music Player
by on (#41754)
Hi everyone,

I'm new on the board here, and I searched around quite a bit to see if anyone had asked about this before. Hopefully I'm not repeating some old thread here though. I'm curious if anyone has looked into making a hardware device that would load and play just the music from an NES cartridge. I've found a schematic for the audio path after it leaves the main processor, but nothing on building just a music player. I'm also aware of being able to use a NOAC, but with them being so hard to track down I was hoping to build something small out of other parts.

Thanks!
Re: NES Catridge Music Player
by on (#41757)
yamtempura wrote:
I'm also aware of being able to use a NOAC, but with them being so hard to track down I was hoping to build something small out of other parts.

I wouldn't use a NOAC for something like this. If I'm not mistaken, the vast majority (if not all) of them have the duty cycles for the square channels swapped, so all music and sound effects will sound wrong.

by on (#41772)
I'm sorta trying to design an nsf player....dont get your hopes up. I might never finish.

by on (#41795)
NSF players seem pretty cool, but I was really interested in the idea of a cartridge reader-type player to play the music directly from the cart. I've read in a few places that the sound will come out wonky on most NOACs as well, but in reality for the project I'm thinking about it's not that important if the music is 100% right. Even if it were possible to use parts from the original NES board and just make a Sound-only type of circuit that would be much smaller than the footprint of the whole circuit, that would work really well with what I was thinking.

Thanks for the input!

by on (#41797)
Well I remember seeing a fami cart that plays nsf's not sure what happend to that. Powerpak also plays nsf's but doesnt work on some clones.

by on (#41804)
yamtempura wrote:
NSF players seem pretty cool, but I was really interested in the idea of a cartridge reader-type player to play the music directly from the cart.

I don't see how that would work, since you need to manually rip the music data from a ROM in order to play it. It's rarely ever in a standard location or format (depends on the company or programmer), and if the cart uses a mapper, you need to know how to manipulate it to load the correct ROM bank(s). On top of all that, a lot of NSFs need to be patched or hand-tweaked to play properly, due to the absence of other hardware and/or game code.

If you were really technologically inclined (i.e. kevtris), you could probably have the device use an internal list of ROM CRCs to identify the loaded cart, and then apply the appropriate bankswitching code, patches, etc...but why do all that when you can just load a pre-formatted NSF file from Flash media?

by on (#41806)
BMF54123 wrote:
If you were really technologically inclined (i.e. kevtris), you could probably have the device use an internal list of ROM CRCs to identify the loaded cart, and then apply the appropriate bankswitching code, patches, etc...but why do all that when you can just load a pre-formatted NSF file from Flash media?

Because some game publisher might crack down on distribution of NSF files over the Internet in the same way that some members of the IFPI have cracked down on distribution of MP3 files.

by on (#41818)
tepples wrote:
BMF54123 wrote:
If you were really technologically inclined (i.e. kevtris), you could probably have the device use an internal list of ROM CRCs to identify the loaded cart, and then apply the appropriate bankswitching code, patches, etc...but why do all that when you can just load a pre-formatted NSF file from Flash media?

Because some game publisher might crack down on distribution of NSF files over the Internet in the same way that some members of the IFPI have cracked down on distribution of MP3 files.


Uh, I'm pretty sure any game company worth their salt would probably go after the ROMs first instead of the NSFs if they were dumb enough to go after ROMs in the first place, but then again this is Tepples

by on (#41840)
The PowerPak has a great, working NSF player. If that doesn't fill your need, then what specifically are you looking for in an NSF-playing cartridge?

by on (#41845)
Xkeeper wrote:
Uh, I'm pretty sure any game company worth their salt would probably go after the ROMs first instead of the NSFs if they were dumb enough to go after ROMs in the first place, but then again this is Tepples

I thought you were Xkeeper. Anyway, Tepples said that they might crack down on NSF files (since they are similar to mp3s), not that they would necessarily go after NSF files before ROM files. What was so bothersome about Tepples' statement of possibility, anyway?

by on (#41847)
Here's short descriptions of the 2 NSF players I've built that are hardware dependent.

First one was a hack of Festalon's winamp plugin, which outputs the sound registers to the serial port on each access, and that gets read off NES controller port and put to the sound registers in realtime. Naturally this doesn't work for DPCM (though it could with a RAM cart).

Second one worked on Squeedo, over the serial port you can do an XMODEM upload of an NSF and it loads it into FlashROM and plays it there (and of course retains it in memory).

First method is a super cheap hack, the 2nd is just a natural use of my Squeedo cartridge, but both of them require little more than hitting a couple keys on the PC to start playing.

I doubt that info is useful, but maybe interesting to someone.

by on (#41871)
Hehe. Must say I like it. I bet method 1 didnt have bankswitching though.

by on (#41876)
Jeroen wrote:
Hehe. Must say I like it. I bet method 1 didnt have bankswitching though.


It didn't need it actually, since everything (except the sound output) was emulated by the winamp plugin. Theoretically that could have been hacked into a full emulator, and used the real NES for sound even for games (would be kinda silly though).

by on (#41878)
Oh man THAT is clever :-)

by on (#41898)
blargg wrote:
I thought you were Xkeeper.

Yeah, that name by the side of the post makes it pretty obvious.