Two days ago, I attended a meetup of C++ Montréal. The presentation was about the presenter's (Frédéric Hamel) attempt to make a fairly accurate Gameboy (DMG) emulator in C++11. I have to say, it's quite a strange feeling to hear about things and people you only saw in the internet, never in the "real world"; for instance, he gave credits to the Pan docs, the higan emulator, and blargg's excellent suite of test ROMs.
But that's not the subject at hand.
The presenter explained near the end that when his emulator was good enough he tested some games, and upon trying a "brick game", he found that game to behave strangely: the paddle would stick to the edge and pause instantly. He then spent alot of time comparing with other emulators, while reverse engineering the game at the same time. Eventually, he found out the bug: the serial link data register ($FF01) should have a "default" value of $FF instead of 0. In the process however, he discovered that the game actually use the Game Link data, and judging by the code that use said data, the game could actually use some external rotary controller, analogous in operation to the Vaus controller for Arkanoid. By looking at his emulator's commit history, that "brick" game is Alleyway.
Now the question: is that news to you all? The speaker mentioned that he didn't find any information whatsoever about that on the internet. I tried myself and indeed, I found nothing about Alleyway's mysterious external controller, not even on tcrf. Maybe at some point Nintendo considered making a Vaus-like controller to be sold along with Alleyway, but then the idea was scrapped before the launch of the game? Understandable, because it could be awkward to hold the Gameboy with one hand and a rotary controller with the other.
But that's not the subject at hand.
The presenter explained near the end that when his emulator was good enough he tested some games, and upon trying a "brick game", he found that game to behave strangely: the paddle would stick to the edge and pause instantly. He then spent alot of time comparing with other emulators, while reverse engineering the game at the same time. Eventually, he found out the bug: the serial link data register ($FF01) should have a "default" value of $FF instead of 0. In the process however, he discovered that the game actually use the Game Link data, and judging by the code that use said data, the game could actually use some external rotary controller, analogous in operation to the Vaus controller for Arkanoid. By looking at his emulator's commit history, that "brick" game is Alleyway.
Now the question: is that news to you all? The speaker mentioned that he didn't find any information whatsoever about that on the internet. I tried myself and indeed, I found nothing about Alleyway's mysterious external controller, not even on tcrf. Maybe at some point Nintendo considered making a Vaus-like controller to be sold along with Alleyway, but then the idea was scrapped before the launch of the game? Understandable, because it could be awkward to hold the Gameboy with one hand and a rotary controller with the other.