Any press from a dual button pad, also triggers the single button ?
That's how it is on the real 7800 as well. The Proline controllers are wired in such a way that they will trigger the 2600 fire button input as well as one of the 2600 paddle inputs.
Which in this code, will stop the dual mode ever trying to read again ?
The .gotone subroutine will disable the dual button support for the tested joystick port by changing the corresponding bit in SWCHB when the 2600 fire button input gets detected.
I wouldn't normally worry about this, I'd just go off and code it up for 2 buttons only, but it'd be nice to be able to discern the joystick type currently plugged in, and this comment worry me.. A lot :\
The Falcon source code is from an early prototype. It probably was written while the system was still in development. Maybe the original Proline joysticks were wired in such a way that the 2600 fire button wouldn't be triggered in dual button mode. And if it was, it might have caused damage to the 7800. Maybe this was changed later on. Maybe this is what the resistors are for in Proline joysticks and joypads? The 7800 programmers manual doesn't mention any potential damage being caused by using dual button support, so there probably isn't anything to worry about.
But if you still want to be sure, you could check for a change on the 2600 fire button input without there being a change on one of the paddle inputs at the same time.
BTW, if you are still looking for a way to test your game on a real 7800 and don't mind doing some soldering, you could have a look at the plans for modifying your 7800 and one game cartridge into a RAM cart. The PAL 7800 is actually quite easy to modify, because some of them already have the BIOS on an EPROM chip. You can find the plans on my website at http://home.arcor.de/estolberg/ . The nessessary programs are in the tool section and plans for better RAM carts and instructions on how to modify the PAL console can be found in the link section.
Ciao, Eckhard Stolberg