home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / descent / source / main / test.asm < prev    next >
Assembly Source File  |  1998-06-08  |  3KB  |  145 lines

  1. ;THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
  2. ;SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
  3. ;END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
  4. ;ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
  5. ;IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
  6. ;SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
  7. ;FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
  8. ;CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
  9. ;AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
  10. ;COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
  11.     .386
  12.  
  13.     public    john_test_, mike_test_
  14.     public    _test_count
  15.  
  16. _DATA    SEGMENT DWORD PUBLIC USE32 'DATA'
  17.  
  18. _Big_test_count    dd    40000h
  19. uv    dd    0
  20. _test_count    dd    0
  21. bonk    db    4096 dup (0)
  22.  
  23. _DATA    ENDS
  24.  
  25. DGROUP    GROUP    _DATA
  26.  
  27.  
  28. _TEXT   SEGMENT DWORD PUBLIC USE32 'CODE'
  29.     ASSUME    DS:_DATA
  30.     ASSUME    CS:_TEXT
  31.  
  32. john_test_:
  33.     pusha
  34.  
  35.     mov    eax, _Big_test_count
  36.     mov    _test_count, eax
  37. john_again:
  38.  
  39.     mov    edi, offset bonk
  40.  
  41.     sub    eax,eax
  42.     sub    esi,esi
  43.  
  44.     mov    dl,3fh
  45.  
  46. ; .833
  47. ;    REPT 8
  48. ;    mov    ah, byte ptr uv+3    ; get v
  49. ;    mov    al, byte ptr uv+1    ; get u
  50. ;    and    ah, 3fh
  51. ;    add    uv, ecx    ; inc u,v
  52. ;    mov    al, [esi+eax]    ; get source pixel
  53. ;    mov    ah, bh    ; form lighting lookup value
  54. ;    mov    al, [eax]    ; get lit pixel from fadetable
  55. ;    mov    [edi], al    ; write pixel to frame buffer
  56. ;    inc    edi    ; inc dest
  57. ;    add    ebx, ebp    ; inc lighting value
  58. ;    ENDM
  59.  
  60. ; .833
  61.     REPT 8
  62.     mov    ah, byte ptr uv+3    ; get v
  63.     mov    al, byte ptr uv+1    ; get u
  64.     and    ah, dl
  65.     add    uv, ecx    ; inc u,v
  66.     mov    al, [esi+eax]    ; get source pixel
  67.     mov    ah, bh    ; form lighting lookup value
  68.     mov    al, [eax]    ; get lit pixel from fadetable
  69.     add    ebx, ebp    ; inc lighting value
  70.     mov    [edi], al    ; write pixel to frame buffer
  71.     inc    edi    ; inc dest
  72.     ENDM
  73.  
  74.     dec    _test_count
  75.     jne    john_again
  76.  
  77.     popa
  78.     ret
  79.  
  80. mike_test_:
  81.     pusha
  82.  
  83.     mov    eax, _Big_test_count
  84.     mov    _test_count, eax
  85.  
  86. mike_again:
  87.     mov    edi, offset bonk
  88.  
  89. ; .733
  90. ;    REPT 8
  91. ;    mov    eax, esi    ; get u,v
  92. ;    shr    eax, 26    ; shift out all but int(v)
  93. ;    shld    ax,si,6    ; shift in u, shifting up v
  94. ;    add    esi, edx    ; inc u,v
  95. ;    mov     al, [eax]    ; get pixel from source bitmap
  96. ;    mov    ah, bh    ; form lighting table lookup value
  97. ;    add    ebx, ebp    ; update lighting value
  98. ;    mov    al, [eax]    ; xlat thru lighting table into dest buffer
  99. ;    mov    [edi], al
  100. ;    inc    edi
  101. ;
  102. ;    ENDM
  103.  
  104. ; .780
  105. ;    REPT 8
  106. ;    mov    eax, esi    ; get u,v
  107. ;    shr    eax, 10    ; shift out all but int(v)
  108. ;    mov    ax,si    ; shift in u, shifting up v
  109. ;    shr    eax,10    ; inc u,v
  110. ;    add    esi,edx
  111. ;    mov     al, [eax]    ; get pixel from source bitmap
  112. ;    mov    ah, bh    ; form lighting table lookup value
  113. ;    add    ebx, ebp    ; update lighting value
  114. ;    mov    al, [eax]    ; xlat thru lighting table into dest buffer
  115. ;    mov    [edi], al
  116. ;    inc    edi
  117. ;
  118. ;    ENDM
  119.  
  120.     REPT 8
  121.     mov    eax, esi    ; get u,v
  122.     shr    eax, 10    ; shift out all but int(v)
  123.     mov    ax,si    ; shift in u, shifting up v
  124.     shr    eax,10    ; inc u,v
  125.     add    esi,edx
  126.     mov     al, [eax]    ; get pixel from source bitmap
  127.     mov    ah, bh    ; form lighting table lookup value
  128.     add    ebx, ebp    ; update lighting value
  129.     mov    al, [eax]    ; xlat thru lighting table into dest buffer
  130.     mov    [edi], al
  131.     inc    edi
  132.  
  133.     ENDM
  134.  
  135.     dec    _test_count
  136.     jne    mike_again
  137.  
  138.     popa
  139.     ret
  140.  
  141. _TEXT    ENDS
  142.  
  143.     END
  144.  
  145.