PAL20X10 PAL DESIGN SPECIFICATION P7052 BIRKNER/UDI 07/14/81 LINES/SCROL GENERATOR MMI SUNNYVALE, CALIFORNIA CK /SWAP SCAN0 SCAN1 /INIT /SCAN3 /H255 NC /WRITE /LINE4 /INCSCR GND /OC /SCROL0 /LINES0 /SCROL1 /LINES1 /SCROL2 /LINES2 /SCROL3 /LINES3 /INITS /OE VCC LINES0 := /SWAP*/INITS*LINES0 ;HOLD + SWAP*/INITS*SCROL0 ;SWAP WITH SCROL :+: /SWAP*/INITS*H255*/LINE4 ;INC (12 DOT LINES) * SCAN3*SCAN1*SCAN0 + /SWAP*/INITS*INCSCR ;INC (LF) SCROL0 := /SWAP*/INITS*SCROL0 ;HOLD + SWAP*/INITS*LINES0 ;SWAP WITH LINES :+: /SWAP*/INITS*INCSCR ;INC (LF OR CHAR = 47) + INITS ;INITIALIZE LINES1 := /SWAP*/INITS*LINES1 ;HOLD + SWAP*/INITS*SCROL1 ;SWAP WITH SCROL :+: /SWAP*/INITS*H255*/LINE4 ;INC (12 DOT LINES) * SCAN3*SCAN1*SCAN0*LINES0 + /SWAP*/INITS*INCSCR*LINES0 ;INC (LF) SCROL1 := /SWAP*/INITS*SCROL1 ;HOLD + SWAP*/INITS*LINES1 ;SWAP WITH LINES :+: /SWAP*/INITS*INCSCR*SCROL0 ;INC (LF OR CHAR = 47) + INITS ;INITIALIZE LINES2 := /SWAP*/INITS*LINES2 ;HOLD + SWAP*/INITS*SCROL2 ;SWAP WITH SCROL :+: /SWAP*/INITS*H255*/LINE4 ;INC (12 DOT LINES) * SCAN3*SCAN1*SCAN0 *LINES1*LINES0 + /SWAP*/INITS*INCSCR ;INC (LF) *LINES1*LINES0 SCROL2 := /SWAP*/INITS*SCROL2 ;HOLD + SWAP*/INITS*LINES2 ;SWAP WITH LINES :+: /SWAP*/INITS*INCSCR*SCROL0*SCROL1 ;INC (LF OR CHAR = 47) + INITS ;INITIALIZE LINES3 := /SWAP*/INITS*LINES3 ;HOLD + SWAP*/INITS*SCROL3 ;SWAP WITH SCROL :+: /SWAP*/INITS*H255*/LINE4 ;INC (12 DOT LINES) * SCAN3*SCAN1*SCAN0 *LINES2*LINES1*LINES0 + /SWAP*/INITS*INCSCR ;INC (LF) *LINES2*LINES1*LINES0 SCROL3 := /SWAP*/INITS*SCROL3 ;HOLD + SWAP*/INITS*LINES3 ;SWAP WITH LINES :+: /SWAP*/INITS*INCSCR ;INC (LF OR CHAR = 47) *SCROL2*SCROL1*SCROL0 + INITS ;INITIALIZE INITS := INIT*H255 ;INITIALIZATION SIGNAL OE := /WRITE ;ENABLE THREE STATE OF RAM FUNCTION TABLE CK SWAP SCAN3 SCAN1 SCAN0 INIT H255 WRITE LINE4 INCSCR /OC SCROL3 SCROL2 SCROL1 SCROL0 LINES3 LINES2 LINES1 LINES0 INITS OE ; I ; W L N I ; S I H R I C N ; W N 2 I N S / I ; C A SCAN I 5 T E C O SCROL LINES T O ; K P 310 T 5 E 4 R C 3210 3210 S E COMMENTS --------------------------------------------------------------------------- C X XXX H H X X X L XXXX XXXX H X SET INITIALIZE BIT C X XXX L X X X X L HHHH LLLL L X INITIALIZE COUNTERS C L XXX L L X X L L HHHH LLLL L X INITS = L C L HHH L H X L L L HHHH LLLH L X INC LINES, HOLD SCROL C L HHH L H X L L L HHHH LLHL L X INC LINES, HOLD SCROL C L HHH L H X L L L HHHH LLHH L X INC LINES, SCAN = 11 C L HHH L H X L L L HHHH LHLL L X INC LINES, SCAN = 11 C L XXX L H X X H L LLLL LHLH L X INC LINES & SCROL: LF C L XXX L X X X H L LLLH LHHL L X INC LINES & SCROL: LF C L XXX L L X X L L LLLH LHHL L X HOLD LINES & SCROL C H XXX L L X X L L LHHL LLLH L X SWAP LINES & SCROL C L XXX L X X X H L LHHH LLHL L X INC LINES & SCROL C X XXX X X L X X L XXXX XXXX X H SET OE C X XXX X X H X X L XXXX XXXX X L CLEAR OE --------------------------------------------------------------------------- DESCRIPTION "SCROL" AND "LINES" ARE COUNTERS AND POINTERS TO THE RAM. "LINES" IS A POINTER TO THE LINE THAT IS READ FROM THE RAM. "SCROL" IS A POINTER TO THE LOCATION IN THE RAM WHERE A NEW LINE CAN BE STORED. BOTH OF THEM COUNT UP TO A MAXIMUM OF 16 LINES. THE BIT "SWAP" ENABLES THE TWO COUNTERS TO TALK TO THE SAME ADDRESS LINES OF THE RAM. THE NEXT FIGURE SHOWS ALL THE POINTERS THAT HAVE BEEN DESCRIBED. "W" MEANS WRITING INTO THE RAM, "R" MEANS READING FROM THE RAM AND "C" IS A TEMPORARY POINTER.