home *** CD-ROM | disk | FTP | other *** search
/ CD-X 1 / cdx_01.iso / demodisc / cyberdan / intrance / ash2 / fract.asm next >
Encoding:
Assembly Source File  |  1995-03-10  |  18.6 KB  |  410 lines

  1. .MODEL SMALL
  2. .386
  3. .CODE
  4. public          fractalpart
  5. ;▓▓▓▓▓▓▓▓▓▓▓▓▓Main▓▓▓▓▓▓▓▓▓▓▓▓▓
  6. fractalpart:    push    CS
  7.                 pop     ds
  8.                 mov     ax,13h                  ;Switch 320*200*256 mode.
  9.                 int     10h
  10.                 call    Iqron                   ;Do the Mario!
  11.                 mov     ax,0A000h               ;Calculate extra segments.
  12.                 mov     es,ax
  13.                 xor     di,di
  14. Delete:         mov     gs:[di],word ptr 0      ;Delete GS segment area
  15.                 add     di,2                    ;(here will be the wall-paper).
  16.                 jnz     Delete
  17.                 mov     si,offset Cmap          ;Set colors.
  18.                 call    Setpal
  19.                 mov     si,offset Tomb
  20. Controller:     lodsw                           ;What to do ? controller.
  21.                 mov     bp,ax                   ;Loads the data and the
  22.                 lodsw                           ;the offset to call.
  23.                 push    si                      ;Store SI.
  24.                 call    ax
  25.                 pop     si
  26.                 jmp     Controller
  27.  
  28. ;▓▓▓▓▓▓▓▓▓Subroutines▓▓▓▓▓▓▓▓▓▓
  29. ;▒▒▒▒▒▒Put 'Phanto...' up▒▒▒▒▒▒
  30. Putup:          cmp     Counter,0
  31.                 je      Putup
  32.                 dec     Counter
  33.                 mov     cx,64                   ;Put 64 pixel to the screen
  34.                 cmp     di,6000h                ;Reached 'presents'?
  35.                 jb      pu1
  36.                 mov     bp,offset present-14
  37. pu1:            mov     si,bp
  38.                 call    Fractal                 ;Calculate next fractal pixel.
  39.                 shrd    fs:[di],ebx,25          ;Store the coordinates.
  40.                 call    Plot                    ;Show it.
  41.                 add     di,4
  42.                 loop    pu1
  43.                 or      di,di
  44.                 jns     Putup
  45.                 ret
  46.  
  47. ;▒▒▒▒▒▒Calculate fractals▒▒▒▒▒▒
  48. Newfrac:        cmp     Counter,0
  49.                 je      Newfrac
  50.                 dec     Counter
  51.                 mov     cx,64                   ;Put 64 pixel to the screen.
  52. nf1:            mov     si,bp
  53.                 call    Fractal                 ;Calculate next fractal pixel.
  54.                 add     bx,160
  55.                 shl     ebx,7
  56.                 sub     ebx,fs:[di-8000h]       ;This will increase the
  57.                 sar     ebx,7                   ;previous coordinates
  58.                 mov     fs:[di],ebx             ;when morphing.
  59.                 add     di,4
  60.                 loop    nf1
  61.                 or      di,di
  62.                 js      Newfrac
  63.                 ret
  64.  
  65. ;▒▒▒▒▒▒▒▒▒▒▒▒Morph▒▒▒▒▒▒▒▒▒▒▒▒▒
  66. Morph:          xor     ax,ax
  67.                 xchg    Counter,ax
  68.                 cmp     ax,bp                   ;Disable overadding
  69.                 jbe     mo1                     ;the deltas.
  70.                 mov     ax,bp
  71. mo1:            xor     di,di
  72. mo2:            call    Plot                    ;Delete the old pixel.
  73.                 sub     byte ptr es:[bx],2
  74.                 mov     ebx,fs:[di+8000h]       ;Calculate the next pixel...
  75.                 mov     cx,ax
  76.                 jcxz    mo4                     ;Do nothing if the machine
  77. mo3:            add     fs:[di],ebx             ;is too fast.
  78.                 loop    mo3
  79. mo4:            call    Plot                    ;...and show it.
  80.                 add     di,4
  81.                 jns     mo2
  82.                 sub     bp,ax
  83.                 jg      Morph
  84.                 ret
  85.  
  86. ;▒▒▒▒▒Copy fractal to wall▒▒▒▒▒
  87. Wallcopy:       mov     eax,fs:[di-8000h]       ;Get the coordinates.
  88.                 mul     number                  ;Multiple the coordinates
  89.                 mov     bx,dx                   ;to fit into the 256*256
  90.                 sar     eax,16                  ;sized wall-paper.
  91.                 mul     number
  92.                 mov     bh,dl
  93.                 inc     byte ptr gs:[bx+0CAh]   ;Put it to the wall-paper.
  94.                 add     di,4
  95.                 js      Wallcopy
  96.                 ret
  97.  
  98. ;▒▒▒▒▒▒Wallpaper rotation▒▒▒▒▒▒
  99. Dowall:         mov     bx,217                  ;Set the rotation angle.
  100.                 sub     bx,bp
  101.                 shl     bx,7
  102.                 add     bx,5119
  103.                 lea     ax,[bx-5119]            ;Calculate some variables.
  104.                 call    Sin                     ;         (incX ; incY)
  105.                 imul    bx
  106.                 sar     dx,6
  107.                 mov     incX,dx
  108.                 mov     ax,bx
  109.                 call    Sin
  110.                 imul    bx
  111.                 sar     dx,2
  112.                 mov     incY,dx
  113.                 call    PutTexture              ;Show the wall-paper.
  114.                 dec     bp
  115.                 jnz     Dowall
  116.                 ret
  117.  
  118. ;▒▒▒▒▒▒▒▒▒▒▒Waiting▒▒▒▒▒▒▒▒▒▒▒▒
  119. Waiting:        cmp     Counter,bp              ;Waiting bp/70 seconds.
  120.                 jne     Waiting
  121.                 sub     Counter,bp
  122.                 ret
  123.  
  124. ;▒▒▒▒▒▒▒▒▒▒▒The end▒▒▒▒▒▒▒▒▒▒▒▒
  125. Theend:         call    Iqroff                  ;Out the Mario.
  126.                 POP     EAX
  127.                 RETF
  128.  
  129. ;▓▓▓▓▓▓▓Smaller routines▓▓▓▓▓▓▓
  130. ;▒▒▒▒▒▒▒▒▒▒▒▒timer▒▒▒▒▒▒▒▒▒▒▒▒▒
  131. Timer:          inc     cs:shit
  132.                 cmp     cs:shit,7
  133.                 jb      notmost
  134.                 mov     cs:shit,0
  135.                 inc     cs:Counter
  136. notmost:        db      0EAh                    ;...means 'JMP far Oldtimer'.
  137. Oldtimer        dd      0
  138. Shit            dw      0
  139. ;▒▒▒▒▒▒▒▒▒I Q R ki/be▒▒▒▒▒▒▒▒▒▒
  140. Iqroff:         xor     dx,dx
  141.                 mov     es,dx
  142.                 push    dword ptr Oldtimer
  143.                 jmp     iq1
  144. Iqron:          xor     dx,dx
  145.                 mov     es,dx
  146.                 mov     eax,dword ptr es:[08h*4];Connecting to IRQ 8.
  147.                 mov     Oldtimer,eax
  148.                 mov     dh,43h                  ;69.565hz
  149.                 push    cs
  150.                 push    offset Timer
  151. iq1:            ;cli
  152.                 pop     dword ptr es:[08h*4]
  153.                 ;mov     al,036h
  154.                 ;out     43h,al
  155.                 ;mov     al,dl
  156.                 ;out     40h,al
  157.                 ;mov     al,dh
  158.                 ;out     40h,al
  159.                 ;sti
  160.                 ret
  161.  
  162. ;▒▒▒▒▒▒▒▒▒▒▒▒paletta▒▒▒▒▒▒▒▒▒▒▒
  163. Setpal:         mov     dx,3C8h                 ;Set the colors from 0.
  164.                 mov     al,0
  165.                 out     dx,al
  166.                 inc     dx
  167.                 mov     cx,20*3                 ;Set 20 colors.
  168.                 rep     outsb                   ;Set.
  169.                 ret
  170.  
  171. ;▒▒▒▒▒▒▒▒▒▒▒▒▒plot▒▒▒▒▒▒▒▒▒▒▒▒▒
  172. Plot:           mov     dx,fs:[di+2]            ;Get the coordinates from
  173.                 shr     dx,1                    ;the table.
  174.                 and     dl,0C0h                 ;Set the pixel at dx*320+bx.
  175.                 lea     dx,[edx*4+edx]
  176.                 mov     bx,fs:[di]
  177.                 shr     bx,7
  178.                 add     bx,dx
  179.                 inc     byte ptr es:[bx]
  180.                 ret
  181.  
  182. ;▒▒▒▒▒▒▒random ( 0-255 )▒▒▒▒▒▒▒
  183. Random:         mov     ax,4568h                ;No comment...
  184.                 mul     randseed
  185.                 add     ax,dx
  186.                 mov     randseed,ax
  187.                 ret
  188.  
  189. ;▒▒▒▒▒▒▒▒▒▒▒▒fractal▒▒▒▒▒▒▒▒▒▒▒
  190. Fractal:        push    cx                      ;The table offset-14 is in SI.
  191.                 call    Random
  192. fr1:            add     si,14                   ;Choose the line.
  193.                 sub     ah,[si+12]
  194.                 ja      fr1
  195.  
  196.                 mov     cx,2                    ;Calculate the next
  197. fr2:            lodsw                           ;point with the choosen line.
  198.                 imul    fx
  199.                 shrd    ax,dx,8                 ;Here I want to say thanks
  200.                 mov     bx,ax                   ;to Michael Barnsley
  201.                 lodsw                           ;for inventing this
  202.                 imul    fy                      ;fantastic fractal type
  203.                 shrd    ax,dx,8                 ;called IFS.
  204.                 add     bx,ax                   ;If you have got Fractint
  205.                 lodsw                           ;it may known to you.
  206.                 add     bx,ax
  207.                 add     bx,ax
  208.                 rol     ebx,16
  209.                 loop    fr2
  210.  
  211.                 mov     dword ptr fx,ebx        ;Store the coordinates.
  212.                 pop     cx
  213.                 ret
  214.  
  215. ;▒▒▒▒▒▒▒▒▒▒▒ sin/cos ▒▒▒▒▒▒▒▒▒▒
  216. Cos:            add     ax,16384                ;Nothing new...
  217. Sin:            push    bx cx dx
  218.                 mov     bx,ax                   ;Well right here I want
  219.                 mov     cx,bx                   ;to say thanks to Future
  220.                 shr     bx,10                   ;Crew for it.
  221.                 and     cx,1023                 ;It was the shortest sinus
  222.                 mov     ah,[sintable+bx+1]      ;computing around.
  223.                 xor     al,al                   ;(Although it is shorter
  224.                 imul    cx                      ;than the original FC's)
  225.                 push    ax dx
  226.                 neg     cx
  227.                 add     cx,1023
  228.                 mov     ah,[sintable+bx+0]
  229.                 xor     al,al
  230.                 imul    cx
  231.                 pop     cx bx
  232.                 add     ax,bx
  233.                 adc     dx,cx
  234.                 shrd    ax,dx,11
  235.                 pop     dx cx bx
  236.                 ret
  237.  
  238. ;▒▒▒▒▒▒▒▒▒▒ texture ▒▒▒▒▒▒▒▒▒▒▒
  239. PutTexture:     pusha                           ;Yeah, this is the wall-paper,
  240.                 imul    ax,incX,-320/2          ;my favourite.
  241.                 mov     px,ax                   ;This is the first texturing
  242.                 imul    ax,incY,-200/2          ;routine which uses such a
  243.                 mov     py,ax                   ;lot of pixel as 320*200.
  244.                 xor     di,di                   ;So take care!
  245. ausser:         mov     cx,320/2
  246.                 mov     si,incX                 ;This is the same difficult
  247.                 shl     esi,16                  ;as the former one, so
  248.                 mov     si,incY                 ;there is no space to tell
  249.                 mov     dx,pX                   ;it's logic.
  250.                 shl     edx,16                  ;You can see the result...
  251.                 mov     dx,pY
  252. inner:          add     edx,esi
  253.                 shld    ebx,edx,16
  254.                 mov     bl,dh                   ;Certainly there is a
  255.                 mov     al,gs:[bx]              ;greeting here too.
  256.                 add     edx,esi                 ;Thanks to the gentleman
  257.                 shld    ebx,edx,16              ;known as The Faker whoever
  258.                 mov     bl,dh                   ;is he.
  259.                 mov     ah,gs:[bx]              ;It was very interesting
  260.                 stosw                           ;to see how he used 32 bit
  261.                 dec     cx                      ;registers in Pascal code.
  262.                 jnz     inner                   ;There were 'db 66h'-s
  263.                 mov     ax,incY                 ;before each line.
  264.                 add     pX,ax                   ;Very cool.
  265.                 mov     ax,incX
  266.                 sub     pY,ax
  267.                 cmp     di,0FA00h
  268.                 jb      ausser
  269.                 popa
  270.                 ret
  271.  
  272. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ a ▒▒▒ b ▒▒▒ e ▒▒▒ c ▒▒▒ d ▒▒▒ f ▒▒▒ p ▒▒▒
  273. phantom dw       0 ,- 50 ,  28 ,  40 ,   0 ,  24 ,  16
  274.         dw      14 ,   0 ,  23 ,   0 ,  10 ,  26 ,   4
  275.         dw       0 ,- 50 ,  40 ,  20 ,   0 ,  25 ,   8
  276.         dw      14 ,   0 ,  23 ,   0 ,  10 ,  34 ,   4
  277.         dw       0 ,- 50 ,  46 ,  40 ,   0 ,  24 ,  16
  278.         dw      14 ,   0 ,  41 ,   0 ,  10 ,  34 ,   4
  279.         dw       0 ,- 50 ,  57 ,  40 ,   0 ,  24 ,  16
  280.         dw       0 ,- 50 ,  63 ,  40 ,   0 ,  24 ,  16
  281.         dw       0 ,- 50 ,  75 ,  40 ,   0 ,  24 ,  16
  282.         dw      14 ,   0 ,  58 ,   0 ,  10 ,  26 ,   4
  283.         dw      14 ,   0 ,  58 ,   0 ,  10 ,  34 ,   4
  284.         dw       0 ,- 50 ,  81 ,  40 ,   0 ,  24 ,  16
  285.         dw      15 ,   0 ,  76 ,  30 ,  60 ,  19 ,  11
  286.         dw       0 ,- 50 ,  93 ,  40 ,   0 ,  24 ,  16
  287.         dw       0 ,- 50 , 110 ,  40 ,   0 ,  24 ,  16
  288.         dw      20 ,   0 ,  90 ,   0 ,  10 ,  26 ,   4
  289.         dw       0 ,- 50 , 116 ,  40 ,   0 ,  24 ,  16
  290.         dw       0 ,- 50 , 128 ,  40 ,   0 ,  24 ,  16
  291.         dw      14 ,   0 , 111 ,   0 ,  10 ,  26 ,   4
  292.         dw      14 ,   0 , 111 ,   0 ,  10 ,  44 ,   4
  293.         dw       0 ,- 50 , 134 ,  40 ,   0 ,  24 ,  16
  294.         dw       0 ,- 50 , 145 ,  40 ,   0 ,  24 ,  16
  295.         dw       7 ,   0 , 129 ,  10 ,  60 ,  21 ,   6
  296.         dw       7 ,   0 , 133 , -10 ,  60 ,  26 ,   6
  297. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ a ▒▒▒ b ▒▒▒ e ▒▒▒ c ▒▒▒ d ▒▒▒ f ▒▒▒ p ▒▒▒
  298. present dw       0 ,- 60 ,  43 ,  24 ,   0 ,  52 ,  18
  299.         dw      17 ,   0 ,  29 ,   0 ,  25 ,  49 ,   9
  300.         dw       0 ,- 60 ,  52 ,  13 ,   0 ,  53 ,   9
  301.         dw      17 ,   0 ,  29 ,   0 ,  25 ,  54 ,   9
  302.         dw       0 ,- 60 ,  56 ,  13 ,   0 ,  53 ,   8
  303.         dw      21 ,   0 ,  42 ,   0 ,  25 ,  49 ,   9
  304.         dw      17 ,   0 ,  56 ,   0 ,  25 ,  49 ,   9
  305.         dw      17 ,   0 ,  56 ,   0 ,  25 ,  51 ,   9
  306.         dw      21 ,   0 ,  56 ,   0 ,  25 ,  54 ,   9
  307.         dw       0 ,- 60 ,  70 ,  13 ,   0 ,  53 ,   8
  308.         dw       0 ,- 60 ,  79 ,   5 ,   0 ,  54 ,   4
  309.         dw      21 ,   0 ,  69 ,   0 ,  25 ,  49 ,   9
  310.         dw      17 ,   0 ,  69 ,   0 ,  25 ,  51 ,   9
  311.         dw      21 ,   0 ,  68 ,   0 ,  25 ,  54 ,   9
  312.         dw       0 ,- 60 ,  83 ,   5 ,   0 ,  54 ,   4
  313.         dw       0 ,- 60 ,  92 ,   7 ,   0 ,  56 ,   4
  314.         dw      17 ,   0 ,  82 ,   0 ,  25 ,  49 ,   9
  315.         dw      17 ,   0 ,  82 ,   0 ,  25 ,  51 ,   9
  316.         dw      21 ,   0 ,  82 ,   0 ,  25 ,  54 ,   9
  317.         dw       0 ,- 60 ,  96 ,  13 ,   0 ,  53 ,   8
  318.         dw       0 ,- 60 , 105 ,   5 ,   0 ,  54 ,   4
  319.         dw       0 ,- 60 , 110 ,  13 ,   0 ,  53 ,   8
  320.         dw      17 ,   0 ,  96 ,   0 ,  25 ,  49 ,   9
  321.         dw       0 ,- 60 , 119 ,  11 ,   0 ,  54 ,   8
  322.         dw       0 ,- 60 , 125 ,  19 ,   0 ,  50 ,  13
  323.         dw      15 ,   0 , 108 ,   0 ,  25 ,  49 ,   7
  324.         dw      21 ,   0 , 118 ,   0 ,  25 ,  49 ,   9
  325.         dw      17 ,   0 , 118 ,   0 ,  25 ,  51 ,   9
  326.         dw      21 ,   0 , 117 ,   0 ,  25 ,  54 ,   9
  327.         dw       0 ,- 60 , 132 ,   5 ,   0 ,  54 ,   4
  328.         dw       0 ,- 60 , 141 ,   7 ,   0 ,  56 ,   4
  329. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ a ▒▒▒ b ▒▒▒ e ▒▒▒ c ▒▒▒ d ▒▒▒ f ▒▒▒ p ▒▒▒
  330. trance  dw       0 ,- 50 ,- 55 ,  25 ,   0 ,  48 ,  14
  331.         dw       0 ,- 50 ,- 48 ,  25 ,   0 ,  48 ,  13
  332.         dw       8 ,   0 ,- 52 ,  15 ,  30 ,  43 ,   8
  333.         dw       0 ,- 50 ,- 38 ,  25 ,   0 ,  48 ,  13
  334.         dw       0 ,- 50 ,- 25 ,  25 ,   0 ,  48 ,  13
  335.         dw      30 ,   0 ,- 34 ,   0 ,  10 ,  41 ,  11
  336.         dw       0 ,- 50 ,- 13 ,  25 ,   0 ,  48 ,  13
  337.         dw       0 ,- 50 ,-  3 ,  12 ,   0 ,  45 ,   8
  338.         dw      14 ,   0 ,- 18 ,   0 ,  10 ,  41 ,   5
  339.         dw      14 ,   0 ,- 18 ,   0 ,  10 ,  46 ,   5
  340.         dw      14 ,   0 ,- 15 ,  10 ,  30 ,  46 ,   5
  341.         dw    - 10 ,- 50 ,   7 ,  25 ,   0 ,  48 ,  14
  342.         dw      10 ,- 50 ,  15 ,  25 ,   0 ,  48 ,  14
  343.         dw      10 ,   0 ,   2 ,   0 ,  10 ,  48 ,   5
  344.         dw       0 ,- 50 ,  25 ,  25 ,   0 ,  48 ,  13
  345.         dw       8 ,   0 ,  21 ,  15 ,  30 ,  43 ,   8
  346.         dw       0 ,- 50 ,  35 ,  25 ,   0 ,  48 ,  13
  347.         dw       0 ,- 50 ,  42 ,  25 ,   0 ,  48 ,  13
  348.         dw      20 ,   0 ,  40 ,   0 ,  10 ,  41 ,  11
  349.         dw      20 ,   0 ,  40 ,   0 ,  10 ,  51 ,  11
  350.         dw       0 ,- 50 ,  58 ,  25 ,   0 ,  48 ,  13
  351.         dw      20 ,- 50 ,  64 ,   0 ,  10 ,  41 ,  11
  352.         dw      20 ,- 50 ,  64 ,   0 ,  10 ,  45 ,  11
  353.         dw      20 ,- 50 ,  64 ,   0 ,  10 ,  51 ,  11
  354. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ a ▒▒▒ b ▒▒▒ e ▒▒▒ c ▒▒▒ d ▒▒▒ f ▒▒▒ p ▒▒▒
  355. floor   dw       0 ,-128 ,- 17 , 128 ,   0 ,  33 ,  85
  356.         dw     128 ,   0 ,   0 ,   0 , 128 ,  50 ,  86
  357.         dw       0 , 128 ,  16 ,-128 ,   0 ,  33 ,  85
  358. spiral  dw     202 ,-108 ,  15 ,  61 , 220 ,  13 , 230
  359.         dw    - 31 ,  67 ,- 60 ,  38 ,  13 ,  13 ,  13
  360.         dw      26 ,- 36 ,  55 ,  23 ,  46 ,  14 ,  13
  361. dragon  dw     210 ,  72 ,- 22 ,- 54 , 220 ,   2 , 202
  362.         dw      23 , 133 ,   8 ,-118 ,- 97 ,  75 ,  54
  363. cristal dw     179 ,-123 ,  24 ,-100 ,-169 , 100 , 192
  364.         dw      23 ,-113 ,  46 , 133 ,- 23 ,  22 ,  64
  365. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ a ▒▒▒ b ▒▒▒ e ▒▒▒ c ▒▒▒ d ▒▒▒ f ▒▒▒ p ▒▒▒
  366. Cmap    db 05ch/4,045h/4,063h/4,020h/4,060h/4,0a0h/4,025h/4,06ah/4,0a5h/4,025h/4
  367.         db 075h/4,0afh/4,02bh/4,083h/4,0b7h/4,02fh/4,08fh/4,0bbh/4,033h/4,09bh/4
  368.         db 0c3h/4,037h/4,0abh/4,0cbh/4,03fh/4,0bbh/4,0d7h/4,043h/4,0cbh/4,0dfh/4
  369.         db 04bh/4,0dbh/4,0ebh/4,04fh/4,0ebh/4,0f3h/4,057h/4,0ffh/4,0ffh/4,08fh/4
  370.         db 0ffh/4,0ffh/4,0c3h/4,0ffh/4,0ffh/4,0c3h/4,0ffh/4,0ffh/4,0c3h/4,0ffh/4
  371.         db 0ffh/4,0c3h/4,0ffh/4,0ffh/4,0c3h/4,0ffh/4,0ffh/4,0c3h/4,0ffh/4,0ffh/4
  372. ;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  373. sintable LABEL BYTE ;sine table (circle is 64 units)
  374.         db 0,12,24,36,48,59,70,80,89,98,105,112,117,121,124,126,127,126
  375.         db 124,121,117,112,105,98,89,80,70,59,48,36,24,12,0,-12,-24,-36
  376.         db -48,-59,-70,-80,-89,-98,-105,-112,-117,-121,-124,-126,-127
  377.         db -126,-124,-121,-117,-112,-105,-98,-89,-80,-70,-59,-48,-36
  378.         db -24,-12,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54
  379.         db 57,59,62,65,67,70
  380.  
  381. ;▓▓▓▓▓▓▓▓▓▓variables▓▓▓▓▓▓▓▓▓▓▓
  382. Tomb            dw      140              ,offset Waiting
  383.                 dw      offset phantom-14,offset Putup
  384.                 dw      offset trance-14 ,offset Newfrac
  385.                 dw      128              ,offset Morph
  386.                 dw      35               ,offset Waiting
  387.                 dw      offset floor-14  ,offset Newfrac
  388.                 dw      128              ,offset Morph
  389.                 dw      offset spiral-14 ,offset Newfrac
  390.                 dw      128              ,offset Morph
  391.                 dw      offset dragon-14 ,offset Newfrac
  392.                 dw      128              ,offset Morph
  393.                 dw      offset cristal-14,offset Newfrac
  394.                 dw      128              ,offset Morph
  395.                 dw      0                ,offset Wallcopy
  396.                 dw      217              ,offset Dowall
  397.                 dw      0                ,offset Theend
  398. randseed        dw      91Ch
  399. number          dw      285                     ;512*0.6
  400. fx              dw      0
  401. fy              dw      0
  402. Counter         dw      0
  403. Dataseg1        dw      0
  404. Dataseg2        dw      0
  405. incX            dw      0
  406. incY            dw      0
  407. pX              dw      0
  408. pY              dw      0
  409. END
  410.