Subversion Repositories pentevo

Rev

Rev 635 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ;LAST UPDATE: 03.02.2014 savelij
  3.  
  4. ;        MAIN   "*",0XC6
  5.  
  6. ;цвета:
  7. cF              EQU 0XB847
  8. cE              EQU 0XB046
  9. cD              EQU 0XA845
  10. cC              EQU 0XA044
  11. cB              EQU 0X9843
  12. cA              EQU 0X9042
  13. c9              EQU 0X8841
  14. c8              EQU 0X8040
  15. c7              EQU 0X3807
  16. c6              EQU 0X3006
  17. c5              EQU 0X2805
  18. c4              EQU 0X2004
  19. c3              EQU 0X1803
  20. c2              EQU 0X1002
  21. c1              EQU 0X0801
  22. c0              EQU 0X0000
  23.  
  24. ;раскраски букв:
  25. BUK_W
  26.                 REPT 8;        DUP      8
  27.         DW      cF
  28.                 ENDM;        EDUP      
  29. BUK_YSL
  30.         DW      c5
  31.         DW      c6
  32.         DW      c7
  33.         DW      cE
  34.         DW      cF
  35.         DW      cE
  36.         DW      c7
  37.         DW      c6
  38.  
  39. PRTXT88
  40. ;C=фоновый цвет (в виде атрибута)
  41. ;IX=таблица раскраски буквы по строкам
  42.         LD      A,(HL)
  43.         INC     HL
  44.         OR      A
  45.         RET     Z
  46.         CALL    PR88
  47.         JR      PRTXT88
  48.  
  49. PR88
  50.        PUSH     BC
  51.        PUSH HL
  52.         LD      L,A
  53.         LD      A,pgfnt
  54.         CALL    OUTA
  55. ;преобразовываем в 4 цветных столбца
  56.        PUSH     DE
  57.         LD      DE,PROUTBUF
  58.         LD      B,4
  59. PR880   LD      H,HIGH (f88);'f88
  60. proh := 0
  61.                 REPT 7;       DUP       8
  62.         LD      A,C
  63.         RLC     (HL)
  64.         JR NC,$+5
  65.         OR      (IX+proh)
  66.         RLC     (HL)
  67.         JR NC,$+5
  68.         OR      (IX+proh+1)
  69.         LD      (DE),A
  70.         INC     E
  71.         INC     H
  72. proh := proh+2
  73.                 ENDM;       EDUP       
  74.         LD      A,C
  75.         RLC     (HL)
  76.         JR NC,$+5
  77.         OR      (IX+proh)
  78.         RLC     (HL)
  79.         JR NC,$+5
  80.         OR      (IX+proh+1)
  81.         LD      (DE),A
  82.         INC     E
  83. ;        ORG    $-1
  84.         DEC     B
  85.         JP      NZ,PR880
  86.        POP      DE
  87. ;выводим на 1-й экран
  88.        PUSH     DE
  89.         LD      HL,PROUTBUF
  90.         PUSH    DE
  91.         LD      A,p14
  92.         CALL    OUTCHRSTOLB
  93.         POP     DE
  94.         PUSH    DE
  95.         RES     7,D
  96.         CALL    CHRSTOLB
  97.         POP     DE
  98.         SET     5,D
  99.         PUSH    DE
  100.         CALL    CHRSTOLB
  101.         POP     DE
  102.         RES     7,D
  103.         CALL    CHRSTOLB
  104.        POP      DE
  105. ;выводим на 2-й экран
  106.        PUSH     DE
  107.         LD      HL,PROUTBUF
  108.         PUSH    DE
  109.         LD      A,p16
  110.         CALL    OUTCHRSTOLB
  111.         POP     DE
  112.         PUSH    DE
  113.         LD      A,p17
  114.         CALL    OUTCHRSTOLB
  115.         POP     DE
  116.         SET     5,D
  117.         PUSH    DE
  118.         LD      A,p16
  119.         CALL    OUTCHRSTOLB
  120.         POP     DE
  121.         LD      A,p17
  122.         CALL    OUTCHRSTOLB
  123.        POP      DE
  124.        POP      HL
  125.        POP BC
  126.         INC     DE ;для ATM нельзя INC E
  127.         RET    
  128.  
  129. OUTCHRSTOLB
  130.         CALL    OUTA
  131. CHRSTOLB
  132.                 REPT 7;        DUP      8
  133.         LD      A,(HL)
  134.         LD (DE),A
  135.         INC     L
  136. cstid := $
  137.                 IF atm=1;      IFN      atm
  138.         LD      A,E
  139.         ADD     A,40
  140.         LD      E,A
  141.         JR NC,$+3
  142.         INC     D
  143.        ELSE    
  144.         INC     D
  145.        ENDIF   
  146.                 ENDM;        EDUP      
  147.         LD      A,(HL)
  148.         LD (DE),A
  149.         INC     L
  150. ;        ORG    cstid
  151.         RET    
  152.  
  153. HOD        MACRO W0,W1,W2;      HOD
  154. t := z+W0;\0
  155.         DW      t-reaction
  156.                 IF (W1-'A')=0;       IF "\1"-"A"
  157.         DW      evFIREON
  158.        ENDIF   
  159.                 IF (W1-'L')=0;       IF "\1"-"L"
  160.         DW      evLEFTON
  161.        ENDIF   
  162.                 IF (W1-'R')=0;       IF "\1"-"R"
  163.         DW      evRIGHTON
  164.        ENDIF   
  165.                 IF (W1-'U')=0;       IF "\1"-"U"
  166.         DW      evUPON
  167.        ENDIF   
  168.                 IF (W1-'D')=0;       IF "\1"-"D"
  169.         DW      evDOWNON
  170.        ENDIF   
  171.          DW     W2;\2
  172.         DW      t
  173.                 IF (W1-'A')=0;       IF "\1"-"A"
  174.         DW      evFIREOFF
  175.        ENDIF   
  176.                 IF (W1-'L')=0;       IF "\1"-"L"
  177.         DW      evLEFTOFF
  178.        ENDIF   
  179.                 IF (W1-'R')=0;       IF "\1"-"R"
  180.         DW      evRIGHTOFF
  181.        ENDIF   
  182.                 IF (W1-'U')=0;       IF "\1"-"U"
  183.         DW      evUPOFF
  184.        ENDIF   
  185.                 IF (W1-'D')=0;       IF "\1"-"D"
  186.         DW      evDOWNOFF
  187.        ENDIF   
  188.         DW      W2;\2
  189.         ENDM   
  190.  
  191. SCRIPTL1
  192. ;DW время события (в звуковых фреймах=0.117 s)
  193. ;DW тип события
  194. ;DW адрес имени файла смерти (для событий ev...OFF)
  195.         HOD 44,'R',fL1D1
  196.         HOD 69,'R',fL1D1
  197.         HOD 91,'L',fL1D1
  198.         HOD 131,'R',fL1D2
  199.         HOD 147,'L',fL1D3
  200.         HOD 168,'U',fL1D4
  201.         HOD 199,'D',fL1D5
  202.         DW      -1
  203.  
  204. SCRIPTM1
  205.         HOD 44,'L',fL1D1
  206.         HOD 69,'L',fL1D1
  207.         HOD 91,'R',fL1D1
  208.         HOD 131,'L',fL1D2
  209.         HOD 147,'R',fL1D3
  210.         HOD 168,'U',fL1D4
  211.         HOD 199,'D',fL1D5
  212.         DW      -1
  213.  
  214. SCRIPTL2
  215.         HOD 50,'U',fL2D1
  216.         HOD 126,'L',fL2D2
  217.         HOD 157,'A',fL2D3
  218.         HOD 218,'A',fL2D4
  219. t := 232
  220.         DW      t
  221.         DW      evBEGINTIMESTOP
  222.         DW      TTIMESTOP2
  223.                 REPT 14;       DUP      14
  224. t := t+4
  225.         DW      t
  226.         DW      evTIMESTOPKEY
  227.         DW      TTIMESTOP2
  228.                 ENDM;       EDUP       
  229.         DW      291
  230.         DW      evENDTIMESTOP
  231.         DW      TTIMESTOP2END
  232.         DW      -1
  233.  
  234. SCRIPTL3
  235.         HOD 47,'D',fL3D1
  236.         HOD 67,'R',fL3D1
  237.         HOD 85,'L',fL3D2
  238.         HOD 105,'R',fL3D3
  239.         HOD 133,'D',fL3D4
  240.         HOD 161,'R',fL3D5
  241.         HOD 190,'R',fL3D6
  242.         HOD 212,'R',fL3D6
  243.         HOD 246,'A',fL3D7
  244.         HOD 296,'A',fL3DA
  245. t := 306
  246.         DW      t
  247.         DW      evBEGINTIMESTOP
  248.         DW      TTIMESTOP3
  249.                 REPT 14;       DUP      14
  250. t := t+4
  251.         DW      t
  252.         DW      evTIMESTOPKEY
  253.         DW      TTIMESTOP3
  254.                 ENDM;       EDUP       
  255.         DW      366
  256.         DW      evENDTIMESTOP
  257.         DW      TTIMESTOP3END
  258.         DW      -1
  259.  
  260. SCRIPTM3
  261.         HOD 47,'D',fL3D1
  262.         HOD 67,'L',fL3D1
  263.         HOD 85,'R',fL3D2
  264.         HOD 105,'L',fL3D3
  265.         HOD 133,'D',fL3D4
  266.         HOD 161,'L',fL3D5
  267.         HOD 190,'L',fL3D6
  268.         HOD 212,'L',fL3D6
  269.         HOD 246,'A',fL3D7
  270.         HOD 296,'A',fL3DA
  271. t := 306
  272.         DW      t
  273.         DW      evBEGINTIMESTOP
  274.         DW      TTIMESTOP3
  275.                 REPT 14;       DUP      14
  276. t := t+4
  277.         DW      t
  278.         DW      evTIMESTOPKEY
  279.         DW      TTIMESTOP3
  280.                 ENDM;       EDUP       
  281.         DW      366
  282.         DW      evENDTIMESTOP
  283.         DW      TTIMESTOP3END
  284.  
  285.         DW      -1
  286.  
  287. SCRIPTL4
  288.         HOD 65,'R',fL4D1
  289.         HOD 83,'U',fL4D1
  290.         HOD 138,'R',fL4D2
  291.         DW      -1
  292.  
  293. SCRIPTL5
  294.         HOD 55,'R',fL5D1
  295.         HOD 85,'A',fL5D1
  296.         HOD 98,'A',fL5D1
  297.         HOD 121,'A',fL5D1
  298.         HOD 146,'L',fL5D1
  299.         HOD 165,'U',fL5D1
  300.         HOD 228,'L',fL5D2
  301.         HOD 256,'R',fL5D3
  302.         HOD 291,'L',fL5D2
  303.         HOD 325,'U',fL5D1
  304.         HOD 361,'A',fL5D1
  305.         DW      -1
  306.  
  307. SCRIPTL6
  308.         HOD 45,'R',fL6D1
  309.         HOD 68,'D',fL6D2
  310.         HOD 96,'U',fL6D3
  311.         HOD 129,'D',fL6D1
  312.         HOD 184,'R',fL6D4
  313.         HOD 209,'L',fL6D5
  314.         HOD 242,'U',fL6D6
  315.         HOD 283,'A',fL6D7
  316.         HOD 314,'R',fL6D8
  317.         HOD 366,'R',fL6D9
  318.         DW      -1
  319.  
  320. SCRIPTM6
  321.         HOD 45,'L',fL6D1
  322.         HOD 68,'D',fL6D2
  323.         HOD 96,'U',fL6D3
  324.         HOD 129,'D',fL6D1
  325.         HOD 184,'L',fL6D4
  326.         HOD 209,'R',fL6D5
  327.         HOD 242,'U',fL6D6
  328.         HOD 283,'A',fL6D7
  329.         HOD 314,'L',fL6D8
  330.         HOD 366,'L',fL6D9
  331.         DW      -1
  332.  
  333. SCRIPTL7
  334.         HOD 72,'U',fL7D1
  335.         HOD 99,'R',fL7D1
  336.         HOD 123,'A',fL7D1
  337.         HOD 177,'L',fL7D1
  338.         HOD 197,'A',fL7D1
  339.         HOD 245,'A',fL7D2
  340.         DW      -1
  341.  
  342. SCRIPTL8
  343.         HOD 53,'L',fL8D1
  344.         HOD 78,'A',fL8D1
  345.         HOD 111,'U',fL8D1
  346.         HOD 140,'U',fL8D1
  347.         HOD 166,'U',fL8D2
  348.         HOD 219,'U',fL8D3
  349.         HOD 244,'L',fL8D4
  350.         HOD 263,'R',fL8D5
  351.         HOD 308,'A',fL8D6
  352. t := 317
  353.         DW      t
  354.         DW      evBEGINTIMESTOP
  355.         DW      TTIMESTOP8
  356.                 REPT 14;       DUP      14
  357. t := t+4
  358.         DW      t
  359.         DW      evTIMESTOPKEY
  360.         DW      TTIMESTOP8
  361.                 ENDM;       EDUP       
  362.         DW      377
  363.         DW      evENDTIMESTOP
  364.         DW      TTIMESTOP8END
  365.         DW      -1
  366.  
  367. SCRIPTL9
  368.         HOD 38,'R',fL9D1
  369.         HOD 60,'R',fL9D2
  370.         HOD 84,'D',fL9D3
  371.         HOD 117,'U',fL9D4
  372.         HOD 174,'A',fL9D2
  373. t := 183
  374.         DW      t
  375.         DW      evBEGINTIMESTOP
  376.         DW      TTIMESTOP9
  377.                 REPT 14;       DUP      14
  378. t := t+4
  379.         DW      t
  380.         DW      evTIMESTOPKEY
  381.         DW      TTIMESTOP9
  382.                 ENDM;       EDUP       
  383.         DW      243
  384.         DW      evENDTIMESTOP
  385.         DW      TTIMESTOP9END
  386.         HOD 306,'A',fL9D5
  387.         HOD 406,'U',fL9D6
  388.         HOD 423,'L',fL9D7
  389.         HOD 450,'R',fL9D8
  390.         HOD 470,'R',fL9D9
  391.         DW      -1
  392.  
  393. SCRIPTM9
  394.         HOD 38,'L',fL9D1
  395.         HOD 60,'L',fL9D2
  396.         HOD 84,'D',fL9D3
  397.         HOD 117,'U',fL9D4
  398.         HOD 174,'A',fL9D2
  399. t := 183
  400.         DW      t
  401.         DW      evBEGINTIMESTOP
  402.         DW      TTIMESTOP9
  403.                 REPT 14;       DUP      14
  404. t := t+4
  405.         DW      t
  406.         DW      evTIMESTOPKEY
  407.         DW      TTIMESTOP9
  408.                 ENDM;       EDUP       
  409.         DW      243
  410.         DW      evENDTIMESTOP
  411.         DW      TTIMESTOP9END
  412.         HOD 306,'A',fL9D5
  413.         HOD 406,'U',fL9D6
  414.         HOD 423,'R',fL9D7
  415.         HOD 450,'L',fL9D8
  416.         HOD 470,'L',fL9D9
  417.         DW      -1
  418.  
  419. SCRIPTLA
  420.         HOD 53,'R',fLAD1
  421.         HOD 87,'L',fLAD2
  422.         HOD 117,'D',fLAD3
  423.         HOD 172,'R',fLAD4
  424.         HOD 217,'R',fLAD5
  425.         HOD 254,'L',fLAD6
  426.         HOD 312,'A',fLAD1
  427. t := 325
  428.         DW      t
  429.         DW      evBEGINTIMESTOP
  430.         DW      TTIMESTOPA
  431.                 REPT 14;       DUP      14
  432. t := t+4
  433.         DW      t
  434.         DW      evTIMESTOPKEY
  435.         DW      TTIMESTOPA
  436.                 ENDM;       EDUP       
  437.         DW      385
  438.         DW      evENDTIMESTOP
  439.         DW      TTIMESTOPAEND
  440.         DW      -1
  441.  
  442. SCRIPTMA
  443.         HOD 53,'L',fLAD1
  444.         HOD 87,'R',fLAD2
  445.         HOD 117,'D',fLAD3
  446.         HOD 172,'L',fLAD4
  447.         HOD 217,'R',fLAD5
  448.         HOD 254,'L',fLAD6
  449.         HOD 312,'A',fLAD1
  450. t := 325
  451.         DW      t
  452.         DW      evBEGINTIMESTOP
  453.         DW      TTIMESTOPA
  454.                 REPT 14;       DUP      14
  455. t := t+4
  456.         DW      t
  457.         DW      evTIMESTOPKEY
  458.         DW      TTIMESTOPA
  459.                 ENDM;       EDUP       
  460.         DW      385
  461.         DW      evENDTIMESTOP
  462.         DW      TTIMESTOPAEND
  463.         DW      -1
  464.  
  465. SCRIPTLB
  466.         HOD 44,'L',fLBD1
  467.         HOD 94,'R',fLBD2
  468.         HOD 162,'L',fLBD3
  469.         HOD 198,'D',fLBD4
  470.         HOD 236,'A',fLBD5
  471. t := 245
  472.         DW      t
  473.         DW      evBEGINTIMESTOP
  474.         DW      TTIMESTOPB
  475.                 REPT 14;       DUP      14
  476. t := t+4
  477.         DW      t
  478.         DW      evTIMESTOPKEY
  479.         DW      TTIMESTOPB
  480.                 ENDM;       EDUP       
  481.         DW      305
  482.         DW      evENDTIMESTOP
  483.         DW      TTIMESTOPBEND
  484.         DW      -1
  485.  
  486. SCRIPTLC
  487.         HOD 47,'R',fLCD1
  488.         HOD 92,'U',fLCD2
  489.         HOD 125,'L',fLCD3
  490.         HOD 143,'U',fLCD4
  491.         HOD 197,'R',fLCD5
  492.         HOD 231,'D',fLCD6
  493.         HOD 257,'A',fLCD7
  494.         HOD 286,'R',fLCD8
  495.         HOD 305,'D',fLCD9
  496.         DW      -1
  497.  
  498. SCRIPTLD
  499.         HOD 44,'L',fLDD1
  500.         HOD 60,'L',fLDD2
  501.         HOD 89,'R',fLDD1
  502.         HOD 138,'A',fLDD3
  503.         HOD 177,'L',fLDD4
  504.         HOD 208,'R',fLDD5
  505.         HOD 238,'A',fLDD6
  506.         HOD 292,'A',fLDD7
  507. t := 319
  508.         DW      t
  509.         DW      evBEGINTIMESTOP
  510.         DW      TTIMESTOPD
  511.                 REPT 14;       DUP      14
  512. t := t+4
  513.         DW      t
  514.         DW      evTIMESTOPKEY
  515.         DW      TTIMESTOPD
  516.                 ENDM;       EDUP       
  517.         DW      378
  518.         DW      evENDTIMESTOP
  519.         DW      TTIMESTOPDEND
  520.         DW      -1
  521.  
  522. SCRIPTMD
  523.         HOD 44,'R',fLDD1
  524.         HOD 60,'R',fLDD2
  525.         HOD 89,'L',fLDD1
  526.         HOD 138,'A',fLDD3
  527.         HOD 177,'R',fLDD4
  528.         HOD 208,'L',fLDD5
  529.         HOD 238,'A',fLDD6
  530.         HOD 292,'A',fLDD7
  531. t := 319
  532.         DW      t
  533.         DW      evBEGINTIMESTOP
  534.         DW      TTIMESTOPD
  535.                 REPT 14;       DUP      14
  536. t := t+4
  537.         DW      t
  538.         DW      evTIMESTOPKEY
  539.         DW      TTIMESTOPD
  540.                 ENDM;       EDUP       
  541.         DW      378
  542.         DW      evENDTIMESTOP
  543.         DW      TTIMESTOPDEND
  544.         DW      -1
  545.  
  546. SCRIPTLE
  547.         HOD 57,'A',fLED1
  548.         HOD 116,'D',fLED2
  549.         HOD 140,'L',fLED3
  550.         HOD 164,'R',fLED4
  551.         HOD 232,'A',fLED7
  552. t := 244
  553.         DW      t
  554.         DW      evBEGINTIMESTOP
  555.         DW      TTIMESTOPE
  556.                 REPT 14;       DUP      14
  557. t := t+4
  558.         DW      t
  559.         DW      evTIMESTOPKEY
  560.         DW      TTIMESTOPE
  561.                 ENDM       EDUP
  562.         DW      304
  563.         DW      evENDTIMESTOP
  564.         DW      TTIMESTOPEEND
  565.         HOD 337,'R',fLED5
  566.         HOD 351,'A',fLED6
  567.         DW      -1
  568.  
  569. SCRIPTLF
  570.         HOD 59,'L',fLFD1
  571.         HOD 87,'R',fLFD2
  572.         HOD 143,'R',fLFD3
  573.         HOD 165,'A',fLFD4
  574.         HOD 183,'A',fLFD5
  575.         HOD 231,'D',fLFD6
  576.         DW      -1
  577.  
  578. SCRIPTMF
  579.         HOD 59,'R',fLFD1
  580.         HOD 87,'L',fLFD2
  581.         HOD 143,'L',fLFD3
  582.         HOD 165,'A',fLFD4
  583.         HOD 183,'A',fLFD5
  584.         HOD 231,'D',fLFD6
  585.         DW      -1
  586.  
  587. SCRIPTLG
  588.         HOD 52,'R',fLGD1
  589.         HOD 73,'A',fLGD2
  590.         HOD 123,'A',fLGD3
  591.         HOD 139,'A',fLGD4
  592.         HOD 155,'U',fLGD5
  593.         HOD 202,'R',fLGD6
  594.         HOD 220,'A',fLGD7
  595.         HOD 261,'L',fLGD8
  596.         HOD 309,'A',fLGD4
  597.         DW      -1
  598.  
  599. SCRIPTL1D1
  600.         DW      -1
  601.  
  602. SCRIPTINTRO
  603.         DW      0 ;сразу
  604.         DW      evINTROEXITPREPARE
  605.         DW      0
  606.         DW      -1
  607.  
  608. evINTROEXITPREPARE
  609.         LD      A,-1
  610.         LD      (CURKEY),A
  611.         LD      (OLDKEY),A
  612.         LD      A,111
  613.         LD      (NEEDKEY),A ;чтобы все кнопки звучали одинаково
  614.        LD       HL,evINTROEXIT
  615.        LD       (keySND),HL ;чтобы вместо звучания - выход
  616.        LD       HL,0
  617.        LD       (SCORE),HL
  618.        LD       A,5
  619.        LD       (LIVES),A
  620.        LD       A,0
  621.        LD       (LEVEL),A
  622.         RET    
  623. evINTROEXIT
  624.         LD      HL,ENDOFVIDEO
  625.         LD      (JPENDOFVIDEO),HL
  626.         RET    
  627.  
  628. evTIMESTOPKEY
  629.         LD      A,(CURKEY)
  630.         LD      C,A
  631.         LD      A,-1
  632.         LD      (CURKEY),A
  633.         INC     C
  634.         RET     Z ;не нажимали кнопку
  635.         LD      A,(CURTIMESTOP)
  636.         DEC     A
  637.         JP      P,$+5
  638.         LD      A,2
  639.         LD      (CURTIMESTOP),A
  640.         LD      HL,(EVENTPARAM) ;адрес таблицы строк
  641.         CALL    PRTIMESTOP
  642.         JP      GOODBIBIK
  643.  
  644. evBEGINTIMESTOP
  645.        LD       A,-1
  646.        LD       (CURKEY),A
  647.        LD       A,111
  648.        LD       (NEEDKEY),A ;чтобы все кнопки звучали одинаково
  649.         LD      A,R
  650.         ADD     A,3
  651.         JR NC,$-2
  652.         LD      (CURTIMESTOP),A ;0..2
  653.         LD      HL,(EVENTPARAM) ;адрес таблицы строк
  654. PRTIMESTOP
  655.         LD      A,(CURTIMESTOP)
  656.         ADD     A,A
  657.         ADD     A,L
  658.         LD      L,A
  659.         JR NC,$+3
  660.         INC     H
  661.         LD      E,(HL)
  662.         INC     HL
  663.         LD      D,(HL)
  664.         EX DE,HL       
  665. PRLOWMSG
  666. _y := 184
  667. _x := 6
  668.         xy2adr
  669.         LD      DE,_a
  670. ;C=фоновый цвет (в виде атрибута)
  671.         LD      C,0
  672. ;IX=таблица раскраски буквы по строкам
  673.         LD      IX,BUK_YSL
  674.         CALL    PRTXT88
  675.         LD      A,(curplane)
  676.         LD      BC,32765
  677.         OUT     (C),A
  678.         RET    
  679.  
  680. evENDTIMESTOP
  681.         LD      HL,TSPACES
  682.         CALL    PRLOWMSG
  683.         LD      HL,(EVENTPARAM)
  684. CURTIMESTOP := $+1
  685.         LD      A,0
  686.         ADD     A,A
  687.         ADD     A,L
  688.         LD      L,A
  689.         JR NC,$+3
  690.         INC     H
  691.         LD      A,(HL)
  692.         INC     HL
  693.         LD      H,(HL)
  694.         LD L,A
  695.         OR      H
  696.         JP      Z,GOODBIBIK
  697.         LD      (CURENDOFVIDEO),HL
  698.         CALL    BADBIBIK
  699.         LD      HL,ENDOFVIDEODEAD
  700.         LD      (JPENDOFVIDEO),HL
  701.         RET    
  702.  
  703. ;для системы паролей
  704. TLEVELS
  705.         DW      fL1
  706.         DW      fL2
  707.         DW      fL3
  708.         DW      fL4
  709.         DW      fL5
  710.         DW      fL6
  711.         DW      fL7
  712.         DW      fL8
  713.         DW      fL9
  714.         DW      fLA
  715.         DW      fLB
  716.         DW      fLC
  717.         DW      fLD
  718.         DW      fLE
  719.         DW      fLF
  720.         DW      fLG
  721.  
  722. TFILES
  723. ;будет адрес файла в motorola порядке
  724. ;-2,?,?,? файл не найден
  725. fINTRO  DB      "GINT"
  726.         DW      SCRIPTINTRO
  727.         DW      fL1 ;куда идти после ролика
  728. fL1     DB      "LEV1"
  729.         DW      SCRIPTL1
  730.         DW      fL2 ;куда идти после ролика
  731. fM1     DB      "MEV1"
  732.         DW      SCRIPTM1
  733.         DW      fL2 ;куда идти после ролика
  734. fL2     DB      "LEV2"
  735.         DW      SCRIPTL2
  736.         DW      fL3
  737. fL3     DB      "LEV3"
  738.         DW      SCRIPTL3
  739.         DW      fL4 ;куда идти после ролика
  740. fM3     DB      "MEV3"
  741.         DW      SCRIPTM3
  742.         DW      fL4 ;куда идти после ролика
  743. fL4     DB      "LEV4"
  744.         DW      SCRIPTL4
  745.         DW      fL5
  746. fL5     DB      "LEV5"
  747.         DW      SCRIPTL5
  748.         DW      fL6
  749. fL6     DB      "LEV6"
  750.         DW      SCRIPTL6
  751.         DW      fL7
  752. fM6     DB      "MEV6"
  753.         DW      SCRIPTM6
  754.         DW      fL7
  755. fL7     DB      "LEV7"
  756.         DW      SCRIPTL7
  757.         DW      fL8
  758. fL8     DB      "LEV8"
  759.         DW      SCRIPTL8
  760.         DW      fL9 ;куда идти после ролика
  761. fL9     DB      "LEV9"
  762.         DW      SCRIPTL9
  763.         DW      fLA ;куда идти после ролика
  764. fM9     DB      "MEV9"
  765.         DW      SCRIPTM9
  766.         DW      fLA ;куда идти после ролика
  767. fLA     DB      "LEVA"
  768.         DW      SCRIPTLA
  769.         DW      fLB ;куда идти после ролика
  770. fMA     DB      "MEVA"
  771.         DW      SCRIPTMA
  772.         DW      fLB ;куда идти после ролика
  773. fLB     DB      "LEVB"
  774.         DW      SCRIPTLB
  775.         DW      fLC ;куда идти после ролика
  776. fLC     DB      "LEVC"
  777.         DW      SCRIPTLC
  778.         DW      fLD
  779. fLD     DB      "LEVD"
  780.         DW      SCRIPTLD
  781.         DW      fLE ;куда идти после ролика
  782. fMD     DB      "MEVD"
  783.         DW      SCRIPTMD
  784.         DW      fLE ;куда идти после ролика
  785. fLE     DB      "LEVE"
  786.         DW      SCRIPTLE
  787.         DW      fLF ;куда идти после ролика
  788. fLF     DB      "LEVF"
  789.         DW      SCRIPTLF
  790.         DW      fLG
  791. fMF     DB      "MEVF"
  792.         DW      SCRIPTMF
  793.         DW      fLG
  794. fLG     DB      "LEVG"
  795.         DW      SCRIPTLG
  796.         DW      fINTRO ;куда идти после ролика
  797.  
  798. fL1D1
  799.         DB      "L1D1"
  800.         DW      SCRIPTL1D1
  801.         DW      fL1
  802. fL1D2 ;
  803.         DB      "L1D2"
  804.         DW      SCRIPTL1D1
  805.         DW      fM1
  806. fL1D3 ;
  807.         DB      "L1D3"
  808.         DW      SCRIPTL1D1
  809.         DW      fL1
  810. fL1D4 ;
  811.         DB      "L1D4"
  812.         DW      SCRIPTL1D1
  813.         DW      fL1
  814. fL1D5 ;
  815.         DB      "L1D5"
  816.         DW      SCRIPTL1D1
  817.         DW      fM1
  818. fL2D1
  819.         DB      "L2D1"
  820.         DW      SCRIPTL1D1
  821.         DW      fL2
  822. fL2D2 ;
  823.         DB      "L2D2"
  824.         DW      SCRIPTL1D1
  825.         DW      fL2
  826. fL2D3 ;
  827.         DB      "L2D3"
  828.         DW      SCRIPTL1D1
  829.         DW      fL2
  830. fL2D4 ;
  831.         DB      "L2D4"
  832.         DW      SCRIPTL1D1
  833.         DW      fL2
  834. fL2D5 ;
  835.         DB      "L2D5"
  836.         DW      SCRIPTL1D1
  837.         DW      fL2
  838. fL2D6 ;
  839.         DB      "L2D6"
  840.         DW      SCRIPTL1D1
  841.         DW      fL2
  842. fL3D1
  843.         DB      "L3D1"
  844.         DW      SCRIPTL1D1
  845.         DW      fL3
  846. fL3D2 ;
  847.         DB      "L3D2"
  848.         DW      SCRIPTL1D1
  849.         DW      fL3
  850. fL3D3 ;
  851.         DB      "L3D3"
  852.         DW      SCRIPTL1D1
  853.         DW      fM3
  854. fL3D4 ;
  855.         DB      "L3D4"
  856.         DW      SCRIPTL1D1
  857.         DW      fL3
  858. fL3D5 ;
  859.         DB      "L3D5"
  860.         DW      SCRIPTL1D1
  861.         DW      fM3
  862. fL3D6 ;
  863.         DB      "L3D6"
  864.         DW      SCRIPTL1D1
  865.         DW      fM3
  866. fL3D7 ;
  867.         DB      "L3D7"
  868.         DW      SCRIPTL1D1
  869.         DW      fL3
  870. fL3D8 ;
  871.         DB      "L3D8"
  872.         DW      SCRIPTL1D1
  873.         DW      fL3
  874. fL3D9 ;
  875.         DB      "L3D9"
  876.         DW      SCRIPTL1D1
  877.         DW      fM3
  878. fL3DA ;
  879.         DB      "L3DA"
  880.         DW      SCRIPTL1D1
  881.         DW      fM3
  882. fL4D1
  883.         DB      "L4D1"
  884.         DW      SCRIPTL1D1
  885.         DW      fL4
  886. fL4D2 ;
  887.         DB      "L4D2"
  888.         DW      SCRIPTL1D1
  889.         DW      fL4
  890. fL5D1
  891.         DB      "L5D1"
  892.         DW      SCRIPTL1D1
  893.         DW      fL5
  894. fL5D2 ;
  895.         DB      "L5D2"
  896.         DW      SCRIPTL1D1
  897.         DW      fL5
  898. fL5D3 ;
  899.         DB      "L5D3"
  900.         DW      SCRIPTL1D1
  901.         DW      fL5
  902. fL6D1
  903.         DB      "L6D1"
  904.         DW      SCRIPTL1D1
  905.         DW      fL6
  906. fL6D2 ;
  907.         DB      "L6D2"
  908.         DW      SCRIPTL1D1
  909.         DW      fM6
  910. fL6D3 ;
  911.         DB      "L6D3"
  912.         DW      SCRIPTL1D1
  913.         DW      fL6
  914. fL6D4 ;
  915.         DB      "L6D4"
  916.         DW      SCRIPTL1D1
  917.         DW      fM6
  918. fL6D5 ;
  919.         DB      "L6D5"
  920.         DW      SCRIPTL1D1
  921.         DW      fM6
  922. fL6D6 ;
  923.         DB      "L6D6"
  924.         DW      SCRIPTL1D1
  925.         DW      fL6
  926. fL6D7 ;
  927.         DB      "L6D7"
  928.         DW      SCRIPTL1D1
  929.         DW      fL6
  930. fL6D8 ;
  931.         DB      "L6D8"
  932.         DW      SCRIPTL1D1
  933.         DW      fM6
  934. fL6D9 ;
  935.         DB      "L6D9"
  936.         DW      SCRIPTL1D1
  937.         DW      fL6
  938. fL7D1
  939.         DB      "L7D1"
  940.         DW      SCRIPTL1D1
  941.         DW      fL7
  942. fL7D2 ;
  943.         DB      "L7D2"
  944.         DW      SCRIPTL1D1
  945.         DW      fL7
  946. fL8D1
  947.         DB      "L8D1"
  948.         DW      SCRIPTL1D1
  949.         DW      fL8
  950. fL8D2 ;
  951.         DB      "L8D2"
  952.         DW      SCRIPTL1D1
  953.         DW      fL8
  954. fL8D3 ;
  955.         DB      "L8D3"
  956.         DW      SCRIPTL1D1
  957.         DW      fL8
  958. fL8D4 ;
  959.         DB      "L8D4"
  960.         DW      SCRIPTL1D1
  961.         DW      fL8
  962. fL8D5 ;
  963.         DB      "L8D5"
  964.         DW      SCRIPTL1D1
  965.         DW      fL8
  966. fL8D6 ;
  967.         DB      "L8D6"
  968.         DW      SCRIPTL1D1
  969.         DW      fL8
  970. fL8D7 ;
  971.         DB      "L8D7"
  972.         DW      SCRIPTL1D1
  973.         DW      fL8
  974. fL8D8 ;
  975.         DB      "L8D8"
  976.         DW      SCRIPTL1D1
  977.         DW      fL8
  978. fL9D1
  979.         DB      "L9D1"
  980.         DW      SCRIPTL1D1
  981.         DW      fM9
  982. fL9D2 ;
  983.         DB      "L9D2"
  984.         DW      SCRIPTL1D1
  985.         DW      fL9
  986. fL9D3 ;
  987.         DB      "L9D3"
  988.         DW      SCRIPTL1D1
  989.         DW      fL9
  990. fL9D4 ;
  991.         DB      "L9D4"
  992.         DW      SCRIPTL1D1
  993.         DW      fM9
  994. fL9D5 ;
  995.         DB      "L9D5"
  996.         DW      SCRIPTL1D1
  997.         DW      fM9
  998. fL9D6 ;
  999.         DB      "L9D6"
  1000.         DW      SCRIPTL1D1
  1001.         DW      fL9
  1002. fL9D7 ;
  1003.         DB      "L9D7"
  1004.         DW      SCRIPTL1D1
  1005.         DW      fM9
  1006. fL9D8 ;
  1007.         DB      "L9D8"
  1008.         DW      SCRIPTL1D1
  1009.         DW      fL9
  1010. fL9D9 ;
  1011.         DB      "L9D9"
  1012.         DW      SCRIPTL1D1
  1013.         DW      fM9
  1014. fL9DA ;
  1015.         DB      "L9DA"
  1016.         DW      SCRIPTL1D1
  1017.         DW      fL9
  1018. fL9DB ;
  1019.         DB      "L9DB"
  1020.         DW      SCRIPTL1D1
  1021.         DW      fL9
  1022. fL9DC ;
  1023.         DB      "L9DC"
  1024.         DW      SCRIPTL1D1
  1025.         DW      fM9
  1026. fLAD1
  1027.         DB      "LAD1"
  1028.         DW      SCRIPTL1D1
  1029.         DW      fMA
  1030. fLAD2 ;
  1031.         DB      "LAD2"
  1032.         DW      SCRIPTL1D1
  1033.         DW      fLA
  1034. fLAD3 ;
  1035.         DB      "LAD3"
  1036.         DW      SCRIPTL1D1
  1037.         DW      fLA
  1038. fLAD4 ;
  1039.         DB      "LAD4"
  1040.         DW      SCRIPTL1D1
  1041.         DW      fMA
  1042. fLAD5 ;
  1043.         DB      "LAD5"
  1044.         DW      SCRIPTL1D1
  1045.         DW      fMA
  1046. fLAD6 ;
  1047.         DB      "LAD6"
  1048.         DW      SCRIPTL1D1
  1049.         DW      fLA
  1050. fLAD7 ;
  1051.         DB      "LAD7"
  1052.         DW      SCRIPTL1D1
  1053.         DW      fMA
  1054. fLAD8 ;
  1055.         DB      "LAD8"
  1056.         DW      SCRIPTL1D1
  1057.         DW      fLA
  1058. fLBD1
  1059.         DB      "LBD1"
  1060.         DW      SCRIPTL1D1
  1061.         DW      fLB
  1062. fLBD2 ;
  1063.         DB      "LBD2"
  1064.         DW      SCRIPTL1D1
  1065.         DW      fLB
  1066. fLBD3 ;
  1067.         DB      "LBD3"
  1068.         DW      SCRIPTL1D1
  1069.         DW      fLB
  1070. fLBD4 ;
  1071.         DB      "LBD4"
  1072.         DW      SCRIPTL1D1
  1073.         DW      fLB
  1074. fLBD5 ;
  1075.         DB      "LBD5"
  1076.         DW      SCRIPTL1D1
  1077.         DW      fLB
  1078. fLBD6 ;
  1079.         DB      "LBD6"
  1080.         DW      SCRIPTL1D1
  1081.         DW      fLB
  1082. fLBD7 ;
  1083.         DB      "LBD7"
  1084.         DW      SCRIPTL1D1
  1085.         DW      fLB
  1086. fLCD1
  1087.         DB      "LCD1"
  1088.         DW      SCRIPTL1D1
  1089.         DW      fLC
  1090. fLCD2 ;
  1091.         DB      "LCD2"
  1092.         DW      SCRIPTL1D1
  1093.         DW      fLC
  1094. fLCD3 ;
  1095.         DB      "LCD3"
  1096.         DW      SCRIPTL1D1
  1097.         DW      fLC
  1098. fLCD4 ;
  1099.         DB      "LCD4"
  1100.         DW      SCRIPTL1D1
  1101.         DW      fLC
  1102. fLCD5 ;
  1103.         DB      "LCD5"
  1104.         DW      SCRIPTL1D1
  1105.         DW      fLC
  1106. fLCD6 ;
  1107.         DB      "LCD6"
  1108.         DW      SCRIPTL1D1
  1109.         DW      fLC
  1110. fLCD7 ;
  1111.         DB      "LCD7"
  1112.         DW      SCRIPTL1D1
  1113.         DW      fLC
  1114. fLCD8 ;
  1115.         DB      "LCD8"
  1116.         DW      SCRIPTL1D1
  1117.         DW      fLC
  1118. fLCD9 ;
  1119.         DB      "LCD9"
  1120.         DW      SCRIPTL1D1
  1121.         DW      fLC
  1122. fLDD1
  1123.         DB      "LDD1"
  1124.         DW      SCRIPTL1D1
  1125.         DW      fLD
  1126. fLDD2 ;
  1127.         DB      "LDD2"
  1128.         DW      SCRIPTL1D1
  1129.         DW      fMD
  1130. fLDD3 ;
  1131.         DB      "LDD3"
  1132.         DW      SCRIPTL1D1
  1133.         DW      fLD
  1134. fLDD4 ;
  1135.         DB      "LDD4"
  1136.         DW      SCRIPTL1D1
  1137.         DW      fLD
  1138. fLDD5 ;
  1139.         DB      "LDD5"
  1140.         DW      SCRIPTL1D1
  1141.         DW      fMD
  1142. fLDD6 ;
  1143.         DB      "LDD6"
  1144.         DW      SCRIPTL1D1
  1145.         DW      fMD
  1146. fLDD7 ;
  1147.         DB      "LDD7"
  1148.         DW      SCRIPTL1D1
  1149.         DW      fLD
  1150. fLDD8 ;
  1151.         DB      "LDD8"
  1152.         DW      SCRIPTL1D1
  1153.         DW      fMD
  1154. fLDD9 ;
  1155.         DB      "LDD9"
  1156.         DW      SCRIPTL1D1
  1157.         DW      fLD
  1158. fLED1
  1159.         DB      "LED1"
  1160.         DW      SCRIPTL1D1
  1161.         DW      fLE
  1162. fLED2 ;
  1163.         DB      "LED2"
  1164.         DW      SCRIPTL1D1
  1165.         DW      fLE
  1166. fLED3 ;
  1167.         DB      "LED3"
  1168.         DW      SCRIPTL1D1
  1169.         DW      fLE
  1170. fLED4 ;
  1171.         DB      "LED4"
  1172.         DW      SCRIPTL1D1
  1173.         DW      fLE
  1174. fLED5 ;
  1175.         DB      "LED5"
  1176.         DW      SCRIPTL1D1
  1177.         DW      fLE
  1178. fLED6 ;
  1179.         DB      "LED6"
  1180.         DW      SCRIPTL1D1
  1181.         DW      fLE
  1182. fLED7 ;
  1183.         DB      "LED7"
  1184.         DW      SCRIPTL1D1
  1185.         DW      fLE
  1186. fLED8 ;
  1187.         DB      "LED8"
  1188.         DW      SCRIPTL1D1
  1189.         DW      fLE
  1190. fLED9 ;
  1191.         DB      "LED9"
  1192.         DW      SCRIPTL1D1
  1193.         DW      fLE
  1194. fLFD1
  1195.         DB      "LFD1"
  1196.         DW      SCRIPTL1D1
  1197.         DW      fMF
  1198. fLFD2 ;
  1199.         DB      "LFD2"
  1200.         DW      SCRIPTL1D1
  1201.         DW      fMF
  1202. fLFD3 ;
  1203.         DB      "LFD3"
  1204.         DW      SCRIPTL1D1
  1205.         DW      fLF
  1206. fLFD4 ;
  1207.         DB      "LFD4"
  1208.         DW      SCRIPTL1D1
  1209.         DW      fMF
  1210. fLFD5 ;
  1211.         DB      "LFD5"
  1212.         DW      SCRIPTL1D1
  1213.         DW      fLF
  1214. fLFD6 ;
  1215.         DB      "LFD6"
  1216.         DW      SCRIPTL1D1
  1217.         DW      fLF
  1218. fLGD1
  1219.         DB      "LGD1"
  1220.         DW      SCRIPTL1D1
  1221.         DW      fLG
  1222. fLGD2 ;
  1223.         DB      "LGD2"
  1224.         DW      SCRIPTL1D1
  1225.         DW      fLG
  1226. fLGD3 ;
  1227.         DB      "LGD3"
  1228.         DW      SCRIPTL1D1
  1229.         DW      fLG
  1230. fLGD4 ;
  1231.         DB      "LGD4"
  1232.         DW      SCRIPTL1D1
  1233.         DW      fLG
  1234. fLGD5 ;
  1235.         DB      "LGD5"
  1236.         DW      SCRIPTL1D1
  1237.         DW      fLG
  1238. fLGD6 ;
  1239.         DB      "LGD6"
  1240.         DW      SCRIPTL1D1
  1241.         DW      fLG
  1242. fLGD7 ;
  1243.         DB      "LGD7"
  1244.         DW      SCRIPTL1D1
  1245.         DW      fLG
  1246. fLGD8 ;
  1247.         DB      "LGD8"
  1248.         DW      SCRIPTL1D1
  1249.         DW      fLG
  1250. fPENT
  1251.         DB      "PENT"
  1252.         DW      SCRIPTL1D1
  1253.         DW      fLG
  1254. ENDFILES
  1255.  
  1256. TTIMESTOP2
  1257.         DW      TVYST
  1258.         DW      TUVERN
  1259.         DW      TPLYT
  1260. TTIMESTOP2END
  1261.         DW      fL2D5
  1262.         DW      fL2D6
  1263.         DW      0
  1264. TTIMESTOP3
  1265.         DW      TVYSTV
  1266.         DW      TPOIMV
  1267.         DW      TPEREV
  1268. TTIMESTOP3END
  1269.         DW      fL3D8
  1270.         DW      fL3D9
  1271.         DW      0
  1272. TTIMESTOP8
  1273.         DW      TVLODK
  1274.         DW      TVVODU
  1275.         DW      TNAKOR
  1276. TTIMESTOP8END
  1277.         DW      fL8D7
  1278.         DW      fL8D8
  1279.         DW      0
  1280. TTIMESTOP9
  1281.         DW      TNAKOR
  1282.         DW      TMOLIT
  1283.         DW      TVVODU
  1284. TTIMESTOP9END
  1285.         DW      fL9DB
  1286.         DW      fL9DC
  1287.         DW      0
  1288. TTIMESTOPA
  1289.         DW      TLEZTX
  1290.         DW      TSPRYG
  1291.         DW      TVERTO
  1292. TTIMESTOPAEND
  1293.         DW      fLAD7
  1294.         DW      fLAD8
  1295.         DW      0
  1296. TTIMESTOPB
  1297.         DW      TSVERN
  1298.         DW      TRAZVE
  1299.         DW      TPODCI
  1300. TTIMESTOPBEND
  1301.         DW      fLBD6
  1302.         DW      fLBD7
  1303.         DW      0
  1304. TTIMESTOPD
  1305.         DW      TSTREL
  1306.         DW      TSPRYG
  1307.         DW      TPODPR
  1308. TTIMESTOPDEND
  1309.         DW      fLDD8
  1310.         DW      fLDD9
  1311.         DW      0
  1312. TTIMESTOPE
  1313.         DW      TPRYGN
  1314.         DW      TSTRPO
  1315.         DW      TNAZHA
  1316. TTIMESTOPEEND
  1317.         DW      fLED8
  1318.         DW      fLED9
  1319.         DW      0
  1320.  
  1321. TVYST   DB      "     ВЫСТРЕЛИТЬ     ",0
  1322. TUVERN  DB      "     УВЕРНУТЬСЯ     ",0
  1323. TPLYT   DB      "    ПЛЫТЬ ВВЕРХ     ",0
  1324.  
  1325. TVYSTV  DB      "ВЫСТРЕЛИТЬ ВО ВРАГОВ",0
  1326. TPOIMV  DB      "ПОЙМАТЬ ВРАГОВ СЕТЬЮ",0
  1327. TPEREV  DB      "ПЕРЕПРЫГНУТЬ ВРАГОВ ",0
  1328.  
  1329. TVLODK  DB      "  ПРЫГНУТЬ В ЛОДКУ  ",0
  1330. TVVODU  DB      "  ПРЫГНУТЬ В ВОДУ   ",0
  1331. TNAKOR  DB      "ПРЫГНУТЬ НА КОРАБЛЬ ",0
  1332.  
  1333. TMOLIT  DB      "      МОЛИТЬСЯ      ",0
  1334.  
  1335. TLEZTX  DB      "    ЛЕЗТЬ ВВЕРХ     ",0
  1336. TSPRYG  DB      "   СПРЫГНУТЬ ВНИЗ   ",0
  1337. TVERTO  DB      "ПРЫГНУТЬ НА ВЕРТОЛЕТ",0
  1338.  
  1339. TSVERN  DB      " СВЕРНУТЬ В СТОРОНУ ",0
  1340. TRAZVE  DB      "    РАЗВЕРНУТЬСЯ    ",0
  1341. TPODCI  DB      "ЕХАТЬ ПОД ЦИСТЕРНОЙ ",0
  1342.  
  1343. TSTREL  DB      " СТРЕЛЯТЬ В РОБОТА  ",0
  1344. TPODPR  DB      " ПОДПРЫГНУТЬ ВВЕРХ  ",0
  1345.  
  1346. TPRYGN  DB      "   ПРЫГНУТЬ ВВЕРХ   ",0
  1347. TSTRPO  DB      " СТРЕЛЯТЬ ПО ВРАГАМ ",0
  1348. TNAZHA  DB      "НАЖАТЬ КНОПКУ ШЛЮЗА ",0
  1349.  
  1350. TSPACES DB      "                    ",0
  1351.  
  1352.