?login_element?

Subversion Repositories NedoOS

Rev

Rev 832 | Rev 1173 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. CLSBULL LD      (IX+UNIT_YESORNOT),3
  3.         LD      (IX+UNIT_TIMEFORSHOTONWAR),0
  4.         LD      HL,SPRBOOM0;56
  5.         LD      (IX+UNIT_NUMBERSPRITES),L
  6.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  7.         RET
  8.  
  9. COMPA2P LD      IX,UNITS
  10.         LD      (COMA),A
  11.         LD      BC,4*UNITSZ;96
  12.         ADD     IX,BC
  13.         LD      A,(IX+UNIT_YESORNOT)
  14.         or a;CP 0
  15.         LD      A,2
  16.         CALL    NZ,COMPAR2
  17.         RET
  18.  
  19. COMPA1P ;   LD      IX,UNITS ;??? why commented?
  20.         LD      (COMA),A ;direction
  21.         LD      A,(IX+UNIT_YESORNOT)
  22.         or a;CP 0
  23.         CALL    NZ,COMPAR2
  24.         RET
  25.  
  26. COMPAL2 LD      L,(IX+UNIT_X)
  27.         LD      H,(IX+UNIT_X+1)
  28.         LD      BC,8
  29.         SBC     HL,BC
  30.         JR      COMPAX
  31.  
  32. COMPAR2
  33.         LD      A,(COMA)
  34.         CP      4
  35.         JR      Z,COMPAL2
  36.         LD      L,(IX+UNIT_X)
  37.         LD      H,(IX+UNIT_X+1)
  38.         LD      A,(IX+UNIT_STOPBIT)
  39.         LD      BC,8
  40.         ADD     HL,BC
  41.  
  42. COMPAX  LD      (COM1X),HL
  43.         LD      L,(IX+UNIT_Y)
  44.         LD      H,(IX+UNIT_Y+1)
  45.         LD      (COM1Y),HL
  46.         LD      (COMIX),IX
  47.  
  48.         LD      IX,UNITS
  49.         LD      A,(IX+UNIT_YESORNOT)
  50.         or a;CP 0
  51.         CALL    NZ,COMPAR3
  52.         LD      IX,(COMIX)
  53.         LD      (IX+UNIT_STOPBIT),0
  54.  
  55.         LD      IX,UNITS+(4*UNITSZ);96
  56.         ;LD     DE,4*UNITSZ;96
  57.         ;ADD    IX,DE
  58.         LD      A,(IX+UNIT_YESORNOT)
  59.         or a;CP 0
  60.         CALL    NZ,COMPAR3
  61.         LD      IX,(COMIX)
  62.         LD      (IX+UNIT_STOPBIT),0 ;зачем второй раз???
  63.  
  64.         LD      IX,UNITS+(6*UNITSZ);192-48 ;-----WAR COMPAIRE
  65.         ;LD     DE,6*UNITSZ;192-48      ;-----WAR COMPAIRE
  66.         ;ADD    IX,DE
  67.         LD      B,8
  68. LC2     LD      (ZZBC),BC
  69.         LD      DE,2*UNITSZ;48          ;-----WAR COMPAIRE
  70.         ADD     IX,DE
  71.         LD      A,(IX+UNIT_YESORNOT)
  72.         or a;CP 0
  73.         JR      Z,XCD
  74.         CP      8
  75.         CALL    Z,COMGIFT
  76.         LD      A,(IX+UNIT_YESORNOT)
  77.         CP      4
  78.         CALL    C,COMPAR3
  79. XCD     LD      BC,(ZZBC)
  80.         DJNZ    LC2
  81.         LD      IX,(COMIX)
  82.         LD      (IX+UNIT_STOPBIT),0 ;зачем второй раз???
  83.         RET
  84. ZZBC    DEFW    0
  85.  
  86. COMPAR3
  87.         LD      L,(IX+UNIT_X)
  88.         LD      H,(IX+UNIT_X+1)
  89.         LD      DE,(COM1X)
  90.         LD      A,(COMA)
  91.         CP      4 ;left
  92.         JR      Z,C44
  93.         CP      2 ;right
  94.         JR      Z,C22
  95.         RET
  96.  
  97. COMGIFT
  98.         LD      L,(IX+UNIT_X)
  99.         LD      H,(IX+UNIT_X+1)
  100.         LD      DE,(COM1X)
  101.         LD      A,(COMA)
  102.         CP      4 ;left
  103.         JR      Z,C44GIF
  104.         CP      2 ;right
  105.         RET nz
  106.         LD      BC,8 ;??? заезд на приз слева (0 - прикосновение слева берёт приз)
  107.         ADD     HL,BC
  108.         jp C22
  109.  
  110. C44GIF
  111.         LD      BC,8 ;??? заезд на приз справа
  112.         SBC     HL,BC
  113. C44 ;(de-hl)==(0..15) => BOMPAR4, иначе ret
  114.         ex de,hl
  115. C22 ;(hl-de)==(0..15) => COMPAR4, иначе ret
  116.         xor a
  117.         sbc hl,de
  118.         cp h
  119.         ret nz
  120.         ld a,l
  121.         cp 16
  122.         ret nc
  123. COMPAR4
  124.         LD      L,(IX+UNIT_Y)
  125.         LD      H,(IX+UNIT_Y+1)
  126.         LD      BC,8
  127.         SBC     HL,BC
  128.         LD      DE,(COM1Y)
  129. ;(de-hl)==(0..23) => ENDCOMP, иначе ret
  130.         ex de,hl
  131.         xor a
  132.         sbc hl,de
  133.         cp h
  134.         ret nz
  135.         ld a,l
  136.         cp 24
  137.         ret nc
  138. ENDCOMP
  139.         LD      A,(IX+UNIT_TYPEOFTANK)
  140.         CP      21
  141.         CALL    NC,CLEAR
  142.         LD      IX,(COMIX)
  143.         LD      (IX+UNIT_STOPBIT),1
  144.         POP     HL
  145.         POP     HL
  146.         RET
  147. CLEAR
  148.         LD      B,(IX+UNIT_TYPEOFTANK)
  149.         LD      (IX+UNIT_TYPEOFTANK),0
  150.  
  151.         PUSH    IX
  152.         LD      IX,(COMIX)
  153.         LD      A,(IX+UNIT_TYPEOFTANK)
  154.         POP     IX
  155.         CP      1
  156.         JP      Z,CLEARW
  157.         CP      2
  158.         JP      Z,CLEARW
  159.         CP      3
  160.         JP      Z,CLEARW
  161.         CP      4
  162.         JP      Z,CLEARW
  163.         CP      5
  164.         JP      Z,CLEARW
  165.         CP      11
  166.         JP      Z,CLEARW
  167.         CP      12
  168.         JP      Z,CLEARW
  169.         CP      13
  170.         JP      Z,CLEARW
  171.  
  172.         LD      (IX+UNIT_YESORNOT),7
  173.         LD      (IX+UNIT_TIMEFORSHOTONWAR),64
  174.         LD      HL,SPRENE4;256+128+54 ;???
  175.         LD      (IX+UNIT_NUMBERSPRITES),L
  176.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  177.         PUSH    IX
  178.         LD      IX,(COMIX)
  179.         LD      A,(IX+UNIT_BITPARENTSBULL)
  180.         CP      1
  181.         CALL    Z,PDD
  182.         CP      2
  183.         CALL    Z,PDD2
  184.         POP     IX
  185.  
  186.         PUSH    IX,BC,DE,HL
  187.         LD      A,2
  188.         CALL    AFXPLAY
  189.         POP     HL,DE,BC,IX
  190. ;take bonus
  191.         LD      A,12 ;beton
  192.         LD      (STEN),A
  193.         LD      A,B
  194.         CP      23
  195.         JP      Z,INSTAL
  196.         CP      22
  197.         JP      Z,SLOWTIM
  198.         CP      25
  199.         JP      Z,BADBAD ;bomb
  200.         CP      26
  201.         JP      Z,ADDLIFE
  202.         CP      27
  203.         JR      Z,WATER
  204.         CP      24
  205.         JR      Z,STARS
  206.  
  207.         LD      A,(IX+UNIT_BITPARENTSBULL)
  208.         CP      2
  209.         JP      Z,PRIZ2
  210.  
  211.         PUSH    IX
  212.         LD      IX,(COMIX)
  213.         PUSH    IX
  214.         POP     HL
  215.         POP     IX
  216.         LD      IX,BRONITS
  217. RETW    LD      (IX+UNIT_DIRECTION),L
  218.         LD      (IX+UNIT_ANIMATION),H
  219.         LD      (IX+UNIT_COUNTER),250
  220.         LD      (IX+UNIT_YESORNOT),6
  221.         LD      IX,(COMIX)
  222.         LD      (IX+UNIT_SHELLTIME),250
  223.         RET
  224. WATER
  225.         LD      IX,(COMIX)
  226.         LD      (IX+UNIT_WATERWAY),1
  227.         RET
  228. PDD     LD      DE,50
  229.         LD      HL,(POINTP1)
  230.         ADD     HL,DE
  231.         LD      (POINTP1),HL
  232.         RET
  233. PDD2    LD      DE,50
  234.         LD      HL,(POINTP2)
  235.         ADD     HL,DE
  236.         LD      (POINTP2),HL
  237.         RET
  238. ;upgrade my tank
  239. STARS
  240.         LD      IX,(COMIX)
  241.         LD      A,(IX+UNIT_STAR) ;my tank level 0,1,2,3
  242.         CP      3
  243.         RET     Z
  244.          LD     DE,SPRMYTANKLEVEL1-SPRMYTANKLEVEL0;16
  245.         ;LD     A,(IX+UNIT_STAR)
  246.         CP      2
  247.         CALL    Z,STARS3
  248.         LD      A,(IX+UNIT_STAR)
  249.         CP      1
  250.         CALL    Z,STARS2
  251.         ;LD     A,(IX+UNIT_STAR)
  252.         ;INC    A
  253.         ;LD     (IX+UNIT_STAR),A
  254.          inc (IX+UNIT_STAR)
  255.         LD      L,(IX+UNIT_NUMBERSPRITES)
  256.         LD      H,(IX+UNIT_NUMBERSPRITES+1)
  257.         ADD     HL,DE
  258.         LD      (IX+UNIT_NUMBERSPRITES),L
  259.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  260.         ;LD     DE,UNITSZ;24
  261.         ;ADD    IX,DE
  262.         ;LD     A,(IX+UNIT_STAR)
  263.         ;INC    A
  264.         ;LD     (IX+UNIT_STAR),A
  265.          inc (IX+(UNITSZ+UNIT_STAR)) ;???
  266.         RET
  267. STARS2
  268.         ;LD     L,(IX+UNIT_NUMBERSPRITES)
  269.         ;LD     H,(IX+UNIT_NUMBERSPRITES+1)
  270.         ;LD     DE,256-16 ;реально 256, т.к. 16 прибавится потом
  271.         ;ADD    HL,DE ;???
  272.         ;LD     (IX+UNIT_NUMBERSPRITES),L
  273.         ;LD     (IX+UNIT_NUMBERSPRITES+1),H
  274.          ld de,SPRMYTANKLEVEL2-SPRMYTANKLEVEL1;256
  275.         ;LD     DE,2*UNITSZ;48
  276.         ;ADD    IX,DE
  277.         ;LD     A,(IX+UNIT_STAR)
  278.         ;INC    A
  279.         ;LD     (IX+UNIT_STAR),A
  280.         ;LD     IX,(COMIX)
  281.          inc (IX+(2*UNITSZ+UNIT_STAR)) ;???
  282.         RET
  283. STARS3
  284.         ;LD     L,(IX+UNIT_NUMBERSPRITES)
  285.         ;LD     H,(IX+UNIT_NUMBERSPRITES+1)
  286.         ;LD     DE,128;-16 ;реально 128, т.к. 16 прибавится потом
  287.         ;ADD    HL,DE ;???
  288.         ;LD     (IX+UNIT_NUMBERSPRITES),L
  289.         ;LD     (IX+UNIT_NUMBERSPRITES+1),H
  290.          ld de,SPRMYTANKLEVEL3-SPRMYTANKLEVEL2;256
  291.         ;LD     DE,2*UNITSZ;48
  292.         ;ADD    IX,DE
  293.         ;LD     A,(IX+UNIT_STAR)
  294.         ;INC    A
  295.         ;LD     (IX+UNIT_STAR),A
  296.         ;LD     IX,(COMIX)
  297.          inc (IX+(2*UNITSZ+UNIT_STAR)) ;???
  298.         RET
  299. STARSW  PUSH    IX
  300.         LD      IX,UNITS
  301.         LD      DE,8*UNITSZ;192
  302.         ADD     IX,DE
  303.         LD      (IX+UNIT_STAR),1
  304.         LD      DE,UNITSZ
  305.         ADD     IX,DE
  306.         LD      (IX+UNIT_STAR),1
  307.         ;LD     DE,24
  308.         ADD     IX,DE
  309.         LD      (IX+UNIT_STAR),1
  310.         ;LD     DE,24
  311.         ADD     IX,DE
  312.         LD      (IX+UNIT_STAR),1
  313.         ;LD     DE,24
  314.         ADD     IX,DE
  315.         LD      (IX+UNIT_STAR),1
  316.         ;LD     DE,24
  317.         ADD     IX,DE
  318.         LD      (IX+UNIT_STAR),1
  319.         ;LD     DE,24
  320.         ADD     IX,DE
  321.         LD      (IX+UNIT_STAR),1
  322.         ;LD     DE,24
  323.         ADD     IX,DE
  324.         LD      (IX+UNIT_STAR),1
  325.         ;LD     DE,24
  326.         ADD     IX,DE
  327.         LD      (IX+UNIT_STAR),1
  328.         ;LD     DE,24
  329.         ADD     IX,DE
  330.         LD      (IX+UNIT_STAR),1
  331.         ;LD     DE,24
  332.         ADD     IX,DE
  333.         LD      (IX+UNIT_STAR),1
  334.         ;LD     DE,24
  335.         ADD     IX,DE
  336.         LD      (IX+UNIT_STAR),1
  337.         POP     IX
  338.         RET
  339. ADDLIFE
  340.  
  341.         LD      IX,(COMIX)
  342.         LD      A,(IX+UNIT_BITPARENTSBULL)
  343.         CP      1
  344.         JR      Z,ADDLIF1
  345.         CP      2
  346.         JR      Z,ADDLIF2
  347.         RET
  348. ADDLIF1
  349.         LD      A,(UP1)
  350.         CP      138 ;129 '0', 130 '1'
  351.         RET     Z
  352.         INC     A
  353.         LD      (UP1),A
  354.         LD      HL,TEXT6
  355.         LD      (TEXTW),HL
  356.         LD      D,#C0
  357.         LD      E,#10
  358.         LD      BC,256+24
  359.         LD      HL,128
  360.         CALL    TEXT
  361.         RET
  362. ADDLIF2
  363.         LD      A,(UP2)
  364.         CP      138
  365.         RET     Z
  366.         INC     A
  367.         LD      (UP2),A
  368.         LD      HL,TEXT7
  369.         LD      (TEXTW),HL
  370.         LD      D,#C0
  371.         LD      E,#10
  372.         LD      BC,256+24
  373.         LD      HL,128+24
  374.         CALL    TEXT
  375.         RET
  376. CLEARW6
  377.         LD      A,(WARTAN)
  378.         INC     A
  379.         LD      (WARTAN),A
  380.         CALL    PRTAN
  381.         LD      HL,WAR
  382.         LD      DE,5
  383. NHFX    LD      A,(HL)
  384.         CP      0
  385.         JR      Z,CLW6
  386.         ADD     HL,DE
  387.         DJNZ    NHFX
  388.         RET
  389. CLW6    LD      A,1
  390.         LD      (HL),A
  391.         CALL    TEXTLEF
  392.         RET
  393. BADBAD
  394. ;take bomb
  395.         LD      IX,UNITS
  396.         LD      DE,8*UNITSZ;192
  397.         ADD     IX,DE
  398.         LD      B,7
  399. LKKF    LD      A,(IX+UNIT_YESORNOT)
  400.         or a;CP 0
  401.         JR      Z,ZXXX
  402.         LD      (IX+UNIT_YESORNOT),4
  403.         LD      (IX+UNIT_TIMEFORSHOTONWAR),0
  404. ZXXX    LD      DE,2*UNITSZ;48
  405.         ADD     IX,DE
  406.         DJNZ    LKKF
  407.         RET
  408. CLEARW5
  409. ;enemy takes bomb
  410.         LD      IX,UNITS
  411.         LD      A,(IX+UNIT_YESORNOT)
  412.         or a;CP 0
  413.         JR      Z,ZXX2X
  414.         LD      (IX+UNIT_YESORNOT),4
  415.         LD      (IX+UNIT_TIMEFORSHOTONWAR),0
  416.         LD      A,(UP1)
  417.         CP      129 ;129 '0', 130 '1'
  418.         JR      Z,ZXX2X
  419.         DEC     A
  420.         LD      (UP1),A
  421.          cp 129 ;'0'
  422.          jr z,CLEARW5_allkilled1
  423.         LD      A,100
  424.         LD      (NEWTAN1),A
  425. CLEARW5_allkilled1
  426.         LD      HL,TEXT6 ;"1p",line down,танк,число
  427.         LD      (TEXTW),HL
  428.         LD      D,#C0 ;const
  429.         LD      E,#10 ;const
  430.         LD      BC,256+24
  431.         LD      HL,128
  432.         CALL    TEXT
  433.  
  434. ZXX2X   LD      DE,4*UNITSZ;96
  435.         ADD     IX,DE
  436.         LD      A,(IX+UNIT_YESORNOT)
  437.         or a;CP 0
  438.         RET     Z
  439.         LD      (IX+UNIT_YESORNOT),4
  440.         LD      (IX+UNIT_TIMEFORSHOTONWAR),0
  441.         LD      A,(UP2)
  442.         CP      129 ;129 '0', 130 '1'
  443.         RET     Z
  444.         DEC     A
  445.         LD      (UP2),A
  446.          cp 129 ;'0'
  447.          jr z,CLEARW5_allkilled2
  448.         LD      A,100
  449.         LD      (NEWTAN2),A
  450. CLEARW5_allkilled2
  451.         LD      HL,TEXT7 ;"2p",line down,танк,число
  452.         LD      (TEXTW),HL
  453.         LD      D,#C0 ;const
  454.         LD      E,#10 ;const
  455.         LD      BC,256+24
  456.         LD      HL,128+24
  457.         CALL    TEXT
  458.         RET
  459.  
  460. PRIZ2
  461.         LD      IX,(COMIX)
  462.         PUSH    IX
  463.         POP     HL
  464.         POP     IX
  465.         LD      IX,BRONITS
  466.         LD      DE,24
  467.         ADD     IX,DE
  468.         JP      RETW
  469. CLEARW
  470.         LD      (IX),0
  471.         PUSH    IX,BC,DE,HL
  472.         LD      A,3
  473.         CALL    AFXPLAY
  474.         POP     HL,DE,BC,IX
  475.        ;jp CLEARW5 ;enemy takes bomb
  476.         LD      A,B
  477.         CP      21
  478.         JR      Z,CLEARW1
  479.         CP      22
  480.         JR      Z,CLEARW3
  481.         CP      23
  482.         JR      Z,CLEARW2
  483.         CP      25
  484.         JP      Z,CLEARW5 ;enemy takes bomb
  485.         CP      26
  486.         JP      Z,CLEARW6
  487.         CP      27
  488.         JP      Z,WATER
  489.         CP      24
  490.         JP      Z,STARSW
  491.         RET
  492.  
  493. SLOWTIM LD      A,90
  494.         LD      (TIMES),A
  495.         PUSH    IX
  496.         LD      IX,UNITS+(8*UNITSZ);192
  497.         ;LD     DE,8*UNITSZ;192
  498.         ;ADD    IX,DE
  499.          LD     DE,2*UNITSZ;48
  500.         LD      B,7
  501. SLTI    LD      (IX+UNIT_ANIMATION),0
  502.         ADD     IX,DE
  503.         DJNZ    SLTI
  504.         POP     IX
  505.         RET
  506. CLEARW3 LD      A,50
  507.         LD      (TIMEW),A
  508.         ;PUSH   IX
  509.         ;LD     IX,UNITS
  510.         ;LD     (IX+UNIT_ANIMATION),0
  511.         ;LD     DE,4*UNITSZ;96
  512.         ;ADD    IX,DE
  513.         ;LD     (IX+UNIT_ANIMATION),0
  514.         ;POP    IX
  515.        xor a
  516.        ld (UNITS+UNIT_ANIMATION),a
  517.        ld (UNITS+(4*UNITSZ)+UNIT_ANIMATION),a
  518.         RET
  519. TIMES   DEFB    0
  520. TIMEW   DEFB    0
  521. CLEARW2 XOR     A
  522.         LD      (STEN),A
  523.         CALL    INSTAL
  524.         RET
  525. CLEARW1
  526.         ;PUSH   IX
  527.         ;LD     IX,(COMIX)
  528.           ld hl,(COMIX) ;addr!!!
  529.         ;PUSH   IX
  530.         ;POP    HL
  531.         ;POP    IX
  532.         LD      (IX),0
  533.         LD      IX,BRONITS+(2*UNITSZ);48
  534.         ;LD     DE,2*UNITSZ;48
  535.         ;ADD    IX,DE
  536.         LD      (IX+UNIT_DIRECTION),L ;???
  537.         LD      (IX+UNIT_ANIMATION),H ;???
  538.         LD      (IX+UNIT_COUNTER),150
  539.         LD      (IX+UNIT_YESORNOT),6
  540.         LD      IX,(COMIX)
  541.         LD      (IX+UNIT_SHELLTIME),150
  542.         RET
  543. SHEELDW LD      IX,BRONITS
  544.         LD      DE,2*UNITSZ;48
  545.         ADD     IX,DE
  546.         LD      (IX+UNIT_DIRECTION),L
  547.         LD      (IX+UNIT_ANIMATION),H
  548.         LD      (IX+UNIT_COUNTER),A
  549.         LD      (IX+UNIT_YESORNOT),6
  550.         RET
  551.  
  552. YOMPA2P
  553. ;a=direction (1 up, 3 down)
  554.         LD      IX,UNITS
  555.         LD      (COMA),A
  556.         LD      BC,4*UNITSZ;96
  557.         ADD     IX,BC
  558.         LD      A,(IX+UNIT_YESORNOT)
  559.         or a ;CP        0
  560.         CALL    NZ,YOMPAR2
  561.         RET
  562.  
  563. YOMPA1P
  564. ;a=direction (1 up, 3 down)
  565.         ;   LD      IX,UNITS ;??? why commented?
  566.         LD      (COMA),A
  567.         LD      A,(IX+UNIT_YESORNOT)
  568.         or a ;CP        0
  569.         CALL    NZ,YOMPAR2
  570.         RET
  571.  
  572. YOMPAL2 LD      L,(IX+UNIT_Y)
  573.         LD      H,(IX+UNIT_Y+1)
  574.         LD      BC,8 ;up
  575.         SBC     HL,BC
  576.         JR      YOMPAX
  577. YOMPAR2
  578.         LD      A,(COMA)
  579.         CP      1 ;up
  580.         JR      Z,YOMPAL2
  581.         LD      L,(IX+UNIT_Y)
  582.         LD      H,(IX+UNIT_Y+1)
  583.         LD      A,(IX+UNIT_STOPBIT)
  584.         LD      BC,8 ;down
  585.         ADD     HL,BC
  586. YOMPAX
  587.         LD      (COM1Y),HL
  588.         LD      L,(IX+UNIT_X)
  589.         LD      H,(IX+UNIT_X+1)
  590.         LD      (COM1X),HL
  591.  
  592.         LD      (COMIX),IX
  593.         LD      IX,UNITS
  594.         LD      A,(IX+UNIT_YESORNOT)
  595.         or a;CP 0
  596.         CALL    NZ,YOMPAR3
  597.         LD      IX,(COMIX)
  598.         LD      (IX+UNIT_STOPBIT),0
  599.  
  600.         LD      IX,UNITS
  601.         LD      DE,4*UNITSZ;96
  602.         ADD     IX,DE
  603.         LD      A,(IX+UNIT_YESORNOT)
  604.         or a;CP 0
  605.         CALL    NZ,YOMPAR3
  606.         LD      IX,(COMIX)
  607.         LD      (IX+UNIT_STOPBIT),0
  608.         LD      IX,UNITS+(8*UNITSZ);192;-----WAR COMPAIRE
  609.         ;LD     DE,8*UNITSZ;192;-----WAR COMPAIRE
  610.         ;ADD    IX,DE
  611. FFF8    LD      A,(IX+UNIT_YESORNOT)
  612.         inc a;CP        255
  613.         JP      Z,FFF7 ;end of list of objects
  614.         dec a;CP        0
  615.         JR      Z,KJJ ;skip
  616.         CP      8
  617.         CALL    Z,YOMGIFT ;bonus???
  618.         CP      4
  619.         CALL    C,YOMPAR3 ;another tank???
  620. KJJ     LD      DE,2*UNITSZ;48
  621.         ADD     IX,DE
  622.         JR      FFF8
  623. FFF7    LD      IX,(COMIX)
  624.         LD      (IX+UNIT_STOPBIT),0
  625.         RET
  626.  
  627. YOMPAR3
  628.         LD      L,(IX+UNIT_Y)
  629.         LD      H,(IX+UNIT_Y+1)
  630.         LD      DE,(COM1Y)
  631.         LD      A,(COMA)
  632.         CP      1 ;up
  633.         JR      Z,C44Y
  634.         CP      3 ;down
  635.         JR      Z,C22Y
  636.         RET
  637. YOMGIFT
  638.         LD      L,(IX+UNIT_Y)
  639.         LD      H,(IX+UNIT_Y+1)
  640.         LD      DE,(COM1Y)
  641.         LD      A,(COMA)
  642.         CP      1 ;up
  643.         JR      Z,C44YGI
  644.         CP      3 ;down
  645.         RET nz
  646.         LD      bc,8
  647.         ADD     HL,bc
  648.         JR      C22Y
  649. C44YGI
  650.         LD      bc,16
  651.         SBC     HL,bc
  652. C44Y
  653. ;(de-hl)==(0..15) => YOMPAR4, иначе ret
  654.         ex de,hl
  655. C22Y
  656. ;было (de-hl)==(-8..+7) => YOMPAR4, иначе ret (исключение e<8)
  657. ;переделано на: (hl-de)==(0..15) => YOMPAR4, иначе ret
  658.         xor a
  659.         sbc hl,de
  660.         cp h
  661.         ret nz
  662.         ld a,l
  663.         cp 16
  664.         ret nc
  665. ;YOMPAR4
  666.         LD      L,(IX+UNIT_X)
  667.         LD      H,(IX+UNIT_X+1)
  668.        ld bc,-8
  669.        add hl,bc ;иначе можно проехать по леву танка и заед справа на приз берёт его
  670.         LD      DE,(COM1X)
  671. ;(de-hl)==(0..23) => ENDCOMP, иначе ret
  672.         ex de,hl
  673.         xor a
  674.         sbc hl,de
  675.         cp h
  676.         ret nz
  677.         ld a,l
  678.         cp 24
  679.         ret nc
  680.         jp ENDCOMP
  681.        
  682. INTELLE LD      A,(TIMES)
  683.         or a;CP 0
  684.         RET     NZ
  685.         LD      IX,UNITS+(8*UNITSZ);192
  686.         ;LD     DE,8*UNITSZ;192
  687.         ;ADD    IX,DE
  688. Z2      LD      A,(IX+UNIT_YESORNOT)
  689.         CP      255 ;end of list of objects
  690.         RET     Z
  691.         CP      1
  692.         CALL    Z,UNGO
  693. Z1      LD      DE,2*UNITSZ;48
  694.         ADD     IX,DE
  695.         JP      Z2
  696. RND2
  697.         LD      (IX+UNIT_STOPBIT),0
  698.         LD      (IX+UNIT_NEEDRND),1
  699.         LD      (IX+UNIT_COUNTER),7
  700.         RET
  701.  
  702. SPEEDWAR
  703.         LD      A,128
  704.         LD      (IX+UNIT_TIMEFORSHOTONWAR),A
  705.         RET
  706.  
  707. FIREWAR
  708.         LD      A,(IX+UNIT_TIMEFORSHOTONWAR)
  709.         or a;CP 0
  710.         RET     NZ
  711.         LD      A,(IX+UNIT_TYPEOFTANK)
  712.         CP      21
  713.         RET     NC
  714.         LD      A,R
  715.         LD      C,50
  716.         ADD     A,C
  717.         LD      (IX+UNIT_TIMEFORSHOTONWAR),A
  718.         LD      A,(IX+UNIT_TYPEOFTANK)
  719.         CP      4
  720.         CALL    Z,SPEEDWAR
  721.         LD      A,(IX+UNIT_TYPEOFTANK)
  722.         CP      5
  723.         CALL    Z,SPEEDWAR
  724. WIRE    LD      L,(IX+UNIT_X)
  725.         LD      H,(IX+UNIT_X+1)
  726.         LD      C,(IX+UNIT_Y)
  727.         LD      B,(IX+UNIT_Y+1)
  728.         LD      A,(IX+UNIT_DIRECTION)
  729.         LD      (DDD),A
  730.         LD      DE,UNITSZ;24
  731.         ADD     IX,DE
  732.         LD      A,(IX+UNIT_YESORNOT)
  733.         or a;CP 0
  734.         RET     NZ
  735.         LD      (IX+UNIT_BITFRIENDLYFIRE),1
  736.         LD      A,(DDD)
  737.         LD      (IX+UNIT_STOPBIT),0
  738.         CP      1
  739.         JP      Z,PBUL1
  740.         CP      3
  741.         JP      Z,PBUL2
  742.         CP      2
  743.         JP      Z,PBUL3
  744.         CP      4
  745.         JP      Z,PBUL4
  746.         RET
  747.  
  748. DDD     DEFB    0
  749. UNGO    LD      A,(IX+UNIT_TYPEOFTANK)
  750.         CP      2
  751.         JR      Z,UNGO2
  752.         CP      12
  753.         JR      Z,UNGO2
  754.         LD      A,(TIME)
  755.         or a;CP 0
  756.         RET     NZ
  757. UNGO2   LD      A,(IX+UNIT_TYPEOFTANK)
  758.         CP      21
  759.         RET     NC
  760.         PUSH    IX
  761.         CALL    FIREWAR
  762.         POP     IX
  763.         LD      (IX+UNIT_ANIMATION),0
  764.         LD      A,(RAZWOR)
  765.         CP      1
  766.         CALL    Z,RNDR
  767.  
  768.         LD      A,(IX+UNIT_NEEDRND)
  769.         CP      1
  770.         CALL    Z,RND
  771.         LD      A,(IX+UNIT_DIRECTION2)
  772.         CP      3
  773.         CALL    Z,KEYDFC
  774.         LD      A,(IX+UNIT_DIRECTION2)
  775.         CP      1
  776.         CALL    Z,KEYUFC
  777.         LD      A,(IX+UNIT_DIRECTION2)
  778.         CP      2
  779.         CALL    Z,KEYRFC
  780.         LD      A,(IX+UNIT_DIRECTION2)
  781.         CP      4
  782.         CALL    Z,KEYLFC
  783.         RET
  784. RNDR    LD      A,(IX+UNIT_COUNTER)
  785.         or a;CP 0
  786.         RET     NZ
  787.         ;XOR    A
  788.         LD      (RAZWOR),A;0
  789.  
  790. RND
  791.         LD      (IX+UNIT_NEEDRND),0
  792.         CALL    INT55
  793.         LD      A,R
  794.         CP      32
  795.         JP      C,I1
  796.         CP      64
  797.         JP      C,I2
  798.         CP      96
  799.         JP      C,I3
  800.         CP      128
  801.         JP      C,I4
  802.         RET
  803. I1      LD      (IX+UNIT_DIRECTION2),1
  804.         RET
  805. I2      LD      (IX+UNIT_DIRECTION2),2
  806.         RET
  807. I3      LD      (IX+UNIT_DIRECTION2),3
  808.         RET
  809. I4      LD      (IX+UNIT_DIRECTION2),4
  810.         RET
  811. KEYDFC  LD      A,3
  812.         CALL    YOMPA1P
  813.         LD      A,(IX+UNIT_COUNTER)
  814.         or a;CP 0
  815.         JP      NZ,KEYD3
  816.         LD      A,(IX+UNIT_STOPBIT)
  817.         CP      1
  818.         JP      Z,RND
  819.         JP      KEYDF2
  820. KEYUFC  LD      A,1
  821.         CALL    YOMPA1P
  822.         LD      A,(IX+UNIT_COUNTER)
  823.         or a;CP 0
  824.         JP      NZ,KEYF3
  825.         LD      A,(IX+UNIT_STOPBIT)
  826.         CP      1
  827.         JP      Z,RND
  828.         JP      KEYUF2
  829. KEYRFC
  830.         LD      A,2
  831.         CALL    COMPA1P
  832.         LD      A,(IX+UNIT_COUNTER)
  833.         or a;CP 0
  834.         JP      NZ,KEYYR3
  835.         LD      A,(IX+UNIT_STOPBIT)
  836.         CP      1
  837.         JP      Z,RND
  838.         JP      KEYRF2
  839. KEYLFC
  840.         LD      A,4
  841.         CALL    COMPA1P
  842.         LD      A,(IX+UNIT_COUNTER)
  843.         or a;CP 0
  844.         JP      NZ,KEYLL3
  845.         LD      A,(IX+UNIT_STOPBIT)
  846.         CP      1
  847.         JP      Z,RND
  848.         JP      KEYLF2
  849. BIX     DEFW    0
  850. BOMA    DEFB    0
  851. BULLSRA
  852.         LD      (BOMA),A ;2=right, 4=left
  853.         LD      A,(IX+UNIT_YESORNOT)
  854.         CP      1
  855.         CALL    Z,BOMPAR2
  856.         LD      A,(IX+UNIT_YESORNOT)
  857.         CP      2
  858.         CALL    Z,BOMPAR2
  859.         RET
  860. BOMPAL2 LD      L,(IX+UNIT_X)
  861.         LD      H,(IX+UNIT_X+1)
  862.         LD      BC,8
  863.         SBC     HL,BC
  864.         JP      BOMPAX
  865. BOMPAR2
  866.         LD      A,(BOMA)
  867.         CP      4 ;left
  868.         JR      Z,BOMPAL2
  869.         LD      L,(IX+UNIT_X)
  870.         LD      H,(IX+UNIT_X+1)
  871.         LD      BC,8
  872.         ADD     HL,BC
  873.         JP      BOMPAX
  874.  
  875. BOMPAX  LD      (BOM1X),HL
  876.         LD      L,(IX+UNIT_Y)
  877.         LD      H,(IX+UNIT_Y+1)
  878.         LD      A,(IX+UNIT_BITPARENTSBULL)
  879.         LD      (SEA),A
  880.         LD      (BOM1Y),HL
  881.         LD      (BOMIX),IX
  882.         LD      IX,UNITS
  883. FFF2    LD      A,(IX)
  884.         CP      255
  885.         JR      Z,FFF
  886.         LD      A,(IX)
  887.         or a;CP 0
  888.         JR      Z,XCV
  889.         CP      4
  890.         CALL    C,BOMPAR3
  891. XCV     LD      DE,UNITSZ;24;-----WAR COMPAIRE
  892.         ADD     IX,DE
  893.         JR      FFF2
  894. FFF     LD      IX,(BOMIX)
  895.         LD      (IX+UNIT_STOPBIT),0
  896.         RET
  897. ZBC     DEFW    0
  898.  
  899.  
  900. BOMPAR3
  901.         LD      A,(SEA)
  902.         LD      B,A
  903.         LD      A,(IX+UNIT_BITPARENTSBULL)
  904.         CP      B
  905.         RET     Z
  906.         LD      A,(SEA)
  907.         CP      3
  908.         CALL    NC,NU11
  909.         LD      L,(IX+UNIT_X)
  910.         LD      H,(IX+UNIT_X+1)
  911.         LD      DE,(BOM1X)
  912.         LD      A,(BOMA)
  913.         CP      2 ;right
  914.         jr      Z,C22B ;(hl-de)==(0..15) => BOMPAR4, иначе ret
  915.         CP      4 ;left
  916.         ;JR     Z,C44B ;(de-hl)==(0..15) => BOMPAR4, иначе ret
  917.         RET nz
  918. C44B ;(de-hl)==(0..15) => BOMPAR4, иначе ret
  919.         ex de,hl
  920. C22B ;(hl-de)==(0..15) => BOMPAR4, иначе ret
  921.         xor a
  922.         sbc hl,de
  923.         cp h
  924.         ret nz
  925.         ld a,l
  926.         cp 16
  927.         ret nc
  928. ;BOMPAR4
  929.         LD      L,(IX+UNIT_Y)
  930.         LD      H,(IX+UNIT_Y+1)
  931.         LD      BC,8
  932.         SBC     HL,BC
  933.         ex de,hl
  934.         LD      hl,(BOM1Y)
  935.         xor a
  936.         sbc hl,de
  937.         cp h
  938.         ret nz
  939.         ld a,l
  940.         cp 24
  941.         ret nc
  942. BNDCOMP
  943.         LD      A,(IX+UNIT_YESORNOT)
  944.         CP      1
  945.         CALL    Z,BNF
  946.         LD      IX,(BOMIX)
  947.         LD      (IX+UNIT_STOPBIT),1
  948.         POP     HL ;???
  949.         POP     HL ;???
  950.         RET
  951.  
  952. BNF
  953.         PUSH    IX
  954.         LD      IX,(BOMIX)
  955.         LD      A,(IX+UNIT_BITFRIENDLYFIRE)
  956.         CP      0
  957.         JP      Z,DEATH0
  958.         CP      1
  959.         JP      Z,DEATH1
  960.         POP     IX
  961.         RET
  962. DEATH0  POP     IX
  963.         LD      A,(IX+UNIT_BITPARENTSBULL)
  964.         CP      3
  965.         JP      NC,DEATH666
  966.         LD      A,(IX+UNIT_SHELLTIME)
  967.         CP      0
  968.         RET     NZ
  969.         LD      (IX+UNIT_BITFRIENDLYFIRE),100; W KOGO
  970.         RET
  971. DEATH666        LD      A,(IX+UNIT_SHELLTIME)
  972.         CP      0
  973.         RET     NZ
  974.         LD      A,(IX+UNIT_ENERGY)
  975.         CP      0
  976.         JP      Z,DEATH
  977.         DEC     A
  978.         LD      (IX+UNIT_ENERGY),A
  979.         PUSH    IX
  980.         XOR     A
  981.         CALL    AFXPLAY
  982.         POP     IX
  983.  
  984.         LD      A,(IX+UNIT_TYPEOFTANK)
  985.         CP      4
  986.         JR      Z,DEATH777
  987.         CP      5
  988.         JR      Z,DEATH888
  989.         RET
  990. DEATH777        LD      A,(IX+UNIT_ENERGY)
  991.         CP      3
  992.         RET     NZ
  993.  
  994.         LD      HL,256+128+128+128 ;broken flag???
  995.         LD      (IX+UNIT_NUMBERSPRITES),L
  996.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  997.         RET
  998. RAZWOR  DEFB    0
  999. CC1     LD      (IX+UNIT_DIRECTION2),1
  1000.         LD      (IX+UNIT_DIRECTION),1
  1001.         JP      DDDEA
  1002. C2      LD      (IX+UNIT_DIRECTION2),3
  1003.         LD      (IX+UNIT_DIRECTION),3
  1004.         JP      DDDEA
  1005. C3      LD      (IX+UNIT_DIRECTION2),4
  1006.         LD      (IX+UNIT_DIRECTION),4
  1007.         JP      DDDEA
  1008. C4      LD      (IX+UNIT_DIRECTION2),2
  1009.         LD      (IX+UNIT_DIRECTION),2
  1010.         JP      DDDEA
  1011.  
  1012. DEATH888        LD      (IX+UNIT_SHELLTIME),16
  1013.         LD      A,1
  1014.         LD      (RAZWOR),A
  1015.         LD      A,(IX+UNIT_COUNTER)
  1016.         CP      0
  1017.         JP      NZ,DDDEA
  1018. ;go back???
  1019.         LD      A,(IX+UNIT_DIRECTION2)
  1020.         CP      3
  1021.         JR      Z,CC1
  1022.         CP      1
  1023.         JR      Z,C2
  1024.         CP      2
  1025.         JR      Z,C3
  1026.         CP      4
  1027.         JR      Z,C4
  1028. DDDEA   PUSH    IX
  1029.         PUSH    IX
  1030.         POP     HL
  1031.         LD      A,16
  1032.         CALL    SHEELDW
  1033.         POP     IX
  1034.         LD      A,(IX+UNIT_ENERGY)
  1035.         CP      5
  1036.         JR      Z,DEAT8
  1037.         CP      2
  1038.         JR      Z,DEAT9
  1039.         RET
  1040. DEAT8   LD      HL,256+128+128+256 ;???
  1041.         LD      (IX+UNIT_NUMBERSPRITES),L
  1042.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  1043.         RET
  1044. DEAT9
  1045.         LD      HL,256+128+128+128 ;???
  1046.         LD      (IX+UNIT_NUMBERSPRITES),L
  1047.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  1048.         RET
  1049.  
  1050. DEATH1  POP     IX
  1051.         LD      A,(IX+UNIT_BITPARENTSBULL)
  1052.         CP      1
  1053.         JP      Z,DEATH6
  1054.         CP      2
  1055.         JP      Z,DEATH7
  1056.         RET
  1057. DEATH6
  1058.         LD      A,(IX+UNIT_SHELLTIME)
  1059.         CP      0
  1060.         JR      NZ,DEATH3
  1061.         LD      A,(UP1)
  1062.         CP      130 ;129 '0', 130 '1'
  1063.         JP      Z,DEAT77 ;(UP1)=129, jp DEATH (без NEWTAN1)
  1064.         DEC     A
  1065.         LD      (UP1),A
  1066.         LD      A,100
  1067.         LD      (NEWTAN1),A
  1068.         JP      DEATH
  1069. DEATH7
  1070.         LD      A,(IX+UNIT_SHELLTIME)
  1071.         CP      0
  1072.         JR      NZ,DEATH3
  1073.         LD      A,(UP2)
  1074.         CP      130 ;129 '0', 130 '1'
  1075.         JP      Z,DEAT88 ;(UP2)=129, jp DEATH (без NEWTAN2)
  1076.         DEC     A
  1077.         LD      (UP2),A
  1078.         LD      A,100
  1079.         LD      (NEWTAN2),A
  1080.         ;JP     DEATH
  1081. DEATH
  1082.         LD      HL,TEXT7
  1083.         LD      (TEXTW),HL
  1084.         LD      D,#C0
  1085.         LD      E,#10
  1086.         LD      BC,256+24
  1087.         LD      HL,128+24
  1088.         CALL    TEXT
  1089.         LD      HL,TEXT6
  1090.         LD      (TEXTW),HL
  1091.         LD      D,#C0
  1092.         LD      E,#10
  1093.         LD      BC,256+24
  1094.         LD      HL,128
  1095.         CALL    TEXT
  1096.  
  1097.         LD      A,(IX+UNIT_SHELLTIME)
  1098.         CP      0
  1099.         JR      NZ,DEATH3
  1100.  
  1101.         LD      A,(IX+UNIT_BITFRIENDLYFIRE)
  1102.         CP      253
  1103.         CALL    Z,CINTRO2
  1104.         LD      (IX+UNIT_YESORNOT),4
  1105.         LD      (IX+UNIT_TIMEFORSHOTONWAR),0
  1106.         LD      (IX+UNIT_STOPBIT),1
  1107.         CALL    POINT
  1108.         LD      A,(IX+UNIT_BITFRIENDLYFIRE)
  1109.         CP      253
  1110.         CALL    Z,CINTRO
  1111.  
  1112. DEATH3  LD      IX,(BOMIX)
  1113.         LD      (IX+UNIT_YESORNOT),0
  1114.         LD      (IX+UNIT_STOPBIT),0
  1115.         POP     HL
  1116.         POP     HL
  1117.         POP     HL
  1118.         RET
  1119. CINTRO2 LD      A,(IX+UNIT_TYPEOFTANK)
  1120.         CP      0
  1121.         JP      Z,WSEBAH
  1122.         DEC     A
  1123.         LD      (IX+UNIT_TYPEOFTANK),A
  1124.         PUSH    IX
  1125.         XOR     A
  1126.         CALL    AFXPLAY
  1127.         POP     IX
  1128.         LD      A,8
  1129.         LD      (ATAKA),A
  1130.         LD      IX,(BOMIX)
  1131.         LD      (IX+UNIT_YESORNOT),3 ;BONG1
  1132.         LD      (IX+UNIT_STOPBIT),1
  1133.         POP     HL
  1134.         POP     HL
  1135.         POP     HL
  1136.         POP     HL
  1137.         RET
  1138.  
  1139. CINTRO  LD      L,(IX+UNIT_X)
  1140.         LD      H,(IX+UNIT_X+1)
  1141.         LD      BC,8
  1142.         ADD     HL,BC
  1143.         LD      (IX+UNIT_X),L
  1144.         LD      (IX+UNIT_X+1),H
  1145.         LD      L,(IX+UNIT_Y)
  1146.         LD      H,(IX+UNIT_Y+1)
  1147.         LD      BC,8
  1148.         ADD     HL,BC
  1149.         LD      (IX+UNIT_Y),L
  1150.         LD      (IX+UNIT_Y+1),H
  1151.         PUSH    IX
  1152.         LD      IX,UNITS
  1153.         LD      A,(WR1)
  1154.         LD      (IX+UNIT_WATERWAY),A
  1155.         LD      A,(WR2)
  1156.         ld (ix+(4*UNITSZ+UNIT_WATERWAY)),a ;(IX+117),A
  1157.         POP     IX
  1158.         RET
  1159.  
  1160. BULLSR2;   LD      IX,UNITS ;??? why commented?
  1161.         LD      (BOMA),A ;3=down, 1=up
  1162.         LD      A,(IX)
  1163.         CP      1
  1164.         CALL    Z,YBMPAR2
  1165.         LD      A,(IX)
  1166.         CP      2
  1167.         CALL    Z,YBMPAR2
  1168.         RET
  1169. YBMPAL2 LD      L,(IX+UNIT_Y)
  1170.         LD      H,(IX+UNIT_Y+1)
  1171.         LD      BC,8
  1172.         SBC     HL,BC
  1173.         JP      YBMPAX
  1174.  
  1175.  
  1176. YBMPAR2
  1177.         LD      A,(BOMA)
  1178.         CP      1 ;up
  1179.         JR      Z,YBMPAL2
  1180.         LD      L,(IX+UNIT_Y)
  1181.         LD      H,(IX+UNIT_Y+1)
  1182.         LD      BC,8
  1183.         ADD     HL,BC
  1184.         JP      YBMPAX
  1185. SEA     DEFB    0
  1186. YBMPAX  LD      (BOM1Y),HL
  1187.         LD      L,(IX+UNIT_X)
  1188.         LD      H,(IX+UNIT_X+1)
  1189.         LD      (BOM1X),HL
  1190.         LD      A,(IX+UNIT_BITPARENTSBULL)
  1191.         LD      (SEA),A
  1192.         LD      (BOMIX),IX
  1193.  
  1194.         LD      IX,UNITS
  1195. FFF4    LD      A,(IX)
  1196.         CP      255
  1197.         JR      Z,FFF3
  1198.         CP      0
  1199.         JR      Z,XCV2
  1200.         CP      4
  1201.         CALL    C,YBMPAR3
  1202. XCV2    LD      DE,UNITSZ;24
  1203.         ADD     IX,DE
  1204.         JR      FFF4
  1205. FFF3    LD      IX,(BOMIX)
  1206.         LD      (IX+UNIT_STOPBIT),0
  1207.         RET
  1208.  
  1209. NU11
  1210.         LD      A,(IX+UNIT_BITPARENTSBULL)
  1211.         CP      3
  1212.         RET     C
  1213.         POP     HL
  1214.         RET
  1215. YBMPAR3 LD      A,(SEA)
  1216.         LD      B,A
  1217.         LD      A,(IX+UNIT_BITPARENTSBULL)
  1218.         CP      B
  1219.         RET     Z
  1220.         LD      A,(SEA)
  1221.         CP      3
  1222.         CALL    NC,NU11
  1223.         LD      L,(IX+UNIT_Y)
  1224.         LD      H,(IX+UNIT_Y+1)
  1225.         LD      B,16
  1226.         LD      DE,(BOM1Y)
  1227.         LD      A,(BOMA)
  1228.         CP      1 ;up
  1229.         JR      Z,C44YB
  1230.         CP      3 ;down
  1231.         JR      Z,C22YB
  1232.         RET
  1233. PROW
  1234.         LD      A,E
  1235.         CP      32
  1236.         JP      C,YBMPAR4
  1237.         RET
  1238.  
  1239. JKJDYB  LD      A,E
  1240.         CP      L
  1241.         JP      Z,YBMPAR4
  1242.         INC     HL
  1243.         DJNZ    JKJDYB
  1244.         RET
  1245. C44YB   LD      A,(IX+UNIT_BITFRIENDLYFIRE)
  1246.         CP      253
  1247.         JP      Z,PROW
  1248.         LD      A,E
  1249.         CP      16
  1250.         JR      C,JKJDYB
  1251.         LD      BC,16
  1252.         ADD     HL,BC
  1253.         LD      A,E
  1254.         CP      L
  1255.         RET     NC
  1256.         LD      BC,16
  1257.         SBC     HL,BC
  1258.         LD      A,E
  1259.         CP      L
  1260.         JP      NC,YBMPAR4
  1261.         RET
  1262. JKJD2YB
  1263.         LD      A,E
  1264.         CP      L
  1265.         JR      Z,YBMPAR4
  1266.         INC     DE
  1267.         DJNZ    JKJD2YB
  1268.         RET
  1269. C22YB   LD      A,E
  1270.         CP      8
  1271.         JR      C,JKJD2YB
  1272.         LD      A,E
  1273.         CP      L
  1274.         RET     NC
  1275.         PUSH    HL
  1276.         PUSH    DE
  1277.         POP     HL
  1278.         LD      BC,8
  1279.         ADD     HL,BC
  1280.         PUSH    HL
  1281.         POP     DE
  1282.         POP     HL
  1283.         LD      A,E
  1284.         CP      L
  1285.         JP      NC,YBMPAR4
  1286.  
  1287.         RET
  1288.  
  1289.  
  1290. Y22SPB  LD      A,L
  1291.         CP      239
  1292.         JP      Z,CNN2B
  1293.         RET
  1294. CNN2B   POP     AF
  1295.         JP      BNDCOMP
  1296.  
  1297. C11YB
  1298. JKJD1YB LD      A,D
  1299.         CP      1
  1300.         CALL    Z,Y22SPB
  1301.         LD      A,H
  1302.         CP      D
  1303.         RET     NZ
  1304.         LD      A,E
  1305.         CP      L
  1306.         JP      Z,BNDCOMP
  1307.         INC     HL
  1308.         DJNZ    JKJD1YB
  1309.         RET
  1310. C33YB
  1311. JKJD3YB LD      A,D
  1312.         CP      1
  1313.         CALL    Z,Y22SPB
  1314.         LD      A,H
  1315.         CP      D
  1316.         RET     NZ
  1317.         LD      A,E
  1318.         CP      L
  1319.         JP      Z,BNDCOMP
  1320.         DEC     DE
  1321.         DJNZ    JKJD3YB
  1322.         RET
  1323. BKAA
  1324.         LD      DE,(BOM1X)
  1325.         LD      A,D
  1326.         CP      1
  1327.         JP      Z,ENDCB
  1328.         RET
  1329. ENDCB   POP     AF
  1330.         JP      BNDCOMP
  1331. YBMPAR4
  1332.         LD      L,(IX+UNIT_X)
  1333.         LD      H,(IX+UNIT_X+1)
  1334.         LD      DE,(BOM1X)
  1335.         LD      A,E
  1336.         CP      248
  1337.         JP      Z,BLKABB
  1338.         LD      A,H
  1339.         CP      1
  1340.         JR      Z,BLKA
  1341.         LD      A,L
  1342.         CP      248
  1343.         CALL    Z,BKAA
  1344.         LD      A,L
  1345.         CP      0
  1346.         JR      Z,BLKA8
  1347. BLKABB  LD      BC,8
  1348.         SBC     HL,BC
  1349. BLKA    LD      B,24
  1350.         LD      A,(IX+UNIT_BITFRIENDLYFIRE)
  1351.         CP      253
  1352.         CALL    Z,SMENA
  1353. BLKAZ   LD      DE,(BOM1X)
  1354.         LD      A,(BOMA)
  1355.         CP      1 ;up
  1356.         JR      Z,C11YB
  1357.         CP      3 ;down
  1358.         JR      Z,C33YB
  1359.         RET
  1360. BLKA8   LD      B,16
  1361.         JP      BLKAZ
  1362. SMENA
  1363.         LD      B,32
  1364.         RET
  1365.  
  1366. STARTM  LD      A,(MAP)
  1367.         INC     A
  1368.         LD      (MAP),A
  1369.         JP      FIGHTT
  1370.  
  1371. NEXTMIS
  1372.         PUSH    IX
  1373.         LD      IX,UNITS
  1374.         LD      DE,192
  1375.         ADD     IX,DE
  1376.         LD      B,7
  1377. NEX3    LD      A,(IX)
  1378.         CP      1
  1379.         JR      Z,NEX1
  1380.         LD      DE,48
  1381.         ADD     IX,DE
  1382.         DJNZ    NEX3
  1383. NEX2    POP     IX
  1384.         LD      A,(WARTAN)
  1385.         CP      0
  1386.         RET     NZ
  1387.         XOR     A
  1388.         LD      (TIMES),A
  1389.         LD      (TIMEW),A
  1390.         LD      A,1
  1391.         LD      (NEWLEVEL),A
  1392.         LD      A,(MAP)
  1393.         CP      255
  1394.         CALL    Z,NJNAA
  1395.         RET
  1396.  
  1397.  
  1398. NEX1    POP     IX
  1399.         RET
  1400.  
  1401. ADD20   LD      A,(IX+UNIT_YESORNOT)
  1402.         CP      1 ;SHOT1
  1403.         RET     NZ
  1404.         LD      A,(IX+UNIT_BITFRIENDLYFIRE)
  1405.         CP      253
  1406.         RET     Z
  1407.         LD      A,(TANKP) ;tank phase?
  1408.         CP      4
  1409.         RET     C
  1410.         LD      L,(IX+UNIT_NUMBERSPRITES)
  1411.         LD      H,(IX+UNIT_NUMBERSPRITES+1)
  1412.         LD      DE,8
  1413.         ADD     HL,DE ;мерцать белый-красный(red)??? (изначально hl=(IX+UNIT_NUMBERSPRITES))
  1414.         RET
  1415. ADD21   LD      A,(IX+UNIT_TYPEOFTANK)
  1416.         CP      21
  1417.         RET     C
  1418.         LD      A,(TANKPP)
  1419.         CP      16
  1420.         RET     C
  1421.         XOR     A
  1422.         LD      (YESORNO),A
  1423.         RET
  1424.  
  1425. NEWBON
  1426.         LD      HL,BONUS
  1427.         LD      A,(MAP)
  1428.         CP      0
  1429.         JR      Z,GGGG
  1430.         CP      255
  1431.         JR      Z,GGGG
  1432.         LD      B,A
  1433. GGG     INC     HL
  1434.         INC     HL
  1435.         INC     HL
  1436.         DJNZ    GGG
  1437. GGGG    LD      A,(HL)
  1438.         CP      0
  1439.         JR      Z,GG44
  1440.         LD      B,A
  1441.         LD      A,(WARTAN)
  1442.         CP      B
  1443.         JR      Z,NEWB2
  1444. GG44    INC     HL
  1445.         LD      A,(HL)
  1446.         CP      0
  1447.         JR      Z,GG45
  1448.         LD      B,A
  1449.         LD      A,(WARTAN)
  1450.         CP      B
  1451.         JR      Z,NEWB2
  1452. GG45    INC     HL
  1453.         LD      A,(HL)
  1454.         CP      0
  1455.         RET     Z
  1456.         LD      B,A
  1457.         LD      A,(WARTAN)
  1458.         CP      B
  1459.         JR      Z,NEWB2
  1460.         RET
  1461. NEWB2   LD      (HL),0
  1462.         LD      A,(IX+UNIT_TYPEOFTANK)
  1463.         ADD     A,10
  1464.         LD      (IX+UNIT_TYPEOFTANK),A
  1465.         RET
  1466. TANKPP  DEFB    0
  1467. RT1
  1468.         LD      HL,SPRBONUS0;256+128+16
  1469.         LD      A,21
  1470.         LD      (A21),A
  1471.         JP      CCC
  1472. RT2
  1473.         LD      HL,SPRBONUS1;256+128+18
  1474.         LD      A,22
  1475.         LD      (A21),A
  1476.         JP      CCC
  1477. RT3
  1478.         LD      HL,SPRBONUS2;256+128+20
  1479.         LD      A,23
  1480.         LD      (A21),A
  1481.         JP      CCC
  1482. RT4
  1483.         LD      HL,SPRBONUS3;256+128+22
  1484.         LD      A,24
  1485.         LD      (A21),A
  1486.         JP      CCC
  1487. RT5
  1488.         LD      HL,SPRBONUS4;256+128+24
  1489.         LD      A,25
  1490.         LD      (A21),A
  1491.         JP      CCC
  1492. RT6
  1493.         LD      HL,SPRBONUS5;256+128+26
  1494.         LD      A,26
  1495.         LD      (A21),A
  1496.         JP      CCC
  1497. RT7
  1498.         LD      HL,SPRBONUS6;256+128+28
  1499.         LD      A,27
  1500.         LD      (A21),A
  1501.         JP      CCC
  1502. RT8
  1503.         LD      HL,SPRBONUS7;256+128+30
  1504.         LD      A,28
  1505.         LD      (A21),A
  1506.         JP      CCC
  1507. RT9
  1508.         LD      HL,SPRBONUS8;256+128+32
  1509.         LD      A,29
  1510.         LD      (A21),A
  1511.         JP      CCC
  1512.  
  1513. PRIZ    LD      A,(IX+UNIT_TYPEOFTANK)
  1514.         CP      11
  1515.         JR      Z,PRIZ666
  1516.         CP      12
  1517.         JR      Z,PRIZ666
  1518.         CP      13
  1519.         JR      Z,PRIZ666
  1520.         RET
  1521. PRIZ666 LD      (IX+UNIT_YESORNOT),0
  1522.         LD      IX,SLU
  1523.         LD      (IX+UNIT_YESORNOT),8 ;???
  1524.         CALL    RANDOM
  1525.         CP      36
  1526.         JP      C,RT1
  1527.         CP      72
  1528.         JP      C,RT2
  1529.         CP      108
  1530.         JP      C,RT3
  1531.         CP      144
  1532.         JP      C,RT4
  1533.         CP      180
  1534.         JP      C,RT5
  1535.         CP      216
  1536.         JP      C,RT6
  1537.         CP      255
  1538.         JP      C,RT7
  1539.         JP      RT1
  1540. CCC
  1541.         LD      (IX+UNIT_NUMBERSPRITES),L
  1542.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  1543. C224A   CALL    RANDOM
  1544.         CP      224 ;??? это X!
  1545.         JR      NC,C224A
  1546.         ;SRL    A
  1547.         ;SRL    A
  1548.         ;SRL    A
  1549.         ;SLA    A
  1550.         ;SLA    A
  1551.         ;SLA    A
  1552.          and 0xf8
  1553.         LD      L,A
  1554.         LD      H,0
  1555.         LD      B,0
  1556.         LD      C,16
  1557.         ADD     HL,BC
  1558.         LD      (IX+UNIT_X),L
  1559.         LD      (IX+UNIT_X+1),H
  1560. C224    CALL    RANDOM
  1561.         CP      MAXY-16;208
  1562.         JR      NC,C224
  1563.         ;SRL    A
  1564.         ;SRL    A
  1565.         ;SRL    A
  1566.         ;SLA    A
  1567.         ;SLA    A
  1568.         ;SLA    A
  1569.          and 0xf8
  1570.         LD      L,A
  1571.         LD      H,0
  1572.         LD      B,0
  1573.         LD      C,16
  1574.         ADD     HL,BC
  1575.         LD      (IX+UNIT_Y),L
  1576.         LD      (IX+UNIT_Y+1),H
  1577.         LD      A,(A21)
  1578.         LD      (IX+UNIT_TYPEOFTANK),A
  1579.         RET
  1580. A21     DEFB    0
  1581. RANDOM  LD      A,R
  1582.         RLCA    ;          RANDOMIZE
  1583.         RLCA
  1584.         RLCA
  1585.         RLCA
  1586.         LD      B,A
  1587.         LD      A,R
  1588.         ADD     A,B
  1589.         RET
  1590. P500    LD      A,(IX+UNIT_TIMEFORSHOTONWAR)
  1591.         DEC     A
  1592.         LD      (IX+UNIT_TIMEFORSHOTONWAR),A
  1593.         CP      0
  1594.         RET     NZ
  1595.         LD      (IX+UNIT_YESORNOT),0
  1596.         LD      (YESORNO),A
  1597.         RET
  1598. BW      XOR     A
  1599.         RET
  1600. TANKB   DEFB    0
  1601. BOSTART DEFB    32
  1602. BOS     DEFB    0
  1603. EXITBOS LD      A,2
  1604.         LD      (BOS),A
  1605.         LD      (IX+UNIT_BITFRIENDLYFIRE),0
  1606.         LD      A,1
  1607.         LD      (NEWLEVEL),A
  1608.         CALL    BADBAD
  1609.         RET
  1610. BOSS
  1611.         LD      A,(MAP)
  1612.         CP      31
  1613.         RET     NZ
  1614.         LD      A,(BOS)
  1615.         CP      2
  1616.         RET     Z
  1617.         LD      A,(BOSTART)
  1618.         CP      0
  1619.         JR      Z,BOOO
  1620.         DEC     A
  1621.         LD      (BOSTART),A
  1622. BOOO    LD      A,(TANKB)
  1623.         INC     A
  1624.         CP      64
  1625.         CALL    Z,BW
  1626.         LD      (TANKB),A
  1627.         LD      A,1
  1628.         LD      (BOS),A
  1629.         LD      IX,UNITS
  1630.         LD      DE,14*UNITSZ;336
  1631.         ADD     IX,DE
  1632.         LD      A,(IX+UNIT_YESORNOT)
  1633.         CP      1 ;SHOT1
  1634.         JR      NZ,EXITBOS
  1635.         LD      HL,SPRMEGASHIP;256+36
  1636.         LD      (IX+UNIT_NUMBERSPRITES),L
  1637.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  1638.         LD      HL,(BOSX)
  1639.         LD      (IX+UNIT_X),L
  1640.         LD      (IX+UNIT_X+1),H
  1641.         LD      HL,(BOSY)
  1642.         LD      D,0
  1643.         LD      A,(BOSTART)
  1644.         LD      E,A
  1645.         SBC     HL,DE
  1646.         LD      A,(TANKB)
  1647.         CP      32
  1648.         CALL    NC,BOSANI
  1649.         LD      (IX+UNIT_Y),L
  1650.         LD      (IX+UNIT_Y+1),H
  1651.         LD      (IX+UNIT_DIRECTION),0
  1652.         LD      (IX+UNIT_ANIMATION),0
  1653.         LD      (IX+UNIT_BITFRIENDLYFIRE),253
  1654.         LD      A,(BOSTART)
  1655.         CP      0
  1656.         RET     NZ
  1657.         LD      A,(BOSSCIK)
  1658.         INC     A
  1659.         LD      (BOSSCIK),A
  1660.         CP      100
  1661.         JR      NC,FZZ
  1662.         RET
  1663. BOSSCIK DEFB    0
  1664. FZZ     LD      A,(MOVE)
  1665.         CP      1
  1666.         JP      Z,BOSL
  1667.         CP      2
  1668.         JP      Z,BOSR
  1669.         LD      A,(ATAKA)
  1670.         CP      0
  1671.         JR      NZ,ATAKA2
  1672.         LD      A,(IX+UNIT_STOPBIT)
  1673.         DEC     A
  1674.         CP      0
  1675.         JP      NZ,MNOL2
  1676.         LD      (IX+UNIT_STOPBIT),A
  1677. ATAKA3
  1678.         CALL    RANDOM
  1679.         CP      128
  1680.         JR      C,BOSN
  1681.         LD      A,1
  1682.         LD      (MOVE),A
  1683.         RET
  1684. ATAKA2
  1685.         DEC     A
  1686.         LD      (ATAKA),A
  1687.         JP      ATAKA3
  1688. ATAKA   DEFB    0
  1689. BOSANI
  1690.         DEC     HL
  1691.         RET
  1692. MOVE    DEFB    0
  1693. BOSN
  1694.         LD      A,2
  1695.         LD      (MOVE),A
  1696.         RET
  1697. MNOL
  1698.         XOR     A
  1699.         LD      (MOVE),A
  1700. MNOL2
  1701.  
  1702.         LD      A,R
  1703.         LD      (IX+UNIT_STOPBIT),A
  1704.         LD      (IX+UNIT_STAR),0
  1705.         LD      (IX+UNIT_DIRECTION),5
  1706.         LD      L,(IX+UNIT_X)
  1707.         LD      H,(IX+UNIT_X+1)
  1708.         LD      E,(IX+UNIT_Y)
  1709.         LD      D,(IX+UNIT_Y+1)
  1710.         LD      DE,UNITSZ;24
  1711.         ADD     IX,DE
  1712.  
  1713.         LD      A,(IX+UNIT_YESORNOT)
  1714.         CP      0
  1715.         RET     NZ
  1716.         LD      (IX+UNIT_YESORNOT),2 ;BULL1
  1717.         LD      A,L
  1718.         ADD     A,8
  1719.         LD      (IX+UNIT_X),A
  1720.         LD      (IX+UNIT_X+1),H
  1721.         PUSH    HL
  1722.         LD      HL,SPRDROP;256+34
  1723.         LD      (IX+UNIT_NUMBERSPRITES),L
  1724.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  1725.         POP     HL
  1726.         LD      (IX+UNIT_Y),E
  1727.         LD      (IX+UNIT_Y+1),D
  1728.         LD      (IX+UNIT_BITFRIENDLYFIRE),1
  1729.         LD      (IX+UNIT_DIRECTION),3
  1730.         LD      (IX+UNIT_STAR),1
  1731.         LD      (IX+UNIT_ENERGY),1
  1732.         LD      A,(ATAKA)
  1733.         CP      0
  1734.         RET     Z
  1735.         LD      BC,UNITSZ;24
  1736.         ADD     IX,BC
  1737.         LD      A,(IX+UNIT_YESORNOT)
  1738.         CP      0
  1739.         RET     NZ
  1740.         LD      (IX+UNIT_YESORNOT),2
  1741.         LD      A,L
  1742.         ADD     A,8
  1743.         LD      (IX+UNIT_X),A
  1744.         LD      (IX+UNIT_X+1),H
  1745.         PUSH    HL
  1746.         LD      HL,SPRDROP;256+34
  1747.         LD      (IX+UNIT_NUMBERSPRITES),L
  1748.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  1749.         POP     HL
  1750.         LD      (IX+UNIT_Y),E
  1751.         LD      (IX+UNIT_Y+1),D
  1752.         LD      (IX+UNIT_BITFRIENDLYFIRE),1
  1753.         LD      (IX+UNIT_DIRECTION),3
  1754.         LD      (IX+UNIT_STAR),1
  1755.         LD      (IX+UNIT_ENERGY),2
  1756.         LD      BC,UNITSZ;24
  1757.         ADD     IX,BC
  1758.         LD      A,(IX+UNIT_YESORNOT)
  1759.         CP      0
  1760.         RET     NZ
  1761.         LD      (IX+UNIT_YESORNOT),2
  1762.         LD      A,L
  1763.         ADD     A,8
  1764.         LD      (IX+UNIT_X),A
  1765.         LD      (IX+UNIT_X+1),H
  1766.         LD      HL,SPRDROP;256+34
  1767.         LD      (IX+UNIT_NUMBERSPRITES),L
  1768.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  1769.         LD      (IX+UNIT_Y),E
  1770.         LD      (IX+UNIT_Y+1),D
  1771.         LD      (IX+UNIT_BITFRIENDLYFIRE),1
  1772.         LD      (IX+UNIT_DIRECTION),3
  1773.         LD      (IX+UNIT_STAR),1
  1774.         LD      (IX+UNIT_ENERGY),3
  1775.         RET
  1776. BOSL    LD      HL,(BOSX)
  1777.         LD      A,L
  1778.         CP      0
  1779.         JP      Z,MNOL
  1780.         DEC     HL
  1781.         LD      (BOSX),HL
  1782.         LD      A,(IX+UNIT_STAR)
  1783.         CP      32
  1784.         JP      Z,MNOL
  1785.         INC     A
  1786.         LD      (IX+UNIT_STAR),A
  1787.         RET
  1788. BOSR    LD      HL,(BOSX)
  1789.         LD      A,L
  1790.         CP      232
  1791.         JP      Z,MNOL
  1792.         INC     HL
  1793.         LD      (BOSX),HL
  1794.         LD      A,(IX+UNIT_STAR)
  1795.         CP      32
  1796.         JP      Z,MNOL
  1797.         INC     A
  1798.         LD      (IX+UNIT_STAR),A
  1799.         RET
  1800. BOSX    DEFW    128
  1801. BOSY    DEFW    0
  1802.  
  1803. NEWTANK
  1804.         LD      (IX),1
  1805.         LD      HL,MASSIV
  1806.         LD      DE,20
  1807.         LD      A,(MAP)
  1808.         CP      0
  1809.         JR      Z,NEWT1
  1810.         CP      255
  1811.         JR      Z,NEWT1
  1812.         LD      B,A
  1813. MASS    ADD     HL,DE
  1814.         DJNZ    MASS
  1815.         LD      A,(BOS)
  1816.         CP      1
  1817.         JR      Z,NEWT2
  1818. NEWT1   LD      A,(WARTAN)
  1819.         CP      0
  1820.         JR      Z,NEWT2
  1821.         LD      B,A
  1822. MASS2   INC     HL
  1823.         DJNZ    MASS2
  1824. NEWT2   LD      A,(HL)
  1825.         CP      1
  1826.         CALL    Z,ENEMY1
  1827.         CP      2
  1828.         CALL    Z,ENEMY2
  1829.         CP      3
  1830.         CALL    Z,ENEMY3
  1831.         CP      4
  1832.         CALL    Z,ENEMY4
  1833.         CP      5
  1834.         CALL    Z,ENEMY5
  1835.         LD      (IX+UNIT_NUMBERSPRITES),L
  1836.         LD      (IX+UNIT_NUMBERSPRITES+1),H
  1837.         LD      (IX+UNIT_DIRECTION2),3
  1838.         LD      (IX+UNIT_DIRECTION),0
  1839.         LD      (IX+UNIT_ANIMATION),0
  1840.         LD      (IX+UNIT_COUNTER),0
  1841.         LD      A,R
  1842.         LD      (IX+UNIT_TIMEFORSHOTONWAR),A
  1843.         LD      (IX+UNIT_STOPBIT),0
  1844.         LD      (IX+UNIT_BITFRIENDLYFIRE),0
  1845.         LD      (IX+UNIT_SHELLTIME),0
  1846.         LD      (IX+UNIT_ICE),0
  1847.         LD      (IX+UNIT_SAND),0
  1848.         LD      (IX+UNIT_WATERWAY),0
  1849.         RET
  1850. ENEMY1  LD      HL,SPRENEMY1;256+128
  1851.         LD      (IX+UNIT_TYPEOFTANK),1; TYPE OF TANK
  1852.         LD      (IX+UNIT_ENERGY),0
  1853.         LD      (IX+UNIT_STAR),0
  1854.         RET
  1855. ENEMY2  LD      HL,SPRENEMY2;256+128+128
  1856.         LD      (IX+UNIT_TYPEOFTANK),2; TYPE OF TANK
  1857.         LD      (IX+UNIT_ENERGY),0
  1858.         LD      (IX+UNIT_STAR),0
  1859.         RET
  1860. ENEMY3  LD      HL,SPRENEMY3;256+128+128+128
  1861.         LD      (IX+UNIT_TYPEOFTANK),3; TYPE OF TANK
  1862.         LD      (IX+UNIT_ENERGY),3
  1863.         LD      (IX+UNIT_STAR),0
  1864.         RET
  1865. ENEMY4  LD      HL,SPRENEMY4;256+128+256+128
  1866.         LD      (IX+UNIT_TYPEOFTANK),4; TYPE OF TANK
  1867.         LD      (IX+UNIT_ENERGY),6
  1868.         LD      (IX+UNIT_STAR),0
  1869.         RET
  1870. ENEMY5  LD      HL,SPRENEMY5;256+128+256+256
  1871.         LD      (IX+UNIT_TYPEOFTANK),5; TYPE OF TANK
  1872.         LD      (IX+UNIT_ENERGY),10
  1873.         LD      (IX+UNIT_STAR),1
  1874.         PUSH    IX
  1875.         LD      DE,UNITSZ;24
  1876.         ADD     IX,DE
  1877.         LD      (IX+UNIT_STAR),1
  1878.         POP     IX
  1879.         RET
  1880. MASSIV
  1881.         DEFB    1,1,1,1,1,1,1,1,1,1
  1882.         DEFB    1,1,1,1,1,1,1,1,1,1
  1883.  
  1884.         DEFB    2,2,2,1,1,1,1,1,1,1
  1885.         DEFB    1,1,1,1,1,1,1,1,1,1
  1886.  
  1887.         DEFB    2,1,1,1,2,1,1,1,2,1
  1888.         DEFB    1,1,1,1,2,1,1,1,2,1
  1889.  
  1890.         DEFB    3,3,3,1,1,1,1,1,1,1
  1891.         DEFB    1,1,2,1,1,1,1,2,1,1
  1892.  
  1893.         DEFB    2,2,3,1,2,1,1,1,3,1
  1894.         DEFB    1,1,1,3,1,1,3,1,1,1
  1895.  
  1896.         DEFB    3,3,3,2,3,2,1,1,1,1
  1897.         DEFB    3,2,2,2,1,1,1,2,2,2
  1898.  
  1899.         DEFB    3,2,3,3,3,1,3,1,1,2
  1900.         DEFB    3,3,3,3,3,3,3,3,3,3
  1901.  
  1902.         DEFB    1,3,2,2,2,2,2,2,1,1
  1903.         DEFB    1,2,3,3,2,1,1,2,3,3
  1904.  
  1905.         DEFB    2,3,2,1,3,2,2,2,1,1
  1906.         DEFB    2,2,2,3,1,2,3,1,2,3
  1907.  
  1908.         DEFB    1,2,2,1,1,1,1,1,1,1
  1909.         DEFB    1,1,1,1,1,1,1,1,2,3
  1910.  
  1911.         DEFB    2,2,2,1,1,1,1,1,1,1
  1912.         DEFB    1,1,1,1,1,1,2,1,3,3
  1913.  
  1914.         DEFB    1,1,1,1,3,3,3,3,3,3
  1915.         DEFB    1,1,1,1,1,1,1,1,1,1
  1916.  
  1917.         DEFB    2,2,2,3,1,1,1,1,2,2
  1918.         DEFB    2,2,2,2,2,2,2,2,2,3
  1919.  
  1920.         DEFB    1,2,2,1,1,1,1,1,1,1
  1921.         DEFB    1,1,1,1,2,1,1,1,2,3
  1922.  
  1923.         DEFB    3,2,2,1,3,1,1,2,1,1
  1924.         DEFB    1,3,3,3,1,2,2,1,2,2
  1925.  
  1926.         DEFB    5,5,5,5,5,5,1,1,1,1
  1927.         DEFB    1,1,1,1,5,5,5,5,5,5
  1928.  
  1929.         DEFB    3,2,2,3,3,1,1,1,1,1
  1930.         DEFB    1,1,1,1,1,1,1,1,1,1
  1931.  
  1932.         DEFB    2,2,2,2,2,2,2,2,2,2
  1933.         DEFB    2,2,2,2,2,2,2,2,2,2
  1934.  
  1935.         DEFB    4,4,4,2,3,3,1,1,2,2
  1936.         DEFB    2,2,2,2,1,3,2,1,1,1
  1937.  
  1938.         DEFB    1,1,2,2,3,3,1,1,2,2;---20
  1939.         DEFB    2,2,2,2,1,3,2,1,1,1
  1940.  
  1941.         DEFB    1,1,4,2,3,3,1,1,2,2; 21
  1942.         DEFB    1,1,2,3,2,1,1,1,3,3
  1943.  
  1944.         DEFB    1,1,1,2,2,2,1,1,2,2;22
  1945.         DEFB    1,1,1,1,1,1,2,1,1,1
  1946.  
  1947.         DEFB    4,4,4,3,3,3,3,3,3,3;23
  1948.         DEFB    3,3,3,3,3,3,3,3,3,3
  1949.  
  1950.         DEFB    1,1,1,2,3,3,1,1,2,2
  1951.         DEFB    2,1,2,2,1,1,2,1,1,1
  1952.  
  1953.         DEFB    1,2,2,2,1,1,1,1,2,2;25
  1954.         DEFB    1,1,1,2,1,1,2,1,1,1
  1955.  
  1956.         DEFB    3,3,3,2,3,3,3,2,2,2;26
  1957.         DEFB    2,2,2,2,1,3,2,1,1,1
  1958.  
  1959.         DEFB    4,2,4,3,3,3,4,4,4,2;27
  1960.         DEFB    2,3,3,3,4,3,3,3,3,4
  1961.  
  1962.         DEFB    2,2,2,2,3,3,1,1,2,2;28
  1963.         DEFB    2,2,2,2,1,3,2,1,1,1
  1964.  
  1965.         DEFB    2,2,2,2,3,3,1,1,2,2;29
  1966.         DEFB    2,2,2,2,1,3,2,1,2,1
  1967.  
  1968.         DEFB    1,1,1,2,1,1,1,1,2,2;30
  1969.         DEFB    2,1,1,2,1,1,2,1,1,1
  1970.  
  1971.         DEFB    4,4,3,2,4,4,3,2,4,2;31
  1972.         DEFB    4,4,3,3,2,3,4,3,4,3
  1973.  
  1974.         DEFB    1,4,3,2,4,4,3,1,4,2;32
  1975.         DEFB    1,1,1,1,1,1,1,1,1,1
  1976.  
  1977. BONUS   DEFB    15,8,3
  1978.         DEFB    17,3,0
  1979.         DEFB    10,7,0
  1980.         DEFB    12,11,1
  1981.         DEFB    7,5,0
  1982.         DEFB    10,8,0
  1983.         DEFB    15,10,4
  1984.         DEFB    12,7,5
  1985.         DEFB    3,0,0
  1986.         DEFB    18,9,0
  1987.         DEFB    13,3,0
  1988.         DEFB    0,0,0
  1989.         DEFB    15,7,0
  1990.         DEFB    7,6,5
  1991.         DEFB    6,0,1
  1992.         DEFB    10,0,0
  1993.         DEFB    19,13,5
  1994.         DEFB    17,3,0
  1995.         DEFB    13,7,5
  1996.         DEFB    9,0,0
  1997.         DEFB    18,7,2
  1998.         DEFB    16,5,1
  1999.         DEFB    19,10,0
  2000.         DEFB    8,0,0
  2001.         DEFB    16,11,4
  2002.         DEFB    10,7,0
  2003.         DEFB    0,0,0
  2004.         DEFB    17,10,0
  2005.         DEFB    18,12,5
  2006.         DEFB    16,9,4
  2007.         DEFB    19,3,0
  2008.         DEFB    15,0,0
  2009. WR1     DEFB    0
  2010. WR2     DEFB    0
  2011. NEWW    DEFB    0
  2012. BOM1X   DEFW    0
  2013. BOM1Y   DEFW    0
  2014. BOMIX   DEFW    0
  2015. COM1X   DEFW    0
  2016. COM1Y   DEFW    0
  2017. COMIX   DEFW    0
  2018. COMA    DEFB    0
  2019.  
  2020. NEWTAN1 DEFB    0
  2021. NEWTAN2 DEFB    0
  2022. SM1     DEFB    #10
  2023. SM2     DEFB    #13
  2024. MMM     DEFB    0
  2025. MMM2    DEFB    0
  2026. WERH    DEFW    #C001-4096
  2027. WERH2   DEFW    65536-512
  2028. PLAYER  DEFB    0
  2029.  
  2030. POINTP1 DEFW    0
  2031. POINTP2 DEFW    0
  2032. JOINTP1 DEFW    0
  2033. JOINTP2 DEFW    0
  2034. HISTORE DEFW    0               ;Hi-Score table
  2035.                 DEFS    256
  2036. NEWLEVEL        DEFB    0
  2037.