Name         patch;
Partno       xxxxx;
Date         26/07/90;
Revision     Ol;
Designer     Triller/Fischer;
Company      LPR;
Device       g20v8;
Assembly     atari;
Format       j ;
Location     xxxxx;
/******************************************************************/
/*   PAL fuer ATARI-Hardware-Patch fr Rechner mit IMP-Chipsatz   */
/*                                                                */
/*                                                                */
/******************************************************************/
/*  Allowable Target Device Types:     G20V8                      */
/******************************************************************/
/**  Inputs  **/
Pin 1          = CLK;
Pin 7          = !BG;                   /* BC am Prozessor */
Pin 8          = !BGACK;                /* BGACK von Blitter u. Lance */
Pin 9          = !EBR;                  /* externer BR (vom Lance) */

Pin 15       = !BGACK1;               /* Hilfsvariable synchr. BGACK */
Pin 16       = BROE;                  /* Hilfsvariable f. BR.OE */
Pin 19       = !EBG;                  /* BC Lance */
Pin 20       = !IBG;                  /* BG Blitter -> Glue */
Pin 21       = !BR;                   /* BR Prozessor, Blitter, Glue */
Pin 22       = !PBGACK;               /* BGACK am Prozessor */

/**  Declarations and Intermediate Variable Definitions  **/

$DEFINE  S0              'b'00
$DEFINE  S1              'b'10
$DEFINE  S2              'b'0l
$DEFINE  S3              'b'11

/*                  BR & !EBR & BG & !BCACK   !BG
 *                  +----------------------> S2 -----------------+
 *                                                              
 *                     EBR & BG              !BG                
 *                  S0 --------------------> Sl ---------------->+                                                             
 *                                                              
 *                                                              
 *                  +--                                        --+
 */

FIELD state = EBG, IBG;

SEQUENCE state

        /* Ruhezustand */
        PRESENT S0
                IF (EBR & BG)                              NEXT Sl;
                IF (BR & !EBR & BG & !BGACK)               NEXT S2;
                DEFAULT                                    NEXT S0;

        /* Gib BG vom Prozessor als EBG weiter (an Lance) */
        PRESENT S1
                IF (!BG)                                 NEXT  S0;
                DEFAULT                                  NEXT  S1;

        /* Gib BG vom Prozessor als IBG weiter (an Blitter) */
        PRESENT S2
                IF (!BG)                                 NEXT S0;
                DEFAULT                                  NEXT S2;

        /* ungueltiger Zustand */
        PRESENT S3
                  DEFAULT                                NEXT  S0;

/* Bus-Request wird in S1 aktiviert */

BROE = EBR & ((state: S0) # (state: Sl));
BR = 'b'1;
BR.OE = BROE;

/* Nachbilden des ATARI-HW-Patches (BGACK-Verzoegerung) */

BGACK1.D  = BGACK;
BGACK1.OE = 'b'1;
PBGACK = BGACK # BGACK1;













































                                                                       c



                                         
