?login_element?

Subversion Repositories NedoOS

Rev

Rev 992 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.         DEFS 35,#1
  2.  
  3. ;-------Энциклопедия
  4. UPLEN   EQU     60
  5. UP1st   EQU     54
  6. USF     DEFB    55 ;файл
  7. USN     DEFB    59 ;ЗАПРОС
  8. UST     DEFB    0 ;0-Изобр.
  9.  
  10. ;Цвета уфопедии 60*2
  11. UCOL    DEFB    #30,#78,#68,#38,#70,#38,#68,#78,#28,#68,#38,#60
  12.         DEFB    #58,#68,#78
  13.         DEFB    #69,#60,#72
  14.         DEFB    #38,#71,#78
  15.         DEFB    #60,#29,#72,#68,#78,#7A,#30,#58,#78,#69,#58,#68
  16.         DEFS    6,#68
  17.         DEFB    #70,#70,#78
  18.         DEFB    #71,#70,#78,#38,#68,#58,#78,#70,#60
  19.         DEFB    #6A,#58,#78,#69,#60,#30,#38,#68,#72
  20.  
  21. UCOL2   DEFB    #28,#60,#70,#50,#78,#58,#60,#70,#50,#30,#68,#78
  22.         DEFB    #68,#78,#70
  23.         DEFB    #69,#60,#71
  24.         DEFB    #38,#71,#78
  25.         DEFB    #68,#58,#78,#79,#60,#70,#60,#58,#79,#72,#71,#78
  26.  
  27.  
  28. uCOPY   LD      A,192
  29.         LD      HL,DSCR
  30.         LD      DE,SCR
  31. Ux7     LD      BC,28
  32.         LDIR
  33.         LD      BC,4
  34.         ADD     HL,BC
  35.         EX      DE,HL
  36.         ADD     HL,BC
  37.         EX      DE,HL
  38.         DEC     A
  39.         JR      NZ,Ux7
  40.         CALL    E_I
  41.         LD      HL,0
  42. uh      LD      BC,#1C03
  43. uHI     EQU     uh+1
  44.         LD      A,(COLOR)
  45.         CALL    ATRBAR
  46.         LD      H,C
  47.         LD      C,#15
  48.         LD A,3
  49.         LD (uHI),A
  50.         LD      A,(COLOR+1)
  51.         JP      ATRBAR
  52.  
  53. ;копирование экрана из буфера(A:0..2)
  54. UX      LD      BC,5376
  55.         LD      HL,SCR+5376
  56.         CP      1
  57.         JR      Z,Ux1
  58.         JR      C,Ux2
  59.         ADD     HL,BC
  60.         JR      Ux1
  61. Ux2     AND A
  62.         SBC     HL,BC
  63. Ux1     EX      DE,HL
  64.         CALL    STD
  65.         LD      BC,#1C18
  66.         LD      HL,0
  67.         CALL    PUTSIM
  68.         EXX
  69.         CALL MEM7
  70.         EXX
  71.         CALL    STS
  72.         XOR     A
  73.         CALL    ATRBAR
  74.         JR      uCOPY
  75. ;Уфопедиа  (файлы 1-20)
  76. USA     CALL    LDASM3
  77. USA_    CALL    PT128
  78.         LD      DE,(USN)
  79.         LD      L,3
  80.         CALL    DIVB
  81.         LD      A,(USF)
  82.         CP      E
  83.         LD      A,D
  84.         JR      Z,US1
  85.         LD      A,E
  86.         LD      (USF),A
  87.         ADD     A,UP1st
  88.         LD      HL,SCR
  89.         CALL    READ
  90.        if 0
  91.         LD      BC,(SCR)
  92.         LD      HL,SCR+2
  93.         ADD     HL,BC
  94.         DEC     HL
  95.         LD      DE,#FFFE
  96.         LDDR
  97.         EX      DE,HL
  98.         INC     HL
  99.         LD      DE,SCR
  100.         CALL    DELPC
  101.        endif
  102.         JR      USA_
  103.  
  104. US1     PUSH DE
  105.         CALL LDASM2
  106.         CALL PT128
  107.         POP DE
  108.         LD      A,(USN)
  109.         PUSH AF
  110.         LD      HL,UCOL
  111.         CALL    BA
  112.         LD      H,A
  113.         LD      L,A
  114.         LD      (COLOR),HL
  115.         POP AF
  116.         CP 33
  117.         JR NC,US11
  118.         PUSH AF
  119.         LD HL,UCOL2
  120.         CALL BA
  121.         LD (COLOR),A
  122.         POP AF
  123.         CP 13
  124.         JR NC,US11
  125.         LD A,7
  126.         LD (uHI),A
  127. US11    LD A,(C_ONOF)
  128.         OR A
  129.         JR Z,US111
  130.         LD HL,#3838
  131.         LD (COLOR),HL
  132. US111   LD      A,D
  133.         CALL    UX
  134.         JP      ARRINI
  135.  
  136. UTA     CALL    STD
  137.         BYTs    0,#1C18,#FF
  138.         LD      HL,#2028;Цвет заголовка UP +Цвет текта UP
  139.         LD      (COLOR),HL
  140.         LD      A,9
  141.         LD      (HIGH),A
  142.         LD      HL,4
  143.         LD      (SX),HL
  144.         LD      A,1+#80 ;M$
  145.         CALL    MEMX
  146.         LD      A,(USN)
  147.         CALL    NWRD
  148.         XOR     A
  149.         LD      (HIGH),A
  150.         LD      HL,#300
  151.         LD      (SX),HL
  152.         LD      HL,PEDIA
  153.         LD      A,(USN)
  154.         AND     A
  155.         JR      Z,UQ
  156.         LD      B,A
  157. UJ      LD      A,(HL)
  158.         INC     HL
  159.         CP      127
  160.         JR      NZ,UJ
  161.         DJNZ    UJ
  162. UQ      CALL    TEXT
  163.         CALL    UPARAM
  164.         CALL    UPUFO
  165.         CALL    STS
  166.         CALL    MEM7
  167.         JP      uCOPY
  168.  
  169. UP      CALL    INIMNU
  170.         LD      HL,#FFFF
  171.         LD      (MOLD),HL
  172.         LD      (MBEG),HL
  173.         LD      A,98
  174.         LD      (USF),A
  175.         LD      (UST),A
  176.         CALL    DTBAR
  177. UP_     LD      A,(UST)
  178.         OR      A
  179.         PUSH    AF
  180.         CALL    NZ,UTA
  181.         POP     AF
  182.         CALL    Z,USA
  183. UPM_    CALL    MARK_
  184.         JR      NC,UPM_
  185. UPD_    CALL    MARK_
  186.         JR      C,UPD_
  187.         LD      A,(MX)
  188.         CP      226
  189.         JR      C,UPM_
  190.         LD      A,(MY)
  191.         CP      16
  192.         JR      C,UPM_
  193.         CP      48
  194.         JR      C,UPU
  195.         CP      80
  196.         JR      C,UPS
  197.         CP      112
  198.         JR      C,UPT
  199.         CP      144
  200.         JR      C,UPD
  201.         CP      176
  202.         JR      NC,UPM_
  203.         RET     C
  204. UPS     XOR     A
  205.         LD      (UST),A
  206.         JR      UP_
  207. UPU     LD      A,(USN)
  208.         DEC     A
  209.         CP      255
  210.         JR      NZ,Mr4
  211.         LD      A,UPLEN-1
  212. Mr4     LD      (USN),A
  213.         LD      HL,RS
  214.         CALL    BT
  215.         OR      A
  216.         JR      Z,UP_
  217.         JR      UPU
  218. UPD     LD      A,(USN)
  219.         INC     A
  220.         CP      UPLEN
  221.         JR      C,Mr5
  222.         XOR     A
  223. Mr5     LD      (USN),A
  224.         LD      HL,RS
  225.         CALL    BT
  226.         OR      A
  227.         JR      Z,UP_
  228.         JR      UPD
  229. UPT     LD      (UST),A
  230.         JR      UP_
  231.  
  232. DTBAR   Ms 3+#80
  233.         CALL OFFD
  234.         CALL STD
  235.         LD HL,28
  236.         LD BC,#418
  237.         LD A,#30 ;цвет кнопок  UP
  238.         CALL ATRBAR
  239.         LD H,2
  240.         LD BC,#504
  241.         LD DE,xLABEL
  242. DXT     PUSH BC
  243.         PUSH DE
  244.         LD B,4
  245.         LD DE,xBUTTON
  246.         CALL PUTSIM
  247.         POP DE
  248.         INC H
  249.         INC L
  250.         LD BC,#202
  251.         CALL PUTSIM
  252.         DEC L
  253.         INC H
  254.         INC H
  255.         INC H
  256.         LD A,32
  257.         ADD A,E
  258.         LD E,A
  259.         JR NC,DXQ
  260.         INC D
  261. DXQ     POP BC
  262.         DJNZ DXT
  263.         CALL OFFS
  264.         JP COPYAT
  265.  
  266. TXMN    DEFW XM1,XM2,XM3,XM4,XM5,XM6,XM7,XMopt,XMR
  267. XMENUS           ;Гл.меню
  268.         CALL SAVMON
  269. XMENU   CALL OFFD
  270.         CALL STD
  271.         ATRs 0,#2018,#70
  272.         CALL NAL
  273.         LD IX,MU14
  274.         CALL SELM
  275.         JP NC,XMR
  276.         LD HL,TXMN
  277.         CALL WT
  278.         LD (XMS+1),HL
  279. XMS     CALL #3D2E
  280.         JR XMENU
  281.  
  282.  
  283. XM1U    CP 255
  284.         RET Z
  285.         LD HL,#160B
  286.         LD (SX),HL
  287.         LD HL,MXDM
  288.         CALL BA
  289.         LD (SOLDAT),A
  290.         ADD A,A
  291.         ADD A,A
  292.         ADD A,A
  293.         ADD A,A
  294.         LD HL,AQNAVT
  295.         CALL BA
  296.         LD (SOLD_D),HL
  297.         INC HL
  298.         LD A,(HL)
  299.         ADD A,80
  300.         JP NWRDM
  301.  
  302. MU14    DEFW #502,#E1A,T+97
  303.         DEFB 9
  304.  
  305. MU41    DEFW #804,#2916
  306. MU34    DEFW #403,#2218,DSDAT,#0A,DSDAT
  307. XM1     LD A,(AQU) ;ЭКИПАЖ
  308.         OR A
  309.         JR NZ,PR1
  310.         LD IX,MU41
  311.         JP MNU
  312. PR1     LD DE,DSDAT
  313.         LD B,10
  314.         LD HL,AQNAVT
  315. PR11    PUSH BC
  316.         LD A,(HL)
  317.         LD (DE),A
  318.         INC DE
  319.         LD BC,16
  320.         ADD HL,BC
  321.         POP BC
  322.         DJNZ PR11
  323.         CALL STD
  324.         BYTs #1400,#2004,255
  325.         WRDs #1601,158
  326.         LD IX,MU34
  327.         LD HL,XM1U
  328.         CALL SELTX
  329.         RET NC
  330. X1OK    CALL DRAW_P
  331.         CALL COPYAT
  332.         CALL SAVE_6
  333. X1EN    LD HL,#FFFF
  334.         LD (MBEG),HL
  335.         LD (MOLD),HL
  336. P141    CALL MARK_
  337.         JR C,P141
  338. P15     CALL MARK_
  339.         JR NC,P15
  340.         LD IX,AQUWIN-4
  341.         LD HL,(MX)
  342.         CALL INSW
  343.         JP C,W_GUN
  344.         CALL INSW
  345.         JR C,W_PAR
  346.         CALL INSW
  347.         JP C,W_NXT
  348.         CALL INSW
  349.         JR NC,P15
  350. P151    LD HL,S_ARM ;защита
  351.         LD (W_XXX),HL
  352.         LD IX,MU37
  353.         XOR A
  354.         LD (TTY),A
  355.         LD HL,XM1S
  356.         CALL SELTX
  357.         JR NC,X1NXT
  358.         LD A,(W_TYP)
  359.         CP 3
  360.         JR NC,P156
  361.         LD HL,W_NUM
  362.         LD A,(HL)
  363.         INC HL
  364.         OR (HL)
  365.         JR Z,X1NXT
  366. P156    LD IX,(SOLD_D)
  367.         LD A,(IX+2)
  368.         OR A
  369.         JR Z,P152
  370.         DEC A
  371.         LD HL,(W_XXX)
  372.         CALL WA
  373.         CALL INCW
  374. P152    LD A,(W_TYP)
  375.         INC A
  376.         CP 4
  377.         JR NC,P153
  378.         LD (IX+2),A
  379.         LD HL,(W_ADR)
  380.         CALL DECW
  381. P154    JP X1OK
  382. P153    LD (IX+2),0
  383.         JR P154
  384. X1NXT   CALL LOAD_6
  385.         CALL COPYAT
  386.         JP X1EN
  387. W_PAR   LD A,H
  388.         SUB (IX+1)
  389.         RRA
  390.         RRA
  391.         RRA
  392.         RRA
  393.         AND 7
  394.         ADD A,162
  395.         LD (MU35+4),A
  396.         LD IX,MU35
  397.         CALL MENUC
  398. W_PW    CALL MARK_
  399.         JR C,W_PW
  400.         JR X1NXT
  401.  
  402. W_NXT   LD A,H
  403.         RLCA
  404.         RLCA
  405.         RLCA
  406.         AND 7
  407.         JR Z,WND
  408.         CP 2
  409.         RET C
  410.         JR Z,WOUT
  411. WNU     LD A,(SOLDAT)
  412.         INC A
  413.         CP 10
  414.         JR C,WU1
  415.         XOR A
  416. WU1     LD (SOLDAT),A
  417.         CALL E_AQ
  418.         JR Z,WNU
  419.         JP X1OK
  420. WND     LD HL,SOLDAT
  421.         LD A,(HL)
  422.         DEC (HL)
  423.         OR A
  424.         JR NZ,W1D
  425.         LD A,9
  426.         LD (HL),A
  427. W1D     LD A,(HL)
  428.         CALL E_AQ
  429.         JR Z,WND
  430.         JP X1OK
  431. WOUT    LD IX,MU38
  432.         CALL SELM
  433.         JR NC,X1NXT
  434.         OR A
  435.         JR NZ,X1NXT
  436.         LD HL,(SOLD_D)
  437.         LD (HL),0
  438.         LD HL,AQU
  439.         DEC (HL)
  440.         RET
  441.  
  442.  
  443. MU38    DEFW #508,#2610,T+157,2
  444. MU40    DEFW #405,#2813
  445.         DEFB 0
  446.         DEFW T+157,2
  447.  
  448. E_AQ    LD HL,AQNAVT ;проверка: есть акв. (A)?
  449.         RLCA
  450.         RLCA
  451.         CALL DD
  452.         LD A,(HL)
  453.         LD (SOLD_D),HL
  454.         OR A
  455.         RET ;Z-нет
  456.  
  457. W_GUN   LD A,H
  458.         SUB (IX+1)
  459.         LD E,A
  460.         LD L,24
  461.         CALL DIVB
  462.         LD A,8
  463.         ADD A,E
  464.         LD E,A
  465.         LD D,0
  466.         LD HL,(SOLD_D)
  467.         INC HL
  468.         LD A,(HL)
  469.         LD (W_MC_R),A
  470.         ADD HL,DE
  471.         LD A,(HL)
  472.         CP 255
  473.         JR Z,WG1
  474.         PUSH HL
  475.         LD IX,MU40
  476.         INC A
  477.         LD (MU40+4),A
  478.         CALL SELM
  479.         POP HL
  480.         JP NC,X1NXT
  481.         OR A
  482.         JP NZ ,X1NXT
  483.         LD A,(HL)
  484.         LD B,255
  485.         LD (HL),B
  486.         LD HL,S_GUN
  487.         CALL WA
  488.         CALL INCW
  489.         JP X1OK
  490. W_MC_R  DEFB    1;ранг для МС
  491. WG1     LD (DSDAT),HL
  492. WG01    XOR A
  493.         LD (TTY),A
  494.         LD HL,S_GUN
  495.         LD (W_XXX),HL
  496.         LD IX,MU36
  497.         LD HL,XM1S
  498.         CALL SELTX
  499.         JP NC,X1NXT
  500.         LD HL,W_NUM
  501.         LD A,(HL)
  502.         INC HL
  503.         OR (HL)
  504.         JP Z,X1NXT
  505.         LD A,(W_TYP)
  506.         CP 12
  507.         JR NZ,WG12
  508.         LD A,(W_MC_R)
  509.         CP 7
  510.         JR NC,WG12
  511.         LD IX,MU45
  512.         CALL MNU
  513.         JP X1NXT
  514. WG12    LD HL,(SOLD_D) ;massa
  515.         LD DE,9
  516.         ADD HL,DE
  517.         EX DE,HL
  518.         LD BC,#400
  519. WG16    LD A,(DE)
  520.         CP 255
  521.         JR Z,WG17
  522.         LD HL,MASSA
  523.         CALL BA
  524.         ADD A,C
  525.         LD C,A
  526. WG17    INC DE
  527.         DJNZ WG16
  528.         LD A,(W_MC_R)
  529.         INC A
  530.         SRL A
  531.         ADD A,4
  532.         SUB C
  533.         LD C,A
  534.         LD A,(W_TYP)
  535.         LD HL,MASSA
  536.         CALL BA
  537.         CP C
  538.         JR C,WG18
  539.         LD IX,MU47
  540.         CALL MNU
  541.         JR WG01
  542. WG18    LD HL,(W_ADR)
  543.         CALL DECW
  544.         LD HL,(DSDAT)
  545.         LD A,(W_TYP)
  546.         LD (HL),A
  547.         JP X1OK
  548. MU47    DEFW #106,#2F14
  549. MU45    DEFW #407,#2D16
  550.         DEFB 13
  551.  
  552. MASSA   DEFB 2,3,5,4,2,1,2,4,3,3,0,1,3,0,0
  553.  
  554. W_XXX   DEFW 0;нач таб
  555. W_ADR   DEFW 0;тек адр
  556. W_NUM   DEFW 0;К-во
  557. W_TYP   DEFB 0;тип
  558.  
  559. T16     DEFB 16,17,18,158
  560. MU37    DEFW #507,#2511,T16,4,RS+15
  561. MU36    DEFW #005,#2416,T+1,15,RS
  562. MU35    DEFW #1104,#230f
  563.         DEFB 0
  564.  
  565. DECW    LD A,(HL)
  566.         DEC (HL)
  567.         OR A
  568.         RET NZ
  569.         INC HL
  570.         DEC (HL)
  571.         RET
  572.  
  573. INCW    INC (HL)
  574.         RET NZ
  575.         INC HL
  576.         INC (HL)
  577.         RET
  578.  
  579. XM1S    CP 255
  580.         RET Z
  581.         LD HL,MXDM
  582.         CALL BA
  583.         LD (W_TYP),A
  584.         PUSH AF
  585.         LD HL,TTY
  586.         LD A,(HL)
  587.         OR A
  588.         JR NZ,xm1S
  589.         DEC (HL)
  590.         WRDs #1610,128
  591. xm1S    POP AF
  592.         LD HL,#161A
  593.         LD (SX),HL
  594.         LD HL,(W_XXX)
  595.         CALL WA
  596.         LD (W_ADR),HL
  597.         PUSH HL
  598.         LD A,(HL)
  599.         INC HL
  600.         LD H,(HL)
  601.         LD L,A
  602.         LD (W_NUM),HL
  603.         POP HL
  604.         JP WW
  605.  
  606.        if PROTECT
  607. CHK_3   ;3 проверка сrc3 []
  608.         LD HL,#FF02
  609.         LD (TX),HL
  610.         XOR A
  611.         CALL MEM
  612.         XOR A
  613.         LD C,A
  614.         ADD A,#3D
  615.         LD B,A
  616. prt3    LD DE,TY
  617.         LD A,(DE)
  618.         EXX
  619.         LD HL,TX
  620.         SUB (HL)
  621.         LD (HL),A
  622.         EXX
  623.         LDD
  624.         JP PE,prt3
  625.         RET
  626.        endif
  627.  
  628. AQUWIN  DEFW #400*8,#1004*8
  629.         DEFW #406*8,#1009*8
  630.         DEFW #1C*8,#101F*8+6
  631.         DEFW #110F*8,#1412*8
  632.  
  633. INSW    LD DE,4
  634.         ADD IX,DE
  635.         JP INS
  636. MU2     DEFW    #202,#21A
  637. M20U    DEFB    1
  638.         DEFW    RSN
  639. M21U    DEFB    0
  640.         DEFW    T+121
  641.         DEFB    2
  642. MU9     DEFW    #806,#912
  643. MU4     DEFW    #001,#41C
  644.         DEFB    1
  645.         DEFW    T+1,#FE50,RS
  646.  
  647. XM2             ;Исследования
  648.         LD      B,80
  649. PRT20   LD      C,0
  650.         LD      HL,RS
  651. P21     LD      A,(HL)
  652.         OR      A
  653.         JR      Z,P22
  654.         CP      254
  655.         JR      C,P23
  656.         JR      NZ,P22
  657.         INC     C
  658. P22     INC     HL
  659.         DJNZ    P21
  660.         LD      A,C
  661.         CP      12
  662.         LD      IX,MU4
  663.         LD      A,6
  664.         JR      C,P24
  665.         XOR     A
  666. P24     LD      (IX+1),A
  667.         LD      (IX+4),123
  668.         CALL    SELM
  669.         RET     NC
  670.         PUSH    AF
  671.         LD      HL,RS
  672.         CALL    BA
  673.         POP     AF ;вычисл.времени
  674.         LD      B,18
  675.         CP      12
  676.         JR      C,P2T
  677.         LD      B,30
  678.         CP      18
  679.         JR      C,P2T
  680.         LD      B,90
  681.         CP      21
  682.         JR      C,P2T
  683.         LD      B,28
  684.         CP      33
  685.         JR      C,P2T
  686.         LD      B,16
  687.         CP      39
  688.         JR      C,P2T
  689.         LD      B,35
  690.         CP      60
  691.         JR      C,P2T
  692.         LD      B,24
  693. P2T     LD      (HL),B
  694.         LD      A,B
  695.         LD      (R_TM),A
  696.         JR      XM2
  697. P23     LD      A,81   ;Текущее
  698.         SUB     B
  699.         LD      (M20U),A
  700.         LD      A,(R_TM)
  701.         SRL     A
  702.         SRL     A
  703.         LD      E,A
  704.         LD      C,127
  705.         LD      B,3
  706. P26     CP      (HL)
  707.         JR      NC,P25
  708.         ADD     A,E
  709.         DEC     C
  710.         DJNZ    P26
  711. P25     LD      A,C
  712.         LD      (M21U),A
  713.         LD      IX,MU2
  714.         CALL    SELM
  715.         RET     NC
  716.         OR      A
  717.         JR      NZ,P28
  718.         LD      A,(M20U)
  719.         LD      HL,RS-1
  720.         CALL    BA
  721.         LD      (HL),254
  722.         LD      IX,MU9
  723.         JR      P27
  724. P28     LD      IX,MU4
  725.         LD      (IX+1),0
  726.         LD      (IX+4),122
  727. P27     JP      MNU
  728.  
  729. PRICEs  DEFW    700,3000,1500,985,48000,56000,62500
  730. PRICE   DEFW    0;текущ.табл. цен
  731. MT11    DEFB    1,2,5,51,19,20,21
  732. MT11R   DEFB    1,2,5,30,19,20,21
  733. MU11    DEFW    #405,#B14,MT11,7,MXDM+11
  734. price   DEFW    2;текущ.цена
  735. S_new   DEFW    2;К-во. в сделке
  736. S_old   DEFW    2;текущ.к-во
  737. S_adr   DEFW    2;адр.текущ.к-ва
  738. SUMM    DEFS    4,2
  739.  
  740. XM4             ;Покупка
  741.         LD B,7
  742.         LD HL,MT11R
  743.         LD DE,MXDM+11
  744. P40     LD A,(HL)
  745.         INC HL
  746.         PUSH HL
  747.         LD HL,RS-1
  748.         CALL BA
  749.         POP  HL
  750.         LD (DE),A
  751.         INC DE
  752.         DJNZ P40
  753.         CALL TITNAL
  754.         LD IX,MU11
  755.         LD HL,PRICEs
  756.         LD (PRICE),HL
  757.         LD HL,XM4OU
  758.         CALL SELTX
  759.         RET NC
  760.         CP 4
  761.         JR C,P41
  762.         SUB 4
  763.         LD B,A
  764.         LD A,(T_INTR)
  765.         RLA
  766.         JR C,P42
  767.         LD IX,MU16
  768.         JP MNU
  769. P42     LD HL,(price)
  770.         LD E,(HL)
  771.         INC HL
  772.         LD H,(HL)
  773.         LD L,E
  774.         CALL DECM
  775.         JR NC,P43
  776.         LD IX,MU15
  777.         JP MNU
  778. P43     LD A,B
  779.         LD (T_INTR),A
  780.         LD HL,INT_MX
  781.         CALL BA
  782.         LD (P43u2+1),A
  783.         LD BC,#AFF
  784.         LD IX,AQNAVT ;уволить лишних
  785. P43u    LD A,(IX)
  786.         OR A
  787.         JR Z,P43u1
  788.         INC C
  789.         LD A,C
  790. P43u2   CP 0
  791.         JR C,P43u1
  792.         LD (IX),0
  793.         LD HL,AQU
  794.         DEC (HL)
  795. P43u1   LD DE,16
  796.         ADD IX,DE
  797.         DJNZ P43u
  798.         JP XM4
  799.  
  800. P41     LD DE,130*256+153
  801.         CALL SELEC1
  802. P45     CALL SELEC2
  803.         CALL SELPM
  804.         CP 1
  805.         JP Z,PM47      ;OK
  806.         JR NC,P47
  807.         LD HL,(DSDAT)  ;CANCEL
  808.         LD (MONEY),HL
  809.         LD HL,(DSDAT+2)
  810.         LD (MONEY+2),HL
  811.         LD DE,(S_old)
  812.         LD HL,(S_adr)
  813.         LD (HL),E
  814.         INC HL
  815.         LD (HL),D
  816. PM47    JP XM4
  817. P47     CP 2
  818.         LD HL,(price)
  819.         LD E,(HL)
  820.         INC HL
  821.         LD D,(HL)
  822.         LD HL,S_new
  823.         LD A,(HL)
  824.         JR Z,P46
  825.         CP 250
  826.         JR NC,P45
  827.         EX DE,HL
  828.         CALL DECM ;<+>
  829.         JR C,P45
  830.         EX DE,HL
  831.         LD IX,SUMM
  832.         CALL INCR
  833.         LD HL,S_new
  834.         INC (HL)
  835.         LD HL,(S_adr)
  836.         INC (HL)
  837.         JR NZ,P45
  838.         INC HL
  839.         INC (HL)
  840.         JR P45
  841. P46     OR A;<->
  842.         JR Z,P45
  843.         DEC (HL)
  844.         LD IX,(S_adr)
  845.         LD A,(IX)
  846.         OR (IX+1)
  847.         JR Z,P45
  848.         LD A,(IX)
  849.         DEC (IX)
  850.         OR A
  851.         JR NZ,P466
  852.         DEC (IX+1)
  853. P466    EX DE,HL
  854.         CALL INCM
  855.         EX DE,HL
  856.         LD IX,SUMM
  857.         CALL DECR
  858.         JP P45
  859.  
  860. COPY3   LD BC,2048
  861.         LD HL,DSCR+4096
  862.         LD DE,SCR+4096
  863.         LDIR
  864.         RET
  865.  
  866. MU15    DEFW #306,#0F15
  867. MU16    DEFW #201,#1016
  868. MU17    DEFW #302,#1118
  869.  
  870. XM4OU   CP 255
  871.         RET Z
  872.         LD HL,MXDM
  873.         CALL BA
  874.         PUSH AF
  875.         LD HL,#1613
  876.         LD (SX),HL
  877.         LD HL,(PRICE)
  878.         CALL WA
  879.         LD (price),HL
  880.         CALL WW
  881.         CALL WORD
  882.         LD HL,#1513
  883.         LD (SX),HL
  884.         POP AF
  885.         CP 3
  886.         JR NZ,XO40
  887.         LD HL,S_ART+14
  888.         JR XO44
  889. XO40    JR  NC,XO41
  890.         CP 2
  891.         JR NZ,XO42
  892.         INC A
  893.         INC A
  894. XO42    LD HL,S_GUN
  895.         CALL WA
  896. XO44    LD (S_adr),HL
  897.         LD E,(HL)
  898.         INC HL
  899.         LD D,(HL)
  900.         DEC HL
  901.         LD (S_old),DE
  902.         JP WW
  903. XO41    LD HL,0
  904.         SUB 4
  905.         LD B,A
  906.         LD A,(T_INTR)
  907.         CP B
  908.         JR NZ,XO45
  909.         INC HL
  910. XO45    LD (S_adr),HL
  911.         LD HL,S_adr
  912.         JP WW
  913.  
  914. TITNAL  CALL NAL
  915.         BYTs #1300,#2002,#FF
  916.         WRDs #1600,127
  917.         WRDs #1500,128
  918.         RET
  919.  
  920. MT12    DEFB 111,89,91,90,92
  921. MT_111  DEFB 44,45,46,47,48,49,50,51,112,113
  922. P_ART   DEFW 12000,8900,4700,6200,5500,10500,62000,250,7400,4100
  923. P_GUN   DEFW 450,2250,8200,4600,1200,1800
  924.         DEFW 2770,3300,2100,3520,910,680
  925. P_EQU   DEFW 5000,1300,1550
  926. P_ARM   DEFW 2400,3700,4990
  927. P_INTR  DEFW 20000,22500,25700
  928. MU12    DEFW #807,#C12,MT12,5
  929. MU27    DEFW #100,#1B1E
  930. MU29    DEFW #206,#1D10
  931.         DEFB 0
  932.         DEFW T+155,2
  933. MU13    DEFW #103,#D13;ДЛЯ ВСЕХ ТИПОВ
  934.         DEFB 111
  935.         DEFW 0,0
  936.         DEFW DSDAT
  937. S_XXX   DEFW 0
  938.  
  939. SAVE_6  CALL PT128 ;сохр/восст DSCR в Page6
  940.         LD BC,6912
  941.         CALL CY_
  942.         JP MEM7
  943.  
  944. LOAD_6  CALL PT128
  945.         LD DE,DSCR
  946.         LD HL,SCR
  947.         LD BC,6912
  948.         LDIR
  949.         JP MEM7
  950.  
  951. XM5     LD IX,MU12      ;Продажа
  952.         CALL SELM
  953.         RET NC
  954.         PUSH AF
  955.         CALL SAVE_6
  956.         POP AF
  957.         LD B,A
  958.         LD HL,MT12
  959.         CALL BT
  960.         LD (MU13+4),A
  961.         LD A,B
  962.         CP 3
  963.         JR C,P50
  964.         JR Z,P51
  965.         LD A,(T_INTR)
  966.         CP 3
  967.         LD IX,MU27
  968.         JP NC,MNU
  969. P52     LD B,A
  970.         ADD A,19
  971.         LD (MU29+4),A
  972.         LD A,B
  973.         LD HL,P_INTR
  974.         CALL WT
  975.         LD (price),HL
  976.         CALL NAL
  977.         WRDs #1500,127
  978.         LD A,#13
  979.         LD (SX),A
  980.         LD HL,price
  981.         CALL WW
  982.         CALL WORD
  983.         LD IX,MU29
  984.         CALL SELM
  985.         RET NC
  986.         OR A
  987.         RET NZ
  988.         LD A,255
  989.         LD (T_INTR),A
  990.         LD HL,(price)
  991.         JP INCM
  992. P51     LD HL,S_EQU
  993.         LD DE,T+13
  994.         LD BC,P_EQU
  995.         JR P53_
  996. P50     CP 1
  997.         JR Z,P54
  998.         JR C,P55
  999.         LD HL,S_ARM
  1000.         LD BC,P_ARM
  1001.         LD DE,T+16
  1002. P53_    LD A,3
  1003.         JR P53
  1004. P54     LD HL,S_GUN
  1005.         LD BC,P_GUN
  1006.         LD DE,T+1
  1007.         LD A,12
  1008.         JR P53
  1009. P55     LD HL,S_ART
  1010.         LD BC,P_ART
  1011.         LD DE,MT_111
  1012.         LD A,10
  1013. P53     LD (MU13+5),DE
  1014.         LD (MU13+7),A
  1015.         LD (PRICE),BC
  1016.         LD (S_XXX),HL
  1017. P577    LD A,(MU13+7)
  1018.         LD B,A
  1019.         LD DE,DSDAT
  1020.         LD HL,(S_XXX)
  1021. P533    LD A,(HL)
  1022.         INC HL
  1023.         OR (HL)
  1024.         INC HL
  1025.         LD (DE),A
  1026.         INC DE
  1027.         DJNZ P533
  1028. P57     CALL TITNAL
  1029.         LD IX,MU13
  1030.         LD HL,XM5OU
  1031.         CALL SELTX
  1032.         PUSH AF
  1033.         JP NC,P58
  1034. P501    LD DE,129*256+131
  1035.         CALL SELEC1
  1036. P505    CALL SELEC2
  1037.         CALL SELPM
  1038.         CP 1
  1039.         JP Z,P58      ;OK
  1040.         JR NC,P507
  1041.         LD HL,(DSDAT)  ;CANCEL
  1042.         LD (MONEY),HL
  1043.         LD HL,(DSDAT+2)
  1044.         LD (MONEY+2),HL
  1045.         LD DE,(S_old)
  1046.         LD HL,(S_adr)
  1047.         LD (HL),E
  1048.         INC HL
  1049.         LD (HL),D
  1050.         JR P58
  1051. P507    CP 2
  1052.         LD HL,(price)
  1053.         LD E,(HL)
  1054.         INC HL
  1055.         LD D,(HL)
  1056.         LD HL,S_new
  1057.         LD A,(HL)
  1058.         JR Z,P506
  1059.         CP 250
  1060.         JR NC,P505
  1061.         LD IX,(S_adr)
  1062.         LD A,(IX)
  1063.         OR (IX+1)
  1064.         JR Z,P505
  1065.         LD A,(IX)
  1066.         DEC (IX)
  1067.         OR A
  1068.         JR NZ,P5051
  1069.         DEC (IX+1)
  1070. P5051   EX DE,HL
  1071.         CALL INCM ;<+>
  1072.         EX DE,HL
  1073.         LD IX,SUMM
  1074.         CALL INCR
  1075.         LD HL,S_new
  1076.         INC (HL)
  1077.         JR P505
  1078. P506    OR A;<->
  1079.         JR Z,P505
  1080.         DEC (HL)
  1081.         LD HL,(S_adr)
  1082.         INC (HL)
  1083.         JR NZ,P511
  1084.         INC HL
  1085.         INC (HL)
  1086. P511    EX DE,HL
  1087.         CALL DECM
  1088.         EX DE,HL
  1089.         LD IX,SUMM
  1090.         CALL DECR
  1091.         JR P505
  1092.  
  1093. P58     CALL LOAD_6
  1094.         CALL NAL
  1095.         POP AF
  1096.         JP C,P577
  1097.         JP XM5
  1098.  
  1099. SELEC1  LD HL,#1300
  1100.         LD (SX),HL
  1101.         LD A,E
  1102.         PUSH DE
  1103.         CALL NWRDM
  1104.         POP DE
  1105.         LD HL,#1400
  1106.         LD (SX),HL
  1107.         LD A,D
  1108.         CALL NWRDM
  1109. SELEC6  CALL INIPM
  1110.         LD HL,(MONEY)
  1111.         LD (DSDAT),HL
  1112.         LD HL,(MONEY+2)
  1113.         LD (DSDAT+2),HL
  1114.         XOR A
  1115.         LD L,A
  1116.         LD H,A
  1117.         LD (S_new),A
  1118.         LD (SUMM),HL
  1119.         LD (SUMM+2),HL
  1120.         RET
  1121.  
  1122. SELEC2  CALL NAL
  1123.         LD HL,#130E
  1124.         LD (SX),HL
  1125.         LD HL,SUMM
  1126.         CALL WD
  1127.         CALL WORD
  1128.         LD HL,#1413
  1129.         LD (SX),HL
  1130.         LD HL,S_new
  1131.         CALL WW
  1132.         LD HL,#1513
  1133.         LD (SX),HL
  1134.         LD HL,(S_adr)
  1135.         CALL WW
  1136.         CALL COPY3
  1137.         JP E_I
  1138.  
  1139. XM5OU   CP 255
  1140.         RET Z
  1141.         LD HL,MXDM
  1142.         CALL BA
  1143.         PUSH AF
  1144.         LD HL,#1613
  1145.         LD (SX),HL
  1146.         LD HL,(PRICE)
  1147.         CALL WA
  1148.         LD (price),HL
  1149.         CALL WW
  1150.         CALL WORD
  1151.         LD HL,#1513
  1152.         LD (SX),HL
  1153.         POP AF
  1154.         LD HL,(S_XXX)
  1155.         CALL WA
  1156.         LD (S_adr),HL
  1157.         LD E,(HL)
  1158.         INC HL
  1159.         LD D,(HL)
  1160.         LD (S_old),DE
  1161.         DEC HL
  1162.         JP WW
  1163.  
  1164. MU32    DEFW #A04,#2016,T+108,3
  1165. MU33    DEFW #B04,#2116,T+108,2
  1166. ZP      DEFW 15000,7000,25000
  1167. XXX     DEFB 0 ;(0-RSN...2-AQU)
  1168. OLD_6   DEFB 0
  1169. OLD_AD  DEFW 0
  1170. OLD_AQU DEFB 0
  1171. MAXXX   DEFB 0
  1172. INT_MX  DEFB 7,8,10;вместимость истр.
  1173.  
  1174. XM6     LD A,(AQU)      ;Найм
  1175.         LD (OLD_AQU),A
  1176.         LD IX,MU32
  1177.         LD HL,XM6OU
  1178.         CALL SELTX
  1179.         RET NC
  1180.         CP 2
  1181.         LD B,100
  1182.         JR C,PR6
  1183.         LD A,(T_INTR)
  1184.         CP 3
  1185.         LD B,6
  1186.         JR NC,PR6
  1187.         LD HL,INT_MX
  1188.         CALL BA
  1189.         LD B,A
  1190. PR6     LD HL,MAXXX
  1191.         LD (HL),B
  1192.         LD HL,(OLD_AD)
  1193.         LD A,(HL)
  1194.         LD (OLD_6),A
  1195.         CALL SELEC6
  1196. PR60    CALL NAL
  1197.         LD A,(XXX)
  1198.         CALL XM6E
  1199.         CALL COPY3
  1200.         CALL SELPM
  1201.         CP 4
  1202.         JR NC,PR60
  1203.         CP 1
  1204.         JP Z,XM6NAN
  1205.         JR NC,PR61
  1206.         LD HL,DSDAT
  1207.         LD DE,MONEY
  1208.         LD BC,4
  1209.         LDIR
  1210.         LD A,(OLD_6)
  1211.         LD HL,(OLD_AD)
  1212.         LD (HL),A
  1213.         CALL NAL
  1214.         LD A,(XXX)
  1215.         CALL XM6E
  1216.         JR XM6
  1217. PR61    CP 2
  1218.         JR NZ,PR62;<->
  1219.         LD HL,(OLD_AD)
  1220.         LD A,(OLD_6)
  1221.         CP (HL)
  1222.         JR Z,PR60
  1223.         DEC (HL)
  1224.         LD HL,(price)
  1225.         CALL INCM
  1226.         JR PR60
  1227. PR62    LD HL,(OLD_AD);<+>
  1228.         LD A,(MAXXX)
  1229.         CP (HL)
  1230.         JR C,PR60
  1231.         JR Z,PR60
  1232.         PUSH HL
  1233.         LD HL,(price)
  1234.         CALL DECM
  1235.         POP HL
  1236.         JR C,PR60
  1237.         INC (HL)
  1238.         JR PR60
  1239.  
  1240. XM6OU   LD (XXX),A
  1241.         CP 255
  1242.         RET Z
  1243. XM6E    PUSH AF
  1244.         WRDs #1500,133
  1245.         POP AF
  1246.         PUSH AF
  1247.         LD HL,RSN
  1248.         CALL BA
  1249.         LD (OLD_AD),HL
  1250.         CALL WB
  1251.         WRDs #1600,134
  1252.         POP AF
  1253.         LD B,A
  1254.         LD HL,ZP
  1255.         CALL WT
  1256.         LD (price),HL
  1257.         LD A,B
  1258.         LD HL,ZP
  1259.         CALL WA
  1260.         CALL WW
  1261.         JP WORD
  1262.  
  1263. XM6NAN  LD A,(XXX)
  1264.         CP 2
  1265.         JP C,XM6 ;найм акванавтов
  1266.         LD HL,OLD_AQU
  1267.         LD A,(AQU)
  1268.         SUB (HL)
  1269.         LD (NRECR),A
  1270.         JP Z,XM6
  1271.         POP AF  ;dec2 SP
  1272.         JP MLOOP
  1273.  
  1274. NRECR   DEFB 0 ;сколько нанять
  1275.  
  1276. RECRUT  LD HL,NRECR ;найм акв
  1277.         LD A,(HL)
  1278.         OR A
  1279.         RET Z
  1280.         LD B,A
  1281.         XOR A
  1282.         LD (HL),A
  1283.         PUSH BC
  1284.         LD A,39
  1285.         CALL DISPL
  1286.         POP BC
  1287. RECR0   PUSH BC
  1288.         LD HL,AQNAVT
  1289.         LD DE,16
  1290.         LD B,10
  1291. RER0    LD A,(HL)
  1292.         OR A
  1293.         JR Z,RER1
  1294.         ADD HL,DE
  1295.         DJNZ RER0
  1296.         JP SMERT
  1297. RER1    PUSH HL
  1298.         POP IX
  1299.         INC HL
  1300.         LD (HL),A
  1301.         INC HL
  1302.         LD (HL),A
  1303.         LD (IX+6),A
  1304.         LD (IX+14),A
  1305.         DEC A
  1306.         LD (IX+9),A
  1307.         LD (IX+10),A
  1308.         LD (IX+11),A
  1309.         LD (IX+12),A
  1310.         LD (IX+13),16
  1311.         LD A,105-42-16 ;TU 6+
  1312.         CALL RECRND
  1313.         LD A,106-35-16 ;EN 5+
  1314.         CALL RECRND
  1315.         LD A,86-49-16 ;HEALTH 7+
  1316.         CALL RECRND
  1317.         INC HL
  1318.         LD A,100-28-16 ;МОRAL 4+
  1319.         CALL RECRND
  1320.         LD A,105-35-16 ;PREC 5+
  1321.         CALL RECRND
  1322.         LD HL,N_AQU
  1323.         LD A,(HL)
  1324.         LD (IX),A
  1325.         DEC A
  1326.         LD (DSDAT),A
  1327.         JR NZ,RER2
  1328.         LD A,192
  1329.         LD (IX+3),75
  1330.         LD (IX+4),78
  1331.         LD (IX+5),62
  1332.         LD (IX+1),2
  1333. RER2    LD (HL),A
  1334.         LD A,43
  1335.         CALL DISPLX
  1336.         POP BC
  1337.         DJNZ RECR0
  1338.         RET
  1339.  
  1340. RECRND  ;случ.парам A+RND(16)
  1341.         LD B,A
  1342.         CALL RND
  1343.         AND %1111
  1344.         ADD A,B
  1345.         INC HL
  1346.         LD (HL),A
  1347.         RET
  1348.  
  1349. XM7             ;Увольнение
  1350.         LD HL,Pr_Q
  1351.         LD A,(HL)
  1352.         OR A
  1353.         JR Z,X7M
  1354.         LD A,(ENG)
  1355.         OR A
  1356.         JP Z,PRSTOP
  1357. X7M     LD IX,MU33
  1358.         LD HL,XM6OU
  1359.         CALL SELTX
  1360.         RET NC
  1361.         LD HL,(OLD_AD)
  1362.         LD A,(HL)
  1363.         LD (OLD_6),A
  1364.         CALL SELEC6
  1365. PR70    CALL NAL
  1366.         LD A,(XXX)
  1367.         CALL XM6E
  1368.         CALL COPY3
  1369.         CALL SELPM
  1370.         CP 4
  1371.         JR NC,PR70
  1372.         CP 1
  1373.         JR Z,XM7
  1374.         JR NC,PR71
  1375.         LD HL,DSDAT
  1376.         LD DE,MONEY
  1377.         LD BC,4
  1378.         LDIR
  1379.         LD A,(OLD_6)
  1380.         LD HL,(OLD_AD)
  1381.         LD (HL),A
  1382.         CALL NAL
  1383.         LD A,(XXX)
  1384.         CALL XM6E
  1385.         JR XM7
  1386. PR71    CP 3
  1387.         JR NZ,PR72;<+>
  1388.         LD HL,(OLD_AD)
  1389.         LD A,(OLD_6)
  1390.         CP (HL)
  1391.         JR Z,PR70
  1392.         INC (HL)
  1393.         JR PR70
  1394. PR72    LD HL,(OLD_AD);<->
  1395.         LD A,(HL)
  1396.         OR A
  1397.         JR Z,PR70
  1398.         DEC (HL)
  1399.         JR PR70
  1400.  
  1401. INFO    ;инфо
  1402.         LD IX,TTX
  1403.         LD A,(T_INTR)
  1404.         CP 3
  1405.         JR C,INU0
  1406.         LD A,27
  1407.         JR INU9
  1408. INU0    ADD A,18
  1409.         LD (TTX),A
  1410.         LD A,26
  1411. INU9    CALL DISPL
  1412.         LD B,8
  1413.         LD HL,BASE+8
  1414. INU1    DEC HL
  1415.         PUSH BC
  1416.         PUSH HL
  1417.         LD A,B
  1418.         ADD A,191
  1419.         LD (TTX),A
  1420.         LD A,22
  1421.         CALL DISPL
  1422.         POP HL
  1423.         PUSH HL
  1424.         LD A,(HL)
  1425.         CP 100
  1426.         JR NC,INU2
  1427.         OR A
  1428.         LD A,23
  1429.         JR Z,INU3
  1430.         LD (TTX),HL
  1431.         LD A,25
  1432.         JR INU3
  1433. INU2    LD A,24
  1434. INU3    CALL DISPL
  1435.         POP HL
  1436.         POP BC
  1437.         DJNZ INU1
  1438.         JP LOOP
  1439.  
  1440. PMXY    DEFW 0  ;коорд. пикс
  1441. PBXY    DEFW 0  ;--"--  з/м
  1442. INIPM   LD A,3+#40      ;иниц. плюс-минус
  1443.         CALL MEMX ;M$
  1444.         LD HL,#FFFF
  1445.         LD (MBEG),HL
  1446.         LD (MOLD),HL
  1447.         LD HL,(MX)
  1448.         LD A,H
  1449.         SUB 24
  1450.         AND #F8
  1451.         LD H,A
  1452.         LD A,L
  1453.         LD L,56
  1454.         CP 128
  1455.         JR C,IPc
  1456.         LD L,104
  1457. IPc     LD (PMXY),HL
  1458.         SRL H
  1459.         SRL H
  1460.         SRL H
  1461.         SRL L
  1462.         SRL L
  1463.         SRL L
  1464.         LD (PBXY),HL
  1465.         LD BC,#C02
  1466.         CALL STD
  1467.         XOR A
  1468.         CALL SIMBAR
  1469.         LD DE,xPLUS
  1470.         CHNs OR_
  1471.         CALL PUTSIM
  1472.         LD A,#38
  1473.         CALL ATRBAR
  1474.         CALL MEM7
  1475.         CALL COPYAT
  1476. INPM    CALL MARK_
  1477.         JR C,INPM
  1478.         RET
  1479.  
  1480. SELPM   CALL MARK_ ;выбор(0-CANCEL,1-OK,2-<->,3-<+>)
  1481.         PUSH AF
  1482.         LD HL,(PMXY)
  1483.         LD E,L
  1484.         LD A,(MY)
  1485.         SUB H
  1486.         JR C,SPR_
  1487.         CP 16
  1488.         JR NC,SPR_
  1489.         LD A,(MX)
  1490.         SUB L
  1491.         JR C,SPR_
  1492.         CP 95
  1493.         JR NC,SPR_
  1494.         LD E,1
  1495.         CP 48
  1496.         JR NC,SP2_
  1497.         CP 24
  1498.         JR NC,SPR_
  1499.         DEC E
  1500. SPR_    LD HL,(PBXY)
  1501.         CALL STS
  1502.         LD BC,#302
  1503.         XOR A
  1504. SP0_    PUSH AF
  1505.         CP E
  1506.         LD A,#38
  1507.         JR NZ,SP1_
  1508.         LD A,#6A
  1509. SP1_    CALL ATRBAR
  1510.         POP AF
  1511.         INC A
  1512.         INC HL
  1513.         INC HL
  1514.         INC HL
  1515.         CP 4
  1516.         JR NZ,SP0_
  1517.         POP AF
  1518.         JR NC,SELPM
  1519.         LD A,E
  1520.         CP 4
  1521.         JR NC,SELPM
  1522.         OR A
  1523.         RET
  1524. SP2_    INC E
  1525.         CP 72
  1526.         JR C,SPR_
  1527.         INC E
  1528.         JR SPR_
  1529.  
  1530. SCROLL  CALL MEM7 ;скролл на строку
  1531.         LD B,8
  1532. MY90    PUSH BC
  1533.         LD DE,SCR+#9E0
  1534.         LD HL,SCR+#AE0
  1535.         LD B,70
  1536. MY93    PUSH BC
  1537.         PUSH HL
  1538.         LD BC,24
  1539.         LDIR
  1540.         POP DE
  1541.         LD H,D
  1542.         LD L,E
  1543.         INC H
  1544.         LD A,H
  1545.         AND %111
  1546.         JR NZ,MY94
  1547.         LD A,H
  1548.         SUB 8
  1549.         LD H,A
  1550.         LD A,L
  1551.         ADD A,32
  1552.         LD  L,A
  1553.         JR NC,MY94
  1554.         LD A,8
  1555.         ADD A,H
  1556.         LD H,A
  1557. MY94    POP BC
  1558.         DJNZ MY93
  1559.         LD H,D
  1560.         LD L,E
  1561.         INC E
  1562.         LD (HL),255
  1563.         LD BC,24
  1564.         LDIR
  1565.         CALL INT00
  1566.         POP BC
  1567.         DJNZ MY90
  1568.         LD DE,SCR+#10E0
  1569.         LD HL,DSCR+#10E0
  1570.         LD B,8
  1571. MY95    PUSH BC
  1572.         PUSH DE
  1573.         PUSH HL
  1574.         LD BC,24
  1575.         LDIR
  1576.         POP HL
  1577.         PUSH HL
  1578.         LD D,H ;*BLNK*
  1579.         LD E,L
  1580.         INC E
  1581.         LD C,23
  1582.         LD (HL),255
  1583.         LDIR
  1584.         POP HL
  1585.         POP DE
  1586.         POP BC
  1587.         INC D
  1588.         INC H
  1589.         DJNZ MY95
  1590. INT00   PUSH IX
  1591.         CALL INT0
  1592.         POP IX
  1593.         JP E_I
  1594.  
  1595. DSDAT   DEFS 12,#DD;врем. данные дисплея
  1596. DISPLX  LD IX,DSDAT
  1597. DISPL   PUSH IX
  1598.         PUSH AF ;;выв.сообщ (A-No)
  1599.         Ms 1+#40
  1600.         POP AF
  1601.         LD HL,MENUS
  1602.         OR      A
  1603.         JR      Z,JFD
  1604.         LD      B,A
  1605. JHD     LD      A,(HL)
  1606.         INC     HL
  1607.         CP      #7F
  1608.         JR      NZ,JHD
  1609.         DJNZ    JHD
  1610. JFD     LD (TXM),HL
  1611.         LD HL,MTXTD
  1612.         LD (MTXT+1),HL
  1613.         LD HL,MTX0D
  1614.         LD (MTX0+1),HL
  1615.         LD HL,#FFFF
  1616.         LD (MBEG),HL
  1617.         LD HL,WORDS
  1618.         LD (_words),HL
  1619.         LD HL,#1800
  1620.         LD (MXSH),HL
  1621.         CALL MEM7
  1622.         JR MW
  1623. MTXTD   CALL MEM7
  1624.         CALL SCROLL
  1625. MW      CALL CONTR
  1626.         BIT 4,A
  1627.         JR Z,MW1
  1628.         CALL INT00
  1629.         JR MW
  1630. MW1     CALL STD
  1631.         LD HL,#1700
  1632.         LD (SX),HL
  1633. MTX0D   LD A,1+#40 ;M$
  1634.         CALL MEMX
  1635.         XOR A
  1636.         LD (HIGH),A
  1637.         LD HL,(TXM)
  1638.         LD A,(HL)
  1639.         INC HL
  1640.         LD (TXM),HL
  1641.         CP 127
  1642.         JR Z,DIRET
  1643.         LD HL,ZT
  1644.         CALL WT
  1645.         JP (HL)
  1646. DIRET   POP IX
  1647.         JP MEM7
  1648.  
  1649. Range   ;новое звание
  1650.         LD HL,AQNAVT
  1651.         LD B,10
  1652. RNG0    PUSH BC
  1653.         PUSH HL
  1654.         LD A,(HL)
  1655.         LD (DSDAT),A
  1656.         OR A
  1657.         JR Z,RNG1
  1658.         INC HL
  1659.         LD A,(HL)
  1660.         CP 7
  1661.         JR NC,RNG1
  1662.         PUSH HL
  1663.         LD BC,12
  1664.         ADD HL,BC
  1665.         LD A,(HL)
  1666.         DEC (HL)
  1667.         OR A
  1668.         JR NZ,RNG2
  1669.         LD (HL),33
  1670. RNG2    POP HL
  1671.         JR NZ,RNG1
  1672.         INC (HL)
  1673.         LD A,(HL)
  1674.         ADD A,81
  1675.         LD (DSDAT+1),A
  1676.         INC HL
  1677.         INC HL
  1678.         LD A,6
  1679.         ADD A,(HL)
  1680.         LD (HL),A
  1681.         INC HL
  1682.         LD A,5
  1683.         ADD A,(HL)
  1684.         LD (HL),A
  1685.         INC HL
  1686.         LD A,7
  1687.         ADD A,(HL)
  1688.         LD (HL),A
  1689.         INC HL
  1690.         INC HL
  1691.         INC (HL)
  1692.         INC (HL)
  1693.         INC (HL)
  1694.         INC (HL)
  1695.         INC HL
  1696.         LD A,5
  1697.         ADD A,(HL)
  1698.         LD (HL),A
  1699.         LD A,44
  1700.         CALL DISPLX
  1701.         CALL STOP_T
  1702. RNG1    POP HL
  1703.         LD BC,16
  1704.         ADD HL,BC
  1705.         POP BC
  1706.         DJNZ RNG0
  1707.         RET
  1708.  
  1709. ACTH    ;действия каждый час
  1710.         CALL PROH
  1711.         LD HL,(TIM)
  1712.         LD A,L
  1713.         CP 1
  1714.         RET NZ
  1715.         LD A,H
  1716.         OR A
  1717.         JP Z,Range
  1718.         CP 2
  1719.         JP Z,RSDAY
  1720.         CP 5
  1721.         JP Z,DEMBEL
  1722.         RET
  1723.  
  1724. PERCs   DEFB 100,15,15,126
  1725. WRP     PUSH DE
  1726.         LD HL,PERCs
  1727.         LD (TXT),HL
  1728.         CALL WORD
  1729.         POP DE
  1730.         RET
  1731.  
  1732. UPUFO   ;вывод к-ва экипажа НЛО
  1733.         LD A,(USN)
  1734.         SUB 33
  1735.         CP 9
  1736.         RET NC
  1737.         LD HL,AN_UFO
  1738.         CALL BA
  1739.         PUSH AF
  1740.         LD HL,SX
  1741.         LD (HL),2
  1742.         INC HL
  1743.         INC (HL)
  1744.         LD A,200
  1745.         CALL NWRDM
  1746.         POP AF
  1747.         JP WB
  1748.        
  1749. UPARAM  ;вывод парам.оружия
  1750.         LD A,(USN)
  1751.         CP 15
  1752.         RET NC
  1753.         RLCA
  1754.         LD HL,WEAPON
  1755.         CALL DD
  1756.         PUSH HL
  1757.         Ms 3+#C0
  1758.         LD HL,#C02
  1759.         LD BC,#30C
  1760.         LD DE,48*4+xPARAM
  1761.         CALL PUTSIM
  1762.         LD DE,xPARAM
  1763.         LD C,2
  1764.         CALL PUTSIM
  1765.         LD B,5
  1766.         POP DE
  1767.         INC H
  1768.         LD L,7
  1769. UY1     pushs
  1770.         LD (SX),HL
  1771.         LD A,(DE)
  1772.         OR A
  1773.         JR NZ,UY5
  1774.         CALL URG
  1775. UY4     INC DE
  1776.         JR UY2
  1777. UY5     CALL WB
  1778.         LD A,B
  1779.         CP 4
  1780.         JR C,UY4
  1781. UY3     CALL WRP
  1782.         LD A,(DE)
  1783.         LD B,A
  1784.         INC DE
  1785.         LD A,(DE)
  1786.         INC DE
  1787.         CP B
  1788.         JR Z,UY2
  1789.         CALL WB
  1790.         CALL WRP
  1791. UY2     pops
  1792.         INC H
  1793.         INC H
  1794.         DJNZ UY1
  1795.         DEC L
  1796.         DEC L
  1797.         LD (SX),HL
  1798.         LD A,(USN)
  1799.         LD HL,WP_PRC
  1800.         CALL WA
  1801.         OR A
  1802.         JP Z,URG1
  1803.         CALL WW
  1804.         JP WORD
  1805. URG1    LD HL,(SX)
  1806. URG     DEC H ;гашен
  1807.         LD L,2
  1808.         LD BC,#302
  1809.         LD A,255
  1810.         JP SIMBAR
  1811.  
  1812. MU8     DEFW #105,#816,T+3,16,RS+2
  1813. ZERT    DEFB 0,0,10,7,0,1,5,10,3,6,1,0,20,0,0,0,12,25  ;к-во Зербайта
  1814. Pr_PRI  ;цена пр-ва
  1815.         DEFW 0,0,4800,3300,0,1400
  1816.         DEFW 1900,2450,1700,2700,395,325
  1817.         DEFW 3000,700,835
  1818.         DEFW 1750,2950,3550
  1819. pN      DEFB 0;N пр-ва
  1820. pZ      DEFB 0;К-во зерб
  1821. pPR     DEFW 0;цена
  1822. pE      DEFW 0;имеется шт
  1823.  
  1824. XM3U    CP 255
  1825.         RET Z
  1826.         LD HL,MXDM
  1827.         CALL BA
  1828.         INC A
  1829.         INC A
  1830.         LD (pN),A
  1831.         LD B,A
  1832.         LD HL,ZERT
  1833.         CALL BA
  1834.         LD (pZ),A
  1835.         LD A,B
  1836.         LD HL,Pr_PRI
  1837.         CALL WT
  1838.         LD (pPR),HL
  1839.         LD A,B
  1840.         LD HL,S_GUN
  1841.         CALL WT
  1842.         LD (pE),HL
  1843.         LD HL,#1717
  1844.         LD (SX),HL
  1845.         LD HL,pPR
  1846.         CALL WW
  1847.         CALL WORD
  1848.         LD HL,#1609
  1849.         LD (SX),HL
  1850.         LD HL,pE
  1851.         JP WW
  1852. MU48    DEFW #1000,#301E,Pr_Z
  1853. MU7     DEFW #000,#71E
  1854. M7P     DEFB 0
  1855.         DEFW Pr_Q,Pr_PRC,Pr_HWR,Pr_DAY,ENG,T+168,4
  1856. MU49    DEFW #805,#3114
  1857.  
  1858. XM3     ;Производство
  1859.         LD A,(ENG)
  1860.         OR A
  1861.         JR NZ,X3M
  1862.         LD IX,MU49
  1863.         JP MNU
  1864. X3M     LD A,(Pr_Q)
  1865.         OR A
  1866.         JR NZ,P30
  1867.         DEC A
  1868.         LD (RS+4),A
  1869.         WRDs #1700,135
  1870.         WRDs #1600,128
  1871.         LD HL,XM3U
  1872.         LD IX,MU8
  1873.         CALL SELTX
  1874.         EX AF,AF
  1875.         XOR A
  1876.         LD (RS+4),A
  1877.         EX AF,AF
  1878.         RET NC
  1879.         LD A,1
  1880.         LD (Pr_Q),A
  1881.         LD HL,pN
  1882.         LD DE,Pr_N
  1883.         LD BC,4
  1884.         LDIR
  1885.         LD A,(Pr_Z)
  1886.         OR A
  1887.         JR Z,P30
  1888.         LD IX,MU48
  1889.         CALL MNU
  1890. P30     CALL CALC
  1891.         LD A,(Pr_N)
  1892.         INC A
  1893.         LD (M7P),A
  1894.         LD IX,MU7
  1895.         CALL MENUC
  1896. P301    CALL MARK_
  1897.         JR C,P301
  1898. P30E    LD A,80
  1899.         CALL mark_0
  1900.         JR NC,P30E
  1901.         CP 3
  1902.         LD HL,Pr_Q
  1903.         JR C,PR33
  1904. P35     LD A,(HL)
  1905.         OR A
  1906.         RET NZ
  1907.         JR PRSTOP
  1908. PR33    CP 1
  1909.         LD A,(HL)
  1910.         JR Z,P32
  1911.         JR C,P31
  1912. PRSTOP  XOR A
  1913.         LD (HL),A
  1914.         LD HL,0
  1915.         LD (Pr_H_),HL
  1916.         LD IX,MU10
  1917.         JP MNU
  1918. P32     OR A
  1919.         JR Z,P30E
  1920.         DEC (HL)
  1921.         JR P37
  1922. P31     CP 200
  1923.         JR NC,P30E
  1924.         INC (HL)
  1925. P37     CALL CALC
  1926.         CALL X3U1
  1927.         LD A,8
  1928.         CALL DELAY
  1929.         JR P30E
  1930.  
  1931. MU10    DEFW #805,#A14
  1932. X3U1    CALL STD
  1933.         LD A,(Pr_Q)
  1934.         LD HL,#80C
  1935.         LD (SX),HL
  1936.         CALL WB
  1937.         LD HL,#E12
  1938.         LD (SX),HL
  1939.         LD HL,Pr_DAY
  1940.         CALL WW
  1941.         LD DE,SCR
  1942.         LD HL,DSCR
  1943.         LD BC,#1000
  1944.         LDIR
  1945.         RET
  1946.  
  1947. Pr_ONE  ; время пр-ва 1ого вида пр. 1им техником (ч) 100<t<250
  1948.         DEFB 101,101,240,185,101,125
  1949.         DEFB 145,177,110,205,102,110
  1950.         DEFB 222,114,133,150,202,250
  1951. CALC    ;расчЁт времени пр-ва
  1952.         LD A,(Pr_N)
  1953.         LD HL,Pr_ONE
  1954.         CALL BA
  1955.         LD L,A
  1956.         LD H,0
  1957.         LD DE,(ENG)
  1958.         XOR A
  1959.         LD D,A
  1960.         CP E
  1961.         JR NZ,CAC1
  1962.         INC E
  1963. CAC1    SBC HL,DE
  1964.         JR C,CAC2
  1965.         INC A
  1966.         JR CAC1
  1967. CAC2    LD (Pr_HWR),A
  1968.         LD E,A
  1969.         LD HL,(Pr_Q)
  1970.         LD H,0
  1971.         CALL MULB2
  1972.         LD HL,24
  1973.         EX DE,HL
  1974.         LD BC,0
  1975. CAC3    XOR A
  1976.         SBC HL,DE
  1977.         JR C,CAC4
  1978.         INC BC
  1979.         JR CAC3
  1980. CAC4    LD (Pr_DAY),BC
  1981.         RET
  1982.  
  1983. PROH    LD A,(Pr_Q)
  1984.         OR A
  1985.         RET Z
  1986.         LD HL,(Pr_H_)
  1987.         INC HL
  1988.         LD (Pr_H_),HL
  1989.         LD DE,(Pr_HWR)
  1990.         OR A
  1991.         SBC HL,DE
  1992.         RET C
  1993.         LD HL,0
  1994.         LD (Pr_H_),HL
  1995.         LD HL,(14+S_ART)
  1996.         LD DE,(Pr_Z)
  1997.         LD D,0
  1998.         SBC HL,DE
  1999.         LD A,46
  2000.         JR C,PH_E1
  2001.         PUSH HL
  2002.         LD HL,(Pr_PRC)
  2003.         CALL DECM
  2004.         POP HL
  2005.         LD A,15
  2006.         JR C,PH_E1
  2007.         LD (14+S_ART),HL
  2008.         LD A,(Pr_N)
  2009.         LD HL,S_GUN
  2010.         CALL WA
  2011.         CALL INCW
  2012.         LD HL,Pr_Q
  2013.         DEC (HL)
  2014.         LD A,(HL)
  2015.         OR A
  2016.         RET NZ
  2017.         CALL STOP_T
  2018.         LD A,50
  2019.         JP DISPL
  2020. PH_E1   CALL DISPL
  2021.         CALL STOP_T
  2022.         XOR A
  2023.         LD (Pr_Q),A
  2024.         LD A,10
  2025.         JP DISPL
  2026.  
  2027. MEMX    ;OR     %10011000
  2028.         ;LD     BC,#7FFD
  2029.         ;OUT    (C),A
  2030.         call MEM
  2031.         ld e,1
  2032.         OS_SETSCREEN
  2033.         RET
  2034.  
  2035.