(***************************************************************************)
(*                                                                         *)
(*                         Copyright (C) 1987-1990                         *)
(*                      by Gogesch Micro Systems, INC.                     *)
(*                                                                         *)
(*                           All rights reserved.                          *)
(*                                                                         *)
(***************************************************************************)


;THIS IS A NEW MANUFACTURER IN THE MOD LIBRARY
;DELAYS ARE GIVEN FOR STANDARD AND MAXIMUM
%StartModel
%Manufacturer:Ricoh
%Type:10P8
%PartNumber:EPL10P8
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P1 ~P1 P3 ~P3 P4 ~P4 P5 ~P5 P6 ~P6 P7 ~P7 P8 ~P8 P9 ~P9
     P11 ~P11 *

%MACRO POR(InFuse:%FF, XorFuse:%SF, OutPin:%TEXT);
 %IF %XorFuse=0 %THEN
  NOR(%InFuse, %InFuse+20; OutPin; 25,25,35,35);
 %ELSE
  OR(%InFuse, %InFuse+20; OutPin; 25,25,35,35);
 %END;
%MACEND;

POR(%FF00, %SF320, P19);
POR(%FF40, %SF321, P18);
POR(%FF80, %SF322, P17);
POR(%FF120, %SF323, P16);
POR(%FF160, %SF324, P15);
POR(%FF200, %SF325, P14);
POR(%FF240, %SF326, P13);
POR(%FF280, %SF327, P12);
%EndModel

%StartModel
%Manufacturer:Ricoh
%Type:12P6
%PartNumber:EPL12P6
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P1 ~P1 P3 ~P3 P19 ~P19 P4 ~P4 P5 ~P5 P6 ~P6 P7 ~P7
     P8 ~P8 P12 ~P12 P9 ~P9 P11 ~P11 *

%MACRO POR2(InFuse:%FF, XorFuse:%SF, OutPin:%TEXT);
 %IF %XorFuse=0 %THEN
  NOR(%InFuse, %InFuse+24; OutPin; 25,25,35,35);
 %ELSE
  OR(%InFuse, %InFuse+24; OutPin; 25,25,35,35);
 %END;
%MACEND;

%MACRO POR4(InFuse:%FF, XorFuse:%SF, OutPin:%TEXT);
 %IF %XorFuse=0 %THEN
  NOR(%InFuse, %InFuse+24, %InFuse+48, %InFuse+72; OutPin; 25,25,35,35);
 %ELSE
  OR(%InFuse, %InFuse+24, %InFuse+48, %InFuse+72; OutPin; 25,25,35,35);
 %END;
%MACEND;

POR4(%FF00, %SF384, P18);
POR2(%FF96, %SF385, P17);
POR2(%FF144, %SF386, P16);
POR2(%FF192, %SF387, P15);
POR2(%FF240, %SF388, P14);
POR4(%FF288, %SF389, P13);
%EndModel

%StartModel
%Manufacturer:Ricoh
%Type:14P4
%PartNumber:EPL14P4
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P1 ~P1 P3 ~P3 P19 ~P19 P4 ~P4 P18 ~P18 P5 ~P5 P6 ~P6
     P7 ~P7 P13 ~P13 P8 ~P8 P12 ~P12 P9 ~P9 P11 ~P11 *

%MACRO POR4(InFuse:%FF, XorFuse:%SF, OutPin:%TEXT);
 %IF %XorFuse=0 %THEN
  NOR(%InFuse, %InFuse+28, %InFuse+56, %InFuse+84; OutPin; 25,25,35,35);
 %ELSE
  OR(%InFuse, %InFuse+28, %InFuse+56, %InFuse+84; OutPin; 25,25,35,35);
 %END;
%MACEND;

POR4(%FF00, %SF448, P17);
POR4(%FF112, %SF449,P16);
POR4(%FF224, %SF450,P15);
POR4(%FF336, %SF451,P14);
%EndModel

%StartModel
%Manufacturer:Ricoh
%Type:16P2
%PartNumber:EPL16P2
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P1 ~P1 P3 ~P3 P19 ~P19 P4 ~P4 P18 ~P18 P5 ~P5 P17 ~P17
     P6 ~P6 P14 ~P14 P7 ~P7 P13 ~P13 P8 ~P8 P12 ~P12 P9 ~P9 P11 ~P11 *

%MACRO POR8(InFuse:%FF, XorFuse:%SF, OutPin:%TEXT);
 %IF %XorFuse=0 %THEN
  NOR(%InFuse, %InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; OutPin; 25,25,35,35);
 %ELSE
  OR(%InFuse, %InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; OutPin; 25,25,35,35);
 %END;
%MACEND;

POR8(%FF00, %SF512, P16);
POR8(%FF256, %SF513, P15);
%EndModel

%StartModel
%Manufacturer:Ricoh
%Type:16P8
%PartNumber:EPL16P8
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P1 ~P1 P3 ~P3 P18 ~P18 P4 ~P4 P17 ~P17 P5 ~P5 P16 ~P16
     P6 ~P6 P15 ~P15 P7 ~P7 P14 ~P14 P8 ~P8 P13 ~P13 P9 ~P9 P11 ~P11 *

%MACRO POR7ENABLE(EnableFuse:%SF, InFuse:%FF, XorFuse:%SF, OutPin:%TEXT,
                 TNode:%TEXT);
%IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  %IF %XorFuse=0 %THEN
   NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; OutPin; 25,25,35,35);
  %ELSE
   OR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; OutPin; 25,25,35,35);
  %END;
%ELSE
  %IF %XorFuse=0 %THEN
   NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; TNode; 25,25,35,35);
  %ELSE
   OR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; TNode; 25,25,35,35);
  %END;
  TSB(TNode, %InFuse; OutPin; 25,25,25,25,35,35,35,35);
 %END;
%MACEND;

POR7ENABLE(%SF00, %FF00, %SF2048, P19, N1);
POR7ENABLE(%SF256, %FF256, %SF2049, P18, N2);
POR7ENABLE(%SF512, %FF512, %SF2050, P17, N3);
POR7ENABLE(%SF768, %FF768, %SF2051, P16, N4);
POR7ENABLE(%SF1024, %FF1024, %SF2052, P15, N5);
POR7ENABLE(%SF1280, %FF1280, %SF2053, P14, N6);
POR7ENABLE(%SF1536, %FF1536, %SF2054, P13, N7);
POR7ENABLE(%SF1792, %FF1792, %SF2055, P12, N8);
%EndModel

%StartModel
%Manufacturer:Ricoh
%Type:16RP4
%PartNumber:EPL16RP4
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P19 ~P19 P3 ~P3 P18 ~P18 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4
     P6 ~P6 N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 P13 ~P13 P9 ~P9 P12 ~P12 *

%MACRO POR7ENABLE(EnableFuse:%SF, XorFuse:%SF, InFuse:%FF, OutPin:%TEXT, TNode:%TEXT);
 %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  %IF %XorFuse = 0 %THEN
   NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; OutPin; 25,25,35,35);
  %ELSE
   OR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; OutPin; 25,25,35,35);
  %END;
 %ELSE
  %IF %XorFuse = 0 %THEN
   NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; TNode; 25,25,35,35);
  %ELSE
   OR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; TNode; 25,25,35,35);
  %END;
  TSB(TNode, %InFuse; OutPin; 25,25,25,25,35,35,35,35);
 %END;
%MACEND;

%MACRO POR8DFF(InFuse:%FF, XorFuse:%SF, NodeInp:%TEXT, TLNode:%TEXT, OutPin:%TEXT);
 %IF %XorFuse = 0 %THEN
  LNOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 %ELSE
  LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 %END;
 DQFF(TLNode,P1;NodeInp;15,15,25,0,20,20,25,25,25,0,20,20);
 TSB(NodeInp,L1;OutPin;25,25,25,25,35,35,35,35);
%MACEND;

LINV(P11;L1);
POR7ENABLE(%SF00, %SF2048, %FF00, P19, N1);
POR7ENABLE(%SF256, %SF2049, %FF256, P18, N2);
POR8DFF(%FF512, %SF2050, N3, L2, P17);
POR8DFF(%FF768, %SF2051, N4, L3, P16);
POR8DFF(%FF1024, %SF2052, N5, L4, P15);
POR8DFF(%FF1280, %SF2053, N6, L5, P14);
POR7ENABLE(%SF1536, %SF2054, %FF1536, P13, N7);
POR7ENABLE(%SF1792, %SF2055, %FF1792, P12, N8);
%EndModel


%StartModel
%Manufacturer:Ricoh
%Type:16RP6
%PartNumber:EPL16RP6
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P19 ~P19 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4
     P6 ~P6 N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 P12 ~P12 *

%MACRO POR7ENABLE(EnableFuse:%SF, XorFuse:%SF, InFuse:%FF, OutPin:%TEXT, TNode:%TEXT);
 %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  %IF %XorFuse = 0 %THEN
   NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; OutPin; 25,25,35,35);
  %ELSE
   OR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; OutPin; 25,25,35,35);
  %END;
 %ELSE
  %IF %XorFuse = 0 %THEN
   NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
      %InFuse+192, %InFuse+224; TNode; 25,25,35,35);
  %ELSE
   OR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; TNode; 25,25,35,35);
  %END;
  TSB(TNode, %InFuse; OutPin; 25,25,25,25,35,35,35,35);
 %END;
%MACEND;

%MACRO POR8DFF(InFuse:%FF, XorFuse:%SF, NodeInp:%TEXT, TLNode:%TEXT, OutPin:%TEXT);
 %IF %XorFuse = 0 %THEN
  LNOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 %ELSE
  LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 %END;
 DQFF(TLNode,P1;NodeInp;15,15,25,0,20,20,25,25,25,0,20,20);
 TSB(NodeInp,L1;OutPin;25,25,25,25,35,35,35,35);
%MACEND;

LINV(P11;L1);
POR7ENABLE(%SF00, %SF2048, %FF00, P19, N1);
POR8DFF(%FF256, %SF2049, N2, L2, P18);
POR8DFF(%FF512, %SF2050, N3, L3, P17);
POR8DFF(%FF768, %SF2051, N4, L4, P16);
POR8DFF(%FF1024, %SF2052, N5, L5, P15);
POR8DFF(%FF1280, %SF2053, N6, L6, P14);
POR8DFF(%FF1536, %SF2054, N7, L7, P13);
POR7ENABLE(%SF1792, %SF2055, %FF1792, P12, N8);
%EndModel


%StartModel
%Manufacturer:Ricoh
%Type:16RP8
%PartNumber:EPL16RP8
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4
     P6 ~P6 N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *

%MACRO POR8DFF(InFuse:%FF, XorFuse:%SF, NodeInp:%TEXT, TLNode:%TEXT, OutPin:%TEXT);
 %IF %XorFuse = 0 %THEN
  LNOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 %ELSE
  LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 %END;
 DQFF(TLNode,P1;NodeInp;15,15,25,0,20,20,25,25,25,0,20,20);
 TSB(NodeInp,L1;OutPin;25,25,25,25,35,35,35,35);
%MACEND;

LINV(P11; L1);
POR8DFF(%FF00, %SF2048, N1, L2, P19);
POR8DFF(%FF256, %SF2049, N2, L3, P18);
POR8DFF(%FF512, %SF2050, N3, L4, P17);
POR8DFF(%FF768, %SF2051, N4, L5, P16);
POR8DFF(%FF1024, %SF2052, N5, L6, P15);
POR8DFF(%FF1280, %SF2053, N6, L7, P14);
POR8DFF(%FF1536, %SF2054, N7, L8, P13);
POR8DFF(%FF1792, %SF2055, N8, L9, P12);
%EndModel
