But to read the status of the HVC-051, a total of 24 clock cycles are required. Here are waveforms
comparing the HVC-051 bit sequence with that of a normal controller.
Standard Famicom/NES controller:
And the same data in a table:
Standard controller button
A / 目次
B / 実行
前ページ (Previous page)
次ページ (Next page)
通信終了 (End of communication)
I thought it could be interesting to also talk about what I did to find out the bit sequence.
Knowing that Famicom/NES controllers are very similar to SNES controllers (they are just shift registers, with
a clock, latch and data signal), I built a simple adapter (wire-to-wire, no micro-controller) to connect a Famicom controller
to an SNES console.
SNES controller reference
Famicom to SNES
Such an adapter would normally be useless since games expect SNES controllers. But
I intended to use my own SNES program, the simple controller test I developed during
the 2018/09 RetroChallenge. This
tester simply reads 32 bits from the controller and displays the result on screen (a green square
means a 0 was present on the wire).
With the HVC-051 and the adapter connected to port 2, I just had to press every button, writing
down the corresponding bit.
Here is the ROM I used, in case it might be useful:
I cannot be held responsible for any damages that could occur to you
or your equipment while following the procedures present on this page.
Also, I GIVE ABSOLUTELY NO WARRANTY on the correctness and usability
of the informations on this page. Please note, however, that the procedures
above have worked in my case without any damages or problems.