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

  1.  
  2. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  3. ; DATA
  4. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  5. align 4
  6. d4posrout       dd      p40r0a,p40r0b
  7.  
  8. d4posrouttbl0   dd      p40r0a,p40r1a,p40r2a,p40r3a,p40r0a,p40r1a,p40r2a,p40r3a
  9. d4posrouttbl1   dd      p40r0b,p40r1b,p40r2b,p40r3b,p40r2b,p40r3b,p40r0b,p40r1b
  10.  
  11. d4wingframe     dd      cspr0b,cspr0c,cspr0d,cspr0c
  12. d4centercspr    dd      cspr0a
  13.  
  14. d4centercsprtbl dd      cspr0a,cspr17,cspr11,cspr10,cspr22
  15.  
  16. d4loc           dw      0
  17.  
  18. d4frame         db      0,2
  19. d4posroutindex  db      0
  20. d4centercspri   db      0
  21.  
  22. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  23. ; CODE
  24. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  25.  
  26. ;═════════════════════════════════════════════════════════════════════════════
  27. p40:
  28.         xor esi,esi
  29.         call p40r4
  30.         inc esi
  31.         call p40r4
  32.         jnc _ret
  33.         movzx ebx,d4posroutindex
  34.         inc ebx
  35.         and bl,7
  36.         mov d4posroutindex,bl
  37.         mov eax,d4posrouttbl0[ebx*4]
  38.         mov d4posrout[0],eax
  39.         mov eax,d4posrouttbl1[ebx*4]
  40.         mov d4posrout[4],eax
  41.         mov d4loc,0
  42.         movzx ebx,d4centercspri
  43.         inc bl
  44.         cmp bl,5
  45.         jb short p40f0
  46.         xor bl,bl
  47. p40f0:
  48.         mov d4centercspri,bl
  49.         mov eax,d4centercsprtbl[ebx*4]
  50.         mov d4centercspr,eax
  51.         jmp setnext
  52. ;-----------------------------------------------------------------------------
  53. p40r4:
  54.         call d4posrout[esi*4]
  55.         pushfd
  56.         imul ebp,edx,100
  57.         add ebp,_vidptr
  58.         mov eax,ebx
  59.         shr ebx,2
  60.         lea ebp,[ebp+ebx-100*26-18]
  61.         and eax,3
  62.         mov ah,vidbittbl2[eax]
  63.         movzx ebx,d4frame[esi]
  64.         inc ebx
  65.         and bl,3
  66.         mov d4frame[esi],bl
  67.         mov dx,3c5h
  68.         mov edi,ebp
  69.         mov al,ah
  70.         call d4wingframe[ebx*4]
  71.         rol ah,1
  72.         adc ebp,100*9+6
  73.         mov edi,ebp
  74.         mov al,ah
  75.         call d4centercspr
  76.         popfd
  77.         ret
  78. ;-----------------------------------------------------------------------------
  79. p40r0a:
  80.         movzx edx,d4loc
  81.         add edx,2
  82.         mov d4loc,dx
  83.         sub edx,50
  84.         jnc short p40r0af0
  85. p40r0af1:
  86.         xor edx,edx
  87.         xor ebx,ebx
  88.         clc
  89.         ret
  90. p40r0af0:
  91.         mov eax,offset sincos0
  92.         mov al,dl
  93.         movzx ebx,byte ptr [eax]
  94.         shr ebx,1
  95.         add ebx,131
  96.         ret
  97. ;-----------------------------------------------------------------------------
  98. p40r0b:
  99.         movzx edx,d4loc
  100.         cmp dx,276
  101.         je short p40r0bf0
  102.         cmp dx,226
  103.         jae p40r0af1
  104.         mov eax,offset sincos0
  105.         mov al,dl
  106.         sub al,50+80h
  107.         movzx ebx,byte ptr [eax]
  108.         shr ebx,1
  109.         add ebx,131
  110.         clc
  111.         ret
  112. p40r0bf0:
  113.         xor edx,edx
  114.         xor ebx,ebx
  115.         stc
  116.         ret
  117. ;-----------------------------------------------------------------------------
  118. p40r1a:
  119.         movzx ebx,d4loc
  120.         add ebx,3
  121.         mov d4loc,bx
  122.         sub ebx,80
  123.         jc p40r0af1
  124.         mov eax,offset sincos0
  125.         mov al,bl
  126.         movzx edx,byte ptr [eax]
  127.         shr edx,1
  128.         add edx,49
  129.         ret
  130. ;-----------------------------------------------------------------------------
  131. p40r1b:
  132.         movzx ebx,d4loc
  133.         cmp bx,472
  134.         jae p40r0bf0
  135.         cmp bx,392
  136.         jae p40r0af1
  137.         mov eax,offset sincos0
  138.         mov al,bl
  139.         sub al,80+80h
  140.         movzx edx,byte ptr [eax]
  141.         shr edx,1
  142.         add edx,49
  143.         clc
  144.         ret
  145. ;-----------------------------------------------------------------------------
  146. p40r2a:
  147.         movzx edx,d4loc
  148.         add edx,2
  149.         mov d4loc,dx
  150.         sub dx,50
  151.         jc p40r0af1
  152.         mov eax,offset sincos0
  153.         mov al,dl
  154.         movzx ebx,byte ptr [eax]
  155.         shr ebx,1
  156.         add ebx,131
  157.         sub dl,226
  158.         neg dl
  159.         ret
  160. ;-----------------------------------------------------------------------------
  161. p40r2b:
  162.         movzx edx,d4loc
  163.         cmp dx,276
  164.         je p40r0bf0
  165.         cmp dx,226
  166.         jae p40r0af1
  167.         mov eax,offset sincos0
  168.         mov al,dl
  169.         sub al,50+80h
  170.         movzx ebx,byte ptr [eax]
  171.         shr ebx,1
  172.         add ebx,131
  173.         sub dl,224
  174.         neg dl
  175.         clc
  176.         ret
  177. ;-----------------------------------------------------------------------------
  178. p40r3a:
  179.         movzx ebx,d4loc
  180.         add ebx,3
  181.         mov d4loc,bx
  182.         sub ebx,78
  183.         jc p40r0af1
  184.         mov eax,offset sincos0
  185.         mov al,bl
  186.         movzx edx,byte ptr [eax]
  187.         shr edx,1
  188.         add edx,49
  189.         sub ebx,396
  190.         neg ebx
  191.         ret
  192. ;-----------------------------------------------------------------------------
  193. p40r3b:
  194.         movzx ebx,d4loc
  195.         cmp bx,474
  196.         jae p40r0bf0
  197.         cmp bx,396
  198.         jae p40r0af1
  199.         mov eax,offset sincos0
  200.         mov al,bl
  201.         sub al,78+80h
  202.         movzx edx,byte ptr [eax]
  203.         shr edx,1
  204.         add edx,49
  205.         sub ebx,393
  206.         neg ebx
  207.         clc
  208.         ret
  209.  
  210.