Subversion Repositories NedoOS

Rev

Rev 833 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

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