Pincoder Diagnostics Inc.  Version 2022.11.24.2050_beta

ROM NAME
==============================================================================================

08-interrupts (Williams sys7)



PINCODER ADAPTER SETTINGS
==============================================================================================

JP1   JP2   DIP SWITCHES

2-3   2-3   --111-1-




PURPOSE
==============================================================================================

This ROM tests the three kinds of Interrupt Requests (IRQs) that the CPU is capable of
processing:


    * HARD IRQ: IC25 (with help from IC11 and IC5) generate a hard IRQ about every 1000th of a
    second to the CPU.  The CPU can be programmed to ignore this.  Under normal circumstances
    this would never be a good idea, but it is worth checking that the cpu CAN ignore it.

    * SOFT IRQ: This is a software based IRQ and does not depend on circuity external to the
    CPU.

    * HARD NMI: Non Maskable Interrupt.  This is an interrupt that the CPU is NOT allowed
    to ignore (hence the term non-maskable).  It does depend on circuitry external to the
    CPU.  IC24 and the SW1 switch (Diagnostic Start, bottom switch on MPU board) are used to
    generate this type of IRQ.




PROCEDURE
==============================================================================================

See the following three sections to evaluate the health of the CPU chip.  All three sections
must be completed successfully.



HARD IRQ TEST
==============================================================================================

When you power up this ROM, HARD IRQs are enabled and the displays will show the amount of
time the test has been running:

    * The number of days is shown in the CREDITS display, and again in the MATCH display.

    * The number of HOURS, MINUTES, and SECONDS is shown in the player displays as HHMMSS.

As the timer value increments on the displays it indicates that Hard IRQs are being generated
(via IC25, etc) and that the CPU is correctly receiving and processing the interrupts.

If this is not the case when you power up, check TP5.  It should be pulsing low about every
1000/th of a second.  If not, IC25, IC11, or IC5 may be at fault.  If the correct pulse is
there and this test still does not power up as it should, then replace the CPU chip.



SOFT IRQ TEST
==============================================================================================

On the MPU board, set DIP SWITCH 01 to ON and press and release the COMMAND_ENTER switch. When
this ROM detects this condition it will cause the CPU to execute an "SWI" (software interrupt
instruction).  The CPU then places normal processing on hold, and then executes a separate
function within the test ROM which simply resets the timer to zero and tells the CPU to return
to normal processing.

    NOTE: DIP SWITCH 01 is the top switch of the top bank of DIP switches on the MPU board.

If your board does not have DIP switches at all it probably also does not have the
COMMAND_ENTER button. My system 7 board (Hyperball) does not have them either. Without those
you will not be able to test the soft IRQ. If that is the case you can skip the soft IRQ
portion of this test ROM.

If your board does not reset the timer to zero then you MAY need to replace the CPU chip. I
say MAY because the hard IRQ signal is generated by other circuitry on the MPU board at
regular intervals and it is very unlikely that the Williams code would need to generate one by
software.

I wrote the soft IRQ test because it is part of the CPU chip functionality in general, and it
is better to have the ability to fully certify a chip.



HARD NMI TEST
==============================================================================================

Pressing the SW1 switch momentarily will cause the CPU to stop normal processing, execute
the hard NMI function within the test ROM, and continue normal processing.  In this ROM, the
function simply stops and starts the timer.

If repeatedly pressing and releasing this switch does not "pause" and "resume" the timer then
check IC24.  If IC24 is good then replace the CPU chip.



EXPECTED RESULTS
==============================================================================================

Your CPU must pass all three of the above tests. If it fails any one of them your game may not
function correctly.

Pincoder Diagnostics Inc. Version 2022.11.24.2050_beta
