PAL20X10 PAL DESIGN SPECIFICATION P7050 BIRKNER/KAZMI/UDI 07/09/81 CHAR/CURS GENERATOR MMI SUNNYVALE, CALIFORNIA CK /DTCNT0 /DTCNT1 /DTCNT2 /INITS /SWAPC /CHAR0 /CURS0 /BS /WRITE /INCSCR GND /OC /CURS1 /CHAR1 /CURS2 /CHAR2 /CURS3 /CHAR3 /CURS4 /CHAR4 /CURS5 /CHAR5 VCC CHAR1 := SWAPC*/INITS*CURS1 ;SWAP WITH CURS + /SWAPC*/INITS*DTCNT0*DTCNT1*DTCNT2*CHAR0 ;INC :+:/SWAPC*/INITS*CHAR1 ;HOLD CHAR2 := SWAPC*/INITS*CURS2 ;SWAP WITH CURS + /SWAPC*/INITS*DTCNT0*DTCNT1*DTCNT2 ;INC * CHAR0*CHAR1 :+:/SWAPC*/INITS*CHAR2 ;HOLD CHAR3 := SWAPC*/INITS*CURS3 ;SWAP WITH CURS + /SWAPC*/INITS*DTCNT0*DTCNT1*DTCNT2 ;INC * CHAR0*CHAR1*CHAR2 :+:/SWAPC*/INITS*CHAR3 ;HOLD CHAR4 := SWAPC*/INITS*CURS4 ;SWAP WITH CURS + /SWAPC*/INITS*DTCNT0*DTCNT1*DTCNT2 ;INC * CHAR0*CHAR1*CHAR2*CHAR3 :+:/SWAPC*/INITS*CHAR4 ;HOLD CHAR5 := SWAPC*/INITS*CURS5 ;SWAP WITH CURS + /SWAPC*/INITS*DTCNT0*DTCNT1*DTCNT2 ;INC * CHAR0*CHAR1*CHAR2*CHAR3*CHAR4 :+:/SWAPC*/INITS*CHAR5 ;HOLD CURS1 := SWAPC*/INITS*/INCSCR*CHAR1 ;SWAP WITH CHAR + /SWAPC*/INITS*/INCSCR*CURS1 ;HOLD :+:/SWAPC*/INITS*/INCSCR ;INC * WRITE* DTCNT2*DTCNT1*/DTCNT0*CURS0 CURS2 := SWAPC*/INITS*/INCSCR*CHAR2 ;SWAP WITH CHAR + /SWAPC*/INITS*/INCSCR*CURS2 ;HOLD :+:/SWAPC*/INITS*/INCSCR ;INC * WRITE* DTCNT2*DTCNT1*/DTCNT0 * CURS0* CURS1 CURS3 := SWAPC*/INITS*/INCSCR*CHAR3 ;SWAP WITH CHAR + /SWAPC*/INITS*/INCSCR*CURS3 ;HOLD :+:/SWAPC*/INITS*/INCSCR ;INC * WRITE* DTCNT2*DTCNT1*/DTCNT0 * CURS0* CURS1*CURS2 CURS4 := SWAPC*/INITS*/INCSCR*CHAR4 ;SWAP WITH CHAR + /SWAPC*/INITS*/INCSCR*CURS4 ;HOLD :+:/SWAPC*/INITS*/INCSCR ;INC * WRITE* DTCNT2*DTCNT1*/DTCNT0 * CURS0* CURS1*CURS2*CURS3 CURS5 := SWAPC*/INITS*/INCSCR*CHAR5 ;SWAP WITH CHAR + /SWAPC*/INITS*/INCSCR*CURS5 ;HOLD :+:/SWAPC*/INITS*/INCSCR ;INC * WRITE* DTCNT2*DTCNT1*/DTCNT0 * CURS0* CURS1*CURS2*CURS3*CURS4 FUNCTION TABLE CK DTCNT2 DTCNT1 DTCNT0 INITS SWAPC BS WRITE INCSCR /OC CURS5 CURS4 CURS3 CURS2 CURS1 CURS0 CHAR5 CHAR4 CHAR3 CHAR2 CHAR1 CHAR0 ; I ; I S W N ; N W R C ; I A I S / ; C DTCNT T P B T C O CURS CHAR ; K 210 S C S E R C 54321 0 54321 0 COMMENTS -------------------------------------------------------------------------- C XXX H X X X X L LLLLL L LLLLL L INITIALIZE CHAR AND CURS C LLL L L X X L L LLLLL L LLLLL H INCREMENT CHAR, HOLD CURS C LLH L L X X L L LLLLL L LLLLL H HOLD CHAR AND CURS C LHL L L X X L L LLLLL L LLLLL H HOLD CHAR AND CURS C LHH L L X X L L LLLLL L LLLLL H HOLD CHAR AND CURS C HLL L L X X L L LLLLL L LLLLL H HOLD CHAR AND CURS C HLH L L X X L L LLLLL L LLLLL H HOLD CHAR AND CURS C HHL L L X X L L LLLLL L LLLLL H HOLD CHAR AND CURS C HHH L L X X L L LLLLL L LLLLH H INCREMENT CHAR C LLL L L X X L L LLLLL L LLLLH L HOLD CHAR AND CURS C LLH L L X X L L LLLLL L LLLLH L HOLD CHAR AND CURS C HHH L L X X L L LLLLL L LLLLH L INCREMENT CHAR C LLL L L X X L L LLLLL L LLLLH H CHAR = 3 C LLH L L X X L L LLLLL L LLLLH H HOLD CHAR AND CURS C LHL L L X X L L LLLLL L LLLLH H HOLD CHAR AND CURS C LHH L H X X L L LLLLH H LLLLL L SWAP CHAR AND CURS C HLL L L X X L L LLLLH H LLLLL H SET CHAR0 C HHH L L X X L L LLLLH H LLLLH H INCREMENT CHAR TO 3 C HHH L L X X L L LLLLH H LLLHL H INCREMENT CHAR, HOLD CURS C LLL L L X X L L LLLLH H LLLHL L CHAR = 4 C HHL L L X L L L LLLLH H LLLHL L HOLD CHAR AND CURS C HHH L L X X L L LLLLH H LLLHL L INCREMENT CHAR C LLL L L X X L L LLLLH H LLLHL H CHAR = 5 C HHH L L X X L L LLLLH H LLLHH H INCREMENT CHAR C LLL L L X X L L LLLLH H LLLHH L CHAR = 6 C LLL L L X X L L LLLLH H LLLHH H CHAR = 7 C HHH L L X X L L LLLLH H LLHLL H INCREMENT CHAR C HHH L L X X L L LLLLH H LLHLL L CHAR = 8 C HHH L L X X L L LLLLH H LLHLH H INCREMENT CHAR TO 11 C LLL L L X X L L LLLLH H LLHLH H CHAR = 11 C HHH L L X X L L LLLLH H LLHHL H SET CHAR0, INC CHAR BY 2 C HHH L L X X L L LLLLH H LLHHH H CHAR = 15 C HHH L L X X L L LLLLH H LHLLL H CHAR = 17 C HHL L L X H L L LLLHL H LHLLL H INCREMENT CURS C HHH L L X X L L LLLHL L LHLLH H CHAR = 19, CURS = 4 C HHL L L X H L L LLLHH H LHLLH H CURS = 7 C HHH L L X X L L LLLHH H LHLHL H CHAR = 21 C HHL L L X H L L LLHLL H LHLHL H CURS = 9 C HHH L L X X L L LLHLL H LHLHH H CHAR = 23 C HHL L L X H L L LLHLH H LHLHH H CURS = 11 C HHH L L X X L L LLHLH H LHHLL H CHAR = 25 C HHL L L X H L L LLHHL H LHHLL H CURS = 13 C HHH L L X X L L LLHHL H LHHLH H CHAR = 27 C HHL L L X H L L LLHHH H LHHLH H CURS = 15 C HHH L L X X L L LLHHH H LHHHL H CHAR = 29 C HHH L L X X L L LLHHH H LHHHH H CHAR = 31 C HHH L L X X L L LLHHH H HLLLL H CHAR = 33 C HHH L L X X L L LLHHH H HLLLH H CHAR = 35 C HHH L L X X L L LLHHH H HLLHL H CHAR = 37 C HHH L L X X L L LLHHH H HLLHH H CHAR = 39 C HHH L L X X L L LLHHH H HLHLL H CHAR = 41 C HHH L L X X L L LLHHH H HLHLH H CHAR = 43 C HHH L L X X L L LLHHH H HLHHL H CHAR = 45 C HHH L L X X L L LLHHH H HLHHH H CHAR = 47 C HHH L L X X L L LLHHH H HHLLL H CHAR = 49 C HHH L L X X L L LLHHH H HHLLH H CHAR = 51 C HHH L L X X L L LLHHH H HHLHL H CHAR = 53 C HHH L L X X L L LLHHH H HHLHH H CHAR = 55 C HHH L L X X L L LLHHH H HHHLL H CHAR = 57 C HHH L L X X L L LLHHH H HHHLH H CHAR = 59 C HHH L L X X L L LLHHH H HHHHL H CHAR = 61 C HHH L L X X L L LLHHH H HHHHH H CHAR = 63 C LLL L L X X L L LLHHH H HHHHH H CHAR = 63, DTCNT = 0 C LLH L L X X L L LLHHH H HHHHH H CHAR = 63, DTCNT = 1 C LHL L L X X L L LLHHH H HHHHH H CHAR = 63, DTCNT = 2 C LHH L L X X L L LLHHH H HHHHH H CHAR = 63, DTCNT = 3 C HLL L L X X L L LLHHH H HHHHH H CHAR = 63, DTCNT = 4 C HLH L L X X L L LLHHH H HHHHH H CHAR = 63, DTCNT = 5 C HHL L L X H L L LHLLL H HHHHH H INCREMENT CURS C HHH L L X X L L LHLLL L LLLLL H CURS = 14, INCREMENT CHAR C HHH L L X X L L LHLLL L LLLLL L CURS = 14, CHAR = 0 --------------------------------------------------------------------------- DESCRIPTION "CHAR" AND "CURS" COUNT THE NUMBER OF CHARACTERS PER LINE. THEY ARE ALSO USED AS POINTERS TO THE RAM. "CURS" IS USED WHEN A CHARACTER IS WRITTEN INTO THE RAM AND "CHAR" WHEN A CHARACTER IS READ FROM THE RAM. "CURS" IS ALWAYS POINTED TO THE NEXT AVAILABLE LOCATION IN THE RAM WHERE A NEW CHARACTER CAN BE STORED. "CHAR" IS INCREMENTED AT THE END OF 8 PIXELS MEANING IT COUNTS AFTER EACH CHARACTER. IT COUNTS FROM 0 TO 63 ALTHOUGH ONLY 48 CHARACTERS ARE VISIBLE. THE HORIZONTAL SYNC PULSE IS GIVEN BETWEEN CHARACTERS 56 AND 59. DURING THE COUNTS OF CHAR FROM 48 TO 63, BLACK SIGNALS ARE TRANSMITTED TO THE SCREEN. "CURS" IS INCREMENTED FOR ANY OPERATION ON THE KEY BOARD. THE TWO POINTERS USE THE RAM IN INTERLIVED FASHION. READ IS DONE EVERY CYCLE, BUT WRITE IS DONE ONLY WHEN A WRITE SIGNAL IS GIVEN. THE WRITE SIGNAL IS SET WHEN A NEW CHARACTER ENTERS THE SYSTEM THROUGH THE RS232 PORT. THE FUNCTION TABLE ABOVE DESCRIBES OPERATIONS OF READ AND WRITE FOR A CERTAIN LINE. WHEN THIS LINE WAS PRINTED, 64 CHARACTERS WERE READ AND 15 CHARACTERS WERE WRITTEN. SIGNALS CHAR0, CURS0, SWAPC, WRITE AND INCSCR ARE DERIVED IN PAL VP8.