atari email archive

a collection of messages sent at Atari from 1983 to 1992.

SYSTEM I CART 2 & COCKTAIL

(1 / 2)


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

System I Mid-Screen Interrupt, Revisited

(2 / 2)


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.
Message 1 of 2

Sep 09, 1985