home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug006.ark / TISQ.ASM < prev    next >
Encoding:
Assembly Source File  |  1985-02-10  |  3.9 KB  |  214 lines

  1. ;*********************************************
  2. ;
  3. ;    Note from Randy
  4. ;    TISQ is a times square type display for vdm
  5. ;    will work on vti
  6. ;    After it clears screen, type any message up
  7. ;    to 255 characters in length and hit
  8. ;    carriage return.After message is running,
  9. ;    hitting other keys will change speed of
  10. ;    display.A ctrl 'C' will stop display and
  11. ;    allow you to enter new message.
  12. ;
  13. ;**********************************************
  14. ;
  15. ;
  16. ; SIGN    TIMES SQUARE LETTER DISPLAY ON VDM
  17. ;
  18. ; 6/30/77
  19. ;
  20. ;
  21. VDMSCR    EQU    0E000H
  22. ;
  23. ;
  24.     ORG    100H
  25. SIGN:    LXI    SP,1000H
  26.     MVI A, 14Q
  27.     CALL    TTYO
  28.     LXI H,SBUF
  29.     MVI    A,'?'
  30.     CALL TTYO
  31. INPC:    CALL TTYI
  32.     MOV M,A
  33.     INX H
  34.     CPI    15Q
  35.     JNZ INPC
  36.     MVI    A,14Q
  37.     CALL TTYO
  38.     LXI H,VDMSCR
  39.     MVI    M,40Q
  40. TISP:    LXI H,SBUF
  41. TISQ:    MOV A,M
  42.     CPI    15Q
  43.     JZ TISP
  44.     INX H
  45.     SUI    40Q
  46.     JC TISQ
  47.     CPI 100Q
  48.     JNC TISQ
  49.     PUSH H
  50.     MOV    E,A
  51.     MVI    D,0
  52.     LXI H,ROMT
  53.     DAD D
  54.     DAD D
  55.     DAD D
  56.     DAD D
  57.     DAD D
  58.     MVI    B,5
  59. COL:    CALL SHFT
  60.     MOV A,M
  61.     PUSH H
  62.     LXI H,VDMSCR-5
  63.     LXI D,060
  64.     MVI    C,8
  65. NXBT:    RAL
  66.     PUSH PSW
  67.     JNC NDOT
  68.     MVI A, 240Q
  69.     CALL DOT
  70.     JMP BITD
  71. NDOT:    MVI    A,40Q
  72.     CALL DOT
  73. BITD:    POP PSW
  74.     DCR    C
  75.     JNZ NXBT
  76.     POP H
  77.     INX H
  78.     DCR    B
  79.     JNZ COL
  80.     CALL SHFT
  81.     CALL SHFT
  82.     POP H
  83.     JMP TISQ
  84. DOT:    MOV M,A
  85.     INX H
  86.     MOV M,A
  87.     INX H
  88.     MOV M,A
  89.     INX H
  90.     MOV M,A
  91.     INX H
  92.     MOV M,A
  93.     DAD D
  94.     MOV M,A
  95.     INX H
  96.     MOV M,A
  97.     INX H
  98.     MOV M,A
  99.     INX H
  100.     MOV M,A
  101.     INX H
  102.     MOV M,A
  103.     DAD D
  104.     RET
  105. SHFT:    PUSH H
  106.     PUSH D
  107.     PUSH B
  108.     PUSH PSW
  109. DLY:    LXI D,10*256
  110.     DCX D
  111.     MOV A,D
  112.     ORA    E
  113.     JNZ DLY+3
  114.     LXI    H,VDMSCR+64
  115.     MOV    D,H
  116.     MOV    E,L
  117.     LXI    B,5
  118. SHFZ:    DAD B
  119. SHFU:    MOV A,M
  120.     STAX D
  121.     INX D
  122.     INX H
  123.     MOV A,L
  124.     ANI    77Q
  125.     JNZ SHFU
  126.     MVI A, 5
  127.     XCHG
  128. SHFV:    MVI    M,' '
  129.     INX H
  130.     DCR    A
  131.     JNZ SHFV
  132.     MOV A,H
  133.     CPI    VDMSCR/256+4
  134.     JNZ SHFZ
  135.     CALL    CSTS
  136.     ANI    0000$0001B
  137.     JZ    NOCH
  138.     CALL    TTYI
  139.     CPI 3
  140.     JZ SIGN
  141.     SUI    '0'
  142.     JC NOCH
  143.     CPI    '9'+1
  144.     JNC NOCH
  145.     RAL
  146.     STA DLY+2
  147. NOCH:    POP PSW
  148.     POP B
  149.     POP D
  150.     POP H
  151.     RET
  152. ;
  153. TTYI:    PUSH    H!    PUSH    D!    PUSH    B
  154.     MVI    C,1
  155.     CALL    5
  156.     POP    B!    POP    D!    POP    H
  157.     RET
  158. ;
  159. ;
  160. TTYO:    PUSH    H!    PUSH    D!    PUSH    B
  161.     PUSH    PSW
  162.     MOV    E,A
  163.     MVI    C,2
  164.     CALL    5
  165.     POP    PSW
  166.     POP    B!    POP    D!    POP    H
  167.     RET
  168. ;
  169. ;
  170. CSTS:    PUSH    H!    PUSH    D!    PUSH    B
  171.     MVI    C,11
  172.     CALL    5
  173.     POP    B!    POP    D!    POP    H
  174.     RET
  175. ROMT:     DB    0Q, 0Q, 0Q, 0Q, 0Q            ;SPACE
  176.     DB    0Q, 0Q, 175Q, 0Q, 0Q            ;
  177.     DB    0Q, 160Q, 0Q, 160Q, 0Q        ;"
  178.     DB    24Q, 177Q, 24Q, 177Q, 24Q        ;#
  179.     DB    22Q, 52Q, 177Q, 52Q, 44Q        ;$
  180.     DB    142Q, 144Q, 10Q, 23Q, 43Q        ;%
  181.     DB    66Q, 111Q, 65Q, 2Q, 5Q        ;&
  182.     DB    0Q, 0Q, 160Q, 0Q, 0Q            ;'
  183.     DB    34Q, 42Q, 101Q, 0Q, 0Q        ;(
  184.     DB    0Q, 0Q, 101Q, 42Q, 34Q        ;)
  185.     DB    42Q, 24Q, 177Q, 24Q, 42Q        ;*
  186.     DB    10Q, 10Q, 76Q, 10Q, 10Q        ;+
  187.     DB    0Q, 1Q, 6Q, 0Q, 0Q            ;Q, 
  188.     DB    10Q, 10Q, 10Q, 10Q, 10Q        ;-
  189.     DB    0Q, 0Q, 1Q, 0Q, 0Q            ;.
  190.     DB    2Q, 4Q, 10Q, 20Q, 40Q        ;;
  191.     DB    76Q, 105Q, 111Q, 121Q, 76Q        ;0
  192.     DB    0Q, 41Q, 177Q, 1Q, 0Q        ;1
  193.     DB    43Q, 105Q, 111Q, 111Q, 61Q        ;2
  194.     DB    102Q, 101Q, 111Q, 131Q, 146Q        ;3
  195.     DB    14Q, 24Q, 44Q, 177Q, 4Q        ;4
  196.     DB    162Q, 121Q, 121Q, 121Q, 116Q        ;5
  197.     DB    36Q, 51Q, 111Q, 111Q, 106Q        ;6
  198.     DB    100Q, 107Q, 110Q, 120Q, 140Q        ;7
  199.     DB    66Q, 111Q, 111Q, 111Q, 66Q        ;8
  200.     DB    61Q, 111Q, 111Q, 112Q, 74Q        ;9
  201.     DB    0Q, 0Q, 24Q, 0Q, 0Q            ;:
  202.     DB    0Q, 1Q, 26Q, 0Q, 0Q            ;;
  203.     DB    10Q, 24Q, 42Q, 101Q, 0Q        ;<
  204.     DB    24Q, 24Q, 24Q, 24Q, 24Q        ;=
  205.     DB    0Q, 101Q, 42Q, 24Q, 10Q        ;>
  206.     DB    40Q, 100Q, 115Q, 120Q, 40Q        ;?
  207.     DB    76Q, 101Q, 135Q, 115Q, 71Q        ;@
  208.     DB    37Q, 44Q, 104Q, 44Q, 37Q        ;A
  209.     DB    177Q, 111Q, 111Q, 111Q, 66Q        ;B
  210.     DB    76Q, 101Q, 101Q, 101Q, 42Q        ;C
  211.     DB    177Q, 101Q, 101Q, 101Q, 76Q        ;D
  212.     DB    177Q, 111Q, 111Q, 111Q, 111Q        ;E
  213.     DB    177Q, 110Q, 110Q, 110Q, -------+R02ñ&&s'╩&ñ&&s'╩&╩&ñ&>≡>≡╩&┼)┼)┼)Ç},╛)╫!∩)*'≤)*φ)∞)φ)∞)2±)∞)X├-x╙╔═÷-G╔*Θ[XXHYHX    HHJHXHXZMXHXXH    HOXI    HI[HIPHX[MYH
  214. I(YYHHNXIZRIHQYXZI\\[XYXZH