Danjovic Posted January 17, 2020 Share Posted January 17, 2020 The excellent MasterPlay clone provided by @ikonsgr have 4 spare pins that can be used ti extend its functionality. Two of such signals can be used to interface to a NES/SNES controller leaving the other two to provide Top and Bottom button presses. Besides the female NES(or SNES) connector, only 3 components are necessary, as presented on the schematic below: I wrote some code that can be compiled using open source tools SDCC and GPUTILS. It preserves the original functionality of the adapter, while adding the support for the NES/SNES controller. In this version only buttons B and Y of the SNES controller are functional (besides the directionals, of course). main.c To compile the code, the following command is necessary: sdcc --use-non-free -mpic14 -p16f630 main.c -o "MasterPlayClonePlus" Presently I don't have a 5200 system, so I'll be grateful if someone could help me on that, but If none shows off nevermind, LOL. I am doing that just for the fun of do it, so I should probably rig some hardware to "emulate" a 5200 game port and validate the code. Quote Link to comment Share on other sites More sharing options...
0078265317 Posted January 17, 2020 Share Posted January 17, 2020 Nice. But a little over my understanding. But some one will chime in soon. Quote Link to comment Share on other sites More sharing options...
ikonsgr Posted January 17, 2020 Share Posted January 17, 2020 If i'm getting this right, you developed an optional code for the 16F630 PIC i'm using on the "masterpaly clone" adapter i designed, in order to add nes controller support, right? Quote Link to comment Share on other sites More sharing options...
Danjovic Posted January 17, 2020 Author Share Posted January 17, 2020 5 hours ago, ikonsgr said: If i'm getting this right, you developed an optional code for the 16F630 PIC i'm using on the "masterpaly clone" adapter i designed, in order to add nes controller support, right? Yes, precisely! Both controllers can be connected, and either one should work. Quote Link to comment Share on other sites More sharing options...
0078265317 Posted January 17, 2020 Share Posted January 17, 2020 And also I found this. https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.com%2Fulk%2Fitm%2F293166904784 Quote Link to comment Share on other sites More sharing options...
ikonsgr Posted January 18, 2020 Share Posted January 18, 2020 Well, if there is a cable adapter from DB9 female to nes controller connector, this should work using the same adapter board, just by reflashing the PIC :-) Quote Link to comment Share on other sites More sharing options...
Danjovic Posted February 27, 2020 Author Share Posted February 27, 2020 Code now is working, yet it was tested with LEDs on the outputs. Code can be compiled to either PIC16F630 of 16F688 by changing the processor in makefile. Unit can be used with Atari2600 compatible joystick at the same time as with NES/SNES controller. Sega Genesis controller might not work at the same time with NES/SNES, but that will depend on the output characteristic of each controller. That can be corrected using a couple of diodes on the trigger lines, but that will require further modification on Masterplay clone than the required to add support for the NES/SNES controller. main16F688.hexmain16F630.hexmakefilemain.c 1 Quote Link to comment Share on other sites More sharing options...
Swami Posted February 27, 2020 Share Posted February 27, 2020 1 hour ago, Danjovic said: Code now is working, yet it was tested with LEDs on the outputs. Code can be compiled to either PIC16F630 of 16F688 by changing the processor in makefile. Unit can be used with Atari2600 compatible joystick at the same time as with NES/SNES controller. Sega Genesis controller might not work at the same time with NES/SNES, but that will depend on the output characteristic of each controller. That can be corrected using a couple of diodes on the trigger lines, but that will require further modification on Masterplay clone than the required to add support for the NES/SNES controller. main16F688.hex 2.75 kB · 1 download main16F630.hex 2.23 kB · 1 download makefile 367 B · 1 download main.c 9.37 kB · 1 download Quote Link to comment Share on other sites More sharing options...
Danjovic Posted February 27, 2020 Author Share Posted February 27, 2020 (edited) Hardware modifications needed to support NES/SNES. The extra diodes and the cuts are optional for support simultaneous connection of Genesis and NES/SNES controllers. Edited February 27, 2020 by Danjovic Enhanced picture and text Quote Link to comment Share on other sites More sharing options...
Danjovic Posted February 29, 2020 Author Share Posted February 29, 2020 And here you are the full prototype assembled, tested with the Port Emulator. Using the diodes on fire button lines both controllers can be connected at the same time (not that this might be useful but yet is possible). Firmware still the same that was attached in post #8. If someone could test it on PIC16F630 I will be grateful. Note: Circuit is being powered by pin 12 and then the Port emulator detects it as a trackball. Quote Link to comment Share on other sites More sharing options...
Danjovic Posted October 13, 2020 Author Share Posted October 13, 2020 With minor changes, it should be possible to utilize the time precise method to drive the outputs and break free from the internal potentiometer adjustment. Built-in analog comparator can be used to detect the moment the 5200 releases the capacitors to charge. Processing can be done sequentially (i.e. no interrupts) as long as all the processing occurs in the remaining horizontal lines from the end of timing to the beginning of the next charge, which in numbers is something around 2mili-seconds. Quote Link to comment Share on other sites More sharing options...
Swami Posted October 17, 2020 Share Posted October 17, 2020 On 10/13/2020 at 7:54 AM, Danjovic said: With minor changes, it should be possible to utilize the time precise method to drive the outputs and break free from the internal potentiometer adjustment. Built-in analog comparator can be used to detect the moment the 5200 releases the capacitors to charge. Processing can be done sequentially (i.e. no interrupts) as long as all the processing occurs in the remaining horizontal lines from the end of timing to the beginning of the next charge, which in numbers is something around 2mili-seconds. Hey, Sorry to interrupt. I sent you a PM, but screwed it up, so sent another with a figure as part of the fix and finally got right on the third PM, so just read the third PM from me please and forget first two. Thanks. Quote Link to comment Share on other sites More sharing options...
Danjovic Posted October 17, 2020 Author Share Posted October 17, 2020 (edited) Single sided PCB for the extended version on a Hammond 1593J case, with power for Sega Genesis on Pin 5 and dual option for the reset push-button. MasterPlayEnhanced.zip Edited October 17, 2020 by Danjovic Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.