The Last Bastion of One-Dimensional Analog Control: Pachinko on the SNES
When I took a look at a modern hanemono pachinko machine, it surprised me that many people thought the pachinko dial control was digital; either you were applying force, or you weren’t and that was it for the amount of control the player has. Now, it’s true that pachinko isn’t quite a game of skill, but there is a little bit more gameplay than that. And if you don’t want to read another pachinko post, don’t worry! This post is actually about controllers for the Super Nintendo!
Two dimensions too many
So one thing that’s been discussed on this blog a lot is one-dimensional analog control. Remember the potentiometers that Nintendo forgot to include on their first Pong console, or the spinner that Sega would’ve used in Megumi Rescue, had that game ever gotten released? (That one’s not quite analog in a certain sense, but sometimes in video games we just use analog to mean a control that has more values than just one or off) Certain genres really lend themselves to this sort of thing.
These genres also entered a fairly steep decline after the 1980s. Oh sure, the occasional Breakout-like has been a staple of video games, but while Arkanoid for the Nintendo Entertainment System justified a potentionmeter control of its own, when Arkanoid: Doh it Again came around, you had to settle for the SNES Mouse, which to be fair, is pretty similar to what I did for Megumi Rescue. But it’s not a real circular one-dimensional control. Because the SNES never got one of those.
At least, it never got one focused on Breakout-type games. And yeah, at the end of the day Arkanoid: Doh It Again came out in 1997, the Nintendo 64 was already on the market, and so a new peripheral for the Super Nintendo would’ve felt a bit silly and probably not sold very well. But wind the clock back to 1994, and one-dimensional control might be able to justify a day in the sun after all. A day in the sun…soft.
Too moe for the 90’s
But maybe we do need to do a little bit of pachinko. This is my other modern (2017!) pachinko machine, CR Moe Excite. I might write a full blog post about it one day.
For now, you just need to know two things about this machine:
- It is a game based on an older machine from the 1990s, Excite, which was an are-pachi, a form of pachinko machine now extinct, a descendant of arrangeball with some digi-pachi thrown in for increased profit.
- Moe Excite, however, is a pure digi-pachi, though a bit of an unorthodox one. The main system is just a two-digit slot machine, but your pachinko ball needs to brave the gate at the top and make it into the rear holes to trigger it, while all the trappings of arrangeball are just for show and play no role at all.
Now, I have seen Excite machines occasionally show up in Japanese auction houses, but never in that great of a condition, and shipping vintage pachinko machines through proxy shipping services rather than pachinko-centric services scares me a bit (and scares my wallet more). So if I want to play Excite, I can turn… to Sunsoft.
Here’s Sunsoft’s Hissatsu Pachinko Collection 2. It’s even got a bit of moe for us. And yes, that’s the same Sunsoft behind legendary NES titles like Mr. Gimmick, Blaster Master, Hebereke, the unreleased Super Pitfall II, and the Tengen-published port of Sega’s After Burner. Unfortunately, in the 16-bit era, Sunsoft stopped doing most of its game development in-house, and quality suffered.
But I mean, it’s pachinko, right? And this is Nicole Express, where our standards are so low I tried to convince you Pachi-Com, a game hated by even its own developer, was nevertheless worth playing.
So obviously I think this is a pretty good port of Excite and you should all rush out to your local GameHalt and buy it. But it’s just not exciting enough. I need to feel like my Super Nintendo (actually my wife’s Super Nintendo, but shh) is a real pachinko machine. And for that, I need a new controller. No, you have an obsession with buying useless things from Japan.
Hissatsu means “deadly”, this could be dangerous
At first glance, you’ll notice that the box for this pachinko controller is heavily faded. That probably implies that it spent a lot of time sitting on a shelf in a used Japanese goods store, where apparently they bathe the things in constant UV hoping someone will buy them just to spare the suffering.
The motto on the box is “遊びじゃないよ!本物だよ!”, which translates roughly as “it’s not just playing, it’s the real thing!” This is an interesting motto for something whose real thing is also a game you play, but hey we won’t judge. After all, at least the controller has Sunsoft mascot and Hebereke protagonist Hebe on it.
The controller is shaped roughly like an egg, and really does look pretty similar to a real pachinko controller. It takes a little more force to rotate, which is a good thing honestly; makes it easier to find the sweet spot. But there is one little problem with the controller if you want to use it for its intended purpose: it sits upright.
See, on a real pachinko machine, you can just kind of sit there with your hand in place and it’s fine. With the Sunsoft Hissatsu Pachinko Controller, on the other hand, you’re in an awkward position; it’s lightweight enough that turning it might cause it to move, unless you’re using your other hand to stabilize it. But the controller has no buttons on it, and now you’re using both hands, which means you can’t use the other to smoke a cigarette, as you do in pachinko parlors drink a soda.
It’s possible the controller was originally intended to come with a rubber suction cup or something else similar; that would probably solve the issue if you could find a suitable surface. I have the box but mine was clearly previously used, so it didn’t come with anything like that, or even a manual.
There is one tactile switch on the side, but I don’t know what it was intended for (it maps to the “A” button); Hissatsu Pachinko Collection 2 has you plug in this controller to the second controller slot, and use a normal controller in slot 1 for doing everything you’d want a button for. You can also see here that this has no equivalent to the metal ring that real pachinko machines use to detect whether you actually have a hand on the knob, and haven’t just wedged something in there.
Teardown and technical rundown
This is probably what you were all waiting for, isn’t it? It’s what I’m most curious about for sure. And this comes apart pretty easily– the bottom of the egg is screwed on separately, then two more screws hold the top on. There’s a small single-sided circuitboard wedged inside.
The plastic cap moves the potentiometer, and keeps it in a certain range. Obviously, all the more interesting electronic parts are on the other side of the circuitboard.
I’ve written the part numbers separately because the highly reflective chips make it a bit hard to read.
393 D4021
D4021
D4024G D4021
H0574 D4021
The ‘393 is a comparator (actually, it’s two), the 4024 is a counter, the ‘574 is a 8-bit register (a flip-flop)– this controller pretty clearly works similar to Coconuts Japan’s Pachinko controller for the NES, just with surface-mount chips rather than the bigger through-hole parts that one used. Essentially, the counter is constantly counting up. Its output is fed to the register, and a simple analog-to-digital converter turns the counter into a sawtooth wave.
The user controls a potentiometer, attached to a simple metal spring to provide the opposing force. That potentiometer is used to generate a varying voltage. This is where the sawtooth wave comes in; at some point, the sawtooth and the potentiometer’s voltage will be equal and then the sawtooth will pass. At that instant, the comparator will detect it, and the register’s value will be latched. This is a fairly basic way to implement an analog-to-digital converter, but somehow it feels like overkill.
So now we deal with the four ‘4021 chips; they are each an 8-bit shift register. The skilled among you might know that the NES controller used a shift register. The data is read in from the controller one bit at a time; the shift register is the device that turns eight separate signals into one that can be clocked out.
What you might not know is that the SNES controller port and the NES controller port are electrically identical. You can build an adapter and read SNES controllers just fine from the NES– the big benefit of a serial line is that you can just add another shift register, and then the game will need to know to shift out another byte. They’re actually designed to be chained like this.
The Coconuts Japan controller did this with two shift registers; one read out a standard NES controller’s eight buttons (Coconuts Japan, unlike Sunsoft, included all the regular buttons on their controller– it is physically completely different), and then the game just read extra bits for the analog value.
But why does the Sunsoft controller, which doesn’t even have face buttons, need thirty-two bits worth of shift registers? Because Nintendo tried to do better. For this section, I’ll be relying significantly on Nocash’s SNES reverse engineering document.
Here are the bits of an NES controller and an SNES controller, side by side, in the order you’d clock them out. For fixed bits, I’m using the same convention Nocash does; the signals are inverted, so a “high” is a 0, and a “low” is a 1. This is actually true of all the buttons; when reading them back, 1 means the button is not pressed. (This allows a nice system where an internal pull-up makes it so a disconnected controller will always read 0) I’ve also included the Coconuts Japan controller.
Bit | NES | SNES | Coconuts Japan NES |
---|---|---|---|
0 | A button | B button | A button |
1 | B button | Y button | B button |
2 | Select | Select | Select |
3 | Start | Start | Start |
4 | Up | Up | Up |
5 | Down | Down | Down |
6 | Left | Left | Left |
7 | Right | Right | Right |
8 | 0 | A button | 0 |
9 | 0 | X button | Data |
10 | 0 | L button | Data |
11 | 0 | R button | Data |
12 | 0 | 0 | Data |
13 | 0 | 0 | Data |
14 | 0 | 0 | Data |
15 | 0 | 0 | Data |
All of the SNES-specific features, the four additional face buttons (though notice the names are changed) are on the second 8-bit byte. This is one of the giveaways that the SNES once was planned to have backwards compatibility. But notice something– there is almost no way for the NES to detect that the Coconuts Japan controller is plugged in. Maybe the user just has a value of 0.
Nintendo intended to improve this by using bits 12-15 as a sigil bit. 0x00
meant the standard controller. 0x01
meant the SNES mouse, and 0x0E
is our pachinko controller. Now, we can detect what’s plugged in. And the SNES mouse also doesn’t reveal most its mouse-unique data bits until after the first byte, which is completely unused. In fact, the SNES mouse and the Sunsoft Pachinko controller use very similar protocols, both 32-bit.
Bit | SNES Mouse | Pachinko |
---|---|---|
0-7 | 0 | 0 |
8 | R button | A button |
9 | L button | 0 |
10 | Sensitivity | 0 |
11 | Sensitivity | 0 |
12 | 0 | 1 |
13 | 0 | 1 |
14 | 0 | 1 |
15 | 1 | 0 |
16 | Y Dir | 0 |
17 | Y Data | 1 |
18 | Y Data | 1 |
19 | Y Data | 1 |
20 | Y Data | 0 |
21 | Y Data | 1 |
22 | Y Data | 1 |
23 | Y Data | 1 |
24 | X Dir | 0 |
25 | X Data | Data |
26 | X Data | Data |
27 | X Data | Data |
28 | X Data | Data |
29 | X Data | Data |
30 | X Data | Data |
31 | X Data | Data |
Looking at this, my first thought was, Arkanoid: Doh It Again supports the mouse, but only in the X direction, since it’s a one-dimensional game. So could I use the pachinko controller as an Arkanoid controller? If I left off the spring, the potentiometer could stay in its position, which would make it useful. Plus, the spring is a pain to leave on anyway.
And the answer is… no. For two reasons:
- The identifying bytes don’t match. In fact, they’re bit-for-bit inverted– Arkanoid knows I’m not using a mouse, that’s the whole point.
- The X data on the mouse is a delta value, the distance the mouse has moved since the value was last latched. The data on the pachinko controller is an absolute value.
So it’d definitely require a ROM hack, and a ROM hack that requires you to mod your controller for it to be useful seems kind of like a poor use of time. Though, the Sunsoft Hissatsu Pachinko controller is quite common, and it’s not particularly desirable, so maybe not the worst idea– I left the spring off when putting mine back together. Now I can cheat in Excite and no one can stop me!