(1 / 2)
Date: September 09, 1985 18:38
From: CHARM::PAAUW
To: @SYS$MAIL:ENGINEER
THE SPLIT SCREEN INTERRUPT ADDED TO THE LATEST CART BOARD CAUSES PROBLEMS IN ITS CURRENT CONFIGURATION. THE LEVEL 3 INTERRUPT CAN BE LOCKED ON IN TWO WAYS. FIRST, THE LATCH CAN POWER UP WITH AN INTERRUPT REQUEST OR, SECONDLY, IT CAN BE LEFT SET BY THE RAM TEST. THE INTERRUPT IS NORMALLY CLEARED BY THE FETCH OF THE SECOND LINE OF PICTURE CODE "FFFF". IN THE OLDER GAMES THIS OBVIOUSLY WILL NEVER OCCUR AND THE GAMES WOULD BE LOCKED UP. THE PROPOSED FIX IS AS FOLLOWS: SINCE POWER ON RESET IS NOT SENT TO THE CART, I AM PLANNING ON USING "SOUND RESET" TO INHIBIT THE LEVEL 3 INTERRUPT. THE INTERRUPT WILL BE ENABLED BY READING THE PORT AT ADDRESS 240,000. THIS SHOULD MAKE THE CIRCUIT COMPATIBLE WITH PROGRAMS THAT IGNORE IT (ASSUMING THAT A "SOUND RESET" IS ISSUED BEFORE LEVEL 3 INTERRUPTS ARE ENABLED ). PROGRAMS THAT USE THE INTERRUPT WILL HAVE TO ENABLE IT BY READING ADDRESS 240,00 BEFORE IT IS EXPECTED TO BE USED AND WILL HAVE TO RE-ENABLE IT AFTER EVERY SUBSEQUENT "SOUND RESET". IF THERE ARE ANY COMMENTS OR OBJECTIONS TO THIS, PLEASE LET ME KNOW ASAP. DON
(2 / 2)
Date: May 06, 1986 17:42
From: KIM::PPS
To: @sys$mail:engineer
The following message is of interest to System I Programmers and Engineers:
PROBLEM: Due to incomplete address decoding on the System I TTL MAIN PCB, the
previously documented mid-screen interrupt read address overlays the
Program ROM address range. There was a mod way back when to fix this,
but it apparently wasn't implemented.
SOLUTION: To ameliorate this situation the address of the interrupt read
port is being changed from the previously advertised range of
200,200-3FF,FFF to the new range of 2E0,000-2FF,FFF.
This range is in the upper, unused area of the program rom decoder.
The mod was to run "G1" of the Program ROM address decoder to
"/A21". This is done on the LSI MAIN PCB but not on the
TTL MAIN PCB.
BACKGROUND: Roadrunner was experiencing serious frame overrun problems -
the game would literally slow down to half speed. The problem
was hardware dependent; i.e. some PCB sets ran fine, others
did not. In one situation we found an LS244 that had bent
pins which caused the failure. Then the problem reared its head
again: this time the problem would occur on most boards when
Vcc was lowered to 4.8 volts; it happens with ALL boards when
lowered to 4.6 VDC. After some careful sleuthing Don was able
to isolate the problem to a bus-contention problem between
an O.S. ROM on the Main PCB and an LS244 on the Cart PCB.
Lowering Vcc let the LS244 lose to the ROM (as I understand it)
which would screw up the 68010 programs ability to deal with
MIDSCREEN INTERRUPTS properly...frame overrun was the result.
A hardware mod is possible. It involves adding a wire to run
"NOT A21" to a couple of places. Since there are (5) variations
of MAIN PCB's in the field (between Board Revisions and ECN's)
this field change would be horrendous to document. Instead,
a software change can avoid the bus contention. Reference
Don Pauuw's solution above.
Sep 09, 1985