home *** CD-ROM | disk | FTP | other *** search
- C64 pla LOGIC EQUATIONS
-
-
- oN 30TH aUGUST 1994, jENS sCH{$f6}NFELD (SYSOP@NOSTLGIC.OCHE.DE) POSTED
- THE RAW DATA FROM THE c64 plaS IN THE gERMAN NEWSGROUP
- Z-NETZ.RECHNER.C64+C128.ALLGEMEIN. hE READ THE CHIP WITH AN eprom
- PROGRAMMER DEVICE AS A 27512 eprom USING A HOME-BUILT ADAPTOR.
-
- fROM THE 64Kb RAW DATA, i, mARKO m{$e4}KEL{$e4} (mARKO.mAKELA@hut.fi) AND
- SEVERAL OTHERS TRIED TO MANUALLY CREATE THE LOGIC EQUATIONS,
- INDEPENDENT OF EACH OTHER. i WAS THE FIRST ONE WHO COMPLETED THE
- WORK. eSPECIALLY THE casram EQUATIONS TOOK LOTS OF TIME. mY FRIEND
- aNDREAS bOOSE (BOOSE@UNIXSERV.RZ.FH-HANNOVER.DE) HELPED ME TO OPTIMIZE
- THE casram EQUATIONS A BIT.
-
- oUR WORK WAS FINALLY VERIFIED BY mARK sMITH (MARK@TE.RL.AC.UK), WHO
- READ OUT THE 82s100 OF MY OLDEST c64 AND CONVERTED THE jedec FILE TO
- LOGIC EQUATIONS WITH THE aBEL PROGRAM. aNDREAS bOOSE VERIFIED THE NEW
- EQUATIONS.
-
- tHIS FILE CONTAINS THREE SECTIONS:
- 1. A MANUFACTURER DATA SHEET OF 82s100
- 2. A jedec FILE WHICH CAN BE USED TO BURN A 82s100 TO ACT LIKE A c64 pla
- 3. A LOGIC EQUATION FILE CREATED WITH aBEL
-
- mARK sMITH WRITES:
-
- "aNYONE SHOULD BE ABLE TO BLOW A NEW pla FROM THE jedec FILE i SENT
- YOU, AND WHEN SUPPLIES OF THE 82s100 CHIP FINALLY DRY UP COMPLETELY,
- THE EQUATIONS SHOULD BE ABLE TO BE PUT INTO A DIFFERENT TYPE OF LOGIC
- ARRAY CHIP. tHE ONLY THING THAT WOULD HAVE TO BE DONE IS TO MAKE A
- PRINTED CIRCUIT BOARD ADAPTOR TO TAKE THE PINS ON THE NEW CHIP TO THE
- CORRECT POSITIONS TO PLUG INTO THE c64 MOTHERBOARD. aS FAR AS i AM
- AWARE, THERE ARE VIRTUALLY NO OTHER pla CHIPS WITH A 28 PIN
- FOOTPRINT. mODERN ONES ARE NEARLY ALL SQUARE PACKAGED plcc TYPES. iT
- IS ALSO VERY DIFFICULT TO FIND A MODERN pla CHIP WITH 16 INPUTS AND 8
- OUTPUTS - MOST HAVE ONLY 22 DUAL PURPOSE i/oS OR HAVE MANY MORE. i
- THINK THE NEXT STEP UP IS A 44 PIN DEVICE.
-
- sO A MODERN REPLACEMENT WOULD PROBABLY HAVE TO BE A 44 PIN plcc SQUARE
- PACKAGED pal (pla) CHIP MOUNTED ONTO A PRINTED CIRCUIT BOARD WHICH
- TAKES THE PINS TO A 28 PIN DUAL IN LINE HEADER OUTLINE.
-
- i'M SURE IT COULD BE DONE. mAYBE i SHOULD LOOK INTO IT, AS 82s100S ARE
- VERY DIFFICULT TO COME BY NOW AND OUT OF THE 3 c64S i HAVE, THE 2 THAT
- WERE FAULTY BOTH HAD DUFF pla CHIPS. tHE FAULTY pla CHIPS WERE BOTH
- cOMMODORE MASS PRODUCED REPLACEMENTS FOR THE FUSE PROGRAMMABLE
- 82s100. i THINK THAT THE COMMODORE REPLACEMENT CHIPS ARE PROBABLY LESS
- RELIABLE THAN THE ORIGINAL 82s100S USED IN EARLY MACHINES."
-
-
- hINT: sEARCH FOR "===" TO FIND THE SECTIONS IN THIS FILE.
- ===
- 82s100 DATA SHEET
- -----------------
-
- tHE 82s100 IS A BIPOLAR, FUSE-LINK PROGRAMMABLE LOGIC ARRAY. iT USES THE
- STANDARD and/or/INVERT ARCHITECTURE TO DIRECTLY IMPLEMENT CUSTOM
- UM-OF-PRODUCT LOGIC EQUATIONS.
-
- eACH DEVICE CONSISTS OF 16 DEDICATED INPUTS AND 8 DEDICATED OUTPUTS. eACH
- OUTPUT IS CAPABLE OF BEING ACTIVELY CONTROLLED BY ANY OR ALL OF THE 48
- PRODUCT TERMS. tHE TRUE, COMPLEMENT, OR DON'T CARE CONDITION OF EACH OF THE
- 16 INPUTS andED TOGETHER COMPRISE ONE p-tERM. aLL 48 p-tERMS ARE THEN or-D
- TO EACH OUTPUT. tHE USER MUST THEN ONLY SELECT WHICH p-tERMS WILL ACTIVATE
- AN OUTPUT BY DISCONNECTING TERMS WHICH DO NOT AFFECT THE OUTPUT. iN ADDITION,
- EACH OUTPUT CAN BE FUSED AS ACTIVE HIGH OR ACTIVE LOW.
-
- tHE 82s100 IS FULLY ttl COMPATIBLE AND INCLUDES CHIP-ENABLE CONTROL FOR
- EXPANSION OF INPUT VARIABLES AND OUTPUT INHIBIT. iT FEATURES THREE STATE
- OUTPUTS.
-
- fIELD PROGRAMMABLE nI-cR LINKS
- 16 INPUTS
- 8 OUTPUTS
- 48 PRODUCT TERMS
- cOMMERCIAL VERION - n82s100 - 50NS MAX ADDRESS ACCESS TIME
- pOWER DISSIPATION - 600Mw TYP
- iNPUT LOADING - 100Ua MAX
- cHIP ENABLE INPUT
- tHREE STATE OUTPUTS
-
- tHE 82s100 DEVICES ARE SHIPPED IN AN UNPROGRAMMED STATE CHARACTERISED BY:
- aLL INTERNAL nI-cR LINKS ARE INTACT AND THEREFORE EACH PRODUCT TERM CONTAINS
- BOTH TRUE AND COMPLEMENT VALUES OF EVERY INPUT VARIABLE,
- THE or MATRIX CONTAINS ALL 48 p-tERMS,
- THE POLARITY OF EACH OUTPUT IS SET TO ACTIVE HIGH,
- ALL OUTPUTS ARE AT A LOW LOGIC LEVEL.
- ===-------------------- cUT HERE - FILENAME=C64PLA.JED ------------------------
-
-
-
- dATA i/o*
- qp0028* qf1928* g0 *
- l0000
- 11010111110110011111100111011111
- 00111111111101111101010111111001
- 11011111010111111111011111010101
- 11111001101011110101111111110110
- 11010110011110011101111101101111
- 11011110110101100111100111011111
- 01101111111101101101011001111001
- 10101111011011111111111101111111
- 11110111110110010110111111111111
- 01111111111101111010100101101111*
- l0320
- 01111111110101100111101011111111
- 11111111111101011101011001011001
- 11011111011110111111010111010110
- 01111010110111110111101111011101
- 11010110010110011101111101111011
- 11011101110101100111101011011111
- 01111011111101011101011001011001
- 10101111011110111111010111010110
-
- 11010110010110011010111101111011*
- l0640
- 11011101110101100111101010101111
- 01111011111111111101011001011001
- 01101111011110111111111111010110
- 01111010011011110111101111010111
- 11011010111110011011111101111101
- 11111111110110101111101101101111
- 01111101111101111101100111111001
- 10101111011111101111111111010101
- 11111011011011110111111011111111
- 11111111111101110110010101111110*
- l0960
- 11111111111010110111111101101111
- 01111111111111111110100111111111
- 01101111011111111111111111100111
- 11111111011011110111111111111111
- 11011001111111110110111101111111
- 11111111110101101011111101101111
- 01111111101111111111111111111111
- 11111111111111110111111111111111
- 11111111111111110111111110111111
-
- l1280
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000*
- l1600
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000
- 00000000000000000000000000000000*
-
- 01111111*
- c7f5d*
- 849e
-
-
-
- ===--------------------- cUT HERE - FILENAME=C64PLA.ABL -----------------------
-
-
- module C64PLA
- "cREATED BY jed2ahdl abel 4.10 ON wED jUL 19 15:37:23 1995
-
- title
- 'pla CHIP IN OLD VERSION OF cOMMODORE 64'
-
- C64PLA DEVICE 'F100';
-
- "dEVICE IS A sIGNETICS/mULLARD/pHILLIPS 82s100
-
-
- "pIN AND nODE dECLARATIONS
- fe, a13, a14, a15 pin 1, 2, 3, 4;
- _va14, _charen, _hiram, _loram pin 5, 6, 7, 8;
- _cas, romh, roml, i_o pin 9,10,11,12;
- gr_w, gnd, charom, kernal pin 13,14,15,16;
- basic, casram, _oe, va12 pin 17,18,19,20;
- va13, _game, _exrom, r__w pin 21,22,23,24;
- _aec, ba, a12, vcc pin 25,26,27,28;
-
- casram istype 'nEG';
- romh,roml,i_o,gr_w,charom,kernal,basic,casram istype 'cOM';
- romh,roml,i_o,gr_w,charom,kernal,basic,casram istype 'iNVERT';
-
- x,k,z,c,p,u,d = .x.,.k.,.z.,.c.,.p.,.u.,.d.;
-
- equations
-
- !romh = (_hiram & a15 & !a14 & a13 & !_aec &
- r__w & !_exrom & !_game
- # a15 & a14 & a13 & !_aec & _exrom &
- !_game
- # _aec & _exrom & !_game & va13 & va12 );
- !romh.oe = _oe;
-
- !roml = (_loram & _hiram & a15 & !a14 & !a13 &
- !_aec & r__w & !_exrom
- # a15 & !a14 & !a13 & !_aec & _exrom &
- !_game );
- !roml.oe = _oe;
-
- !i_o = (_hiram & _charen & a15 & a14 & !a13 &
- a12 & ba & !_aec & r__w & _game
- # _hiram & _charen & a15 & a14 & !a13 &
- a12 & !_aec & !r__w & _game
- # _loram & _charen & a15 & a14 & !a13 &
- a12 & ba & !_aec & r__w & _game
- # _loram & _charen & a15 & a14 & !a13 &
- a12 & !_aec & !r__w & _game
- # _hiram & _charen & a15 & a14 & !a13 &
- a12 & ba & !_aec & r__w & !_exrom &
- !_game
- # _hiram & _charen & a15 & a14 & !a13 &
- a12 & !_aec & !r__w & !_exrom & !_game
- # _loram & _charen & a15 & a14 & !a13 &
- a12 & ba & !_aec & r__w & !_exrom &
- !_game
- # _loram & _charen & a15 & a14 & !a13 &
- a12 & !_aec & !r__w & !_exrom & !_game
- # a15 & a14 & !a13 & a12 & ba &
- !_aec & r__w & _exrom & !_game
- # a15 & a14 & !a13 & a12 & !_aec &
- !r__w & _exrom & !_game );
- !i_o.oe = _oe;
-
- !gr_w = (!_cas & a15 & a14 & !a13 & a12 &
- !_aec & !r__w );
- !gr_w.oe = _oe;
-
- !charom = (_hiram & !_charen & a15 & a14 & !a13 &
- a12 & !_aec & r__w & _game
- # _loram & !_charen & a15 & a14 & !a13 &
- a12 & !_aec & r__w & _game
- # _hiram & !_charen & a15 & a14 & !a13 &
- a12 & !_aec & r__w & !_exrom & !_game
- # _va14 & _aec & _game & !va13 & va12
- # _va14 & _aec & !_exrom & !_game & !va13 &
- va12 );
- !charom.oe = _oe;
-
- !kernal = (_hiram & a15 & a14 & a13 & !_aec &
- r__w & _game
- # _hiram & a15 & a14 & a13 & !_aec &
- r__w & !_exrom & !_game );
- !kernal.oe = _oe;
-
- !basic = (_loram & _hiram & a15 & !a14 & a13 &
- !_aec & r__w & _game );
- !basic.oe = _oe;
-
- !casram = !(_loram & _hiram & a15 & !a14 & a13 &
- !_aec & r__w & _game
- # _hiram & a15 & a14 & a13 & !_aec &
- r__w & _game
- # _hiram & a15 & a14 & a13 & !_aec &
- r__w & !_exrom & !_game
- # _hiram & !_charen & a15 & a14 & !a13 &
- a12 & !_aec & r__w & _game
- # _loram & !_charen & a15 & a14 & !a13 &
- a12 & !_aec & r__w & _game
- # _hiram & !_charen & a15 & a14 & !a13 &
- a12 & !_aec & r__w & !_exrom & !_game
- # _va14 & _aec & _game & !va13 & va12
- # _va14 & _aec & !_exrom & !_game & !va13 &
- va12
- # _hiram & _charen & a15 & a14 & !a13 &
- a12 & ba & !_aec & r__w & _game
- # _hiram & _charen & a15 & a14 & !a13 &
- a12 & !_aec & !r__w & _game
- # _loram & _charen & a15 & a14 & !a13 &
- a12 & ba & !_aec & r__w & _game
- # _loram & _charen & a15 & a14 & !a13 &
- a12 & !_aec & !r__w & _game
- # _hiram & _charen & a15 & a14 & !a13 &
- a12 & ba & !_aec & r__w & !_exrom &
- !_game
- # _hiram & _charen & a15 & a14 & !a13 &
- a12 & !_aec & !r__w & !_exrom & !_game
- # _loram & _charen & a15 & a14 & !a13 &
- a12 & ba & !_aec & r__w & !_exrom &
- !_game
- # _loram & _charen & a15 & a14 & !a13 &
- a12 & !_aec & !r__w & !_exrom & !_game
- # a15 & a14 & !a13 & a12 & ba &
- !_aec & r__w & _exrom & !_game
- # a15 & a14 & !a13 & a12 & !_aec &
- !r__w & _exrom & !_game
- # _loram & _hiram & a15 & !a14 & !a13 &
- !_aec & r__w & !_exrom
- # a15 & !a14 & !a13 & !_aec & _exrom &
- !_game
- # _hiram & a15 & !a14 & a13 & !_aec &
- r__w & !_exrom & !_game
- # a15 & a14 & a13 & !_aec & _exrom &
- !_game
- # _aec & _exrom & !_game & va13 & va12
- # !a15 & !a14 & a12 & _exrom & !_game
- # !a15 & !a14 & a13 & _exrom & !_game
- # !a15 & a14 & _exrom & !_game
- # a15 & !a14 & a13 & _exrom & !_game
- # a15 & a14 & !a13 & !a12 & _exrom &
- !_game
- # _cas );
- !casram.oe = _oe;
-
-
- test_vectors
- ([]->[])
-
-
- end
-