home *** CD-ROM | disk | FTP | other *** search
/ CD-X 1 / cdx_01.iso / demodisc / cyberdan / intrance / intrance.asm < prev    next >
Encoding:
Assembly Source File  |  1995-03-20  |  10.9 KB  |  350 lines

  1. .MODEL SMALL
  2. .386
  3. .STACK 100
  4.                 EXTRN   GUSPLAYON:FAR
  5.                 EXTRN   GUSPLAYOFF:FAR
  6.                 EXTRN   BASEPORT:WORD
  7.                 EXTRN   PATTERNROW:WORD
  8.                 PUBLiC  LOADOVERLAYHiVO
  9.                 EXTRN   PLAYINGPATTERN:WORD
  10.         EXTRN     PATTVECT:FAR            ; PATTOGO VECTOR
  11.         EXTRN    PALONLY:FAR             ;
  12.         EXTRN   WORDSiN:WORD            ; PATTOGO VECTORÉ
  13.         EXTRN   POiNTS:WORD             ; PATTOGO VECTORÉ
  14.         EXTRN    WP:WORD                 ; PATTOGO VECTORÉ
  15.                 EXTRN   ANIM:FAR                ; ANIMPLAYER
  16.                 EXTRN   FRACTALPART:FAR
  17.                 EXTRN   BASEPORT:WORD
  18.         PUBLIC  ANIM_KEP
  19. .DATA
  20.                 B       EQU     BYTE PTR
  21.                 W       EQU     WORD PTR
  22. .CODE
  23.                 MOV     AX,CS
  24.                 MOV     DS,AX
  25.                 MOV     AX,4A00H
  26.                 MOV     BX,29000/16
  27.                 iNT     21H
  28.                 CALL    MEMTEST
  29.                 CALL    MEMKiOSZT
  30.                 CALL    DETECT
  31.                 CALL    GETFREE
  32.                 CALL    DETECTGUS
  33.                 CALL    INITMSG
  34.                 CALL    LOADALL
  35.                 CALL    KILLKEYBOARD
  36.                 CALL    GUSPLAYON
  37.                 MOV     AX,CS:LBMPLACE1
  38.                 MOV     FS,AX
  39.                 ADD     AH,10H
  40.                 MOV     GS,AX
  41.                 CALL    INTROPART
  42.                 CALL    FRACTALPART
  43.                 CALL    SET640X400X16
  44.                 CALL    REGBEALLiT
  45. ;----------------------------------------<iNNENTOL JON A LOSZAR>---------------
  46.                 LEA     Di,[CS:PAL1]
  47.                 CALL    PALATiR00
  48.                 LEA     Si,[CS:PAL2]
  49.                 LEA     Di,[CS:PAL1]
  50.                 CALL    PALMORPH
  51.                 CALL    THiRDLOAD
  52.                 MOV     Si,0
  53.                 MOV     ES,CS:[ViDRAM]
  54.                 MOV     DS,CS:[LBMPLACE1]
  55.                 MOV     Di,0
  56.                 CALL    LBM16
  57.                 LEA     Si,[CS:PAL1]
  58.                 LEA     Di,[CS:PAL2]
  59.                 CALL    PALMORPH                ; ITT ELTUNTETEM A NENIT
  60. PVAR1:          CMP     CS:PLAYINGPATTERN,5
  61.                 JB      PVAR1
  62.                 CALL    PALATiR01
  63.                 LEA     Si,[CS:PAL1]
  64.                 LEA     Di,[CS:PAL2]
  65.                 CALL    PALMORPH
  66.         CALL    SUCKER1
  67.         CALL    PATTVECT
  68.         CALL    SUCKER2
  69.                 CALL    ANIMACIO1
  70.                 CALL    EFFECT3
  71.                 CALL    WAIT32ROWS
  72.                 CALL    WAIT32ROWS
  73.         CALL    EFFECT2
  74.                 CALL    EFFECT4
  75.                 CALL    CLEANUP
  76.                 CALL    ANIMACIO2
  77.                 CALL    GREETS
  78.                 CALL    WAIT32ROWS
  79.                 CALL    FADEPAL
  80.                 MOV     AX,13H
  81.                 INT     10H
  82.                 CALL    ANIMACIO3
  83.                 CALL    SHOCKMSG
  84.                 CALL    WAIT32ROWS
  85.                 CALL    FADEPAL
  86.                 MOV     AX,13H
  87.                 INT     10H
  88.                 CALL    ANIMACIO4
  89.                 CALL    ENDPICCY
  90.                 CALL    ENABLEKEYBOARD
  91. ;----------------------------------------------------------------------------
  92. VEGE:           CALL    GUSPLAYOFF
  93.                 CALL    ENDSCREEN
  94. PANIC:          MOV     AH,4CH
  95.                 iNT     21H
  96. ;------------------------------------------------------------------------------
  97. MEMKiOSZT:      MOV     AX,SS
  98.                 ADD     AX,8192
  99.                 MOV     CS:[LBMPLACE1],AX
  100.         MOV    CS:[ANIM_KEP],AX
  101.         MOV    CS:[WORDSiN],AX
  102.         MOV    CS:[KEPEK],AX
  103.         MOV    CS:[PICPLAC],AX
  104.         MOV    CS:[PICS],AX
  105.                 MOV     CS:[IPUF],AX
  106.                 MOV     CS:[PIC4],AX
  107.                 ADD     AX,6000/16
  108.                 MOV     CS:[LBMPLACE2],AX
  109.         MOV    CS:[POiNTS],AX
  110.                 ADD     AX,8000/16
  111.         MOV    CS:[WP],AX
  112.         ADD    AX,3000
  113.         MOV    CS:[PUFFER],AX
  114.                 RET
  115. THiRDLOAD:      PUSH    DS
  116.                 LEA     DX,CS:[PAL2]
  117.                 PUSH    CS
  118.                 POP     DS
  119.                 MOV     AX,1
  120.                 CALL    LOADOVERLAY
  121.                 MOV     DX,0
  122.                 MOV     AX,0
  123.                 MOV     DS,CS:[LBMPLACE1]
  124.                 CALL    LOADOVERLAY
  125.                 POP     DS
  126.                 RET
  127. ;------------------------------------------------------------------------------
  128. PALATiR00:      MOV     CX,16
  129. ATiR00:         MOV     B CS:[Di],23*64/100
  130.                 MOV     B CS:[Di+1],68*64/100
  131.                 MOV     B CS:[Di+2],68*64/100
  132.                 ADD     Di,3
  133.                 LOOP    ATiR00
  134.                 RET
  135.  
  136. PALATiR01:      PUSH    ES CS
  137.                 POP     ES
  138.                 PUSH    Di
  139.                 MOV     CX,12
  140.                 MOV     EAX,0
  141.                 REP     STOSD
  142.                 POP     Di
  143.                 POP     ES
  144.                 RET
  145.  
  146. CLEANUP:        PUSH    ES DI AX CX
  147.                 MOV     AX,0A000H
  148.                 MOV     ES,AX
  149.                 MOV     DI,0
  150.                 MOV     AX,0
  151.                 MOV     CX,32000
  152.                 REP     STOSW
  153.                 POP     CX AX DI ES
  154.                 RET
  155.  
  156. ;---------------HANGRAVARAKOZASi RUTiNOK---------------------------------------
  157.  
  158. WAiT32ROWS:     PUSH    AX BX
  159.                 XOR     BX,BX
  160. W32_1:          MOV     AX,[CS:PATTERNROW]
  161. W32_2:          CMP     AX,[CS:PATTERNROW]
  162.                 JE      W32_2
  163.                 CMP     BX,32
  164.                 JE      W32_3
  165.                 iNC     BX
  166.                 JMP     W32_1
  167. W32_3:          POP     BX AX
  168.                 RET
  169. ;---------------ANIMOS SZAROZASOK----------------------------------------------
  170.  
  171. ANIMACIO1:      MOV     AX,CS:[ANIM_KEP]
  172.                 ADD     AX,2000
  173.                 MOV     ES,AX
  174.                 MOV     AX,CS:[HANDLE]
  175.                 MOV     DI,0
  176.                 MOV     ECX,352000
  177.                 CALL    DOWNLOAD
  178.                 PUSH    87
  179.                 PUSH    0
  180.                 PUSH    1
  181.         CALL    ANIM
  182.                 MOV     AX,CS:[HANDLE]
  183.                 CALL    RELEASE
  184.                 RET
  185.  
  186. ANIMACIO2:      MOV     AX,CS:[ANIM_KEP]
  187.                 ADD     AX,2000
  188.                 MOV     ES,AX
  189.                 MOV     AX,CS:[HANDLE2]
  190.                 MOV     DI,0
  191.                 MOV     ECX,112000
  192.                 CALL    DOWNLOAD
  193.                 PUSH    27
  194.                 PUSH    0
  195.                 PUSH    4
  196.         CALL    ANIM
  197.                 MOV     AX,CS:[HANDLE2]
  198.                 CALL    RELEASE
  199.                 RET
  200.  
  201. ANIMACIO3:      MOV     AX,CS:[ANIM_KEP]
  202.                 ADD     AX,2000
  203.                 MOV     ES,AX
  204.                 MOV     AX,CS:[HANDLE3]
  205.                 MOV     DI,0
  206.                 MOV     ECX,35*4000
  207.                 CALL    DOWNLOAD
  208.                 PUSH    34
  209.                 PUSH    0
  210.                 PUSH    4
  211.         CALL    ANIM
  212.                 MOV     AX,CS:[HANDLE3]
  213.                 CALL    RELEASE
  214.                 RET
  215.  
  216. ANIMACIO4:      MOV     AX,CS:[ANIM_KEP]
  217.                 ADD     AX,2000
  218.                 MOV     ES,AX
  219.                 MOV     AX,CS:[HANDLE4]
  220.                 MOV     DI,0
  221.                 MOV     ECX,74*4000
  222.                 CALL    DOWNLOAD
  223.                 PUSH    73
  224.                 PUSH    1
  225.                 PUSH    1
  226.         CALL    ANIM
  227.                 MOV     AX,CS:[HANDLE4]
  228.                 CALL    RELEASE
  229.                 RET
  230. ;--------------------<toltogetes az elejen>------------------------------------
  231. LOADALL:        MOV     DS,CS:[PICS]
  232.                 MOV     DX,0
  233.                 MOV     AX,3
  234.                 CALL    LOADOVERLAY
  235.                 MOV     ECX,352000
  236.                 MOV     SI,0
  237.                 CALL    UPLOAD
  238.                 MOV     CS:[HANDLE],AX
  239.  
  240.                 MOV     DS,CS:[PICS]
  241.                 MOV     DX,0
  242.                 MOV     AX,6
  243.                 CALL    LOADOVERLAY
  244.                 MOV     ECX,112000
  245.                 MOV     SI,0
  246.                 CALL    UPLOAD
  247.                 MOV     CS:[HANDLE2],AX
  248.  
  249.                 MOV     DS,CS:[PICS]
  250.                 MOV     DX,0
  251.                 MOV     AX,7
  252.                 CALL    LOADOVERLAY
  253.                 MOV     ECX,35*4000
  254.                 MOV     SI,0
  255.                 CALL    UPLOAD
  256.                 MOV     CS:[HANDLE3],AX
  257.  
  258.                 MOV     DS,CS:[PICS]
  259.                 MOV     DX,0
  260.                 MOV     AX,8
  261.                 CALL    LOADOVERLAY
  262.                 MOV     ECX,74*4000
  263.                 MOV     SI,0
  264.                 CALL    UPLOAD
  265.                 MOV     CS:[HANDLE4],AX
  266.                 RET
  267.  
  268. ENDPICCY:       MOV     EAX,0
  269.                 MOV     EBX,0
  270.                 MOV     ECX,0
  271.                 MOV     EDX,0
  272.                 MOV     EBP,0
  273.                 MOV     ESI,0
  274.                 MOV     EDI,0
  275.                 CALL    SET640X400X16
  276.                 CALL    REGBEALLIT
  277.                 CALL    DARKENPAL
  278.                 MOV     DS,CS:[LBMPLACE1]
  279.                 MOV     AX,11
  280.                 MOV     DX,0
  281.                 CALL    LOADOVERLAY
  282.                 MOV     SI,0
  283.                 MOV     DI,0
  284.                 MOV     AX,0A000H
  285.                 MOV     ES,AX
  286.                 CALL    LBM16
  287.                 PUSH    CS CS
  288.                 POP     DS ES
  289.  
  290.                 LEA     SI,CS:[PAL1]
  291.                 LEA     DI,CS:[PAL1]
  292.                 MOV     AX,0
  293.                 MOV     CX,24
  294.                 REP     STOSW
  295.                 LEA     DI,CS:[ENDPICPAL]
  296.  
  297.                 CALL    PALMORPH
  298.  
  299. WAITER000:      CMP     CS:[PLAYINGPATTERN],18
  300.                 JB      WAITER000
  301.  
  302. WAITER001:      CMP     CS:[PATTERNROW],63
  303.                 JB      WAITER001
  304.  
  305.                 PUSH    CS CS
  306.                 POP     DS ES
  307.                 LEA     DI,CS:[PAL1]
  308.                 MOV     AX,0
  309.                 MOV     CX,24
  310.                 REP     STOSW
  311.  
  312.                 LEA     SI,CS:[ENDPICPAL]
  313.                 LEA     DI,CS:[PAL1]
  314.                 CALL    PALMORPH
  315.  
  316.                 RET
  317. ;------------------------------------------------------------------------------
  318. PAL1            DB 16 DUP (5CH/4,45H/4,63H/4)
  319. PAL2            DB 16 DUP (5CH/4,45H/4,63H/4)
  320. LBMPLACE1       DW 0
  321. LBMPLACE2       DW 0
  322. ANIM_KEP    DW 0
  323. HANDLE2         DW 0
  324. HANDLE3         DW 0
  325. HANDLE4         DW 0
  326. ViDRAM          DW 0A000H
  327. ;-----------------------------<FURFANGOS RUTiNOM>------------------------------
  328. LOADOVERLAYHiVO:
  329.         CALL    LOADOVERLAY
  330.         RETF
  331. ;------------------------------------------------------------------------------
  332. iNCLUDE INC\PALETTE.iNC
  333. iNCLUDE INC\GFXLiB.iNC
  334. iNCLUDE INC\LOADER.iNC
  335. INCLUDE INC\KBD.INC
  336. iNCLUDE INC\EFFECT1.ASM
  337. INCLUDE INC\EFFECT2.ASM
  338. INCLUDE    INC\EFFECT3.ASM
  339. INCLUDE INC\EFFECT4.ASM
  340. INCLUDE INC\ETC.ASM
  341. INCLUDE INC\INTRO.ASM
  342. INCLUDE INC\MEMTEST.ASM
  343. INCLUDE GUS\DETECT.ASM
  344. INCLUDE INC\GREETS.ASM
  345. INCLUDE INC\ENDPAL.INC
  346. INCLUDE INC\ENDTEXT.ASM
  347. INCLUDE INC\EXTENDER.ASM
  348. ;---------------------------------<iNCLUDES>-----------------------------------
  349. END
  350.