Communication PCB for the Super Nintendo cartdrige slot

Closed Posted 6 years ago Paid on delivery
Closed Paid on delivery

I am looking for a freelancer with knowledge of assembly, microcontrollers, and pcb design.

The project is about creating a communication pcb for an older video game console, the Super Nintendo / Super Nes.

Let's have a really basic overview of the game system : The software game code is stored within a cartdrige. When the device is powered, the game's ROM placed on the cartdrige is read by the cpu (65c816). During the game, the data is stored into the console's RAM. I am looking for an hardware solution that is able to output some of the data stored in the RAM, via the cardrige port.

The main purpose of this solution is to extract the joypad's button condition, stored at a particular adress. To my knowledge, this adress is always the same. I am quoting one of the source documents linked at the end of this message : "$4218 and $4219 contain joypad 1's data, and joypad 2, 3, and 4 follow." There are two joypads on the nintendo console and it is important to extract all the button's conditions from both joypads.

It is also necessary that the data be extracted then received on the raspberry pi 3 in real time as well as no perceptible lag. The main reach goal of this project is to use the extracted data to turn the whole console (super nintendo + both joypads) into a joypad for a raspberry pi computer. Both joypads' buttons conditions should be transferred to the RP3 via this hardware solution. In essence, The RP3 should receive the signal from this new pcv enslotted into the snes cartdrige port, to the GPiO ports on the RP3. The RP3 should then"detect" the super nes as a pair of virtual joypads.

It will also be necessary to write a joypad driver to allow the RP3 system, Raspian, to detect and interpret both joypad signals. The driver should be easily installable on other RP3 systems and shouldn't necessitate a full OS recompilation as some people will want to install it on existing systems. At the end result, both snes joypads should be detected once the driver is installed on any system. It may or may not be necessary that they be detected as USB peripherials to ease universal detection by all applications. I am unsure of this last point.

The task will be divided into 2 milestones :

Milestone 1 :

- To produce a pcb that can be inserted into snes cartdrige port. The result of this milestone for me should be the a pcb prototype, as well as a reproducible electronic design. It should of course include all necessary code source, from low level, to the driver code to allow us to test it on the raspbian system.

- This prototype itself should output the first joypad signal in an easily readable way.

- The signal should be transmitted to a RP3, through its GPiO ports, and interpreted into a driver, so the whole snes could be detected as a joypad by the raspberry.

- The signal must be real time (refreshed a sufficient number of times by second) as well as no input lag between button press and reception on the RP3.

- A primitive version of the driver should be easily installable on any RP3 and allow us to check the button signal real time. This is a checking step so It isn't necessary to work at this stage on the data conversion as a full driver, as long as I can check that data arrives real time from the joypads to the RP3 system.

The raspberry will detect two joypads as there are two on the console.

Milestone 2 :

- The main point is writing an advanced driver for the RP3. It is necessary that the installation be easy for the user, as it may be installed on existing RP3 systems.

- Super nintendo consoles and games are "zoned" like dvd players. There are 3 "zones" that I know of : europe, japan, us. Game cartdriges had a chip on their pcb called "cic", and the console read this cic to check that the game and the console were from the same zone. I am unsure if this info about the CIC is relevant to this task : The end pcb result should work on every consoles, including all generic models like the retron 5.

Assembly Electronics FPGA PCB Layout

Project ID: #16210865

About the project

8 proposals Remote project Active 6 years ago

8 freelancers are bidding on average €2318 for this job

sagradoamicus

Hi I am experienced embedded system designer with more than 8 years of experience. I have completed more than 220 projects here Please get in touch I have a few questions to discuss Regards

€4705 EUR in 20 days
(223 Reviews)
7.9
RaspberryOculus

Dear Sir, I am an electrical engineer with 18 years experience in this area . I am interested in your project Communication PCB for the Super Nintendo cartdrige slot. Please send a private chat message.

€6930 EUR in 20 days
(12 Reviews)
5.9
Yknox

Dear, I am Jang. I'm interesting your project very well I'm a Good Linux, C++, c#, Python, swift, object-c, OpenCV, Math, Java, Algorithm expert. I m quite well experienced in these jobs. Let's go ahead with me More

€1159 EUR in 20 days
(7 Reviews)
4.9
tetrabid247

Hello my name is Maria I am an electronic engineer, I would love to design this circuit for you, I have plenty of experience working with electronic and electric designs (squematic and PCB layouts), programming microco More

€1000 EUR in 20 days
(1 Review)
0.0