A poker machine is a fairly simple system. you press buttons, you feed in money and (sometimes) money comes out. However the regulatory requirements for a poker machine to be accepted are extremely strict. No money can be lost within the system including across poser down. Any interference to a machine must be reported including door openings while powered off. Testing a system under these conditions is an extremely difficult process especially when considering the timing aspects in some of the events that can occur.
In order to thoroughly test the IO subsystem of poker machine, a hardware emulator was built to provide the standard logic signals to the gaming machine. A Digital IO board was configured to simulate all the physical devices connected to the machine. The connections from the digital IO board used the same connectors as the gaming machine IO and therefore, could be plugged directly into the gaming machine.
This allowed testing to the order of millisecond interactions between each of the connected devices.
For example, in one test, a coin was passed into the system at the same time as a money collect button was pressed. The result of the test was to ensure that no money was lost in this transition. This testing was then scripted to occur over a range of 10 millisecond timing intervals and with the power being disconnected art various stages.
As well as providing a fast and comprehensive level of certification for a machine, this simulator allowed a level of testing such that a number of race conditions were identified and corrected.