4-Player Controller Dock

Includes Atari 2600, Nintendo 8-bit, Sega Master System, MSX and more!

Moderator:Moderators

CraigD
Posts:29
Joined:Mon May 18, 2009 8:04 pm
4-Player Controller Dock

Post by CraigD » Tue Jun 09, 2009 12:44 pm

Does anyone have any insight into how the 4 player dock works? Does it contain special circuitry or can you simply wire 4 controllers directly into an NES?
Craig Damlo
http://www.cymek.com" onclick="window.open(this.href);return false;

footinmouth
Posts:126
Joined:Sun Mar 23, 2008 9:42 am
Location:CANADA

Re: 4-Player Controller Dock

Post by footinmouth » Thu Jun 11, 2009 9:31 am

I'm curious about this too, I'll look something up on the nes four score, my nes broke but im in the process of fixing it and I want to make a four score. The only 4 player nes game i know is nightmare on elm street
i hate how electronic part suppliers give you an option on their website to filter your searches so that you can find a certain part and no results come up!

CraigD
Posts:29
Joined:Mon May 18, 2009 8:04 pm

Re: 4-Player Controller Dock

Post by CraigD » Thu Jun 11, 2009 10:16 am

Yea, I was thinking along the same lines as you, but I have three 4-player games: Super Off Road, Double Dribble, and Magic Johnson's Fast Break.
Craig Damlo
http://www.cymek.com" onclick="window.open(this.href);return false;

User avatar
Metallica Man X
Portablizer Extraordinaire
Posts:1438
Joined:Fri Apr 22, 2005 1:14 pm
Location:A very anti-metal place...WI...
Contact:

Re: 4-Player Controller Dock

Post by Metallica Man X » Thu Jun 11, 2009 8:16 pm

I would also like to know what's up with it.....i started a thread like this quite a few years ago, but got no replys on it. Maybe this time something will show :lol:
Image
The answer to 1984 is 1776!
"One of the penalties for refusing to participate in politics is that you end up being governed by your inferiors." - Plato

nevermind1534
Senior Member
Posts:1977
Joined:Fri Feb 06, 2009 1:36 pm
Steam ID:nevermind1534
Location:Detroit, MI
Contact:

Re: 4-Player Controller Dock

Post by nevermind1534 » Thu Jun 11, 2009 9:34 pm

CraigD wrote:Does it contain special circuitry or can you simply wire 4 controllers directly into an NES?
It has some special circuitry, but probably not anything that you couldn't do yourself. You might be better off just getting a four score, though. I think Wikipedia has some info on it.
Kyo wrote:"does anyone here know how to fly a plane?"

"STAND BACK EVERYBODY, I HAVE A FAKE ID"

footinmouth
Posts:126
Joined:Sun Mar 23, 2008 9:42 am
Location:CANADA

Re: 4-Player Controller Dock

Post by footinmouth » Fri Jun 12, 2009 6:44 am

nevermind1534 wrote:
CraigD wrote:Does it contain special circuitry or can you simply wire 4 controllers directly into an NES?
It has some special circuitry, but probably not anything that you couldn't do yourself. You might be better off just getting a four score, though. I think Wikipedia has some info on it.
hmmm, I looked but came up empty
i hate how electronic part suppliers give you an option on their website to filter your searches so that you can find a certain part and no results come up!

CraigD
Posts:29
Joined:Mon May 18, 2009 8:04 pm

Re: 4-Player Controller Dock

Post by CraigD » Fri Jun 12, 2009 8:55 am

footinmouth wrote:
nevermind1534 wrote:
CraigD wrote:Does it contain special circuitry or can you simply wire 4 controllers directly into an NES?
It has some special circuitry, but probably not anything that you couldn't do yourself. You might be better off just getting a four score, though. I think Wikipedia has some info on it.
hmmm, I looked but came up empty
Yea me too; I assume that it's just gonna be easier to buy one and crack it open.
Craig Damlo
http://www.cymek.com" onclick="window.open(this.href);return false;

footinmouth
Posts:126
Joined:Sun Mar 23, 2008 9:42 am
Location:CANADA

Re: 4-Player Controller Dock

Post by footinmouth » Fri Jun 12, 2009 9:24 am

CraigD wrote:
footinmouth wrote:
nevermind1534 wrote:
CraigD wrote:Does it contain special circuitry or can you simply wire 4 controllers directly into an NES?
It has some special circuitry, but probably not anything that you couldn't do yourself. You might be better off just getting a four score, though. I think Wikipedia has some info on it.
hmmm, I looked but came up empty
Yea me too; I assume that it's just gonna be easier to buy one and crack it open.
once someone does, I hope they make a schematic and take some extra notes. Once i get my lcd ill keep my eyes out for a fourscore I'm pretty good at drawing schematics.
i hate how electronic part suppliers give you an option on their website to filter your searches so that you can find a certain part and no results come up!

nevermind1534
Senior Member
Posts:1977
Joined:Fri Feb 06, 2009 1:36 pm
Steam ID:nevermind1534
Location:Detroit, MI
Contact:

Re: 4-Player Controller Dock

Post by nevermind1534 » Fri Jun 12, 2009 9:55 am

http://en.wikipedia.org/wiki/NES_Four_Score" onclick="window.open(this.href);return false;

http://en.wikipedia.org/wiki/Multitap" onclick="window.open(this.href);return false;
Kyo wrote:"does anyone here know how to fly a plane?"

"STAND BACK EVERYBODY, I HAVE A FAKE ID"

Snow_Cat
Posts:463
Joined:Fri Aug 13, 2010 12:40 pm
Steam ID:Snow_Cat
Location:Here
Contact:

Re: 4-Player Controller Dock

Post by Snow_Cat » Fri Aug 13, 2010 10:52 pm

information reposted from NESdev.com nes4play.txt reposted without permisssion as contact information was not included.
Spoiler:
Fredrik Olsson wrote:NES 4player-adapter documentation

Date: 1998-01-20
By: Fredrik Olsson
Version: 0.9

Background: The NES has a couple of good 4player games and I wanted to emulate the 4player-adapter, but there was no documentation. So the only solution seemed to be to hack some games to see what they were doing to read the adapter.
And here it is, the (hopefully) complete documentation on NES 4player-adapter.

To start the reading of a joystickport you will have to do the normal strobe (write #1 to $4016 and then #0 to $4016). Then you read bit #0 of $4016 8 times for joystick#1 and 8 times again for joystick#3. The same rules apply to $4017 for joystick#2 and #4.
This would be all if it wasn't that some games need to know whether there is an adapter or not. The information is supplied in the next 8 bits (read 17 to 24),these bits I think represent the kind of adapter, for normal emulation it wouldbe "0001.0000" in $4016 and "0010.000" in $4017. It seems that there are adapters that supply the information in the second bit of $4016 and $4017, but I don't
think any games require these. If you want to make your emulator emulate this too then the last(?) (17 to 24) 8 bits would be "0010.000" in $4016 and "0001.0000" in $4017, but then you must supply the bits for joystick information in the second bit (bit #1) of $4016 and $4017. A real NES has some timing aspects too, but that won't (probably) matter for an emulator.

Code: Select all

-------------------------------------------------------------------------------------------------------------------------------------------------------
|Read# 1 | 2 |   3    |   4   | 5  |  6   |  7   |   8   | 9 | 10 |   11   |  12   | 13 |  14  |  15  |  16   | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
-------------------------------------------------------------------------------------------------------------------------------------------------------
     |                     Joy#1/Joy#2                   |                      Joy#3/Joy#4                   |             Adapter info              |
     |-------------------------------------------------------------------------------------------------------------------------------------------------
     | A | B | Select | Start | Up | Down | Left | Right | A | B  | Select | Start | Up | Down | Left | Right | 0  | 0  | 0  | 1  | 0  | 0  | 0  | 0  |
     --------------------------------------------------------------------------------------------------------------------------------------------------
                                                                                                              | 0  | 0  | 1  | 0  | 0  | 0  | 0  | 0  |
                                                                                                              -----------------------------------------
To test this I recommend Gauntlet II for test without adapterinfo and RCProAmII for test with adapterinfo.

So use this information for your new cool NES-game =)) or in your emulator.
And please give me some credits if you think I deserve it ;).
This information may be put in either Yoshi's NES-doc or Marat's NES-doc without any questions, but please ask me first if you put it somewhere else, thank you.

Special thanks to:
Juan Antonio Gomez Galvarez
Yoshi
Marat Fayzulin
Morgan Johansson
This is cited from nocash.emubase.deEverynes - Nocash NES Specs Controllers - Joypads
Martin Korth wrote:NES Four-player devices (Satellite and Four Score)
Used by Tengen's "Gauntlet II", and Nintendo's "RC Pro Am 2". The device is connected to both of the consoles two controller ports, and up to four controllers can be connected to the device.
The device is accessed much like normal joypads, except that the returned bitstream consist of 24 bits instead of normal 8 bits:

Code: Select all

write "1-then-0" to (4016h) (that only once, for all 24 bits)
  read 1st 8 bits: controller 1    (4016h) / controller 2   (4017h) (as normal)
  read 2nd 8 bits: controller 3    (4016h) / controller 4   (4017h) (new ports)
  read 3rd 8 bits: 0,0,0,1,0,0,0,0 (4016h) / 0,0,1,0,0,0,0,0 (4017h) (ID codes)
The ID codes can be used to detect if the 4-player adapter is connected (used by RC Pro Am 2, not used by Gauntlet II). Otherwise the ID field typically contains all ones (normal/single controller), or all zeros (no controller connected at all).

User avatar
TomKStones
Posts:132
Joined:Sun Jun 13, 2010 5:41 am
360 GamerTag:TomKStones
Location:Australia

Re: 4-Player Controller Dock

Post by TomKStones » Sat Aug 14, 2010 6:12 pm

I don't know if this is of any value;
http://en.wikipedia.org/wiki/Famicom_Four-way_Adaptor" onclick="window.open(this.href);return false;

(the third paragraph)

Snow_Cat
Posts:463
Joined:Fri Aug 13, 2010 12:40 pm
Steam ID:Snow_Cat
Location:Here
Contact:

Re: 4-Player Controller Dock

Post by Snow_Cat » Sat Aug 14, 2010 10:32 pm

Yes, though that is an exerpt from nesdev.comFamicom Four-Player Adapters Technical Document by Richard Hoelscher.
Richard Hoelscher wrote:+----
| NES Incompatibility
+--------

The NES was designed to accommodate the use of the light gun and robot that were already being used for the famicom, without making the console more complicated. To accommodate this without redesigning their devices and programs, the ports of the removable joysticks were equipped not only with data line D0, but also D3 and D4. Unfortunately, this prevented games that used other methods of communicating with the Famicom expansion port, including keyboard and four player games, from being released on the NES without major modifications.

To accommodate four player gaming on the NES, Nintendo later released the Satellite and Four Score, which requires games to support another method of reading the joystick ports (first eight reads come from the first controller on the port, second eight reads come from the second controller on the port, followed by another 8 reads that includes a signature, letting the game know whether or not a four-player device is plugged in).

It comes as a surprise to most people that the Famicom's four player games are incompatible with the NES' Four Score, but many of them forget that the original Famicom's controllers were hardwired on to the unit.
Meow;
This the first time that I've seen an article plagarized to Wikipedia!
I am troubled and yet also very much amused.

User avatar
bassmasta
Posts:684
Joined:Sun Sep 06, 2009 8:56 pm
Steam ID:randomguy737
Contact:

Re: 4-Player Controller Dock

Post by bassmasta » Sun Aug 15, 2010 2:37 pm

zeturi wrote:If you're getting 404'd when trying to use the links in stickies, try this tutorial to find that juicy info.

Snow_Cat
Posts:463
Joined:Fri Aug 13, 2010 12:40 pm
Steam ID:Snow_Cat
Location:Here
Contact:

four play adaptor

Post by Snow_Cat » Sun Aug 15, 2010 9:28 pm

It looks like the FourScore uses a single PGA/custom IC that has toffleable modulator for bits A/B.

I think that I've worked out a compatible logic (minus turbo) for a four player adaptor. (I know that it can be reduce by to IC's, but it works in theory...)
Logic Diagram
Spoiler:
Image
EDIT: Attachment deleted, PM for CDL file.
Additional gate definitions for scienceontheweb.netCEDAR LS 1.5 beta (insert into line #4848 of cl_gatedefs.lib where "#NOTE: Need to make the 8-bit shift register shape." follows.)
Spoiler:

Code: Select all

#NOTE: Need to make the 8-bit shift register shape.
	<gate> <name>BE_SHIFT_REGISTER_8</name>
		<caption>8-Bit Shift Register</caption>
		<logic_type>REGISTER</logic_type>
		<logic_param>INPUT_BITS 8</logic_param>
		<logic_param>MAX_COUNT 255</logic_param>
		<logic_param>SYNC_CLEAR true</logic_param>
		<logic_param>SYNC_LOAD true</logic_param>
		<gui_type>REGISTER</gui_type>
		<gui_param>VALUE_BOX -1.6,-1.3,1.6,1.3</gui_param>

		<param_dlg_data>
			<param>
				<type>BOOL</type>
				<label>Synchronous Reset Pin</label>
				<varname>LOGIC SYNC_CLEAR</varname>
			</param>
			<param>
				<type>BOOL</type>
				<label>Synchronous Load Pin</label>
				<varname>LOGIC SYNC_LOAD</varname>
			</param>
		</param_dlg_data>

#		R
		<input> <name>clear</name>
		          <point>-7,0</point> 
		</input>

#		S
		<input> <name>shift_enable</name>
		          <point>7,0</point> 
		</input>

#		L
		<input> <name>load</name>
		          <point>7,-1</point> 
		</input>

#		Arrow
		<input> <name>shift_left</name>
		          <point>7,-2</point> 
		</input>

#		CLOCK
		<input> <name>clock</name>
		          <point>-7,-1</point> 
		</input>

#		SI
		<input> <name>carry_in</name>
		          <point>7,1.5</point> 
		</input>

#		SO
		<output> <name>carry_out</name>
		          <point>-7,1.5</point> 
		</output>

#		BUS IN
		<input> <name>IN_0</name>
		          <point>3.5,3.5</point> 
		</input>

		<input> <name>IN_1</name>
		          <point>2.5,3.5</point> 
		</input>

		<input> <name>IN_2</name>
		          <point>1.5,3.5</point> 
		</input>

		<input> <name>IN_3</name>
		          <point>0.5,3.5</point> 
		</input>

		<input> <name>IN_4</name>
		          <point>-0.5,3.5</point> 
		</input>

		<input> <name>IN_5</name>
		          <point>-1.5,3.5</point> 
		</input>

		<input> <name>IN_6</name>
		          <point>-2.5,3.5</point> 
		</input>

		<input> <name>IN_7</name>
		          <point>-3.5,3.5</point> 
		</input>

#		BUS OUT
		<output> <name>OUT_0</name>
		          <point>3.5,-3.5</point> 
		</output>

		<output> <name>OUT_1</name>
		          <point>2.5,-3.5</point> 
		</output>

		<output> <name>OUT_2</name>
		          <point>1.5,-3.5</point> 
		</output>

		<output> <name>OUT_3</name>
		          <point>0.5,-3.5</point> 
		</output>

		<output> <name>OUT_4</name>
		          <point>-0.5,-3.5</point> 
		</output>

		<output> <name>OUT_5</name>
		          <point>-1.5,-3.5</point> 
		</output>

		<output> <name>OUT_6</name>
		          <point>-2.5,-3.5</point> 
		</output>

		<output> <name>OUT_7</name>
		          <point>-3.5,-3.5</point> 
		</output>

		<shape>
			<line>-6,2.5,6,2.5</line>
			<line>6,2.5,6,-2.5</line>
			<line>6,-2.5,-6,-2.5</line>
			<line>-6,-2.5,-6,2.5</line>

#			SR IN
			<line>-3.5,2.5,-3.5,3.5</line>
			<line>-2.5,2.5,-2.5,3.5</line>
			<line>-1.5,2.5,-1.5,3.5</line>
			<line>-0.5,2.5,-0.5,3.5</line>
			<line>0.5,2.5,0.5,3.5</line>
			<line>1.5,2.5,1.5,3.5</line>
			<line>2.5,2.5,2.5,3.5</line>
			<line>3.5,2.5,3.5,3.5</line>

#			SR OUT
			<line>-3.5,-2.5,-3.5,-3.5</line>
			<line>-2.5,-2.5,-2.5,-3.5</line>
			<line>-1.5,-2.5,-1.5,-3.5</line>
			<line>-0.5,-2.5,-0.5,-3.5</line>
			<line>0.5,-2.5,0.5,-3.5</line>
			<line>1.5,-2.5,1.5,-3.5</line>
			<line>2.5,-2.5,2.5,-3.5</line>
			<line>3.5,-2.5,3.5,-3.5</line>

#			Carry In & Carry Out
			<line>6,1.5,7,1.5</line>
			<line>-6,1.5,-7,1.5</line>

#			CLOCK
			<line>-6,-0.5,-5,-1</line>
			<line>-6,-1.5,-5,-1</line>

#			Right Inputs
			<line>7,0,6,0</line>
			<line>7,-1,6,-1</line>
			<line>7,-2,6,-2</line>

#			Left Inputs
			<line>-6,0,-7,0</line>
			<line>-6,-1,-7,-1</line>

#			0
			<offset><point>3.3,-1.4</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			7
			<offset><point>-3.7,2.2</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			</offset>

#			0
			<offset><point>3.3,2.2</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			7
			<offset><point>-3.7,-1.4</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			</offset>

#			R
			<offset><point>-5.7,0.4</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0,-0.4</line>
			<line>0,0,0,-0.4</line>
			<line>0,-0.4,0,-0.8</line>
			<line>0,-0.4,0.4,-0.8</line>
			</offset>

#			S
			<offset><point>5.3,0.4</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			L
			<offset><point>5.3,-0.6</point>
			<line>0,0,0,-0.8</line>
			<line>0,-0.8,0.4,-0.8</line>
			</offset>


#			Arrow
			<offset><point>5.3,-2</point>
			<line>0,0,0.4,0</line>
			<line>0,0,0.2,-0.2</line>
			<line>0,0,0.2,0.2</line>
			</offset>

#			S
			<offset><point>-5.7,1.9</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			0
			<offset><point>-5.2,1.9</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			S
			<offset><point>4.8,1.9</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			I
			<offset><point>5.3,1.9</point>
			<line>0.2,0,0.2,-0.8</line>
			<line>0,0,0.4,0</line>
			<line>0,-0.8,0.4,-0.8</line>
			</offset>

		</shape>
	</gate>

#NOTE: Need to make the 12-bit shift register shape.
	<gate> <name>BI_SHIFT_REGISTER_12</name>
		<caption>12-Bit Shift Register</caption>
		<logic_type>REGISTER</logic_type>
		<logic_param>INPUT_BITS 12</logic_param>
		<logic_param>MAX_COUNT 4095</logic_param>
		<logic_param>SYNC_CLEAR true</logic_param>
		<logic_param>SYNC_LOAD true</logic_param>
		<gui_type>REGISTER</gui_type>
		<gui_param>VALUE_BOX -2.4,-1.3,2.4,1.3</gui_param>

		<param_dlg_data>
			<param>
				<type>BOOL</type>
				<label>Synchronous Reset Pin</label>
				<varname>LOGIC SYNC_CLEAR</varname>
			</param>
			<param>
				<type>BOOL</type>
				<label>Synchronous Load Pin</label>
				<varname>LOGIC SYNC_LOAD</varname>
			</param>
		</param_dlg_data>

#		R
		<input> <name>clear</name>
		          <point>-9,0</point> 
		</input>

#		S
		<input> <name>shift_enable</name>
		          <point>9,0</point> 
		</input>

#		L
		<input> <name>load</name>
		          <point>9,-1</point> 
		</input>

#		Arrow
		<input> <name>shift_left</name>
		          <point>9,-2</point> 
		</input>

#		CLOCK
		<input> <name>clock</name>
		          <point>-9,-1</point> 
		</input>

#		SI
		<input> <name>carry_in</name>
		          <point>9,1.5</point> 
		</input>

#		SO
		<output> <name>carry_out</name>
		          <point>-9,1.5</point> 
		</output>

#		BUS IN
		<input> <name>IN_0</name>
		          <point>5.5,3.5</point> 
		</input>

		<input> <name>IN_1</name>
		          <point>4.5,3.5</point> 
		</input>

		<input> <name>IN_2</name>
		          <point>3.5,3.5</point> 
		</input>

		<input> <name>IN_3</name>
		          <point>2.5,3.5</point> 
		</input>

		<input> <name>IN_4</name>
		          <point>1.5,3.5</point> 
		</input>

		<input> <name>IN_5</name>
		          <point>0.5,3.5</point> 
		</input>

		<input> <name>IN_6</name>
		          <point>-0.5,3.5</point> 
		</input>

		<input> <name>IN_7</name>
		          <point>-1.5,3.5</point> 
		</input>

		<input> <name>IN_8</name>
		          <point>-2.5,3.5</point> 
		</input>

		<input> <name>IN_9</name>
		          <point>-3.5,3.5</point> 
		</input>

		<input> <name>IN_10</name>
		          <point>-4.5,3.5</point> 
		</input>

		<input> <name>IN_11</name>
		          <point>-5.5,3.5</point> 
		</input>

#		BUS OUT
		<output> <name>OUT_0</name>
		          <point>5.5,-3.5</point> 
		</output>

		<output> <name>OUT_1</name>
		          <point>4.5,-3.5</point> 
		</output>

		<output> <name>OUT_2</name>
		          <point>3.5,-3.5</point> 
		</output>

		<output> <name>OUT_3</name>
		          <point>2.5,-3.5</point> 
		</output>

		<output> <name>OUT_4</name>
		          <point>1.5,-3.5</point> 
		</output>

		<output> <name>OUT_5</name>
		          <point>0.5,-3.5</point> 
		</output>

		<output> <name>OUT_6</name>
		          <point>-0.5,-3.5</point> 
		</output>

		<output> <name>OUT_7</name>
		          <point>-1.5,-3.5</point> 
		</output>

		<output> <name>OUT_8</name>
		          <point>-2.5,-3.5</point> 
		</output>

		<output> <name>OUT_9</name>
		          <point>-3.5,-3.5</point> 
		</output>

		<output> <name>OUT_10</name>
		          <point>-4.5,-3.5</point> 
		</output>

		<output> <name>OUT_11</name>
		          <point>-5.5,-3.5</point> 
		</output>

		<shape>
			<line>-8,2.5,8,2.5</line>
			<line>8,2.5,8,-2.5</line>
			<line>8,-2.5,-8,-2.5</line>
			<line>-8,-2.5,-8,2.5</line>

#			SR IN
			<line>-5.5,2.5,-5.5,3.5</line>
			<line>-4.5,2.5,-4.5,3.5</line>
			<line>-3.5,2.5,-3.5,3.5</line>
			<line>-2.5,2.5,-2.5,3.5</line>
			<line>-1.5,2.5,-1.5,3.5</line>
			<line>-0.5,2.5,-0.5,3.5</line>
			<line>0.5,2.5,0.5,3.5</line>
			<line>1.5,2.5,1.5,3.5</line>
			<line>2.5,2.5,2.5,3.5</line>
			<line>3.5,2.5,3.5,3.5</line>
			<line>4.5,2.5,4.5,3.5</line>
			<line>5.5,2.5,5.5,3.5</line>

#			SR OUT
			<line>-5.5,-2.5,-5.5,-3.5</line>
			<line>-4.5,-2.5,-4.5,-3.5</line>
			<line>-3.5,-2.5,-3.5,-3.5</line>
			<line>-2.5,-2.5,-2.5,-3.5</line>
			<line>-1.5,-2.5,-1.5,-3.5</line>
			<line>-0.5,-2.5,-0.5,-3.5</line>
			<line>0.5,-2.5,0.5,-3.5</line>
			<line>1.5,-2.5,1.5,-3.5</line>
			<line>2.5,-2.5,2.5,-3.5</line>
			<line>3.5,-2.5,3.5,-3.5</line>
			<line>4.5,-2.5,4.5,-3.5</line>
			<line>5.5,-2.5,5.5,-3.5</line>

#			Carry In & Carry Out
			<line>8,1.5,9,1.5</line>
			<line>-8,1.5,-9,1.5</line>

#			CLOCK
			<line>-8,-0.5,-7,-1</line>
			<line>-8,-1.5,-7,-1</line>

#			Right Inputs
			<line>9,0,8,0</line>
			<line>9,-1,8,-1</line>
			<line>9,-2,8,-2</line>

#			Left Inputs
			<line>-8,0,-9,0</line>
			<line>-8,-1,-9,-1</line>

#			0
			<offset><point>5.3,-1.4</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			1
			<offset><point>-5.2,2.2</point>
			<line>0,0,0,-0.8</line>
			</offset>
#			1
			<offset><point>-5.7,2.2</point>
			<line>0,0,0,-0.8</line>
			</offset>

#			0
			<offset><point>5.3,2.2</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			1
			<offset><point>-5.2,-1.4</point>
			<line>0,0,0,-0.8</line>
			</offset>
#			1
			<offset><point>-5.7,-1.4</point>
			<line>0,0,0,-0.8</line>
			</offset>

#			R
			<offset><point>-7.7,0.4</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0,-0.4</line>
			<line>0,0,0,-0.4</line>
			<line>0,-0.4,0,-0.8</line>
			<line>0,-0.4,0.4,-0.8</line>
			</offset>

#			S
			<offset><point>7.3,0.4</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			L
			<offset><point>7.3,-0.6</point>
			<line>0,0,0,-0.8</line>
			<line>0,-0.8,0.4,-0.8</line>
			</offset>


#			Arrow
			<offset><point>7.3,-2</point>
			<line>0,0,0.4,0</line>
			<line>0,0,0.2,-0.2</line>
			<line>0,0,0.2,0.2</line>
			</offset>

#			S
			<offset><point>-7.7,1.9</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			0
			<offset><point>-7.2,1.9</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			S
			<offset><point>6.8,1.9</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			I
			<offset><point>7.3,1.9</point>
			<line>0.2,0,0.2,-0.8</line>
			<line>0,0,0.4,0</line>
			<line>0,-0.8,0.4,-0.8</line>
			</offset>

		</shape>
 </gate>

#NOTE: Need to make the 16-bit shift register shape.
	<gate> <name>BM_SHIFT_REGISTER_16</name>
		<caption>16-Bit Shift Register</caption>
		<logic_type>REGISTER</logic_type>
		<logic_param>INPUT_BITS 16</logic_param>
		<logic_param>MAX_COUNT 65536</logic_param>
		<logic_param>SYNC_CLEAR true</logic_param>
		<logic_param>SYNC_LOAD true</logic_param>
		<gui_type>REGISTER</gui_type>
		<gui_param>VALUE_BOX -3.2,-1.3,3.2,1.3</gui_param>

		<param_dlg_data>
			<param>
				<type>BOOL</type>
				<label>Synchronous Reset Pin</label>
				<varname>LOGIC SYNC_CLEAR</varname>
			</param>
			<param>
				<type>BOOL</type>
				<label>Synchronous Load Pin</label>
				<varname>LOGIC SYNC_LOAD</varname>
			</param>
		</param_dlg_data>

#		R
		<input> <name>clear</name>
		          <point>-11,0</point> 
		</input>

#		S
		<input> <name>shift_enable</name>
		          <point>11,0</point> 
		</input>

#		L
		<input> <name>load</name>
		          <point>11,-1</point> 
		</input>

#		Arrow
		<input> <name>shift_left</name>
		          <point>11,-2</point> 
		</input>

#		CLOCK
		<input> <name>clock</name>
		          <point>-11,-1</point> 
		</input>

#		SI
		<input> <name>carry_in</name>
		          <point>11,1.5</point> 
		</input>

#		SO
		<output> <name>carry_out</name>
		          <point>-11,1.5</point> 
		</output>

#		BUS IN
		<input> <name>IN_0</name>
		          <point>7.5,3.5</point> 
		</input>

		<input> <name>IN_1</name>
		          <point>6.5,3.5</point> 
		</input>

		<input> <name>IN_2</name>
		          <point>5.5,3.5</point> 
		</input>

		<input> <name>IN_3</name>
		          <point>4.5,3.5</point> 
		</input>

		<input> <name>IN_4</name>
		          <point>3.5,3.5</point> 
		</input>

		<input> <name>IN_5</name>
		          <point>2.5,3.5</point> 
		</input>

		<input> <name>IN_6</name>
		          <point>1.5,3.5</point> 
		</input>

		<input> <name>IN_7</name>
		          <point>0.5,3.5</point> 
		</input>

		<input> <name>IN_8</name>
		          <point>-0.5,3.5</point> 
		</input>

		<input> <name>IN_9</name>
		          <point>-1.5,3.5</point> 
		</input>

		<input> <name>IN_10</name>
		          <point>-2.5,3.5</point> 
		</input>

		<input> <name>IN_11</name>
		          <point>-3.5,3.5</point> 
		</input>

		<input> <name>IN_12</name>
		          <point>-4.5,3.5</point> 
		</input>

		<input> <name>IN_13</name>
		          <point>-5.5,3.5</point> 
		</input>

		<input> <name>IN_14</name>
		          <point>-6.5,3.5</point> 
		</input>

		<input> <name>IN_15</name>
		          <point>-7.5,3.5</point> 
		</input>

#		BUS OUT
		<output> <name>OUT_0</name>
		          <point>7.5,-3.5</point> 
		</output>

		<output> <name>OUT_1</name>
		          <point>6.5,-3.5</point> 
		</output>

		<output> <name>OUT_2</name>
		          <point>5.5,-3.5</point> 
		</output>

		<output> <name>OUT_3</name>
		          <point>4.5,-3.5</point> 
		</output>

		<output> <name>OUT_4</name>
		          <point>3.5,-3.5</point> 
		</output>

		<output> <name>OUT_5</name>
		          <point>2.5,-3.5</point> 
		</output>

		<output> <name>OUT_6</name>
		          <point>1.5,-3.5</point> 
		</output>

		<output> <name>OUT_7</name>
		          <point>0.5,-3.5</point> 
		</output>

		<output> <name>OUT_8</name>
		          <point>-0.5,-3.5</point> 
		</output>

		<output> <name>OUT_9</name>
		          <point>-1.5,-3.5</point> 
		</output>

		<output> <name>OUT_10</name>
		          <point>-2.5,-3.5</point> 
		</output>

		<output> <name>OUT_11</name>
		          <point>-3.5,-3.5</point> 
		</output>

		<output> <name>OUT_12</name>
		          <point>-4.5,-3.5</point> 
		</output>

		<output> <name>OUT_13</name>
		          <point>-5.5,-3.5</point> 
		</output>

		<output> <name>OUT_14</name>
		          <point>-6.5,-3.5</point> 
		</output>

		<output> <name>OUT_15</name>
		          <point>-7.5,-3.5</point> 
		</output>

	<shape>
			<line>-10,2.5,10,2.5</line>
			<line>10,2.5,10,-2.5</line>
			<line>10,-2.5,-10,-2.5</line>
			<line>-10,-2.5,-10,2.5</line>

#			SR IN
			<line>-7.5,2.5,-7.5,3.5</line>
			<line>-6.5,2.5,-6.5,3.5</line>
			<line>-5.5,2.5,-5.5,3.5</line>
			<line>-4.5,2.5,-4.5,3.5</line>
			<line>-3.5,2.5,-3.5,3.5</line>
			<line>-2.5,2.5,-2.5,3.5</line>
			<line>-1.5,2.5,-1.5,3.5</line>
			<line>-0.5,2.5,-0.5,3.5</line>
			<line>0.5,2.5,0.5,3.5</line>
			<line>1.5,2.5,1.5,3.5</line>
			<line>2.5,2.5,2.5,3.5</line>
			<line>3.5,2.5,3.5,3.5</line>
			<line>4.5,2.5,4.5,3.5</line>
			<line>5.5,2.5,5.5,3.5</line>
			<line>6.5,2.5,6.5,3.5</line>
			<line>7.5,2.5,7.5,3.5</line>

#			SR OUT
			<line>-7.5,-2.5,-7.5,-3.5</line>
			<line>-6.5,-2.5,-6.5,-3.5</line>
			<line>-5.5,-2.5,-5.5,-3.5</line>
			<line>-4.5,-2.5,-4.5,-3.5</line>
			<line>-3.5,-2.5,-3.5,-3.5</line>
			<line>-2.5,-2.5,-2.5,-3.5</line>
			<line>-1.5,-2.5,-1.5,-3.5</line>
			<line>-0.5,-2.5,-0.5,-3.5</line>
			<line>0.5,-2.5,0.5,-3.5</line>
			<line>1.5,-2.5,1.5,-3.5</line>
			<line>2.5,-2.5,2.5,-3.5</line>
			<line>3.5,-2.5,3.5,-3.5</line>
			<line>4.5,-2.5,4.5,-3.5</line>
			<line>5.5,-2.5,5.5,-3.5</line>
			<line>6.5,-2.5,6.5,-3.5</line>
			<line>7.5,-2.5,7.5,-3.5</line>

#			Carry In & Carry Out
			<line>10,1.5,11,1.5</line>
			<line>-10,1.5,-11,1.5</line>

#			CLOCK
			<line>-10,-0.5,-9,-1</line>
			<line>-10,-1.5,-9,-1</line>

#			Right Inputs
			<line>11,0,10,0</line>
			<line>11,-1,10,-1</line>
			<line>11,-2,10,-2</line>

#			Left Inputs
			<line>-10,0,-11,0</line>
			<line>-10,-1,-11,-1</line>

#			0
			<offset><point>7.3,-1.4</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			5
			<offset><point>-7.2,2.2</point>
			<line>0,0,0.4,0</line>
			<line>0,0,0,-0.4</line>
			<line>0,-0.4,0.4,-0.4</line>
			<line>0,-0.4,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			</offset>
#			1
			<offset><point>-7.7,2.2</point>
			<line>0,0,0,-0.8</line>
			</offset>

#			0
			<offset><point>7.3,2.2</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			5
			<offset><point>-7.2,-1.4</point>
			<line>0,0,0.4,0</line>
			<line>0,0,0,-0.4</line>
			<line>0,-0.4,0.4,-0.4</line>
			<line>0,-0.4,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			</offset>
#			1
			<offset><point>-7.7,-1.4</point>
			<line>0,0,0,-0.8</line>
			</offset>

#			R
			<offset><point>-9.7,0.4</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0,-0.4</line>
			<line>0,0,0,-0.4</line>
			<line>0,-0.4,0,-0.8</line>
			<line>0,-0.4,0.4,-0.8</line>
			</offset>

#			S
			<offset><point>9.3,0.4</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			L
			<offset><point>9.3,-0.6</point>
			<line>0,0,0,-0.8</line>
			<line>0,-0.8,0.4,-0.8</line>
			</offset>


#			Arrow
			<offset><point>9.3,-2</point>
			<line>0,0,0.4,0</line>
			<line>0,0,0.2,-0.2</line>
			<line>0,0,0.2,0.2</line>
			</offset>

#			S
			<offset><point>-9.7,1.9</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			0
			<offset><point>-9.2,1.9</point>
			<line>0,0,0.4,0</line>
			<line>0.4,0,0.4,-0.4</line>
			<line>0.4,-0.4,0.4,-0.8</line>
			<line>0.4,-0.8,0,-0.8</line>
			<line>0,-0.8,0,-0.4</line>
			<line>0,-0.4,0,0</line>
			</offset>

#			S
			<offset><point>8.8,1.9</point>
			<line>0.4,0,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0.1,0</line>
			<line>0,-0.1,0,-0.2</line>
			<line>0,-0.2,0.4,-0.6</line>
			<line>0.4,-0.7,0.4,-0.6</line>
			<line>0.4,-0.7,0.3,-0.8</line>
			<line>0.3,-0.8,0,-0.8</line>
			</offset>

#			I
			<offset><point>9.3,1.9</point>
			<line>0.2,0,0.2,-0.8</line>
			<line>0,0,0.4,0</line>
			<line>0,-0.8,0.4,-0.8</line>
			</offset>

		</shape>
	</gate>
edit: moved image to external host
Last edited by Snow_Cat on Sat Sep 11, 2010 3:43 pm, edited 2 times in total.

User avatar
gamax92
Posts:289
Joined:Sat Aug 21, 2010 4:06 pm
Location:Inside My Nintendo 64 Ram. (Dont Turn It Off!)
Contact:

Re: 4-Player Controller Dock

Post by gamax92 » Sun Aug 22, 2010 8:35 pm

bump
Last edited by gamax92 on Sun Aug 22, 2010 10:35 pm, edited 1 time in total.
I DONT CARE ABOUT POST COUNT.
nevermind1534 wrote:By, I cringe every time I see a post by you, because of the immense number of useless comments that seem to be there for no reason other than to up your post count.
I DONT CARE ABOUT POST COUNT.
#DCE1E5 #ECECEC

Post Reply