?login_element?

Subversion Repositories NedoOS

Rev

Rev 418 | Blame | Compare with Previous | Last modification | View Log | Download

  1. ;---Развевающийся Флаг
  2.  
  3. bFLAG   ;DI
  4.         LD A,1
  5.         OUT (#FE),A
  6.         CALL MEM7
  7.         LD DE,SCR
  8.         LD HL,CROW+2
  9.         CALL DELPZ
  10.         CALL SW7 ;изначально видим ворону
  11.         LD A,3
  12.         CALL MEM
  13.         LD HL,PIKE+2
  14.         LD DE,DSCR
  15.         CALL DELPZ
  16.         CALL MEM0
  17.         CALL MUS
  18.         CALL COLOR
  19.         LD BC,824
  20.         ;Развевающийся Флаг
  21. fSS1    CALL PRESS
  22.         PUSH BC
  23.         ;EI
  24.         ;HALT
  25.         ;DI
  26.         YIELD
  27.         CALL MUS+6
  28.         POP BC
  29.         DEC BC
  30.         LD A,C
  31.         OR B
  32.         JR NZ,fSS1
  33.         ;
  34.         CALL SW5 ;теперь видим флаг
  35. fSS2    CALL PRESS
  36.         CALL fLDIR
  37.         XOR A
  38.         OUT (#FE),A
  39.         CALL MEM0
  40.         CALL MUS+6
  41.         JR fSS2
  42.  
  43. fFRAME  DEFB 0 ; (#кадра - 1..9)
  44. fFDELY  DEFB 0 ;задержка
  45. fLDIR   LD HL,fFDELY
  46.         INC (HL)
  47.         LD A,(HL)
  48.         CP 3
  49.         LD A,(fFRAME)
  50.         JR C,fMM1
  51.         LD (HL),0
  52.         DEC HL
  53.         INC (HL)
  54.         LD A,(HL)
  55.         CP 9
  56.         JR C,fMM1
  57.         XOR A
  58.         LD (HL),A
  59. fMM1    CP 5
  60.         JR C,fMM2
  61.         SUB 5
  62.         PUSH AF
  63.         LD A,4
  64.         JR fMM3
  65. fMM2    PUSH AF
  66.         LD A,3
  67. fMM3    CALL MEM
  68.         POP AF
  69.         LD HL,#C000
  70.         OR A
  71.         JR Z,fMM4
  72.         LD DE,2560
  73. fMM5    ADD HL,DE
  74.         DEC A
  75.         JR NZ,fMM5
  76. fMM4    ;
  77.         LD DE,#4049
  78.         EXX
  79.         LD B,127
  80.         LD A,(fFRAME)
  81.         DEC A
  82.         AND %11110
  83.         CP 6
  84.         LD A,#68
  85.         JR NZ,fMM22
  86.         LD A,#78
  87. fMM22   ;EI
  88.         ;HALT
  89.         ;DI
  90.         push af
  91.         push bc
  92.         push de
  93.         push hl
  94.         exx
  95.         push bc
  96.         push de
  97.         push hl
  98.         YIELD
  99.         pop hl
  100.         pop de
  101.         pop bc
  102.         exx
  103.         pop hl
  104.         pop de
  105.         pop bc
  106.         pop af
  107.         LD (#5800+124),A
  108. fEM0    EXX
  109.         LDI
  110.         LDI
  111.         LDI
  112.         LDI
  113.         LDI;
  114.         LDI
  115.         LDI
  116.         LDI
  117.         LDI
  118.         LDI;
  119.         LDI
  120.         LDI
  121.         LDI
  122.         LDI
  123.         LDI;
  124.         LDI
  125.         LDI
  126.         LDI
  127.         LDI
  128.         LDI;
  129.         LD A,E
  130.         SUB 20
  131.         LD E,A
  132.         INC D
  133.         LD A,D
  134.         AND 7
  135.         JP NZ,fEM1
  136.         LD A,E
  137.         ADD A,32
  138.         LD E,A
  139.         JR C,fEM1
  140.         LD A,D
  141.         SUB 8
  142.         LD D,A
  143. fEM1    EXX
  144.         DJNZ fEM0
  145.         RET
  146.  
  147. PRESS   ;нажатие клавиши 1-2-3
  148.         if 1==0
  149.         PUSH BC
  150.         LD BC,#F7FE
  151.         IN A,(C)
  152.         POP BC
  153.         CPL
  154.         AND 7
  155.         OR A
  156.         RET Z
  157.         LD E,1
  158.         RRA
  159.         JR C,PRE1
  160.         INC E
  161.         RRA
  162.         JR C,PRE1
  163.         INC E
  164. PRE1    LD A,E
  165.         PUSH AF
  166.         CALL MUS+9 ;stop muz
  167.         POP AF
  168.         CP 2
  169.         JP C,bFLICK
  170.         ;JP Z,bGAME
  171.         CALL OFFS
  172.         JP bINSTR
  173.         else
  174.          push bc
  175.          GET_KEY
  176.          pop bc
  177.          or a
  178.          ret z
  179.         PUSH AF
  180.         CALL MUS+9 ;stop muz
  181.         POP AF
  182.          cp key_esc
  183.          jr z,press_quit
  184.          cp '1'
  185.          jp z,bFLICK
  186.         CALL OFFS
  187. curpginstr=$+1
  188.         ld a,0
  189.         SETPG16K
  190.         ;jr $
  191.         JP bINSTR
  192. press_quit
  193.         QUIT        
  194.         endif
  195.  
  196. COLOR   ;раскр флага
  197.         CALL STD
  198.         LD HL,0
  199.         LD BC,#1820
  200.         LD E,#78
  201.         CALL ATRBAR
  202.         LD BC,#404
  203.         LD E,#68
  204.         CALL ATRBAR
  205.         LD L,28
  206.         CALL ATRBAR
  207.         LD H,20
  208.         CALL ATRBAR
  209.         LD L,0
  210.         CALL ATRBAR
  211.         LD HL,8
  212.         LD BC,#1801
  213.         LD E,#30
  214.         CALL ATRBAR
  215.         LD BC,#202
  216.         LD E,#70
  217.         CALL ATRBAR
  218.         LD HL,#1609
  219.         LD C,15
  220.         LD E,#50
  221.         CALL ATRBAR
  222.         LD BC,#605
  223.         LD HL,#900
  224.         LD E,#38
  225.         CALL ATRBAR
  226.         LD HL,#1202
  227.         LD BC,#41D
  228.         LD E,#78
  229.         JP ATRBAR
  230.  
  231. ;-----W_GrLib--for intro---------------
  232. PUTsHL  DEFW 0
  233. SCRADR  DEFB SCR/256
  234. ATRADR  DEFB #D8
  235. FONT    DEFW FFONT
  236.  
  237. PCOORD  LD      A,D ;de(0-191,0-255) -- hl
  238.         RRCA
  239.         RRCA
  240.         RRCA
  241.         LD      L,A
  242.         AND     %00011000
  243.         LD      H,A
  244.         LD      A,D
  245.         AND     %00000111
  246.         ADD     A,H
  247.         LD      H,A
  248.         LD      A,(SCRADR)
  249.         ADD     A,H
  250.         LD      H,A
  251.         LD      A,L
  252.         LD      L,E
  253.         RRA
  254.         RR      L
  255.         RRA
  256.         RR      L
  257.         RRA
  258.         RR      L
  259.         RET
  260.  
  261.  
  262. SCOORD  LD      A,(SCRADR) ;de(0-23,0-31)--hl
  263.         ADD     A,D
  264.         AND     %11111000
  265.         LD      H,A
  266.         LD      A,D
  267.         RRCA
  268.         RRCA
  269.         RRCA
  270.         AND     %11100000
  271.         OR      E
  272.         LD      L,A
  273.         RET
  274.  
  275. STD     LD      A,DSCR/256 ;выбор тенев.экрана
  276.         JR      SELSCR
  277. STS     LD      A,SCR/256 ;выб.осн.экр
  278. SELSCR  LD      (SCRADR),A ;A-screen address
  279.         ADD     A,#18
  280.         LD      (ATRADR),A; A-attr address
  281.         RET
  282.  
  283. ACOORD  LD A,L ;коорд атр HL->HL
  284.         RLA
  285.         RLA
  286.         RLA
  287.         SRL H
  288.         RRA
  289.         SRL H
  290.         RRA
  291.         SRL H
  292.         RRA
  293.         LD L,A
  294.         LD A,(ATRADR)
  295.         ADD A,H
  296.         LD H,A
  297.         RET
  298.  
  299. ATRBAR  ;HL - adr in scr; BC-size(yx) ;E-COLOR
  300.         PUSHs
  301.         CALL ACOORD
  302. ATRBA0  LD D,L
  303.         LD A,C
  304. ATRBA1  LD (HL),E
  305.         INC L
  306.         DEC A
  307.         JR NZ,ATRBA1
  308.         LD A,D
  309.         ADD A,32
  310.         LD L,A
  311.         JR NC,ATRBA2
  312.         INC H
  313. ATRBA2  DJNZ ATRBA0
  314.         POPs
  315.         RET
  316.  
  317. PRINT   ;печать символа А в поз DE(yx)
  318.         PUSHs
  319.         LD C,A
  320.         CALL SCOORD
  321.         EX DE,HL
  322.         LD A,C
  323.         ADD A,A
  324.         LD BC,(FONT)
  325.         LD L,A
  326.         LD H,0
  327.         ADD HL,HL
  328.         ADD HL,HL
  329.         ADD HL,BC
  330.         LD A,(HL)
  331.         LD (DE),A
  332.         INC HL
  333.         INC D
  334.         LD A,(HL)
  335.         LD (DE),A
  336.         INC HL
  337.         INC D
  338.         LD A,(HL)
  339.         LD (DE),A
  340.         INC HL
  341.         INC D
  342.         LD A,(HL)
  343.         LD (DE),A
  344.         INC HL
  345.         INC D
  346.         LD A,(HL)
  347.         LD (DE),A
  348.         INC HL
  349.         INC D
  350.         LD A,(HL)
  351.         LD (DE),A
  352.         INC HL
  353.         INC D
  354.         LD A,(HL)
  355.         LD (DE),A
  356.         INC HL
  357.         INC D
  358.         LD A,(HL)
  359.         LD (DE),A
  360.         INC HL
  361.         INC D
  362.         POPs
  363.         INC E
  364.         RET
  365.  
  366. ;-------------------------
  367. ;---МУЛЬТФИЛЬМ------------
  368. MUSj45  EQU 43700
  369.  
  370. bFLICK  ;DI
  371.         LD A,0;6
  372.         OUT (#FE),A
  373.         LD A,R
  374.         LD (RNB),A
  375.         ;CALL SW70 ;CALL SW7:JP MEM0 ;в 4000+
  376.          call SW7
  377.          call MEM0
  378.         LD HL,WIN+2
  379.         LD DE,#4000
  380.         CALL DELPZ
  381.         CALL STD
  382.         LD HL,0
  383.         ;ОКРАС
  384.         LD BC,#1820
  385.         LD E,#30
  386.         CALL ATRBAR
  387.         LD L,2
  388.         LD BC,#41C
  389.         LD E,#70
  390.         CALL ATRBAR
  391.         LD HL,#501
  392.         LD BC,#120E
  393.         LD E,#68
  394.         CALL ATRBAR
  395.         INC C
  396.         LD L,#10
  397.         LD E,#71
  398.         CALL ATRBAR
  399.         LD DE,TITRES
  400.         LD HL,WFTXT+2
  401.         CALL DELPZ
  402.         CALL MEM7
  403.         LD DE,MUSj45
  404.         LD HL,J45LPZ+2
  405.         CALL DELPZ
  406.         CALL MUSj45
  407.         CALL SW5
  408.         CALL MEM0
  409.          ;jr $
  410.          ;сейчас в 4000..7fff экранная страница 5
  411.         ;
  412. fREP    LD A,-3
  413.         LD (fBLOCK),A
  414.         LD HL,TITRES-416
  415.         LD (TITadr),HL
  416.         CALL LOAD_M
  417.         CALL PL0
  418.         CALL LOAD_M
  419.         CALL PL1
  420.         CALL LOAD_M
  421.         CALL PL2
  422.         CALL LOAD_M
  423.         CALL PL3
  424.         CALL LOAD_M
  425.         CALL PL4
  426.         CALL LOAD_M
  427.         CALL PL5
  428.         JR fREP
  429.  
  430. fCOUNT  DEFB 0 ;счётчик кадровх16
  431.  
  432. pF      LD HL,fCOUNT
  433.         LD (HL),A
  434. pF0     PUSH HL
  435.         CALL FRWRD
  436.         POP HL
  437.         LD A,(#5800)
  438.         CP #30
  439.         JR NZ,pF0
  440.         DEC (HL)
  441.         JR NZ,pF0
  442.         RET
  443.  
  444.  
  445. pFtt    DEFB 0,3,0,6,6,0,3,0, 0,0,0,6,0,3,0,0
  446.         DEFB 6,0,0,0,3,3,0,3, 0,3,0,6,0,0,6,0
  447.  
  448. pFtcnt  DEFB 0
  449.  
  450. pFrr    LD HL,fCOUNT ;для doom
  451.         LD (HL),A
  452. pFr0    PUSH HL
  453.         LD A,(pFtcnt)
  454.         INC A
  455.         AND #1F
  456.         LD (pFtcnt),A
  457.         LD HL,pFtt
  458.         CALL BA
  459.         LD (P_ANI),A
  460.         CALL FRWRD
  461.         POP HL
  462.         LD A,(#5800)
  463.         CP #30
  464.         JR NZ,pFr0
  465.         DEC (HL)
  466.         JR NZ,pFr0
  467.         RET
  468.  
  469. fLAST4  DEFB 0 ;(огранич.4х кадров)
  470. pF4     LD HL,fCOUNT
  471.         LD (HL),A
  472.         LD A,C
  473.         LD (fLAST4),A
  474. pF40    PUSH HL
  475.         CALL FRWRD4
  476.         POP HL
  477.         LD A,(#5800)
  478.         CP #30
  479.         JR NZ,pF40
  480.         DEC (HL)
  481.         JR NZ,pF40
  482.         RET
  483.  
  484. pFB     LD HL,fCOUNT
  485.         LD (HL),A
  486. pFB0    PUSH HL
  487.         CALL FRWRD
  488.         CALL BCKWRD
  489.         POP HL
  490.         LD A,(#5800)
  491.         CP #30
  492.         JR NZ,pFB0
  493.         DEC (HL)
  494.         JR NZ,pFB0
  495.         RET
  496.  
  497. pBF     LD HL,fCOUNT
  498.         LD (HL),A
  499. pBF0    PUSH HL
  500.         CALL BCKWRD
  501.         CALL FRWRD
  502.         POP HL
  503.         LD A,(#5800)
  504.         CP #30
  505.         JR NZ,pBF0
  506.         DEC (HL)
  507.         JR NZ,pBF0
  508.         RET
  509.  
  510. PL0     XOR A ;&&copper feet
  511.         CALL fSET
  512.         LD A,12
  513.         CALL pFB
  514.         LD A,1 ;&&monitors
  515.         CALL fSET
  516.          LD HL,450
  517.          LD (TITtim),HL
  518.         LD A,21
  519.         CALL pF
  520.         LD A,2 ;&&river
  521.         CALL fSET
  522.         LD A,35
  523.         CALL pF
  524.         JP offVID
  525.  
  526. PL1     XOR A
  527.         CALL fSET
  528.         LD A,43
  529.         CALL pF
  530.         LD A,1 ;
  531.         CALL fSET
  532.         LD A,42
  533.         CALL pF
  534.         LD A,2 ;&&
  535.         CALL fSET
  536.         LD A,26
  537.         CALL pFB
  538.         JP offVID
  539.  
  540. PL2     XOR A ;&&
  541.         CALL fSET
  542.         LD A,20
  543.         CALL pBF
  544.         LD A,1 ;&&
  545.         CALL fSET
  546.         LD A,34
  547.         CALL pF
  548.         LD A,2 ;&&
  549.         CALL fSET
  550.         LD A,17
  551.         CALL pFB
  552.         CALL MUSj45
  553.         JP offVID
  554.  
  555. tDEL    ;время задержки
  556.         DEFB 4,3,3, 3,3,2
  557.         DEFB 3,4,3, 3,3,4
  558.         DEFB 3,3,2, 4
  559.  
  560. PL3     XOR A ;&&
  561.         CALL fSET
  562.         LD A,26
  563.         CALL pF
  564.         LD A,1 ;&&
  565.         CALL fSET
  566.         LD A,28
  567.         CALL pF
  568.         LD A,2 ;&&
  569.         CALL fSET
  570.         LD A,25
  571.         CALL pF
  572.         JP offVID
  573.  
  574. PL4     XOR A ;&&
  575.         CALL fSET
  576.         LD A,32
  577.         CALL pF
  578.         LD A,1 ;&&катап
  579.         CALL fSET
  580.          LD A,84
  581.          LD C,4
  582.          CALL pF4
  583.          LD A,1
  584.          LD C,8
  585.          CALL pF4
  586.          LD A,1
  587.          LD C,12
  588.          CALL pF4
  589.          LD A,44
  590.          LD C,16
  591.          CALL pF4
  592.         LD A,2 ;&&
  593.         CALL fSET
  594.         LD A,84
  595.         CALL pF
  596.         CALL MUSj45
  597.         JP offVID
  598.  
  599. PL5     XOR A ;&&
  600.         CALL fSET
  601.         LD A,23
  602.         CALL pF
  603.         CALL fStt
  604.         LD A,14
  605.         CALL pFrr
  606.         LD A,3
  607.         LD (DL_ANI),A
  608.         LD A,16
  609.         CALL pFrr
  610.         CALL fStt
  611.         LD A,2
  612.         LD (DL_ANI),A
  613.         LD A,18
  614.         CALL pFrr
  615.         LD A,1
  616.         LD (DL_ANI),A
  617.         LD A,32
  618.         CALL pFrr
  619.         CALL MUSj45
  620.         JP offVID
  621.  
  622.  
  623. fSET    ;уст нач парм аним A (0-2) из тек блока
  624.         LD E,A
  625.         ADD A,A
  626.         ADD A,E
  627.         LD (P_ANI),A
  628.         LD HL,(fBLOCK)
  629.         LD A,E
  630.         ADD A,L
  631.         LD E,A
  632.         LD HL,fCOLOR
  633.         CALL BA
  634.         LD (C_ANI),A
  635.         LD A,E
  636.         LD HL,tDEL
  637.         CALL BA
  638.         LD (DL_ANI),A
  639.         ;
  640.         XOR A
  641.         LD (FRAME),A
  642.         INC A
  643.         LD (FDELAY),A
  644.         CALL fINTRP
  645.         LD DE,(C_ANI)
  646.         CALL fS_
  647.         ;инит титров
  648. fStt    LD HL,(TITadr)
  649.         LD DE,416
  650.         ADD HL,DE
  651.         LD (TITadr),HL
  652.         XOR A
  653.         LD (TITad_),A
  654.         LD HL,800
  655.         LD (TITtim),HL
  656.         RET
  657.  
  658. quit
  659.         call MUSj45 ;init muz
  660.         QUIT
  661.  
  662. TITadr  DEFW TITRES ;текст титров
  663. TITad_  DEFB 0 ;+0,+208
  664. TITtim  DEFW 10 ;время показа
  665.  
  666. fS_     LD BC,#120E
  667.         LD HL,#501
  668.         JP ATRBAR
  669.  
  670. offVID  ;очистк межд блоками
  671.         ;;CALL MUSj45+9
  672.         LD E,0
  673.         JP fS_
  674.  
  675.  
  676. ;*************************
  677. P_ANI   DEFB 0 ;нач страница аним (0,3,6)
  678. DL_ANI  DEFB 4 ;задержка анимации
  679. C_ANI   DEFB #38 ;цвет
  680. ;*************************
  681.  
  682. FRAME   DEFB 0 ;(#кадра - 0..15)
  683. FDELAY  DEFB 0 ;задержка
  684.  
  685. fBLOCK  DEFB 0 ;блок анимации (0,3,6,9,12,15)
  686.  
  687. FRWRD4  LD B,4 ; 4 кадрa вперёд
  688. frw4    PUSH BC
  689.         LD A,(fLAST4)
  690.         SUB B
  691.         LD (FRAME),A
  692.         CALL LDIRER
  693.         POP BC
  694.         DJNZ frw4
  695.         RET
  696.  
  697. FRWRD   LD B,16 ; 16 кадров вперёд
  698. frw0    PUSH BC
  699.         LD A,16
  700.         SUB B
  701.         LD (FRAME),A
  702.         CALL LDIRER
  703.         POP BC
  704.         DJNZ frw0
  705.         RET
  706.  
  707. BCKWRD  LD B,16 ; 16 кадров вперёд
  708. bkw0    PUSH BC
  709.         LD A,B
  710.         DEC A
  711.         LD (FRAME),A
  712.         CALL LDIRER
  713.         POP BC
  714.         DJNZ bkw0
  715.         RET
  716.  
  717. LDIRER  ;один кадр
  718.         CALL fINTRP
  719.         LD HL,FDELAY
  720.         DEC (HL)
  721.         JR NZ,LDIRER
  722.         LD A,(DL_ANI)
  723.         LD (HL),A
  724.         ;
  725.         LD A,(FRAME) ;выв кадра A(0-15)
  726.         CP 8
  727.         LD E,A
  728.         JR C,LMM2
  729.         SUB 8
  730.         LD E,A
  731.         LD C,1
  732.         JR LMM3
  733. LMM2    LD C,0
  734. LMM3    LD A,(P_ANI)
  735.         ADD A,C
  736.         CALL MEM
  737.         LD A,E
  738.         LD HL,#C000
  739.         OR A
  740.         JR Z,LMM4
  741.         LD DE,2016
  742. LMM5    ADD HL,DE
  743.         DEC A
  744.         JR NZ,LMM5
  745. LMM4    ;
  746.         LD DE,#40A1
  747.         EXX
  748.         LD B,144
  749. LEM0    EXX
  750.         PUSH DE
  751.         LDI
  752.         LDI
  753.         LDI
  754.         LDI
  755.         LDI;
  756.         LDI
  757.         LDI
  758.         LDI
  759.         LDI
  760.         LDI;
  761.         LDI
  762.         LDI
  763.         LDI
  764.         LDI
  765.         POP DE
  766.         INC D
  767.         LD A,D
  768.         AND 7
  769.         JP NZ,LEM1
  770.         LD A,E
  771.         ADD A,32
  772.         LD E,A
  773.         JR C,LEM1
  774.         LD A,D
  775.         SUB 8
  776.         LD D,A
  777. LEM1    EXX
  778.         DJNZ LEM0
  779.        
  780.          GET_KEY
  781.          cp key_esc
  782.          jp z,quit
  783.        
  784.         RET
  785.  
  786. fINTRP  ;обработка im1
  787.         ;EI
  788.         HALT
  789.         ;DI
  790.         CALL MUSj45+6
  791.         CALL fTITR
  792.         JP fPRESS
  793.  
  794. Tpos    DEFB 0
  795. fTITR   ;выв текущ символа титров
  796.         LD B,6
  797. fQ0     LD HL,Tpos
  798.         LD A,7;(?)
  799.         ADD A,(HL)
  800.         CP 208
  801.         JR C,fQ1
  802.         SUB 208
  803. fQ1     LD (HL),A
  804.         LD C,A
  805.         AND #F
  806.         ADD A,6
  807.         LD D,A
  808.         LD A,C
  809.         RRCA
  810.         RRCA
  811.         RRCA
  812.         RRCA
  813.         AND #F
  814.         ADD A,17
  815.         LD E,A
  816.         LD A,C
  817.         LD HL,(TITadr)
  818.         CALL BA
  819.         LD A,(TITad_)
  820.         CALL BA
  821.         CALL PRINT
  822.         DJNZ fQ0
  823.         LD HL,(TITtim)
  824.         DEC HL
  825.         LD (TITtim),HL
  826.         LD A,L
  827.         OR H
  828.         RET NZ
  829.         LD A,208
  830.         LD (TITad_),A
  831.         RET
  832.  
  833.  
  834. fPRESS  ;обр нажатий
  835.         ;ss+N-next,ss+M-newerending loop,E-ret
  836.         LD BC,#7FFE
  837.         IN A,(C)
  838.         RRA
  839.         RRA
  840.         JR C,fPP1
  841.         RRA
  842.         JR C,fPPnx
  843. fPPR    LD A,(fRlock)
  844.         OR A
  845.         RET NZ
  846.         LD A,(#5800) ;%00110000/%00010000
  847.         XOR %00100000
  848.         LD L,A
  849.         LD H,A
  850.         LD (#5800),HL
  851.         LD (#5820),HL
  852.         LD (fRlock),A
  853.         RET
  854. fPPnx   RRA
  855.         RET C
  856.         LD A,1 ;next flik
  857.         LD (fCOUNT),A
  858.         RET
  859. fPP1    LD B,#FB
  860.         IN E,(C)
  861.         XOR A
  862.         LD (fRlock),A
  863.         BIT 2,E
  864.         RET NZ
  865.         CALL MUSj45+9
  866.         JP START
  867. fRlock  DEFB 0
  868.  
  869. fCOLOR  ;цвета фликов
  870.         DEFB #78,#7A,#60, #69,#38,#68
  871.         DEFB #71,#78,#70, #68,#79,#30
  872.         DEFB #70,#72,#78, #68
  873.  
  874. WIN     ;окно для флика
  875.         incbin "intro/winflick.lpz"
  876. RNA     DEFW 14
  877. RNB     DEFB 22
  878.  
  879. RND     PUSH    HL
  880.         LD      HL,(RNA)
  881.         INC     HL
  882.         LD      A,H
  883.         AND     #1F
  884.         LD      H,A
  885.         LD      A,(RNB)
  886.         RRCA
  887.         XOR     (HL)
  888.         ADD     A,L
  889.         LD      (RNA),HL
  890.         LD      (RNB),A
  891.         POP     HL
  892.         RET
  893.  
  894.  
  895. LOAD_M  ;загр блок мультиков: A
  896.          ;call MUSj45+9 ;чтобы музыка не шипела - бесполезно, шум прописан прямо в музыке (даже в начале следующей)
  897.         LD HL,fBLOCK
  898.         INC (HL)
  899.         INC (HL)
  900.         INC (HL)
  901.         LD A,(HL)
  902.         ADD A,A
  903.         ADD A,16
  904.         LD C,-1
  905.         CALL LOA1_M
  906.         CALL LOA1_M
  907.         CALL LOA1_M
  908.         LD B,8
  909. DPZ1    PUSH BC
  910.         LD A,B
  911.         DEC A
  912.         CP 2
  913.         JR Z,DPZ0
  914.         CP 5
  915.         JR Z,DPZ0
  916.         CALL MEM
  917.         LD HL,#C000
  918.         CALL DELPZF
  919. DPZ0    POP BC
  920.         DJNZ DPZ1
  921.         RET
  922.  
  923. FFONT
  924.         incbin "data/wfont.fnt"
  925.  
  926. LOA1_M  INC C
  927.         CALL LOA2_M ;грузим файл "wani?_0.lpz"
  928.                     ;грузим файл "wani?_1.lpz"
  929. LOA2_M  PUSH BC
  930.         PUSH AF
  931.         LD A,C
  932.         CALL MEM
  933.         POP AF
  934.         PUSH AF
  935.         CALL LOADF
  936.         POP AF
  937.         POP BC
  938.         INC C
  939.         INC A
  940.         RET
  941.  
  942. TITRES  NOP