Recording some old sounds from a real NES (PAL)

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Recording some old sounds from a real NES (PAL)
by on (#91328)
I'm planning on buying a NES console and some sort of development flash cart to put the binary files on it.

Does anyone know of a good and cheap one (tested, no guessing please)? It should be compatible with Windows 7 64 bit.

I would like to have some sounds recorded from the real console.

Thanks!

/Alberto

by on (#91331)
Quote:
Does anyone know of a good and cheap one (tested, no guessing please)? It should be compatible with Windows 7 64 bit.


You're talking about the flashcart and not the console I assume? The PowerPak is the only ready-to-use NES flash cart that I know of. It's compatible with any OS/computer that supports copying files to a CompactFlash card (the PowerPak itself doesn't connect to the computer). I don't know if you would consider $135 cheap, but for that price you have a pre-assembled cart that support the majority of mappers.

by on (#91391)
Thank you mic_. I had a look at that one but found it expensive. I suppose it's not for what it does, but since it's only for saving some sounds...

Thanks again.

Cheers,
Alberto

by on (#91397)
As far as I know, the PowerPak doesn't have any competitors yet. The problem with NES Flash carts is that they have to be highly configurable, because of all the different mappers and boards that exist.

You can easily make cheap dev carts from original carts (just replace the original ROMs with Flash ROMs or sockets), but you'd still need an EPROM programmer or a CopyNES to program the chips, which are not cheap.

It seems there's no cheap way to run software on the NES. You could maybe make a simple Flash cart from an original cart using the mapper you need and reprogram it through the controller port (using a cable that connects to the PC), but you'd still need someone to program a boot ROM for you.

I don't remember what the status on the controller port cable is, but I remember some members here were creating something like that.

by on (#91424)
tokumaru wrote:
I don't remember what the status on the controller port cable is, but I remember some members here were creating something like that.

It seems that that project has been dead for quite a while now (source: http://chipmusic.org/forums/topic/2004/blargg-bootstrap-usb-cartridge-famicom-prototype-beta-1-built/page/23/). Very unfortunate.

by on (#91437)
Wouldn't it be possible to use something simpler to transfer data to the NES? I mean, the second Famicom controller has a microphone that can be used for input, so couldn't we just make a controller cable that connects to the audio output of a PC and transfer the data encoded as audio?

This would make the PC software much simpler, as it wouldn't have to monkey around with real-time communication, it would basically just generate a WAV file.

by on (#91454)
That depends on whether the mic is a level detector (like the DK Bongos for GameCube) or can actually pick up audio (like the mic in the DS). If I had a Famicom, I'd make an oscilloscope demo to test this hypothesis. Besides, even if it can pick up audio, good luck fitting demodulation and error correction into 1.8 MHz. And there'd still need to be some sort of solution for 72-pin consoles so that a 72-pin cart can be programmed.

by on (#91489)
tokumaru wrote:
Wouldn't it be possible to use something simpler to transfer data to the NES? I mean, the second Famicom controller has a microphone that can be used for input, so couldn't we just make a controller cable that connects to the audio output of a PC and transfer the data encoded as audio?

This would make the PC software much simpler, as it wouldn't have to monkey around with real-time communication, it would basically just generate a WAV file.


Interesting concept! it's just how the old computers worked with tapes. But the transfers would be painfully slow.

by on (#91490)
AlbertoG wrote:
Interesting concept! it's just how the old computers worked with tapes. But the transfers would be painfully slow.

Yeah, it's basically the opposite of TapeDump. If the audio output of the NES can be used to transfer data, it would make sense that audio input (such as the Famicom microphone) could be used for the same purpose.

tepples wrote:
That depends on whether the mic is a level detector (like the DK Bongos for GameCube) or can actually pick up audio (like the mic in the DS). If I had a Famicom, I'd make an oscilloscope demo to test this hypothesis. Besides, even if it can pick up audio, good luck fitting demodulation and error correction into 1.8 MHz. And there'd still need to be some sort of solution for 72-pin consoles so that a 72-pin cart can be programmed.

I'm not suggesting that an actual Famicom with microphone be used. My suggestion is to mimic the way the microphone is connected on the Famicom (which is the part I'm not sure is possible... I couldn't find any schematics), but instead of a microphone picking up sounds in the air the audio would be directly fed from the output of a PC (or MP3 player, CD player, whatever).

I'm not sure how much of the sound ultimately reaches the Famicom/NES, but an input is an input, and I'm sure that we can design an audio format that is appropriate. Some volume calibration might be necessary before the actual data transfer.

Does anyone know how the Famicom microphone works? I mean, how is it connected electronically?

by on (#91497)
There is a shematic on the main nesdev page.
The microphone simply gives '0' or '1's through controller #2 port.

To transfer data as audio you'd have to toggle between 2 frequencies (one for '1' and the other for '0') and detect the length between 2 phase changes on the mic. If it's a "long" one, then a '1', if it's a short one then a '0' (or the other way arround).

That's how C64 tapes works, at least.

by on (#91500)
tokumaru wrote:
This would make the PC software much simpler, as it wouldn't have to monkey around with real-time communication, it would basically just generate a WAV file.

PC software doesn't have to be very complicated even when using a serial cable, especially if blargg's NRPC library is used. It was never officially released, but one version is included in the source of PC2NES. NRPC basically just takes a list of commands that we want to run on the NES (it can be stuff like clearing memory, writing to memory or the PPU etc, or completely custom code) and generates a file that's ready to be transferred to NES where the boot ROM has to be running. Code is then executed in RAM.

Of course this only allows running the code from RAM (2K max, or 10K if the cart has WRAM), until somebody writes some code to write to FlashROM in-system (which was exactly what blargg was doing with Munchausen).

Long story short, I don't think there's much benefit to be had from using an alternative way.

by on (#91502)
thefox wrote:
PC software doesn't have to be very complicated even when using a serial cable, especially if blargg's NRPC library is used.

Even when you have to account for different operating systems and the lack of serial ports on modern computers? Any computer can play an audio file, and a program to generate such a file can easily run in a virtualized environment if there isn't a build for your specific OS.

thefox wrote:
Of course this only allows running the code from RAM (2K max, or 10K if the cart has WRAM)

Well, I was thinking about a cheap dev cart, not a free one. Some of the cost would go towards RAM chips to replace the PRG and CHR, and whatever other chips are necessary for switching out the boot ROM. This would be far from the ultimate dev cart, but would be cheap and decent for NROM stuff.

by on (#91545)
tokumaru wrote:
thefox wrote:
PC software doesn't have to be very complicated even when using a serial cable, especially if blargg's NRPC library is used.

Even when you have to account for different operating systems and the lack of serial ports on modern computers?

Lack of serial ports is a small problem yes, if not using a USB serial converter (which are pretty cheap). Different operating systems is not much of a problem, on Windows files can be transferred via serial using the COPY command (after the speed is configured using some other command which I forgot), on *nix "cat" can be used. Other stuff is platform independent.

Anywho, it would be great if Somebody could get another cheap devcart out there, one way or another...