|
- PAL20X10 PAL DESIGN SPECIFICATION
- VP2 BIRKNER/KAMZI/UDI 7/9/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 = 23
- 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 ECHARACTERS 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 ONT THE KEY BPARD. THE TWO POINTERS
- USE THE RAM IN THE 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 WHERE READ AND
- 15 CHARACTERS WERE WRITTEN.
-
- SIGNALS CHAR0, CURS0, SWAPC, WRITE AND INCSCR ARE DERIVED IN PAL VP8.
|