Cheap PC communication?

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

Post Reply
User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Cheap PC communication?

Post by kyuusaku »

I was wondering if anybody has come up with a cheap bidirectional communication method with the PC. By cheap I was thinking like ~US$2.00. (So no fancy hardware UARTs.) I was going to try a software UART but I quickly discovered that the NES-side timing would be too much for me, so I came up with a very simple asynchronous serial comm. method using two 7400s for a special SR-like latch controlled on either side by 2 output bits and 2 input bits. The PC side output bits could be the data bits of the parallel port, and the input bits could be the status bits. The NES side output would be the two $4016 outputs which don't affect controllers, and the inputs would be the $4016 inputs which aren't affected by the controllers. All these bits can be accessed from the NES or FC expansion ports.

I haven't built it yet because I'm afraid it's just too slow to do anything too useful in real time (like dump FDS disks :)

Here's the idea though:

The latch arbitrates (half duplex or full duplex) transfer by having one side set the bit ("strobe"), then have the other clear the bit ("acknowledge") but to the other side, they are strobing and getting acknowledgment.

To send *and* receive a bit, just:

-set your output bit
-toggle strobe
-poll acknowledge
-at acknowledge get your input bit
-repeat :)

The latch is a little special in that the "invalid" state is now a hold state and the outputs only change on the rising and falling edges. I think (and hope) these two things will eliminate "race" conditions and keep everything stable.

Here's the whole diagram:

Image

Any suggestions or interest in the project?
User avatar
dXtr
Posts: 375
Joined: Tue Sep 21, 2004 12:11 am
Location: Karlshamn (Sweden)

Post by dXtr »

something like the NES PC Transfer cable?

might be something interesting here to? NES hardware development guide
Sorry for misspellings, I'm from Sweden ^^
User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku »

The lptnes is a project to make game movies by saving/playing back controller data.

Brad's "NES file server" is neat in that he got it working but it uses the parallel port's IRQ and the NES's IRQ, which makes it unsuitable for non DOS use and use with NES programs which are already using IRQ :)

Thanks for the suggestions though.

After thinking about my idea a little bit more, it looks like it'd be possible to remove the latch from the design completely and just use 5 wires (one for ground). The register outputs alone can be used to signal, by inverting or not inverting the other device's ACK.
User avatar
sepi
Posts: 82
Joined: Fri Nov 26, 2004 5:50 am

Post by sepi »

I would suggest the software approach, i got my NES PC link working with very little effort.

Memblers has designed NES to PC link using MAX232, and i think there is sources available too!
(i don't know if he has uploaded them to nesdev?)

- Sepi
Post Reply