You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
8.5 KiB

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.