Zophar's Message Domain

Go Back   Zophar's Message Domain > Emulation Talk > General Emulation

Reply
 
Thread Tools Display Modes
Old 06-13-2005, 06:19 PM   #1
breadcrust
Senior Member
 
Join Date: Oct 2004
Posts: 353
Default Reversing a N64 controller to PC adapter

So, heres what I'd like to do: Create a interface between one of my N64's controller <u>ports</u> (not the controller itself), and a PC's parallel port.

If I did enough coding, this could allow me to:
* Use the PC to control games (this could mean using a joystick/pad/wheel hooked up to the PC's USB, serial or game port instead of a N64 pad, or using the PC to automaticlly enter pad buttons based cheats, like on Goldeneye)
* use the pc to pretend to be a memory pak, transfer pak or whatever else connected to the N64 by this controller port.
* if I ever do get enough money to get a backup unit, this could be used to interface other devices (keyboards, mice... fuck, just about anything), to be used as a network interface or for a debugging console on the pc.

yes, i know ive got some pretty big ideas, but they are possibilities of what I could do with the n64 to parport interface.

I'm sure many users from this forum have seen Stephan's page on the N64 controller to parport adapter before. its not longer up on the 'net but available from wayback:
http://web.archive.org/web/200410121...n.hans/n64.htmhttp://web.archive.org/web/20041012173059/home.t-online.de/home/stephan.hans/n64.htm</a>

anyway, the truth is i'm hopeless when it comes to electronics engineering (mostly because atm, I'm just not very interested in learning about how all the common components work, rather than just what they do). i'd like to take the schematics, and reserve it, but i dont know exactly how. the biggest problem in the way of me understanding how the curcuit works is not knowing what the 4006 ICs do.

I'd really appreciate it if anyone could help me with this, in any way. I'll be sure to post back any results I have if any body else wishes to try this too.
breadcrust is offline   Reply With Quote
Old 06-14-2005, 03:22 PM   #2
blargg
Regular Member
 
Join Date: Jul 2004
Posts: 45
Default Re: Reversing a N64 controller to PC adapter

Disclaimer: I'm not an EE major, more seat-of-the-pants. I've done various interfacing from computer to game console over the years.

Based on the page you linked, the N64 uses a bidirectional serial protocol over a single data line, without a separate clock. It lists each bit as a combination high and low for a total of 4 microseconds. This gives a data rate of 250000 bits per second (30.5KB/sec without any stop bits).

I've never programmed a Windows PC, but I imagine it's difficult to do microsecond-accurate timing without writing a device driver and taking control of the processor for an extended amount of time. If I were going to make such a project, I'd use a PIC microcontroller between the N64 and PC to handle the timing and respond quickly to queries from the N64. This would require assembly programming of the PIC, but the hardware would be simple and wouldn't require changes once built.

The PIC setup wouldn't even be specific to the N64, so it would be an investment for future interfacing projects. PIC development boards are available pre-made with several I/O lines (you only need one for the N64) and a serial or USB interface to the PC. A serial interface would be simpler, but the data rate might not be sufficient for the 30KB/sec maximum rate of the N64.

For devices other than the controller, more information on the protocols would be necessary. The PIC could be used as a cheap "sniffer" to view transactions between the N64 and device in question. The first two hits of a google search for "n64 controller protocol" have lots of useful information on the protocol.
blargg is offline   Reply With Quote
Old 06-25-2005, 02:16 PM   #3
breadcrust
Senior Member
 
Join Date: Oct 2004
Posts: 353
Default Re: Reversing a N64 controller to PC adapter

yep, I relised that sync was going to be a problem when looking at PC port speeds. I'm not programming this for a Windows PC. I'll be using this with an old box running deb linux, which would make it easier to program it to run the serial interface at a non standard speed, but I'm not much of a C programmer, so I dont know how far I'll get with that. I'll have a look into the kernel sources soon(ish) and see.

If I need to use a microcontroller, I dont want to spend the money on PIC development stuff, but I have a couple of PSoCs I could use to make an interface with.

And I cant believe I didnt google it before. >_< Thats some extermly useful infomation there.
breadcrust is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:10 AM.

Contact Us - Zophar's Domain - Archive - Top

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.