You are not logged in.
Lost Password?

The 'Ext. Port', coloquially known as the 'link port', is a synchronous, bidirectional, serial port, similar to the defacto standard SPI bus used in many embedded systems and peripherals. Like the VB's controller port, there is a 'clock' line to which all transmissions are synchronized. When controlled by hardware, the clock frequency is 50KHz (i.e. it has a 20 µsec period), and data is latched on the rising edge. Data is simultaneously transmitted and received eight bits (one byte) at a time, beginning with the MSB. At the default clock rate, one byte is sent in each direction in 160 µseconds. Tests have shown that, under software control, data can be successfully transmitted with the clock signal running at up to approximately 250KHz, although results may vary among individual units. The port also includes an open-collector output tied to an input, which can be used for out-of-band signalling, e.g. for master/slave arbitration, or as a general-purpose I/O line.

As the VB was designed around the idea of software synchronizing itself to the mechanically scanned displays' refresh rate, there is also a provision in the link port hardware for one VB's dislays to slave themselves to those of the VB on the other end of the connection, which helps to keep the two copies of a properly-written game synchronized in multi-player mode. This feature is implemented as a pair of pins, one carrying the displays' 50Hz synchronization signal, and one which can accept such a signal and override that produced internally by the servo controller. A properly built cable connects the output pin (6) of one VB to the input pin (5) of the other, leaving the unused pin on each side unconnected, as in the following diagram:


Image 1: Link port pins (looking at the link port on the console) and the pinout of a link cable

Software Support

While the official cable – referred to in at least one issue of Nintendo Power as a "Playlink cable" – was never released, and none of the existing commercial games seems to include vestigial multiplayer code, there are currently two homebrew games supporting a (homemade) link cable. They are "Tic Tac Toe" and "3D Battlesnake" (aka "Tron VB") both written by PlanetVB user DogP.

Resources

Discussion

e5frog, d.m.Y

I assume this is the proper pinout and the one in the Workshop is no longer valid?
http://www.planetvb.com/modules/workshop/?02

RunnerPack, d.m.Y

The only thing actually wrong with that one is the connection of the two VBs' display clock output ("Sync") pins (6), which probably won't harm anything, but isn't necessary or recommended. The display clock input is also incorrectly labeled "/WE", but it's left disconnected, so also wouldn't harm anything.

mellott124, d.m.Y

Can we put more detail here? What's the icd of this port?

RunnerPack, d.m.Y

That depends on what you mean by "icd"… If you mean the spacing of the pins, it's about 0.1"

ferris, d.m.Y

Very helpful page!

However I think the directional arrows on the `Clock` line in the diagram shouldn't be there. The port's `Clock` line, like the `Control` line, appears to be connected to open-collector outputs with inputs and pull-up resistors on each end so either unit can bring the line low. The way the diagram is currently, it makes it seem like one of the units should drive the line low/high while the other should only use it as input, which may actually break the hardware if it were wired up this way. Suggested fix would be removing the arrow ends and making it only a solid line like `Control` is currently.

 


Last modified: 23.04.2018