Offline
Vancouver, BC
blargg wrote:

And the PC-to-NES cable is as simple as it comes. It's basically just a USB-to-serial cable connected to the controller port, with the NES doing a software-based UART running at 5.7 KB/sec. And yes, the NES can send data back to the PC. One interesting program I've made using this link is an NSF player that runs on the PC, but sends the sound chip writes to the NES for more authentic sound (and even suppots DMC samples).

I'm curious about the specifics of this...
It's probably a newb question as far as 6502 programming goes, but what clocks the software-based UART?
What is the timing accuracy (jitter, latency) if you feed in NSF-type messages from the PC, is it similar to native NES playback?

Would there be some timestamping involved to get NSF stuff to play back according *exactly* to the NES's internal timing?

Could you feed in data fast enough to have a 240Hz NES playroutine reading a set of register writes every cycle?


I'm hoping to add support for the cartridge to my Processing-based visual tracker, eventually.

Anyway, it's an amazing project and I plan to get one smile.

Offline
Minneapolis

Hmm, well I not exactly sure how to answer all of your questions off the top of my head. Blargg would be the one who would know more specifics. However, I can say that the timing for the software based UART is done with precise CPU cycle counting code. There isn't much other good way of doing it, to my knowledge. Also, there is some buffering and handshaking to help keep things from getting too hairy at higher speeds. As for accurate NSF playback, more than likely you'd want keep a buffer rather than relying solely on the stability of the cable I would think, and in that case you'd just feed as much NSF into RAM as possible before playing back. Now of course for live playback you'd be limited to keeping transmission at a more stable rate since live playback can't easily be buffered. But if you're using an NSF then it's not live anyways, since NSF implies you're just loading from a pre-made file.

Of course, this is hearsay from me, since I have not done anything with NSF playback over the cable other than playing with NSF playing ROMs. As for sounding like native NES playback, of course, if you load the NSF into RAM and play from there then sure it'll be the same. Now as for live playback, that's another thing altogether, and I really can't say. It's up to your (or someone else's) creativity to deal with live playback, as the cable is only a tool for pushing data around. smile

Offline

Because of how this cable/Cart is designed will it work with NES/Famicon clones or just official models? (Sry if this was asked before)

Offline
Vancouver, BC

Thanks for the details!
I will try to learn more when I have time.

It's the live playback aspect which particularly interests me.
I enjoy making software sequencers in Pure Data, Processing, etc... it's fun for trying out different UI's, algorithmic compostion, etc... but even better would be to drive an actual NES for output.


I wonder how much interest is out there for collaborating on some kind of standardized NES-side driver for this along with a good message format for sending register updates down the cable with accurate timing.

If there is talk that Famitracker might support this as an output module, I wonder if the message format and NES-side driver would be available for use by other software? Is anyone working on this yet?

Offline
Minneapolis
Atrion wrote:

Because of how this cable/Cart is designed will it work with NES/Famicon clones or just official models? (Sry if this was asked before)

I suspect this will work with clones as well, though I don't have the ability to test that myself. Oh, and as for how the cable hooks up, it'll have to be adapted to the clone console if it doesn't use standard NES plugs or the standard Famicom EXT port (many don't). The newest bootloader is fairly flexible for timings and such, so clones ought to work. Keep in mind though, I haven't tested this. If any of the beta users have NOAC or other clone devices I'll be sure and have them report back to me on how that works out. (by the way, the betas don't have their hardware quite yet)

Offline
Minneapolis

Quick update: I am not dead, and neither is Blargg. The software is coming along nicely and is nearly done. Hopefully I will have time to do some more tests tomorrow, and if all goes as planned then I will finish building the rest of the beta cartridges whenever I have time to work on them and release it! big_smile

Offline
WOW MAN!

I feel your pain Tony - the progress towards Pulsar beta has slowed to snails pace. hmm

Nice to hear you're making progress smile

Offline
USA

I'm glad to hear your not dead.

Offline
Minneapolis

Well, we'll soon see if I survive the Thanksgiving holiday rush or not. I work retail so...

Offline
clovis CA

update? i gots some moneys to buy one now! =]

Offline
Minneapolis

Update coming tomorrow. I will hopefully be interesting, and include a video. smile

Offline
clovis CA

update?

Offline
Milwaukee, Wisconsin USA

"INPUT!!!"

Offline
Philly, PA, USA

Arfink, from what he's told me, is working on finalizing the hardware as best he can so that units can ship faster, as software can be updated, at least that's what i've understood, but he is working on it, don't worry

Offline
Minneapolis

BIG UPDATE: THE SOFTWARE IS WORKING. THE HARDWARE IS WORKING. IT'S ALL FREAKIN' WORKING FINALLY! I will take advantage of my working hours being slashed to 16 a week to build and ship the beta carts as soon as I can.

Offline
clovis CA

HOORA!!!!!