PC to NES Transfer Cable

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

Moderator: Moderators

DrNES
Posts: 13
Joined: Fri Oct 07, 2005 1:17 pm

PC to NES Transfer Cable

Post by DrNES »

Im wondering about a couple of things with the PC to NES Transfer cable modification.

http://wwwk.heltech.edu.hel.fi/koti/sepi/nes/nes.htm#4

I can not make any sense of the schematics, they read like hyroglyphics.

After reading a few other topics about this on other forums, im begining to think that you need a dev/custom cartridge for the transfer cable to work. Is this the case?

It would be nice to see a picture or two of a completed cable.

Thanks.
User avatar
sepi
Posts: 83
Joined: Fri Nov 26, 2004 5:50 am

Post by sepi »

You should use EDIT to view the schematic, don't use notepad. It says so in the beginning of the document :wink:

As for the irq.prg, it's just a simple test program, i used it to test if the host PC program is cabable to trap all gamepad pollings. It's not required to build the transfer cable.

PC to NES transfer cable was originally designed to be bi-directional, due the complexity of the NES to PC comm. this feature was removed. If you are looking for a way to communicate from NES to PC you should see the NES to UART schematics by Memblers.

Nesdev is currently hosting the updates of lptnes.exe, due the antivirus restrictions i can't upload .exe | .zip | .rar files to my homesite.
Memblers told me that he is going upload stuff to nesdev pretty soon, then the latest version of lptnes.exe (1.10) should be available.

- Sepi
DrNES
Posts: 13
Joined: Fri Oct 07, 2005 1:17 pm

Post by DrNES »

I had checked out the schematics with edit, still a little complicated for me. I wasn't really interested in NES to PC communication, just the ability to control the NES games with a PC peripheral.

On another forum I had come accross a post where some individual had found one of these cables at a flea market for $1, but sadly it did not work. They had explained to me that it was just a straight through cable, no breakout box or IC's in there!?! Now I know this can't be right... can it?

From what I understand about the schematics, there are a few IC's, some resistors and a few other things in there.

Thanks.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

http://nesdev.com/lptnes.zip

I uploaded the file, haven't updated the site index yet though.
On another forum I had come accross a post where some individual had found one of these cables at a flea market for $1, but sadly it did not work.
It might've been a Miracle piano adapter, I found one of those too and wondered what it was for a while. I think there is a circuit inside it, looking in one of the tiny holes on the DB25 shell I can see some green (probably a PCB).
DrNES
Posts: 13
Joined: Fri Oct 07, 2005 1:17 pm

Post by DrNES »

The instructions and schematic in that version are a bit easier to understand. The only concept im not grasping is the whole /IRQ [LPT] thing. Were does that connection come from? Its not listed on the LPT pinout.

Wondering if these wire colors are right:

Brown = GND
Yellow = CLK
Orange = P/L
Red = Q1
White = +5v

Thanks.
User avatar
sepi
Posts: 83
Joined: Fri Nov 26, 2004 5:50 am

Post by sepi »

Doh! it's supposed to be /ACK (pin.9) instead of /IRQ :oops:

I'm not sure about those colors, you should probably check them with multimeter.
- Sepi
DrNES
Posts: 13
Joined: Fri Oct 07, 2005 1:17 pm

Post by DrNES »

Well, now it all makes sense! :D

Im pretty sure the colors are correct, I checked over a few other pinouts and the colors match the functions.

I looked up the 4021 datasheet and compiled this out of it:

Updating Diagram

Does this wiring look correct?

Edit: Well, I wired up my cable just like I laid it out in my wiring diagram. When I load up lptnes.exe on my PC and select R to record an NES movie, it asks me for a file name and then to hold reset. I do that and lptnes.exe responds when I release reset saying "Released". This is as far as I can get it to go. The NES does not respond to any keyboard keys pressed, and the log files generated by lptnes.exe are empty.

Any ideas what maybe wrong with my wiring?

Edit: When I change the properties of my LPT port from bi-directional (which gives me 0k .NCL files) to ECC or any other setting, I get information being logged into the .NCL file. One .NCL file I logged was 23k in size. Still no response from the NES in any LPT mode.

Edit: Well, I just spent the last hour or so re-wiring my cable and this time it worked. I am able to control the NES with the keyboard, am able to record NES movies and am able to playback NES movies (they de-sync but thats ok). Now im going to wire up a brand new cable and see if I can reproduce the same results.

Thanks.
User avatar
sepi
Posts: 83
Joined: Fri Nov 26, 2004 5:50 am

Post by sepi »

That's great if it works!
Do you have parasite-power and pull-up resistor connected to /ACK?
for me the internal pull-up was insufficient. Does the reset trapping say ok?

By the way, which deck you have PAL or NTSC?
DrNES
Posts: 13
Joined: Fri Oct 07, 2005 1:17 pm

Post by DrNES »

I have yet to wire in the parasite power and the pull up resistor, I am planning on doing this when I get a few diodes.

The purpose of the parasite power and pull up resistor is for more acurate reset trapping, is it not?

Yes, the reset trapping does say ok. Its kind of neat to release the reset button on the NES and have the PC respond!

Im using a NTSC console for this modification.

Now im wondering if it would be possible to get the lptnes.exe source, I would like to be able to re-map my keyboard buttons, and a few other tweaks.

Edit: Sepi, would you mind posting one of your .NCL files?

Thanks.
User avatar
sepi
Posts: 83
Joined: Fri Nov 26, 2004 5:50 am

Post by sepi »

Yup, parasite power keeps the /ACK line in high state even if you press RESET or Power-off, when you release reset button, the pseudo-random numbers get (hopefully) exactly same seed number. However, there is numerous games that still fail sync, even if you trap the reset.

Actually, i got the idea for the reset trapping from Memblers! They were talking about this at cherryroms hardware forum.

I'm planning to update the lptnes.exe in future, custom gamekeys is one the features that i'm going to implement. If you have some ideas, it would be great to hear about them!

I'm not releasing the lptnes.exe source, not just yet. I'm still considering if i'll release it or not.

Yeah, i'll post few .ncl files to my homepage shortly. They have been recorded with PAL deck/games, there's a change they don't work at all.

DrNES, i don't have a NTSC deck available, and i need someone with NTSC deck to test if the PAL/NTSC detecting works correctly, would you like to be beta-tester?
User avatar
blargg
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg »

I was also thinking of making a movie playback device for my NES and plan on synchronizing by monitoring the joypad clear ($4016.0). Each high-to-low transition would register as a "read current joypad state" event, and these would be the only events that count for anything. This way the timing doesn't matter when playing back, just that the game reads the joypad the same number of times. Maybe this is what you're already doing; if so, what is causing the synchronization problems? If it's random power-on values, on my NES turning the power off for several seconds yields the same initial values in memory.
DrNES
Posts: 13
Joined: Fri Oct 07, 2005 1:17 pm

Post by DrNES »

Im not sure why movies de-sync so often, I remember reading somthing about random resets within the game itself cause this effect.

Perhaps if the software logged key presses on a strict timeline basis, then it could be played back based on the timing of the key presses. Or if the software could detect these "resets" within the game and adjust the log file to suit more accurate playback.

Thanks.
User avatar
sepi
Posts: 83
Joined: Fri Nov 26, 2004 5:50 am

Post by sepi »

Yes, that the lptnes does. As the NES transmits a P/S, /ACK line is pulled low thus generating a interrupt.

For reasons unknown, Bregalad pointed out that some games poll (such as smb3) gamepads twice.

In the current lptnes version, there's all sort if crap in the interrupt vector. This may cause desyncing, if there is more than one polling in the NMI. Next revision will have "clean" interrupt vector, this might fix some games (or not).

I belive that the random number generators are the biggest problem; if the random number generator is located off NMI, and|or the gamepad is polled faster than 1/50|60. Maybe i should perform some benchmarking with issue, how fast P/S transients lptnes is cabable to intercept?


Tetris is a excellent example; i have never succeeded replaying a movie correctly.
-sepi
DrNES
Posts: 13
Joined: Fri Oct 07, 2005 1:17 pm

Post by DrNES »

Which version of Tetris have you tested with?

I tested Tengen Tetris with my cable, it seemed to work rather well. I wasn't recording it like I would play Tetris myself, I was only using 1 or 2 buttons at a time and placing the blocks very slowly.

Im sure if I kicked it up to full playing speed that it would de-sync very quickly.

Thanks.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Tetris != Tetяis. I'd guess that sepi was talking about Nintendo Tetris, the only NES tetramino game to use "Dance of the Sugarplum Fairy" as the background music.

And does it desync with Tetramino (for DreamEmulation) (PD)?
Post Reply