home *** CD-ROM | disk | FTP | other *** search
/ CD-X 3 / cdx_03.iso / democomp / demo / _2complx.arj / 2CLX-SRC.ZIP / TEXTNEW / VECTOR.ASM < prev   
Encoding:
Assembly Source File  |  1995-11-10  |  29.4 KB  |  1,615 lines

  1. JUMPS
  2.  
  3. COORD_NUM       EQU  270
  4. EOF             EQU 0FFFFH
  5.  
  6.  
  7. ;----- MAiN PRG ----------------------
  8.  
  9. SHOCKLOGO:
  10.  
  11.  
  12.         MOV     AX,@DATA
  13.         MOV     DS,AX
  14.  
  15.         CALL    iNiT
  16.  
  17.         LEA     AX,FACE
  18.         MOV     FACES,AX
  19.  
  20.         LEA     AX,VERTiCE
  21.         MOV     O_COORDS,AX
  22.  
  23.         CALL    OBJECT
  24.  
  25.         CALL    RESTOREiNTER
  26.  
  27.         RET
  28.  
  29. GOMB:
  30.  
  31.         MOV     AX,@DATA
  32.         MOV     DS,AX
  33.  
  34.         MOV     GOU,0
  35.  
  36.         MOV     ALPHA,128
  37.         MOV     BETA,0
  38.         MOV     GAMMA,128
  39.  
  40.         MOV     X_ADD,0
  41.         MOV     Y_ADD,0
  42.         MOV     Z_ADD,6400
  43.  
  44.  
  45.         CALL    GOMBiNiT
  46.  
  47.         LEA     AX,GOMBFACE
  48.         MOV     FACES,AX
  49.  
  50.         LEA     AX,GOMBVERTiCE
  51.         MOV     O_COORDS,AX
  52.  
  53.         CALL    GOMBOBJECT
  54.         CALL    RESTOREiNTER
  55.  
  56.         RET
  57.  
  58. F14:
  59.         MOV     AX,@DATA
  60.         MOV     DS,AX
  61.  
  62.         MOV     TEX,0
  63.         MOV     GOU,1
  64.  
  65.         MOV     ALPHA,128
  66.         MOV     BETA,80
  67.         MOV     GAMMA,384
  68.  
  69.         MOV     X_ADD,0
  70.         MOV     Y_ADD,150
  71.         MOV     Z_ADD,-400
  72.  
  73.  
  74.         CALL    F14iNiT
  75.  
  76.         LEA     AX,F14FACE
  77.         MOV     FACES,AX
  78.  
  79.         LEA     AX,F14VERTiCE
  80.         MOV     O_COORDS,AX
  81.  
  82.         CALL    F14OBJECT
  83.         CALL    RESTOREiNTER
  84.  
  85.         RET
  86. ;------- MAiN END --------------------
  87.  
  88.  
  89.  
  90. iNiT:
  91.         PUSH    DS
  92.  
  93.  
  94.         MOV     DWORD PTR CS:FR,90909090H
  95.         MOV     DWORD PTR CS:SC,90909090H
  96.  
  97.         MOV     AX,CS:TEXTBUFF
  98.         MOV     DS,AX
  99.         MOV     DX,0
  100.         MOV     AX,4
  101.         CALL    LOADOVERLAY
  102.         POP     DS
  103.  
  104.         MOV     AX,BACKSCRPOiNTER
  105.         PUSH    DS
  106.         MOV     DS,AX
  107.         MOV     DX,0
  108.         MOV     AX,5
  109.         CALL    LOADOVERLAY
  110.  
  111.         CALL    RASTERWAiT
  112.  
  113.  
  114.         MOV     AX,DS
  115.  
  116.         POP     DS
  117.         PUSH    DS
  118.         PUSH    AX
  119.         MOV     Si,OFFSET PAL
  120.         CALL    SETPAL
  121.  
  122.         POP     DS
  123.  
  124.  
  125.  
  126.         MOV     AX,0A000H
  127.         MOV     ES,AX
  128.         MOV     CX,16000
  129.         MOV     Si,0
  130.         MOV     Di,0
  131.         REP     MOVSD
  132.  
  133.         POP     DS
  134.  
  135.         MOV     AX,3
  136.         LEA     DX,SiNTABLE
  137.         CALL    LOADOVERLAY
  138.  
  139.  
  140.         MOV     AX,OFFSET iRQ
  141.         CALL    MODiFYiNTER
  142.  
  143.         RET
  144.  
  145. GOMBiNiT:
  146.         PUSH    DS
  147.  
  148.         MOV     DWORD PTR CS:FR,02E8C166H
  149.         MOV     DWORD PTR CS:SC,02E8C166H
  150.  
  151.         MOV     AX,CS:TEXTBUFF
  152.         MOV     DS,AX
  153.         MOV     DX,0
  154.         MOV     AX,20
  155.         CALL    LOADOVERLAY
  156.         POP     DS
  157.  
  158.  
  159.         MOV     AX,BACKSCRPOiNTER
  160.         PUSH    DS
  161.         MOV     DS,AX
  162.         MOV     DX,0
  163.         MOV     AX,5
  164.         CALL    LOADOVERLAY
  165.  
  166.         POP     DS
  167.  
  168.         CALL    RASTERWAiT
  169.  
  170.  
  171.         MOV     Si,OFFSET PAL2
  172.         CALL    SETPAL
  173.  
  174.  
  175.         MOV     AX,3
  176.         LEA     DX,SiNTABLE
  177.         CALL    LOADOVERLAY
  178.  
  179.  
  180.         MOV     AX,OFFSET iRQ4
  181.         CALL    MODiFYiNTER
  182.  
  183.         RET
  184.  
  185.  
  186. F14iNiT:
  187.  
  188.  
  189.         MOV     AX,BACKSCRPOiNTER
  190.         PUSH    DS
  191.         MOV     DS,AX
  192.         MOV     DX,0
  193.         MOV     AX,5
  194.         CALL    LOADOVERLAY
  195.  
  196.         POP     DS
  197.  
  198.         CALL    RASTERWAiT
  199.  
  200.  
  201.         MOV     Si,OFFSET PAL3
  202.         CALL    SETPAL
  203.  
  204.  
  205.         MOV     AX,3
  206.         LEA     DX,SiNTABLE
  207.         CALL    LOADOVERLAY
  208.  
  209.  
  210.         MOV     AX,OFFSET iRQ6
  211.         CALL    MODiFYiNTER
  212.  
  213.         RET
  214.  
  215.  
  216.  
  217. ROTATECOORDS:
  218.  
  219.         MOV     BX,ALPHA
  220.         LEA     BX,BX+SiNTABLE
  221.         MOV     AX,[BX]
  222.         MOV     SiN1,AX
  223.         MOV     BX,ALPHA
  224.         LEA     BX,BX+SiNTABLE+128
  225.         MOV     AX,[BX]
  226.         MOV     COS1,AX
  227.  
  228.         MOV     BX,BETA
  229.         LEA     BX,BX+SiNTABLE
  230.         MOV     AX,[BX]
  231.         MOV     SiN2,AX
  232.         MOV     BX,BETA
  233.         LEA     BX,BX+SiNTABLE+128
  234.         MOV     AX,[BX]
  235.         MOV     COS2,AX
  236.  
  237.         MOV     BX,GAMMA
  238.         LEA     BX,BX+SiNTABLE
  239.         MOV     AX,[BX]
  240.         MOV     SiN3,AX
  241.         MOV     BX,GAMMA
  242.         LEA     BX,BX+SiNTABLE+128
  243.         MOV     AX,[BX]
  244.         MOV     COS3,AX
  245.  
  246.         MOV     AX,DS
  247.     MOV    ES,AX
  248.         MOV     Si,O_COORDS
  249.         LEA     Di,R_COORD
  250.         LODSW
  251.         MOV     N,AX
  252.         STOSW
  253. ;        ADD     Di,2
  254.         CLD
  255. NEXTVERTEX:
  256.         LODSW
  257.         SHL     AX,1
  258.         MOV     XCOORD,AX
  259.     LODSW
  260.         SHL     AX,1
  261.         MOV     YCOORD,AX
  262.     LODSW
  263.         SHL     AX,1
  264.         MOV     ZCOORD,AX
  265.  
  266.         MOV     AX,XCOORD
  267.     PUSH    AX
  268.     iMUL    COS1
  269.     ADD    AX,AX
  270.     ADC    DX,DX
  271.     MOV    BX,DX
  272.         MOV     AX,YCOORD
  273.     iMUL    SiN1
  274.     ADD    AX,AX
  275.     ADC    DX,DX
  276.     SUB    BX,DX
  277.         MOV     XCOORD,BX
  278.     POP    AX
  279.     iMUL    SiN1
  280.     ADD    AX,AX
  281.     ADC    DX,DX
  282.     MOV    BX,DX
  283.         MOV     AX,YCOORD
  284.     iMUL    COS1
  285.     ADD    AX,AX
  286.     ADC    DX,DX
  287.     ADD    BX,DX
  288.         MOV     YCOORD,BX
  289.  
  290.         MOV     AX,YCOORD
  291.     PUSH    AX
  292.     iMUL    COS2
  293.     ADD    AX,AX
  294.     ADC    DX,DX
  295.     MOV    BX,DX
  296.         MOV     AX,ZCOORD
  297.     iMUL    SiN2
  298.     ADD    AX,AX
  299.     ADC    DX,DX
  300.     SUB    BX,DX
  301.         MOV     YCOORD,BX
  302.     POP    AX
  303.     iMUL    SiN2
  304.     ADD    AX,AX
  305.     ADC    DX,DX
  306.     MOV    BX,DX
  307.         MOV     AX,ZCOORD
  308.     iMUL    COS2
  309.     ADD    AX,AX
  310.     ADC    DX,DX
  311.     ADD    BX,DX
  312.         MOV     ZCOORD,BX
  313.  
  314.         MOV     AX,XCOORD
  315.     PUSH    AX
  316.     iMUL    COS3
  317.     ADD    AX,AX
  318.     ADC    DX,DX
  319.     MOV    BX,DX
  320.         MOV     AX,ZCOORD
  321.     iMUL    SiN3
  322.     ADD    AX,AX
  323.     ADC    DX,DX
  324.         SUB     BX,DX
  325.         MOV     XCOORD,BX
  326.     POP    AX
  327.     iMUL    SiN3
  328.     ADD    AX,AX
  329.     ADC    DX,DX
  330.     MOV    BX,DX
  331.         MOV     AX,ZCOORD
  332.     iMUL    COS3
  333.     ADD    AX,AX
  334.     ADC    DX,DX
  335.     ADD    BX,DX
  336.         MOV     ZCOORD,BX
  337.  
  338.         MOV     AX,XCOORD
  339.         STOSW
  340.         MOV     AX,YCOORD
  341.         STOSW
  342.         MOV     AX,ZCOORD
  343.         STOSW
  344.  
  345.         DEC     N
  346.         JNZ     NEXTVERTEX
  347.  
  348.         RET
  349.  
  350.  
  351. PERSPCONV:
  352.         MOV     AX,DS
  353.         MOV     ES,AX
  354.  
  355.         LEA     Si,R_COORD
  356.         LEA     Di,C_COORD
  357.  
  358.         LODSW
  359.         STOSW
  360.  
  361.         MOV     N,AX
  362. NEXTONE:
  363.         ADD     Si,4
  364.         LODSW
  365.  
  366.         MOV     BX,AX
  367.         ADD     BX,Z_ADD
  368.         ADD     BX,800
  369.         AND     BX,BX
  370.         JNZ     @ZERO1
  371.         MOV     BL,1
  372. @ZERO1:
  373.  
  374.         SUB     Si,6
  375.         LODSW
  376.         ADD     AX,Y_ADD
  377.         CWD
  378.         MOV     DL,AH
  379.         MOV     AH,AL
  380.         XOR     AL,AL
  381.         CMP     BX,0
  382.         JE      NEMKELL
  383.         iDiV    BX
  384. NEMKELL:
  385.         ADD     AX,100
  386.         STOSW
  387.  
  388.         LODSW
  389.         ADD     AX,X_ADD
  390.  
  391.         CWD
  392.         MOV     DL,AH
  393.         MOV     AH,AL
  394.         XOR     AL,AL
  395.         iDiV    BX
  396.         ADD     AX,160
  397.         STOSW
  398.  
  399.         ADD     Si,2
  400.         DEC     N
  401.         JNZ     NEXTONE
  402.  
  403.  
  404.         RET
  405.  
  406.  
  407.  
  408. ViSiBLE:
  409.         LODSW
  410.         MOV     DX,AX
  411.         LODSW
  412.         MOV     CX,AX
  413.         LODSW
  414.         SUB     Si,6
  415.  
  416.         MOV     EBX,0
  417.  
  418.         MOV     BX,DX
  419.         LEA     EBX,EBX*4+C_COORD+2
  420.         MOV     Di,BX
  421.  
  422.         MOV     BX,CX
  423.         LEA     EBX,EBX*4+C_COORD+2
  424.         MOV     BP,BX
  425.  
  426.         MOV     BX,AX
  427.         LEA     EBX,EBX*4+C_COORD+2
  428.  
  429.         MOV     AX,[Di]
  430.         SUB     AX,DS:[BP]
  431.         MOV     CX,AX
  432.  
  433.         MOV     AX,[BX+2]
  434.         SUB     AX,DS:[BP+2]
  435.  
  436.         iMUL    CX
  437.  
  438.         MOV     ECX,0
  439.         MOV     CX,DX
  440.         SHL     ECX,16
  441.         MOV     CX,AX
  442.  
  443.         MOV     AX,[Di+2]
  444.         SUB     AX,DS:[BP+2]
  445.         MOV     DX,AX
  446.  
  447.         MOV     AX,[BX]
  448.         SUB     AX,DS:[BP]
  449.  
  450.         iMUL    DX
  451.  
  452.         MOV     EBX,0
  453.         MOV     BX,DX
  454.         SHL     EBX,16
  455.         MOV     BX,AX
  456.  
  457.         CMP     EBX,ECX
  458.         JLE      OK
  459.         CLC
  460.         RET
  461. OK:
  462.         STC
  463.         RET
  464.  
  465.  
  466. SETADDRESS:
  467.         MOV     DX,3D4H
  468.         MOV     CH,AL
  469.         MOV     AL,0CH
  470.         MOV     CL,0DH
  471.         OUT     DX,AX
  472.         MOV     AX,CX
  473.         OUT     DX,AX
  474.         RET
  475.  
  476.  
  477.  
  478. OBJECT:
  479.         MOV     Z_ADD,6800
  480. NOTOVERFLOW2:
  481.  
  482.        CALL    ROTATECOORDS
  483.        CALL    PERSPCONV
  484.         CALL    DELETEPUFFER
  485.        CALL    MAKENOTSORTEDORDER
  486.        CMP      ViSFACES,0
  487.        JE       NiNCSMiT
  488.        MOV      AX,@DATA
  489.        MOV      DS,AX
  490.        PUSH     OFFSET ORDER
  491.        MOV      AX,ViSFACES
  492.        DEC      AX
  493.        SHL      AX,2
  494.        ADD      AX,OFFSET ORDER
  495.        PUSH     AX
  496.        CALL     SORTQUiCK
  497. ;      CALL    DRAW2
  498.        CALL    DRAW
  499.  
  500. NiNCSMiT:
  501. ;       CALL     BE
  502.        CALL    RASTERWAiT
  503. ;       CALL     Ki
  504.  
  505.         CALL    COPYTOSCREEN
  506.  
  507.        MOV      AX,0100H
  508.        iNT      16H
  509.        JNZ      KiLEP
  510.        CMP      Z_ADD,0FD80H
  511.        JGE     NOTOVERFLOW2
  512.  
  513.         CALL    RESTOREiNTER
  514.  
  515.        MOV      Z_ADD,0FD80H
  516.         MOV     GAMMA,128
  517.  
  518.         MOV     AX,OFFSET iRQ2
  519.         CALL    MODiFYiNTER
  520.  
  521. NOTOVERFLOW21:
  522.  
  523.  
  524.        CALL    ROTATECOORDS
  525.        CALL    PERSPCONV
  526.        CALL    DELETEPUFFER       ; = HATTERKiRAKAS
  527.        CALL    MAKENOTSORTEDORDER
  528.        CMP      ViSFACES,0
  529.        JE       NiNCSMiT2
  530.        MOV      AX,@DATA
  531.        MOV      DS,AX
  532.        PUSH     OFFSET ORDER
  533.        MOV      AX,ViSFACES
  534.        DEC      AX
  535.        SHL      AX,2
  536.        ADD      AX,OFFSET ORDER
  537.        PUSH     AX
  538.        CALL     SORTQUiCK
  539.        CALL    DRAW
  540.  
  541. NiNCSMiT2:
  542. ;       CALL     BE
  543.        CALL    RASTERWAiT
  544. ;       CALL     Ki
  545.  
  546.         CALL    COPYTOSCREEN
  547.  
  548.        MOV      AX,0100H
  549.        iNT      16H
  550.        JNZ      KiLEP
  551.        CMP      Z_ADD,0H
  552.        JL      NOTOVERFLOW21
  553.  
  554.        CALL    RESTOREiNTER
  555. NEXTWAiT:
  556.         MOV     AX,0100H
  557.         iNT     16H
  558.         JNZ     KiLEP
  559.         CMP     CS:ORDERPOiNTER,3
  560.         JB     NEXTWAiT
  561.        MOV      AX,OFFSET iRQ3
  562.        CALL     MODiFYiNTER
  563.         MOV     Z_ADD,0H
  564.  
  565. NOTOVERFLOW22:
  566.  
  567.  
  568.        CALL    ROTATECOORDS
  569.        CALL    PERSPCONV
  570.        CALL    DELETEPUFFER
  571.        CALL    MAKENOTSORTEDORDER
  572.        CMP      ViSFACES,0
  573.        JE       NiNCSMiT22
  574.        MOV      AX,@DATA
  575.        MOV      DS,AX
  576.        PUSH     OFFSET ORDER
  577.        MOV      AX,ViSFACES
  578.        DEC      AX
  579.        SHL      AX,2
  580.        ADD      AX,OFFSET ORDER
  581.        PUSH     AX
  582.        CALL     SORTQUiCK
  583.        CALL    DRAW
  584.  
  585. NiNCSMiT22:
  586. ;       CALL     BE
  587.        CALL    RASTERWAiT
  588. ;       CALL     Ki
  589.  
  590.         CALL    COPYTOSCREEN
  591.  
  592.        MOV      AX,0100H
  593.        iNT      16H
  594.        JNZ      KiLEP
  595.        CMP      X_ADD,-700
  596.        JG      NOTOVERFLOW22
  597.  
  598.  
  599.  
  600.  
  601. KiLEP:
  602.         RET
  603. COPYTOSCREEN:
  604.        PUSH     DS
  605.        MOV      DS,SCRPOiNTER
  606.        MOV      AX,0A000H
  607.        MOV      ES,AX
  608.        MOV      Di,0
  609.        MOV      Si,0
  610.        MOV      CX,64000/4
  611.        REP      MOVSD
  612.        POP      DS
  613.        RET
  614.  
  615. DELETEPUFFER:
  616.         PUSH    DS
  617.  
  618.  
  619.         MOV     ES,SCRPOiNTER
  620.         MOV     AX,BACKSCRPOiNTER
  621.         MOV     DS,AX
  622.  
  623.  
  624.         MOV     Di,0
  625.         MOV     Si,0
  626.         MOV     CX,64000/4
  627.         MOV     EAX,0
  628.         REP     MOVSD
  629.         POP     DS
  630.         RET
  631.  
  632. MAKENOTSORTEDORDER:
  633.         MOV     AX,@DATA
  634.         MOV     ES,AX
  635.         MOV     DS,AX
  636.         LEA     Di,ORDER
  637.         MOV     Si,FACES
  638.  
  639.         MOV     ViSFACES,0
  640.  
  641.         LODSW
  642.         MOV     N,AX
  643.  
  644. NEXT_FACE:
  645.         PUSH    Di
  646.         CALL    ViSiBLE
  647.         POP     Di
  648. LATHATO:
  649.         JC      ViSi
  650. NEXTNOTViSCOORD:
  651.         LODSW
  652.         CMP     AX,EOF
  653.         JNE     NEXTNOTViSCOORD
  654.         JMP     NOTViS
  655. ViSi:
  656.         iNC     ViSFACES
  657.         MOV     AX,Si
  658.         STOSW
  659.         MOV     EBP,0
  660.         MOV     DX,0
  661. NEXTCOORD:
  662.         LODSW
  663.         CMP     AX,EOF
  664.         JE      VEGE
  665.  
  666.         MOV     BX,AX                           ; MULTiPLiED BY 6
  667.         SHL     BX,1
  668.         ADD     BX,AX
  669.         ADD     BX,BX
  670.  
  671.         MOVSX   EAX,R_COORD[BX+6]
  672.         ADD     EBP,EAX                         ; ADD THE Z COORD TO THE RESULT
  673.         iNC     DX                              ; iNCREASE THE COUNTER OF THE
  674.                                                 ; COORDiNATE NUMBER
  675.         JMP     NEXTCOORD
  676.  
  677. VEGE:
  678.         MOVZX   EBX,DX                          ; GET THE DiViDER FROM THE
  679.                                                 ; COUNTER
  680.         MOV     EAX,EBP
  681.         CDQ
  682.         iDiV    EBX                             ; GET THE AVERAGE Z COORD
  683.         STOSW
  684. NOTViS:
  685.         DEC     N
  686.         JNZ     NEXT_FACE
  687.         MOV     AX,EOF
  688.         STOSW
  689.         RET
  690.  
  691. SORTQUiCK:
  692.         MOV     BP,SP
  693.         MOV     Si,SS:[BP+4]
  694.         MOV     Di,SS:[BP+2]
  695.         MOV     ELEJE,Si
  696.         MOV     VEGED,Di
  697.         MOV     BP,Di
  698.         SUB     BP,Si
  699.         SHR     BP,3
  700.         SHL     BP,2
  701.         ADD     BP,Si
  702.  
  703.         MOV     CX,DS:[BP+2]
  704. CiKLUS1:
  705.  
  706. CiKLUS2:
  707.         CMP     [Si+2],CX
  708.         JLE     CiKLUS2VEG
  709.         ADD     Si,4
  710.         JMP     CiKLUS2
  711. CiKLUS2VEG:
  712.  
  713. CiKLUS3:
  714.         CMP     [Di+2],CX
  715.         JGE     CiKLUS3VEG
  716.         SUB     Di,4
  717.         JMP     CiKLUS3
  718. CiKLUS3VEG:
  719.  
  720.         CMP     Si,Di
  721.         JA      NiNCSCSERE
  722.         MOV     AX,[Si]
  723.         XCHG    AX,[Di]
  724.         XCHG    [Si],AX
  725.         MOV     AX,[Si+2]
  726.         XCHG    AX,[Di+2]
  727.         XCHG    [Si+2],AX
  728.         ADD     Si,4
  729.         SUB     Di,4
  730. NiNCSCSERE:
  731.  
  732.         CMP     Si,Di
  733.         JBE     CiKLUS1
  734.  
  735.         CMP     ELEJE,Di
  736.         JNB     SEMMi1
  737.         PUSH    Si
  738.         PUSH    VEGED
  739.         PUSH    ELEJE
  740.         PUSH    Di
  741.         CALL    SORTQUiCK
  742.         POP     VEGED
  743.         POP     Si
  744. SEMMi1:
  745.  
  746.         CMP     Si,VEGED
  747.         JNB     SEMMi2
  748.         PUSH    Si
  749.         PUSH    VEGED
  750.         CALL    SORTQUiCK
  751. SEMMi2:
  752.  
  753.         RET     4
  754.  
  755. SETPAL:
  756.         MOV     Si,OFFSET PAL
  757.         MOV     DX,3C8H
  758.         MOV     CX,0
  759. NEXTCOLOR2:
  760.         MOV     AL,CL
  761.         OUT     DX,AL
  762.         iNC     DX
  763.         LODSB
  764.         OUT     DX,AL
  765.         LODSB
  766.         OUT     DX,AL
  767.         LODSB
  768.         OUT     DX,AL
  769.         iNC     CX
  770.         DEC     DX
  771.         CMP     CX,256
  772.         JB      NEXTCOLOR2
  773.         RET
  774.  
  775. GOMBOBJECT:
  776.  
  777.        CALL    ROTATECOORDS
  778.        CALL    PERSPCONV
  779.        CALL    MAKENOTSORTEDORDER
  780.        CMP      ViSFACES,0
  781.        JE       NiNCSMiT12S
  782.        MOV      AX,@DATA
  783.        MOV      DS,AX
  784.        PUSH     OFFSET ORDER
  785.        MOV      AX,ViSFACES
  786.        DEC      AX
  787.        SHL      AX,2
  788.        ADD      AX,OFFSET ORDER
  789.        PUSH     AX
  790.        CALL     SORTQUiCK
  791. ;      CALL    DRAW2
  792.        CALL     DELETEPUFFER
  793.        CALL    DRAW
  794.  
  795. NiNCSMiT12S:
  796.        CALL    RASTERWAiT
  797.  
  798.         CALL    COPYTOSCREEN
  799.  
  800.         CMP     Z_ADD,0
  801.         JG      GOMBOBJECT
  802.  
  803.         CALL    RESTOREiNTER
  804.         MOV     Z_ADD,0
  805.         MOV     BYTE PTR CS:LATHATO,73H
  806.         MOV     AX,OFFSET iRQ5
  807.         CALL    MODiFYiNTER
  808.  
  809. GOMBOB2:
  810.                CALL    ROTATECOORDS
  811.                CALL    PERSPCONV
  812.                CALL    MAKENOTSORTEDORDER
  813.                CMP      ViSFACES,0
  814.                JE       NiNCSMiT12S1
  815.                MOV      AX,@DATA
  816.                MOV      DS,AX
  817.                PUSH     OFFSET ORDER
  818.                MOV      AX,ViSFACES
  819.                DEC      AX
  820.                SHL      AX,2
  821.                ADD      AX,OFFSET ORDER
  822.                PUSH     AX
  823.                CALL     SORTQUiCK
  824.         ;      CALL    DRAW2
  825.                CALL     DELETEPUFFER
  826.                CALL    DRAW
  827.  
  828.         NiNCSMiT12S1:
  829.                CALL    RASTERWAiT
  830.  
  831.                 CALL    COPYTOSCREEN
  832.  
  833.         CMP     CS:ORDERPOiNTER,14
  834.         JB      GOMBOB2
  835.  
  836.         MOV     BYTE PTR CS:LATHATO,72H
  837.         RET
  838.  
  839. F14OBJECT:
  840.        CALL    ROTATECOORDS
  841.        CALL    PERSPCONV
  842.        CALL    MAKENOTSORTEDORDER
  843.        CMP      ViSFACES,0
  844.        JE       NiNCSMiT12SQ
  845.        MOV      AX,@DATA
  846.        MOV      DS,AX
  847.        PUSH     OFFSET ORDER
  848.        MOV      AX,ViSFACES
  849.        DEC      AX
  850.        SHL      AX,2
  851.        ADD      AX,OFFSET ORDER
  852.        PUSH     AX
  853.        CALL     SORTQUiCK
  854. ;      CALL    DRAW2
  855.        CALL     DELETEPUFFER
  856.        CALL    DRAW2
  857.  
  858. NiNCSMiT12SQ:
  859.        CALL    RASTERWAiT
  860.  
  861.         CALL    COPYTOSCREEN
  862.  
  863.         CMP     Z_ADD,0
  864.         JL      F14OBJECT
  865.  
  866.         CALL    RESTOREiNTER
  867.         MOV     Z_ADD,0
  868.  
  869.         MOV     AX,OFFSET iRQ7
  870.         CALL    MODiFYiNTER
  871.  
  872. F14OBJECT2:
  873.        CALL    ROTATECOORDS
  874.        CALL    PERSPCONV
  875.        CALL    MAKENOTSORTEDORDER
  876.        CMP      ViSFACES,0
  877.        JE       NiNCSMiT12SQRT
  878.        MOV      AX,@DATA
  879.        MOV      DS,AX
  880.        PUSH     OFFSET ORDER
  881.        MOV      AX,ViSFACES
  882.        DEC      AX
  883.        SHL      AX,2
  884.        ADD      AX,OFFSET ORDER
  885.        PUSH     AX
  886.        CALL     SORTQUiCK
  887. ;      CALL    DRAW2
  888.        CALL     DELETEPUFFER
  889.        CALL    DRAW2
  890.  
  891. NiNCSMiT12SQRT:
  892.        CALL    RASTERWAiT
  893.  
  894.         CALL    COPYTOSCREEN
  895.  
  896.         CMP     GAMMA,450
  897.         JL      F14OBJECT2
  898.  
  899.         CALL    RESTOREiNTER
  900.         MOV     GAMMA,450
  901.  
  902.         MOV     AX,OFFSET iRQ8
  903.         CALL    MODiFYiNTER
  904. F14OBJECT3:
  905.        CALL    ROTATECOORDS
  906.        CALL    PERSPCONV
  907.        CALL    MAKENOTSORTEDORDER
  908.        CMP      ViSFACES,0
  909.        JE       NiNCSMiT12SQRTQ
  910.        MOV      AX,@DATA
  911.        MOV      DS,AX
  912.        PUSH     OFFSET ORDER
  913.        MOV      AX,ViSFACES
  914.        DEC      AX
  915.        SHL      AX,2
  916.        ADD      AX,OFFSET ORDER
  917.        PUSH     AX
  918.        CALL     SORTQUiCK
  919. ;      CALL    DRAW2
  920.        CALL     DELETEPUFFER
  921.        CALL    DRAW2
  922.  
  923. NiNCSMiT12SQRTQ:
  924.        CALL    RASTERWAiT
  925.  
  926.         CALL    COPYTOSCREEN
  927.  
  928.         CMP     GAMMA,384
  929.         JG      F14OBJECT3
  930.  
  931.  
  932.  
  933.         CALL    RESTOREiNTER
  934.         MOV     GAMMA,384
  935.  
  936.         MOV     AX,OFFSET iRQ9
  937.         CALL    MODiFYiNTER
  938. F14OBJECT4:
  939.        CALL    ROTATECOORDS
  940.        CALL    PERSPCONV
  941.        CALL    MAKENOTSORTEDORDER
  942.        CMP      ViSFACES,0
  943.        JE       NiNCSMiT12SQRTQ4
  944.        MOV      AX,@DATA
  945.        MOV      DS,AX
  946.        PUSH     OFFSET ORDER
  947.        MOV      AX,ViSFACES
  948.        DEC      AX
  949.        SHL      AX,2
  950.        ADD      AX,OFFSET ORDER
  951.        PUSH     AX
  952.        CALL     SORTQUiCK
  953. ;      CALL    DRAW2
  954.        CALL     DELETEPUFFER
  955.        CALL    DRAW2
  956.  
  957. NiNCSMiT12SQRTQ4:
  958.        CALL    RASTERWAiT
  959.  
  960.         CALL    COPYTOSCREEN
  961.  
  962.         CMP     X_ADD,-80
  963.         JG      F14OBJECT4
  964.  
  965.         CALL    RESTOREiNTER
  966.         MOV     X_ADD,-80
  967.  
  968.         MOV     AX,OFFSET iRQ10
  969.         CALL    MODiFYiNTER
  970. F14OBJECT5:
  971.        CALL    ROTATECOORDS
  972.        CALL    PERSPCONV
  973.        CALL    MAKENOTSORTEDORDER
  974.        CMP      ViSFACES,0
  975.        JE       NiNCSMiT12SQRTQ5
  976.        MOV      AX,@DATA
  977.        MOV      DS,AX
  978.        PUSH     OFFSET ORDER
  979.        MOV      AX,ViSFACES
  980.        DEC      AX
  981.        SHL      AX,2
  982.        ADD      AX,OFFSET ORDER
  983.        PUSH     AX
  984.        CALL     SORTQUiCK
  985. ;      CALL    DRAW2
  986.        CALL     DELETEPUFFER
  987.        CALL    DRAW2
  988.  
  989. NiNCSMiT12SQRTQ5:
  990.        CALL    RASTERWAiT
  991.  
  992.         CALL    COPYTOSCREEN
  993.  
  994.         CMP     BETA,300
  995.         JL      F14OBJECT5
  996.  
  997.  
  998.         CALL    RESTOREiNTER
  999.         MOV     BETA,300
  1000.  
  1001.         MOV     AX,OFFSET iRQ11
  1002.         CALL    MODiFYiNTER
  1003. F14OBJECT6:
  1004.        CALL    ROTATECOORDS
  1005.        CALL    PERSPCONV
  1006.        CALL    MAKENOTSORTEDORDER
  1007.        CMP      ViSFACES,0
  1008.        JE       NiNCSMiT12SQRTQ6
  1009.        MOV      AX,@DATA
  1010.        MOV      DS,AX
  1011.        PUSH     OFFSET ORDER
  1012.        MOV      AX,ViSFACES
  1013.        DEC      AX
  1014.        SHL      AX,2
  1015.        ADD      AX,OFFSET ORDER
  1016.        PUSH     AX
  1017.        CALL     SORTQUiCK
  1018. ;      CALL    DRAW2
  1019.        CALL     DELETEPUFFER
  1020.        CALL    DRAW2
  1021.  
  1022. NiNCSMiT12SQRTQ6:
  1023.        CALL    RASTERWAiT
  1024.  
  1025.         CALL    COPYTOSCREEN
  1026.  
  1027.         CMP     BETA,150
  1028.         JG      F14OBJECT6
  1029.  
  1030.  
  1031.         CALL    RESTOREiNTER
  1032.         MOV     BETA,150
  1033.  
  1034.  
  1035.  
  1036.         MOV     AX,OFFSET iRQ12
  1037.         CALL    MODiFYiNTER
  1038. F14OBJECT7:
  1039.        CALL    ROTATECOORDS
  1040.        CALL    PERSPCONV
  1041.        CALL    MAKENOTSORTEDORDER
  1042.        CMP      ViSFACES,0
  1043.        JE       NiNCSMiT12SQRTQ7
  1044.        MOV      AX,@DATA
  1045.        MOV      DS,AX
  1046.        PUSH     OFFSET ORDER
  1047.        MOV      AX,ViSFACES
  1048.        DEC      AX
  1049.        SHL      AX,2
  1050.        ADD      AX,OFFSET ORDER
  1051.        PUSH     AX
  1052.        CALL     SORTQUiCK
  1053. ;      CALL    DRAW2
  1054.        CALL     DELETEPUFFER
  1055.        CALL    DRAW2
  1056.  
  1057. NiNCSMiT12SQRTQ7:
  1058.        CALL    RASTERWAiT
  1059.  
  1060.         CALL    COPYTOSCREEN
  1061.  
  1062.         CMP     CS:ORDERPOiNTER,17
  1063.         JL      F14OBJECT7
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.         RET
  1078. iRQ:
  1079.         PUSH    DS
  1080.         PUSH    AX
  1081.         MOV     AX,@DATA
  1082.         MOV     DS,AX
  1083.  
  1084.         SUB     Z_ADD,40
  1085.  
  1086. ;        iNC ALPHA
  1087. ;        iNC BETA
  1088. ;        iNC GAMMA
  1089. ;        iNC ALPHA
  1090. ;        iNC BETA
  1091.          ADD    GAMMA,12
  1092. ;        iNC GAMMA
  1093. ;        iNC ALPHA
  1094. ;        iNC BETA
  1095. ;        iNC GAMMA
  1096. ;        iNC ALPHA
  1097. ;        iNC BETA
  1098. ;        iNC GAMMA
  1099.  
  1100.         CMP     ALPHA,512
  1101.         JB      OK1
  1102.         MOV     ALPHA,0
  1103. OK1:
  1104.         CMP     BETA,512
  1105.         JB      OK2
  1106.         MOV     BETA,0
  1107. OK2:
  1108.         CMP     GAMMA,512
  1109.         JB      OK3
  1110.         MOV     GAMMA,0
  1111. OK3:
  1112.  
  1113.         POP     AX
  1114.         POP     DS
  1115. JUMP:   DB      0EAH
  1116. iNTSTORE DW     0,0
  1117. ;RET
  1118.  
  1119. iRQ2:
  1120.         PUSH    AX
  1121.         PUSH    DS
  1122.         MOV     AX,@DATA
  1123.  
  1124.         ADD     Z_ADD,10
  1125.  
  1126.         POP     DS
  1127.         POP     AX
  1128.         JMP     JUMP
  1129.  
  1130. iRQ3:
  1131.         PUSH    AX
  1132.         PUSH    DS
  1133.         MOV     AX,@DATA
  1134.         MOV     DS,AX
  1135.  
  1136.         XOR     SECOND,1
  1137.         CMP     SECOND,1
  1138.         JE      OK31
  1139.  
  1140.         SUB     X_ADD,7
  1141.         SUB     ALPHA,2
  1142. ;        iNC ALPHA
  1143. ;        iNC BETA
  1144. ;        iNC GAMMA
  1145. ;        iNC ALPHA
  1146. ;        iNC BETA
  1147. ;        iNC GAMMA
  1148. ;        iNC ALPHA
  1149. ;        iNC BETA
  1150. ;        iNC GAMMA
  1151. ;        iNC ALPHA
  1152. ;        iNC BETA
  1153. ;        iNC GAMMA
  1154.  
  1155.         CMP     ALPHA,0
  1156.         JG      OK11
  1157.         ADD     ALPHA,512
  1158. OK11:
  1159.         CMP     BETA,512
  1160.         JB      OK21
  1161.         MOV     BETA,0
  1162. OK21:
  1163.         CMP     GAMMA,512
  1164.         JB      OK31
  1165.         MOV     GAMMA,0
  1166. OK31:
  1167.         POP     DS
  1168.         POP     AX
  1169.         JMP     JUMP
  1170.  
  1171. iRQ4:
  1172.         PUSH    AX
  1173.         PUSH    DS
  1174.         MOV     AX,@DATA
  1175.         MOV     DS,AX
  1176.  
  1177.         SUB     Z_ADD,24
  1178.  
  1179.         iNC ALPHA
  1180.         iNC BETA
  1181.         iNC GAMMA
  1182.         iNC ALPHA
  1183.         iNC BETA
  1184.         iNC GAMMA
  1185. ;        iNC ALPHA
  1186. ;        iNC BETA
  1187. ;        iNC GAMMA
  1188. ;        iNC ALPHA
  1189. ;        iNC BETA
  1190. ;        iNC GAMMA
  1191.  
  1192.         CMP     ALPHA,512
  1193.         JG      OK111
  1194.         MOV     ALPHA,0
  1195. OK111:
  1196.         CMP     BETA,512
  1197.         JB      OK211
  1198.         MOV     BETA,0
  1199. OK211:
  1200.         CMP     GAMMA,512
  1201.         JB      OK311
  1202.         MOV     GAMMA,0
  1203. OK311:
  1204.         POP     DS
  1205.         POP     AX
  1206.         JMP     JUMP
  1207.  
  1208. iRQ5:
  1209.         PUSH    AX
  1210.         PUSH    DS
  1211.         MOV     AX,@DATA
  1212.         MOV     DS,AX
  1213.  
  1214.  
  1215.         iNC ALPHA
  1216.         iNC BETA
  1217.         iNC GAMMA
  1218.         iNC ALPHA
  1219.         iNC BETA
  1220.         iNC GAMMA
  1221. ;        iNC ALPHA
  1222. ;        iNC BETA
  1223. ;        iNC GAMMA
  1224. ;        iNC ALPHA
  1225. ;        iNC BETA
  1226. ;        iNC GAMMA
  1227.  
  1228.         CMP     ALPHA,512
  1229.         JG      OK1116
  1230.         MOV     ALPHA,0
  1231. OK1116:
  1232.         CMP     BETA,512
  1233.         JB      OK2116
  1234.         MOV     BETA,0
  1235. OK2116:
  1236.         CMP     GAMMA,512
  1237.         JB      OK3116
  1238.         MOV     GAMMA,0
  1239. OK3116:
  1240.         POP     DS
  1241.         POP     AX
  1242.         JMP     JUMP
  1243.  
  1244. iRQ6:
  1245.         PUSH    AX
  1246.         PUSH    DS
  1247.         MOV     AX,@DATA
  1248.         MOV     DS,AX
  1249.  
  1250.  
  1251.         ADD     Z_ADD,4
  1252.         SUB     Y_ADD,1
  1253.         ADD     X_ADD,1
  1254.         ADD     BETA,2
  1255.  
  1256. ;        iNC ALPHA
  1257. ;        iNC BETA
  1258. ;        iNC GAMMA
  1259. ;        iNC ALPHA
  1260. ;        iNC BETA
  1261. ;        iNC GAMMA
  1262. ;        iNC ALPHA
  1263. ;        iNC BETA
  1264. ;        iNC GAMMA
  1265. ;        iNC ALPHA
  1266. ;        iNC BETA
  1267. ;        iNC GAMMA
  1268.  
  1269.         CMP     ALPHA,512
  1270.         JG      OK1116Q
  1271.         MOV     ALPHA,0
  1272. OK1116Q:
  1273.         CMP     BETA,512
  1274.         JB      OK2116Q
  1275.         MOV     BETA,0
  1276. OK2116Q:
  1277.         CMP     GAMMA,512
  1278.         JB      OK3116Q
  1279.         MOV     GAMMA,0
  1280. OK3116Q:
  1281.         POP     DS
  1282.         POP     AX
  1283.  
  1284.         JMP     JUMP
  1285.  
  1286. iRQ7:
  1287.         PUSH    AX
  1288.         PUSH    DS
  1289.         MOV     AX,@DATA
  1290.         MOV     DS,AX
  1291.  
  1292.  
  1293.         ADD     GAMMA,2
  1294.         ADD     Z_ADD,1
  1295.  
  1296. ;        iNC ALPHA
  1297. ;        iNC BETA
  1298. ;        iNC GAMMA
  1299. ;        iNC ALPHA
  1300. ;        iNC BETA
  1301. ;        iNC GAMMA
  1302. ;        iNC ALPHA
  1303. ;        iNC BETA
  1304. ;        iNC GAMMA
  1305. ;        iNC ALPHA
  1306. ;        iNC BETA
  1307. ;        iNC GAMMA
  1308.  
  1309.         CMP     ALPHA,512
  1310.         JG      OK1116QR
  1311.         MOV     ALPHA,0
  1312. OK1116QR:
  1313.         CMP     BETA,512
  1314.         JB      OK2116QR
  1315.         MOV     BETA,0
  1316. OK2116QR:
  1317.         CMP     GAMMA,512
  1318.         JB      OK3116QR
  1319.         MOV     GAMMA,0
  1320. OK3116QR:
  1321.         POP     DS
  1322.         POP     AX
  1323.  
  1324.         JMP     JUMP
  1325.  
  1326. iRQ8:
  1327.         PUSH    AX
  1328.         PUSH    DS
  1329.         MOV     AX,@DATA
  1330.         MOV     DS,AX
  1331.  
  1332.  
  1333.         SUB     GAMMA,2
  1334.         SUB     Z_ADD,1
  1335.         SUB     X_ADD,1
  1336.         SUB     BETA,2
  1337.  
  1338. ;        iNC ALPHA
  1339. ;        iNC BETA
  1340. ;        iNC GAMMA
  1341. ;        iNC ALPHA
  1342. ;        iNC BETA
  1343. ;        iNC GAMMA
  1344. ;        iNC ALPHA
  1345. ;        iNC BETA
  1346. ;        iNC GAMMA
  1347. ;        iNC ALPHA
  1348. ;        iNC BETA
  1349. ;        iNC GAMMA
  1350.  
  1351.         CMP     ALPHA,512
  1352.         JG      OK1116QRQ
  1353.         MOV     ALPHA,0
  1354. OK1116QRQ:
  1355.         CMP     BETA,512
  1356.         JB      OK2116QRQ
  1357.         MOV     BETA,0
  1358. OK2116QRQ:
  1359.         CMP     GAMMA,512
  1360.         JB      OK3116QRQ
  1361.         MOV     GAMMA,0
  1362. OK3116QRQ:
  1363.         POP     DS
  1364.         POP     AX
  1365.  
  1366.         JMP     JUMP
  1367.  
  1368.  
  1369. iRQ9:
  1370.         PUSH    AX
  1371.         PUSH    DS
  1372.         MOV     AX,@DATA
  1373.         MOV     DS,AX
  1374.  
  1375.  
  1376.         SUB     Z_ADD,1
  1377.         SUB     X_ADD,2
  1378.  
  1379. ;        iNC ALPHA
  1380. ;        iNC BETA
  1381. ;        iNC GAMMA
  1382. ;        iNC ALPHA
  1383. ;        iNC BETA
  1384. ;        iNC GAMMA
  1385. ;        iNC ALPHA
  1386. ;        iNC BETA
  1387. ;        iNC GAMMA
  1388. ;        iNC ALPHA
  1389. ;        iNC BETA
  1390. ;        iNC GAMMA
  1391.  
  1392.         CMP     ALPHA,512
  1393.         JG      OK1116QRQ1
  1394.         MOV     ALPHA,0
  1395. OK1116QRQ1:
  1396.         CMP     BETA,512
  1397.         JB      OK2116QRQ1
  1398.         MOV     BETA,0
  1399. OK2116QRQ1:
  1400.         CMP     GAMMA,512
  1401.         JB      OK3116QRQ1
  1402.         MOV     GAMMA,0
  1403. OK3116QRQ1:
  1404.         POP     DS
  1405.         POP     AX
  1406.  
  1407.         JMP     JUMP
  1408.  
  1409. iRQ10:
  1410.         PUSH    AX
  1411.         PUSH    DS
  1412.         MOV     AX,@DATA
  1413.         MOV     DS,AX
  1414.  
  1415.  
  1416.         ADD     BETA,2
  1417.  
  1418. ;        iNC ALPHA
  1419. ;        iNC BETA
  1420. ;        iNC GAMMA
  1421. ;        iNC ALPHA
  1422. ;        iNC BETA
  1423. ;        iNC GAMMA
  1424. ;        iNC ALPHA
  1425. ;        iNC BETA
  1426. ;        iNC GAMMA
  1427. ;        iNC ALPHA
  1428. ;        iNC BETA
  1429. ;        iNC GAMMA
  1430.  
  1431.         CMP     ALPHA,512
  1432.         JG      OK1116QRQ12
  1433.         MOV     ALPHA,0
  1434. OK1116QRQ12:
  1435.         CMP     BETA,512
  1436.         JB      OK2116QRQ12
  1437.         MOV     BETA,0
  1438. OK2116QRQ12:
  1439.         CMP     GAMMA,512
  1440.         JB      OK3116QRQ12
  1441.         MOV     GAMMA,0
  1442. OK3116QRQ12:
  1443.         POP     DS
  1444.         POP     AX
  1445.  
  1446.         JMP     JUMP
  1447.  
  1448. iRQ11:
  1449.         PUSH    AX
  1450.         PUSH    DS
  1451.         MOV     AX,@DATA
  1452.         MOV     DS,AX
  1453.  
  1454.  
  1455.         ADD     X_ADD,2
  1456.         SUB     BETA,2
  1457.  
  1458. ;        iNC ALPHA
  1459. ;        iNC BETA
  1460. ;        iNC GAMMA
  1461. ;        iNC ALPHA
  1462. ;        iNC BETA
  1463. ;        iNC GAMMA
  1464. ;        iNC ALPHA
  1465. ;        iNC BETA
  1466. ;        iNC GAMMA
  1467. ;        iNC ALPHA
  1468. ;        iNC BETA
  1469. ;        iNC GAMMA
  1470.  
  1471.         CMP     ALPHA,512
  1472.         JG      OK1116QRQ123
  1473.         MOV     ALPHA,0
  1474. OK1116QRQ123:
  1475.         CMP     BETA,512
  1476.         JB      OK2116QRQ123
  1477.         MOV     BETA,0
  1478. OK2116QRQ123:
  1479.         CMP     GAMMA,512
  1480.         JB      OK3116QRQ123
  1481.         MOV     GAMMA,0
  1482. OK3116QRQ123:
  1483.         POP     DS
  1484.         POP     AX
  1485.  
  1486.         JMP     JUMP
  1487.  
  1488.  
  1489. iRQ12:
  1490.         PUSH    AX
  1491.         PUSH    DS
  1492.         MOV     AX,@DATA
  1493.         MOV     DS,AX
  1494.  
  1495.  
  1496.         ADD     Z_ADD,32
  1497.  
  1498. ;        iNC ALPHA
  1499. ;        iNC BETA
  1500. ;        iNC GAMMA
  1501. ;        iNC ALPHA
  1502. ;        iNC BETA
  1503. ;        iNC GAMMA
  1504. ;        iNC ALPHA
  1505. ;        iNC BETA
  1506. ;        iNC GAMMA
  1507. ;        iNC ALPHA
  1508. ;        iNC BETA
  1509. ;        iNC GAMMA
  1510.  
  1511.         CMP     ALPHA,512
  1512.         JG      OK1116QRQ1234
  1513.         MOV     ALPHA,0
  1514. OK1116QRQ1234:
  1515.         CMP     BETA,512
  1516.         JB      OK2116QRQ1234
  1517.         MOV     BETA,0
  1518. OK2116QRQ1234:
  1519.         CMP     GAMMA,512
  1520.         JB      OK3116QRQ1234
  1521.         MOV     GAMMA,0
  1522. OK3116QRQ1234:
  1523.         POP     DS
  1524.         POP     AX
  1525.  
  1526.         JMP     JUMP
  1527.  
  1528.  
  1529.  
  1530.  
  1531. iNCLUDE TEXTNEW\TEXTURE.ASM
  1532. iNCLUDE TEXTNEW\GOURAUD.ASM
  1533. iNCLUDE TEXTNEW\DRAW.ASM
  1534. iNCLUDE TEXTNEW\iNTER.ASM
  1535. TEXTBUFF DW     ?
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547. .DATA
  1548.  
  1549. iNCLUDE TEXTNEW\MARBTEAL.PAL
  1550. iNCLUDE TEXTNEW\TEXTURE1.PAL
  1551. iNCLUDE TEXTNEW\GOUR.PAL
  1552.  
  1553. iNCLUDE TEXTNEW\SHOCK.i
  1554. iNCLUDE TEXTNEW\GOMB.i
  1555. iNCLUDE TEXTNEW\F14STAND.i
  1556.  
  1557. BACKSCRPOiNTER  DW      ?
  1558.  
  1559. SECOND  DB      0
  1560.  
  1561. ALPHA   DW      128
  1562. BETA    DW      0
  1563. GAMMA   DW      128
  1564.  
  1565. SCRPOiNTER DW   0
  1566.  
  1567. X_ADD   DW      -20
  1568. Y_ADD   DW      0
  1569. Z_ADD   DW      0
  1570.  
  1571. ELEJE    DW     ?
  1572. VEGED    DW     ?
  1573.  
  1574. O_COORDS DW     ?
  1575.  
  1576. R_COORD DW      ?
  1577.         DW      COORD_NUM*3 DUP (?)
  1578.  
  1579. C_COORD DW      ?
  1580.         DW      COORD_NUM*2 DUP (?)
  1581.  
  1582. FACES   DW      ?
  1583.  
  1584. N       DW      ?
  1585.  
  1586. XCOORD  DW      ?
  1587. YCOORD  DW      ?
  1588. ZCOORD  DW      ?
  1589.  
  1590. SiN1    DW      ?
  1591. SiN2    DW      ?
  1592. SiN3    DW      ?
  1593.  
  1594. COS1    DW      ?
  1595. COS2    DW      ?
  1596. COS3    DW      ?
  1597.  
  1598. ORDER   DW      2000*2 DUP (?)
  1599.  
  1600. GOU     DW      1
  1601. TEX     DW      1
  1602.  
  1603. SiNTABLE DW 320 DUP (?)
  1604.  
  1605. ViSFACES DW     ?
  1606.  
  1607. GOURBUF         DW      256 DUP (?)
  1608. POiNTBUF        DW      256*2 DUP (?)
  1609. TEXTiBUF        DW      0,0,64,0,64,64,0,64
  1610. TEXTiBUF2       DW      252 DUP (?)
  1611. TEMPL1          DW      ?
  1612. TEMPR1          DW      ?
  1613. TEMPL2          DW      ?
  1614. TEMPR2          DW      ?
  1615.