Using steady DPCM samples as a 'lead'
Page 3 of 3

Author:  lidnariq [ Wed Jul 09, 2014 10:30 pm ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

The controller port is 3 general-purpose inputs, 1 general-purpose output, 2 pins to power things, and 1 pin that indicates when the NES is reading from the controller port.
It'd be pretty easy to make a "null modem" cable that would connect two NESes together to communicate, although it would be hard to communicate in a manner that was both high bandwidth and allowed anything else to go on at the same time.

Author:  OneCrudeDude [ Fri Jul 11, 2014 9:19 pm ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

Hypothetically speaking, how could one make an "NES LAN kit", if at all possible? Perhaps by linking the consoles together by the cartridge slot, or the expansion port, or both?

Author:  lidnariq [ Sat Jul 12, 2014 12:50 am ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

If I were to deign something arbitrarily, I'd probably make something like what the Vs. DualSystem does—basically the highest possible bandwidth for a plain 6502 design without a general purpose data transfer unit (which the NES doesn't have).

The Vs. DualSystem provides 2 KiB of memory that the two CPUs can swap back and forth, with a simple REQ/ACK locking behavior (much like on an old parallel port printer). Anything else would be rather CPU intensive, either involving lots of polling or flurries of interrupts.

In any case, the expansion port of the NES doesn't really provide particularly useful signals; anything that used it would have to also provide a cartridge... and at that point, you may as well put the hardware on a cartridge.

Author:  Memblers [ Sat Jul 12, 2014 9:20 am ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

Controller port could be fairly decent (and relatively easy to build), with an MCU handling bit-banged (or possibly hardware-based) synchronous communication between a couple systems. Using D3 or D4 as a 'ready' signal would reduce the need for polling, NES could check once per frame and read it out of the MCU's buffer if the data is ready. I've been working on something similar, but more intended for NES to PC communication.

MCUs with ethernet capability are really cheap too, if one really wanted an NES LAN. :) Would be cool, but it seems like the opportunities to use it would be few and far between.

Author:  OneCrudeDude [ Wed Jul 16, 2014 6:17 pm ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

Apologies for a bump of an old thread, but I had a question. I was recently playing the second generation of Pokemon games (Gold/Silver/Crystal), and I was wondering if it would be possible to recreate on the NES. More specifically, what if Pokemon was an NES game, but the programmers still wanted to trade and battle their Pokemon? Would it be possible to create a link system between cartridges? What about someone making an NES version of Pokemon, would it be possible to 'trade' Pokemon with the Game Boy games?

Author:  tepples [ Wed Jul 16, 2014 6:34 pm ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

The wire protocol for NES and Super NES controllers is very similar to the Game Link protocol, except the NES is always the "master" in SPI terms. So yes, NES to Game Boy is probably possible. If I had a flash card for an 8-bit Game Boy, I'd probably already have made a music demo that uses the Game Boy as four extra sound channels.

Author:  OneCrudeDude [ Wed Jul 16, 2014 11:58 pm ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

That's interesting. Most development stuff is born out of curiosity, in this case if it's entirely possible for an unofficial Pokemon game on the NES being able to give and receive Pokemon to the GameBoy games. What the games really do is simply delete the Pokemon from one end and copy it to the next end, so it probably would be possible to do. If I was technically competent, I'd do so much.

Author:  RushJet1 [ Tue Jul 22, 2014 10:50 pm ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

Another bump! Surprised nobody mentioned Strobe:

If you want crazy DPCM usage he's your man!

Author:  tepples [ Wed Jul 23, 2014 5:49 am ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

I wonder how something that could be used in a game. The comments on that NSF say it's too big for the PowerPak, whose NSF player is limited to about 200-some KiB, which is just less than one-fourth of NSF's theoretical limit of 1 MiB. So in a practical case, big DPCM samples like that might have to be streamed into RAM during playback from some sort of separate memory on the cart. I wonder how well this would work with the oft-repeated FDS-style idea to store bulk data in SPI flash and stream it into RAM at $C000-$DFFF, as most recently reiterated by infiniteneslives. It would depend on how the SPI flash is implemented. The player has to provide a byte to the DMC every 432 cycles (or 400 on PAL NES) while moving sprites around. An SPI host that relies on the CPU to move a bit at a time, like the existing interface at $4016/$4017, would be unlikely to sustain the required 33 kbps data rate while giving much margin for game logic. It'd probably take a CPLD that uses M2 to clock the flash eight times in a row and then provides all 8 bits on the data bus. This would let the program get in after vblank, grab 69 or so bytes and stash them in RAM, and get out.

Author:  RushJet1 [ Wed Jul 23, 2014 6:57 pm ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

Another good one that is significantly smaller

Author:  OneCrudeDude [ Fri Jul 25, 2014 9:34 pm ]
Post subject:  Re: Using steady DPCM samples as a 'lead'

Impressive, but I think Strobe's song is ultimately very messy; it doesn't have much musical quality to it, and then tries to become unmelodious EDM music. That said, I reckon that a DPCM heavy song would play either during the credits (when there's nothing to really push around), or for the soundtrack to be made for a game rather devoid of any action, such as a puzzle game.

At last I truly see, the NES' artifacting is too severe to be used for anything more than short drum beats. However, I love how low-fi and detuned Sunsoft's (and other companies) basslines sound, so I'm conflicted.

Page 3 of 3 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group