Sega Master System / Mark III / Game Gear
SMS Power! 18th Anniversary Competitions are now in progress! Listen, play, vote!
The Master System includes a Pause button on the console body which is generally used to pause the game. Many would question placing it on the system rather than on the controller, but it was perhaps a bid to avoid breaking compatability of its standard DB9 controller port.
The Pause button is attached, via the I/O controler, to the Z80's NMI line. This means that when it is pressed, execution unconditionally jumps to offset $0066 within the Z80's address space. A routine there must deal with the event.
In general, the software will merely set a flag in RAM and return (
retn) back to the interrupted code; the flag can then be dealt with at a suitable time.