home *** CD-ROM | disk | FTP | other *** search
- ;*********************************************
- ;
- ; 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
- ;
- ;
- VDMSCR EQU 0E000H
- ;
- ;
- ORG 100H
- SIGN: LXI SP,1000H
- MVI A, 14Q
- CALL TTYO
- LXI H,SBUF
- MVI A,'?'
- CALL TTYO
- INPC: CALL TTYI
- MOV M,A
- INX H
- CPI 15Q
- JNZ INPC
- MVI A,14Q
- CALL TTYO
- LXI H,VDMSCR
- MVI M,40Q
- TISP: LXI H,SBUF
- TISQ: MOV A,M
- CPI 15Q
- JZ TISP
- INX H
- SUI 40Q
- JC TISQ
- CPI 100Q
- JNC TISQ
- PUSH H
- MOV E,A
- MVI D,0
- LXI H,ROMT
- DAD D
- DAD D
- DAD D
- DAD D
- DAD D
- MVI B,5
- COL: CALL SHFT
- MOV A,M
- PUSH H
- LXI H,VDMSCR-5
- LXI D,060
- MVI C,8
- NXBT: RAL
- PUSH PSW
- JNC NDOT
- MVI A, 240Q
- CALL DOT
- JMP BITD
- NDOT: MVI A,40Q
- CALL DOT
- BITD: POP PSW
- DCR C
- JNZ NXBT
- POP H
- INX H
- DCR B
- JNZ COL
- CALL SHFT
- CALL SHFT
- POP H
- JMP TISQ
- DOT: MOV M,A
- INX H
- MOV M,A
- INX H
- MOV M,A
- INX H
- MOV M,A
- INX H
- MOV M,A
- DAD D
- MOV M,A
- INX H
- MOV M,A
- INX H
- MOV M,A
- INX H
- MOV M,A
- INX H
- MOV M,A
- DAD D
- RET
- SHFT: PUSH H
- PUSH D
- PUSH B
- PUSH PSW
- DLY: LXI D,10*256
- DCX D
- MOV A,D
- ORA E
- JNZ DLY+3
- LXI H,VDMSCR+64
- MOV D,H
- MOV E,L
- LXI B,5
- SHFZ: DAD B
- SHFU: MOV A,M
- STAX D
- INX D
- INX H
- MOV A,L
- ANI 77Q
- JNZ SHFU
- MVI A, 5
- XCHG
- SHFV: MVI M,' '
- INX H
- DCR A
- JNZ SHFV
- MOV A,H
- CPI VDMSCR/256+4
- JNZ SHFZ
- CALL CSTS
- ANI 0000$0001B
- JZ NOCH
- CALL TTYI
- CPI 3
- JZ SIGN
- SUI '0'
- JC NOCH
- CPI '9'+1
- JNC NOCH
- RAL
- STA DLY+2
- NOCH: POP PSW
- POP B
- POP D
- POP H
- RET
- ;
- TTYI: PUSH H! PUSH D! PUSH B
- MVI C,1
- CALL 5
- POP B! POP D! POP H
- RET
- ;
- ;
- TTYO: PUSH H! PUSH D! PUSH B
- PUSH PSW
- MOV E,A
- MVI C,2
- CALL 5
- POP PSW
- POP B! POP D! POP H
- RET
- ;
- ;
- CSTS: PUSH H! PUSH D! PUSH B
- MVI C,11
- CALL 5
- POP B! POP D! POP H
- RET
- ROMT: DB 0Q, 0Q, 0Q, 0Q, 0Q ;SPACE
- DB 0Q, 0Q, 175Q, 0Q, 0Q ;
- DB 0Q, 160Q, 0Q, 160Q, 0Q ;"
- DB 24Q, 177Q, 24Q, 177Q, 24Q ;#
- DB 22Q, 52Q, 177Q, 52Q, 44Q ;$
- DB 142Q, 144Q, 10Q, 23Q, 43Q ;%
- DB 66Q, 111Q, 65Q, 2Q, 5Q ;&
- DB 0Q, 0Q, 160Q, 0Q, 0Q ;'
- DB 34Q, 42Q, 101Q, 0Q, 0Q ;(
- DB 0Q, 0Q, 101Q, 42Q, 34Q ;)
- DB 42Q, 24Q, 177Q, 24Q, 42Q ;*
- DB 10Q, 10Q, 76Q, 10Q, 10Q ;+
- DB 0Q, 1Q, 6Q, 0Q, 0Q ;Q,
- DB 10Q, 10Q, 10Q, 10Q, 10Q ;-
- DB 0Q, 0Q, 1Q, 0Q, 0Q ;.
- DB 2Q, 4Q, 10Q, 20Q, 40Q ;;
- DB 76Q, 105Q, 111Q, 121Q, 76Q ;0
- DB 0Q, 41Q, 177Q, 1Q, 0Q ;1
- DB 43Q, 105Q, 111Q, 111Q, 61Q ;2
- DB 102Q, 101Q, 111Q, 131Q, 146Q ;3
- DB 14Q, 24Q, 44Q, 177Q, 4Q ;4
- DB 162Q, 121Q, 121Q, 121Q, 116Q ;5
- DB 36Q, 51Q, 111Q, 111Q, 106Q ;6
- DB 100Q, 107Q, 110Q, 120Q, 140Q ;7
- DB 66Q, 111Q, 111Q, 111Q, 66Q ;8
- DB 61Q, 111Q, 111Q, 112Q, 74Q ;9
- DB 0Q, 0Q, 24Q, 0Q, 0Q ;:
- DB 0Q, 1Q, 26Q, 0Q, 0Q ;;
- DB 10Q, 24Q, 42Q, 101Q, 0Q ;<
- DB 24Q, 24Q, 24Q, 24Q, 24Q ;=
- DB 0Q, 101Q, 42Q, 24Q, 10Q ;>
- DB 40Q, 100Q, 115Q, 120Q, 40Q ;?
- DB 76Q, 101Q, 135Q, 115Q, 71Q ;@
- DB 37Q, 44Q, 104Q, 44Q, 37Q ;A
- DB 177Q, 111Q, 111Q, 111Q, 66Q ;B
- DB 76Q, 101Q, 101Q, 101Q, 42Q ;C
- DB 177Q, 101Q, 101Q, 101Q, 76Q ;D
- DB 177Q, 111Q, 111Q, 111Q, 111Q ;E
- DB 177Q, 110Q, 110Q, 110Q, -------+R02 ñ&&s'╩&ñ&&s'╩&╩&ñ&>≡>≡╩&┼)┼)┼)Ç},╛)╫! ∩)*'≤)* φ)∞) φ)∞) 2±)∞)X├ -x╙╔═÷-G╔* Θ [XXHYHX HHJHXHXZMXHXXH HOXI HI[HIPHX[MYH
- I(YYHHNX IZRIHQYXZI\\[XYXZH