home *** CD-ROM | disk | FTP | other *** search
/ The Equalizer BBS / equalizer-bbs-collection_2004.zip / equalizer-bbs-collection / DEMOSCENE-STUFF / TIMESRC.ZIP / L1P8.M < prev    next >
Text File  |  1994-02-23  |  5KB  |  217 lines

  1.  
  2. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  3. ; DATA
  4. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  5. align 2
  6. d8locs0         label   byte
  7. temp0=192
  8. temp1=188
  9. temp2=53
  10. temp3=37
  11. rept 64
  12.                 db low(temp0*100+temp2),high(temp0*100+temp2),?,temp2+1
  13.   temp0=temp0+temp1
  14.   if temp0 gt 199
  15.     temp0=temp0-200
  16.     temp1=temp1-8
  17.   endif
  18.   temp2=temp2+temp3
  19.   if temp2 gt 79
  20.     temp2=temp2-80
  21.     temp3=temp3-7
  22.   endif
  23. endm
  24.  
  25. d8locs1         label   byte
  26. temp0=64
  27. temp1=96
  28. temp2=25
  29. temp3=31
  30. rept 32
  31.                 db low(temp0*100+temp2*2),high(temp0*100+temp2*2),?,temp2+1
  32.   temp0=temp0+temp1
  33.   if temp0 gt 199
  34.     temp0=temp0-200
  35.     temp1=temp1-8
  36.   endif
  37.   temp2=temp2+temp3
  38.   if temp2 gt 39
  39.     temp2=temp2-40
  40.     temp3=temp3-3
  41.   endif
  42. endm
  43.  
  44. d8locs2         label   byte
  45. temp0=132
  46. temp1=96
  47. temp2=13
  48. temp3=13
  49. rept 16
  50.                 db low(temp0*100+temp2*4),high(temp0*100+temp2*4),?,temp2+1
  51.   temp0=temp0+temp1
  52.   if temp0 gt 199
  53.     temp0=temp0-200
  54.     temp1=temp1-8
  55.   endif
  56.   temp2=temp2+temp3
  57.   if temp2 gt 19
  58.     temp2=temp2-20
  59.     temp3=temp3-2
  60.   endif
  61. endm
  62.  
  63. d8cntr          db      0f0h
  64. d8num           db      0
  65. d8numd          db      1
  66.  
  67. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  68. ; CODE
  69. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  70.  
  71. ;═════════════════════════════════════════════════════════════════════════════
  72. p80:
  73.         mov al,d8cntr
  74.         dec al
  75.         jnz short p80f0
  76.         mov d8cntr,0f0h
  77.         mov d8num,0
  78.         mov d8numd,1
  79.         jmp setnext
  80. p80f0:
  81.         mov d8cntr,al
  82.         mov ch,d8num
  83.         mov cl,d8numd
  84.         cmp al,010h
  85.         jne short p80f1
  86.         mov cl,-1
  87.         mov d8numd,cl
  88. p80f1:
  89.  
  90.         add ch,cl
  91.         jz short p80f2
  92.         cmp ch,10h
  93.         jb short p80f3
  94. p80f2:
  95.         mov d8numd,0
  96. p80f3:
  97.         mov d8num,ch
  98.  
  99.         mov edi,_vidptr
  100.         mov dx,3c5h
  101.         xor ebx,ebx
  102.         mov ah,0d9h
  103.  
  104.         mov esi,offset d8locs2
  105.         mov cl,10h
  106. p80l2:
  107.         mov bx,[esi]
  108.         add bx,1600
  109.         cmp bx,100*208
  110.         jb short p80l2f0
  111.         sub bx,100*200
  112. p80l2f0:
  113.         sub ebx,4
  114.         dec byte ptr [esi+3]
  115.         jnz short p80l2f1
  116.         mov byte ptr [esi+3],20
  117.         add ebx,80
  118. p80l2f1:
  119.         mov [esi],bx
  120.         cmp cl,ch
  121.         ja short p80l2c
  122.         @outb 1
  123.         mov [edi+ebx],ah
  124.         mov [edi+ebx-400+1],ah
  125.         mov [edi+ebx-800+2],ah
  126.         mov [edi+ebx-1200+3],ah
  127.         @outb 2
  128.         mov [edi+ebx-100],ah
  129.         mov [edi+ebx-500+1],ah
  130.         mov [edi+ebx-900+2],ah
  131.         mov [edi+ebx-1300+3],ah
  132.         @outb 4
  133.         mov [edi+ebx-200],ah
  134.         mov [edi+ebx-600+1],ah
  135.         mov [edi+ebx-1000+2],ah
  136.         mov [edi+ebx-1400+3],ah
  137.         @outb 8
  138.         mov [edi+ebx-300],ah
  139.         mov [edi+ebx-700+1],ah
  140.         mov [edi+ebx-1100+2],ah
  141.         mov [edi+ebx-1500+3],ah
  142. p80l2c:
  143.         add esi,4
  144.         dec cl
  145.         jnz p80l2
  146.  
  147.         mov esi,offset d8locs1
  148.         shl ch,1
  149.         mov cl,20h
  150. p80l1:
  151.         mov bx,[esi]
  152.         add bx,800
  153.         cmp bx,100*200
  154.         jb short p80l1f0
  155.         sub bx,100*200
  156. p80l1f0:
  157.         sub ebx,2
  158.         dec byte ptr [esi+3]
  159.         jnz short p80l1f1
  160.         mov byte ptr [esi+3],40
  161.         add ebx,80
  162. p80l1f1:
  163.         mov [esi],bx
  164.         cmp cl,ch
  165.         ja short p80l1c
  166.         @outb 1
  167.         mov [edi+ebx],ah
  168.         mov [edi+ebx-400+1],ah
  169.         @outb 2
  170.         mov [edi+ebx-100],ah
  171.         mov [edi+ebx-500+1],ah
  172.         @outb 4
  173.         mov [edi+ebx-200],ah
  174.         mov [edi+ebx-600+1],ah
  175.         @outb 8
  176.         mov [edi+ebx-300],ah
  177.         mov [edi+ebx-700+1],ah
  178. p80l1c:
  179.         add esi,4
  180.         dec cl
  181.         jnz p80l1
  182.  
  183.         mov esi,offset d8locs0
  184.         shl ch,1
  185.         mov cl,40h
  186. p80l0:
  187.         mov bx,[esi]
  188.         add bx,400
  189.         cmp bx,100*200
  190.         jb short p80l0f0
  191.         sub bx,100*200
  192. p80l0f0:
  193.         dec ebx
  194.         dec byte ptr [esi+3]
  195.         jnz short p80l0f1
  196.         mov byte ptr [esi+3],80
  197.         add ebx,80
  198. p80l0f1:
  199.         mov [esi],bx
  200.         cmp cl,ch
  201.         ja short p80l0c
  202.         @outb 1
  203.         mov [edi+ebx],ah
  204.         @outb 2
  205.         mov [edi+ebx-100],ah
  206.         @outb 4
  207.         mov [edi+ebx-200],ah
  208.         @outb 8
  209.         mov [edi+ebx-300],ah
  210. p80l0c:
  211.         add esi,4
  212.         dec cl
  213.         jnz p80l0
  214.  
  215.         ret
  216.  
  217.