Interface: Proprietary serial
Designed by Hori Electric Co. for Nintendo Family Computer (aka "Famicom") video game console. In addition to the common buttons, it does have cross-shaped D-pad control. Device is obviously intended for two-hands operation.
Sensors are of unusual design. Shutter discs are in fact a 16mm rollers supporting the ball, with micro 3x8x4mm ball bearings inside. Each roller have just 8 holes, so calculated resolution is incredibly low: 25 PPR / 4 CPI. Probably it was enough for planned purpose back then. Support bearing is marked 625Z Nachi Japan, and have the same outer size as X and Y rollers: 5x16x5mm. Main bearings are unmarked, but dimensions correspond to 693-ZZ type. They're of serviceable kind (removable shields), seemingly stainless, and of very good quality: still rotating like new. Discrete photosensors and LEDs are assembled in plastic enclosures, used also as a bearing retainers.
Signals are rectified with Rohm BU4093B Schmitt triggers. Main 28-pin controller in cradle is marked Hori TRK-81-R01 BU3219, and probably is also made by Rohm Semiconductor.
PCB is supposed to be fixed in the case by single self-taping screw, but for some reasons it was never installed at the factory: the hole in the mounting post is intact. I've added that screw myself. Buttons and D-pad are made of conductive rubber pads, contacting PCB traces (like in TV-remotes), so there's no any clicks. Speed and orientation selection switches are located on the bottom of device.
Connector is compatible with standard DB-15 but is longer, and does not have retaining screws. Just 5 wires are actually used, marked on the PCB side as VCC, GND, CLK, P/S and DA.
This trackball originally is not a pointing device, but seems it's could be converted easily. In the right-hand operation mode, the "B" button is located directly under the thumb, so if used as a left mouse button, hand position is the same as with most trackballs. Quality of ball mechanics is very high: smooth movement, and the ability to spin.
Original package box and leaflet:
NESdev Wiki page, mojo blog and Martin Korth (c) NO$NES page. I've also copied them here:
Code: Select all
https://wiki.nesdev.com/w/index.php/Mouse Hori Track Hori produced a trackball compatible with Moero Pro Soccer, Moero Pro Soccer, Putt Putt Golf, and US Championship V'Ball. It was released in Japan, and what appears to be a prototype U.S. version was exhibited behind glass in Nintendo World, but the U.S. version never reached stores. Report byte 1 is the embedded standard controller. Byte 2, MSB first: 7654 3210 |||| ++++- Axis 2, signed 4 bit, XOR with $F ++++------ Axis 1, signed 4 bit, XOR with $F Byte 3, MSB first: 7654 3210 |||| ++++- Unknown (read and unused by games) ||++------ ID byte (1 or 2 depending on version) |+-------- Unknown (speculated by nocash to be the speed switch) +--------- Rotation mode switch (0: R, 1: L) In rotation mode L, Up on the Control Pad points up, axis 1 points down, and axis 2 points right. In rotation mode R, Up on the Control Pad points right, axis 1 points left, and axis 2 points down.
Code: Select all
https://blog.world3.net/2010/04/hori-famicom-trackball-protocol/ Hori Famicom trackball protocol I just finished adding support for Famicom/NES trackballs to the Retro Adapter firmware. I can now use it as a mouse :-) The protocol is quite simple. Data is read from the controller in the same way as a normal gamepad. The first 8 bits are the same, followed by 4 bits of y axis offset and 4 bits of x axis offset. Finally there is an ID nibble of 1000. The axis data is in two’s complement format, most likely just the output from some up/down counters. I opened the trackball up for a look and it uses a custom Hori controller IC labelled “TRK-81-R01” and “BU3219 844 315”. The only other components are two optical encoders for the ball, two switches (high/low speed, left/right handed), a few resistors, a single power supply capacitor and a 4093 Schmitt trigger. The two ICs are both DIP format. The PCB is single sided and does not use any jumper wires; however there is a patch wire which corrects a off-by-one-pin wiring error. The whole thing could be done in pure logic ICs but Hori must have thought it was cheaper to use a custom IC. Considering the age and limited popularity of the device that’s somewhat surprising. Unfortunately the deletionists destroyed the Wikipedia article on Hori.
Code: Select all
https://problemkaputt.de/everynes.htm Hori Track Moero Pro Soccer (J) 1988 Jaleco Operation Wolf (J) (U) 1989 Taito (also supports Zapper lightgun) Putt Putt Golf (FDS) 1989 Pack-In-Video US Championship V'Ball (J) 1989 Technos Japan Corp Hori seems to have planned both NES and Famicom versions of the controller; as far as known, the NES version wasn't released, but, most of the existing games (except Putt Putt Golf) do contain both NES and Famicom controller protocol versions: Version Input Data from ID Bits Connector Released Famicom [4016h/4017h].Bit1 0,1 15pin Yes NES [4016h/4017h].Bit0 1,0 7pin No Controller Bits: (to be preceeded by normal joypad like 1-then-0 strobing on OUT-0) 1st..8th bit --> Same as normal joypad data 9th..12th bit --> Axis 1, signed 4bit (MSB first, inverted, 1=Low=Zero) 13th..16th bit --> Axis 2, signed 4bit (MSB first, inverted, 1=Low=Zero) 17th --> L/R mode switch (0=High=R-Mode, 1=Low=L-Mode) 18th --> Unknown/unused (probably SPEED LO/HI switch) (=?) 19th --> ID Bit1 (0=High=Famicom, 1=Low=NES) 20th --> ID Bit0 (0=High=NES, 1=Low=Famicom) 21th..24th --> Unknown/unused (read by software, but seems to be unused) 25th and up --> Unknown/unused (probably whatever padding bits) Trackball Orientation: When 17th Bit=1: (L-Mode) (supported by all games) Axis 1 is to be treated as Y-axis (POSITIVE = DOWN = towards DPAD) Axis 2 is to be treated as X-axis (POSITIVE = RIGHT = towards START/SELECT) When 17th Bit=0: (R-Mode) (not supported by Operation Wolf) Axis 1 is to be treated as X-axis (POSITIVE = LEFT = towards DPAD) Axis 2 is to be treated as Y-axis (POSITIVE = DOWN = towards START/SELECT) DPAD orientation is unknown (according to manual, it sounds like UP=Towards Ball, RIGHT=Towards B-Button) (in software, this should be probably always kept handled as so, regardless of the L/R switch). ___________ L-Mode R-Mode ___________ | ___ |\ __________ __________ /| ___ | | .' '. | | |\ /| _ | | .' '. | HORI TRACK | | BALL | | | STA | | | | _| |_ | | | BALL | | | | | | | // SEL | | | | |_ _| | | | | | HORI ELECTRIC | '.___.' | | // | | | | |_| | | '.___.' | CO.LTD. |___________| | A | | | | | |___________| MODEL TRK-7 | \| .''. | | | | .''. |/ | MADE IN JAPAN |_____________| | | | | | | | | |_____________| | _ B '..' | | | | '..' B | Note: | _| |_ .''. | | | | .''. STA | L/R switch and | |_ _| | | | | | | | | SEL \\ | SPEED LO/HI | |_| '..' | | | | '..' A \\ | switch are at |________________________| | | |________________________| bottom-side | H O R I T R A C K \ | | / | |_________________________\| |/_________________________|