;********************************************* ; ; NOTE FROM RANDY ; TISQ IS A TIMES SQUARE TYPE DISPLAY FOR VDM ; WILL WORK ON VTI ; AFTER IT CLEARS SCREEN, TYPE ANY MESSAGE UP ; TO 255 CHARACTERS IN LENGTH AND HIT ; CARRIAGE RETURN.AFTER MESSAGE IS RUNNING, ; HITTING OTHER KEYS WILL CHANGE SPEED OF ; DISPLAY.A CTRL 'C' WILL STOP DISPLAY AND ; ALLOW YOU TO ENTER NEW MESSAGE. ; ;********************************************** ; ; ; SIGN TIMES SQUARE LETTER DISPLAY ON VDM ; ; 6/30/77 ; ; E000 = VDMSCR EQU 0E000H ; ; 0100 ORG 100H 0100 310010 SIGN: LXI SP,1000H 0103 3E0C MVI A, 14Q 0105 CDEE01 CALL TTYO U0108 210000 LXI H,SBUF 010B 3E3F MVI A,'?' 010D CDEE01 CALL TTYO 0110 CDE201 INPC: CALL TTYI 0113 77 MOV M,A 0114 23 INX H 0115 FE0D CPI 15Q 0117 C21001 JNZ INPC 011A 3E0C MVI A,14Q 011C CDEE01 CALL TTYO 011F 2100E0 LXI H,VDMSCR 0122 3620 MVI M,40Q U0124 210000 TISP: LXI H,SBUF 0127 7E TISQ: MOV A,M 0128 FE0D CPI 15Q 012A CA2401 JZ TISP 012D 23 INX H 012E D620 SUI 40Q 0130 DA2701 JC TISQ 0133 FE40 CPI 100Q 0135 D22701 JNC TISQ 0138 E5 PUSH H 0139 5F MOV E,A 013A 1600 MVI D,0 013C 210902 LXI H,ROMT 013F 19 DAD D 0140 19 DAD D 0141 19 DAD D 0142 19 DAD D 0143 19 DAD D 0144 0605 MVI B,5 0146 CD8F01 COL: CALL SHFT 0149 7E MOV A,M 014A E5 PUSH H 014B 21FBDF LXI H,VDMSCR-5 014E 113C00 LXI D,060 0151 0E08 MVI C,8 0153 17 NXBT: RAL 0154 F5 PUSH PSW 0155 D26001 JNC NDOT 0158 3EA0 MVI A, 240Q 015A CD7A01 CALL DOT 015D C36501 JMP BITD 0160 3E20 NDOT: MVI A,40Q 0162 CD7A01 CALL DOT 0165 F1 BITD: POP PSW 0166 0D DCR C 0167 C25301 JNZ NXBT 016A E1 POP H 016B 23 INX H 016C 05 DCR B 016D C24601 JNZ COL 0170 CD8F01 CALL SHFT 0173 CD8F01 CALL SHFT 0176 E1 POP H 0177 C32701 JMP TISQ 017A 77 DOT: MOV M,A 017B 23 INX H 017C 77 MOV M,A 017D 23 INX H 017E 77 MOV M,A 017F 23 INX H 0180 77 MOV M,A 0181 23 INX H 0182 77 MOV M,A 0183 19 DAD D 0184 77 MOV M,A 0185 23 INX H 0186 77 MOV M,A 0187 23 INX H 0188 77 MOV M,A 0189 23 INX H 018A 77 MOV M,A 018B 23 INX H 018C 77 MOV M,A 018D 19 DAD D 018E C9 RET 018F E5 SHFT: PUSH H 0190 D5 PUSH D 0191 C5 PUSH B 0192 F5 PUSH PSW 0193 11000A DLY: LXI D,10*256 0196 1B DCX D 0197 7A MOV A,D 0198 B3 ORA E 0199 C29601 JNZ DLY+3 019C 2140E0 LXI H,VDMSCR+64 019F 54 MOV D,H 01A0 5D MOV E,L 01A1 010500 LXI B,5 01A4 09 SHFZ: DAD B 01A5 7E SHFU: MOV A,M 01A6 12 STAX D 01A7 13 INX D 01A8 23 INX H 01A9 7D MOV A,L 01AA E63F ANI 77Q 01AC C2A501 JNZ SHFU 01AF 3E05 MVI A, 5 01B1 EB XCHG 01B2 3620 SHFV: MVI M,' ' 01B4 23 INX H 01B5 3D DCR A 01B6 C2B201 JNZ SHFV 01B9 7C MOV A,H 01BA FEE4 CPI VDMSCR/256+4 01BC C2A401 JNZ SHFZ 01BF CDFD01 CALL CSTS 01C2 E601 ANI 0000$0001B 01C4 CADD01 JZ NOCH 01C7 CDE201 CALL TTYI 01CA FE03 CPI 3 01CC CA0001 JZ SIGN 01CF D630 SUI '0' 01D1 DADD01 JC NOCH 01D4 FE3A CPI '9'+1 01D6 D2DD01 JNC NOCH 01D9 17 RAL 01DA 329501 STA DLY+2 01DD F1 NOCH: POP PSW 01DE C1 POP B 01DF D1 POP D 01E0 E1 POP H 01E1 C9 RET ; 01E2 E5D5C5 TTYI: PUSH H! PUSH D! PUSH B 01E5 0E01 MVI C,1 01E7 CD0500 CALL 5 01EA C1D1E1 POP B! POP D! POP H 01ED C9 RET ; ; 01EE E5D5C5 TTYO: PUSH H! PUSH D! PUSH B 01F1 F5 PUSH PSW 01F2 5F MOV E,A 01F3 0E02 MVI C,2 01F5 CD0500 CALL 5 01F8 F1 POP PSW 01F9 C1D1E1 POP B! POP D! POP H 01FC C9 RET ; ; 01FD E5D5C5 CSTS: PUSH H! PUSH D! PUSH B 0200 0E0B MVI C,11 0202 CD0500 CALL 5 0205 C1D1E1 POP B! POP D! POP H 0208 C9 RET 0209 0000000000ROMT: DB 0Q, 0Q, 0Q, 0Q, 0Q ;SPACE 020E 00007D0000 DB 0Q, 0Q, 175Q, 0Q, 0Q ; 0213 0070007000 DB 0Q, 160Q, 0Q, 160Q, 0Q ;" 0218 147F147F14 DB 24Q, 177Q, 24Q, 177Q, 24Q ;# 021D 122A7F2A24 DB 22Q, 52Q, 177Q, 52Q, 44Q ;$ 0222 6264081323 DB 142Q, 144Q, 10Q, 23Q, 43Q ;% 0227 3649350205 DB 66Q, 111Q, 65Q, 2Q, 5Q ;& 022C 0000700000 DB 0Q, 0Q, 160Q, 0Q, 0Q ;' 0231 1C22410000 DB 34Q, 42Q, 101Q, 0Q, 0Q ;( 0236 000041221C DB 0Q, 0Q, 101Q, 42Q, 34Q ;) 023B 22147F1422 DB 42Q, 24Q, 177Q, 24Q, 42Q ;* 0240 08083E0808 DB 10Q, 10Q, 76Q, 10Q, 10Q ;+ 0245 0001060000 DB 0Q, 1Q, 6Q, 0Q, 0Q ;Q, 024A 0808080808 DB 10Q, 10Q, 10Q, 10Q, 10Q ;- 024F 0000010000 DB 0Q, 0Q, 1Q, 0Q, 0Q ;. 0254 0204081020 DB 2Q, 4Q, 10Q, 20Q, 40Q ;; 0259 3E4549513E DB 76Q, 105Q, 111Q, 121Q, 76Q ;0 025E 00217F0100 DB 0Q, 41Q, 177Q, 1Q, 0Q ;1 0263 2345494931 DB 43Q, 105Q, 111Q, 111Q, 61Q ;2 0268 4241495966 DB 102Q, 101Q, 111Q, 131Q, 146Q ;3 026D 0C14247F04 DB 14Q, 24Q, 44Q, 177Q, 4Q ;4 0272 725151514E DB 162Q, 121Q, 121Q, 121Q, 116Q ;5 0277 1E29494946 DB 36Q, 51Q, 111Q, 111Q, 106Q ;6 027C 4047485060 DB 100Q, 107Q, 110Q, 120Q, 140Q ;7 0281 3649494936 DB 66Q, 111Q, 111Q, 111Q, 66Q ;8 0286 3149494A3C DB 61Q, 111Q, 111Q, 112Q, 74Q ;9 028B 0000140000 DB 0Q, 0Q, 24Q, 0Q, 0Q ;: 0290 0001160000 DB 0Q, 1Q, 26Q, 0Q, 0Q ;; 0295 0814224100 DB 10Q, 24Q, 42Q, 101Q, 0Q ;< 029A 1414141414 DB 24Q, 24Q, 24Q, 24Q, 24Q ;= 029F 0041221408 DB 0Q, 101Q, 42Q, 24Q, 10Q ;> 02A4 20404D5020 DB 40Q, 100Q, 115Q, 120Q, 40Q ;? 02A9 3E415D4D39 DB 76Q, 101Q, 135Q, 115Q, 71Q ;@ 02AE 1F2444241F DB 37Q, 44Q, 104Q, 44Q, 37Q ;A 02B3 7F49494936 DB 177Q, 111Q, 111Q, 111Q, 66Q ;B 02B8 3E41414122 DB 76Q, 101Q, 101Q, 101Q, 42Q ;C 02BD 7F4141413E DB 177Q, 101Q, 101Q, 101Q, 76Q ;D 02C2 7F49494949 DB 177Q, 111Q, 111Q, 111Q, 111Q ;E