Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ;LAST UPDATE: 09.12.2013 savelij
  3.  
  4.                 DUPL 0X0805-$,0XFF
  5. ;        ORG    0X805
  6.        ;DB -1
  7.        ;DB " Message for hackers: "
  8.        ;DB "Base version 5.03, "
  9.        ;DB "High speed, Turbo Format. "
  10.        ;DB 127
  11.        ;DB "Copyright C.C. 1991"
  12. DOSSYM
  13. ;jp из 0X3D82
  14. ;то,что раньше было в 0X3D82
  15.         PUSH    HL
  16.         PUSH    BC
  17.         PUSH    DE
  18.         PUSH    AF
  19.         CALL    0X20F1
  20.         POP     AF
  21.         CALL    0X3D94
  22.         CALL    0X20F1
  23.         POP     DE
  24.         POP     BC
  25.         POP     HL
  26.         RET    
  27.                 IF 0;       IFN 0
  28. DOSRUS
  29. ;jp из 0X3D89 (вызова 0X3D89 не нахожу)
  30.         AND     0X3F
  31.         LD      L,A
  32.         LD      H,0X00
  33.         ADD     HL,HL
  34.         ADD     HL,HL
  35.         ADD     HL,HL
  36.         LD      BC,0X0C00 ;русские буквы,(C) вместо Ъ
  37.         ADD     HL,BC
  38.         LD      DE,0X5C92;23698
  39.         LD      BC,0X0008
  40.         LDIR   
  41.         LD      A,0XC9
  42.         LD      (0X5C9A),A
  43.         JP      0X5C9A
  44.        ENDIF   
  45. ASKREPFORM
  46. ;jp из 0X1FB6
  47. ;вместо 0X326B
  48.         LD      A,(0X5CF6)
  49.         CP      0X03
  50.         JR      Z,LLc848
  51.         LD      A,0X0D
  52.         RST     0X10
  53.         LD      HL,TPressR;0X335E
  54.         RST     0X18
  55.         CALL    0X1052 ;ввод клавиши с ожиданием
  56.         CP      0X52
  57.          JR     Z,LLc84b
  58. LLc848   JP     0X01D3
  59. LLc84b  RST     0X20
  60.         DW      3438;0XD6E ;CLS без чего-то
  61. LLc84e  RST     0X20
  62.         DW      0X28E ;KEY_SCAN
  63.         JR      NZ,LLc84e
  64.         RST     0X20
  65.         DW      0X31E ;K_TEST
  66.         JR      C,LLc84e
  67.         JP      wFORMAT ;продолжение...
  68.  
  69. ;       DISPLAY "FREE BEFORE 0X900=",0X900-$
  70.                 DUPL 0X900-$,0XFF;        DS    0X900-$,0XFF
  71. ;родионовский вектор прерывания
  72.                 DUPL 257,0XFF;        DS        257,0XFF
  73.        ;ORG 0XA01
  74. MAGSTOPDISK
  75. ;call из 0X2A6F
  76. ;вместо out (0Xff),0X3c
  77.         LD      A,0X3C
  78.         OUT     (0XFF),A
  79.       ;надо JP 0X2FC1
  80.          LD     A,0XD0
  81.          OUT    (0X1F),A
  82.          RET   
  83. ;зачем 5C01?почему не коррекция сложением?
  84. MAGregR
  85. ;jp из 0X2EBF
  86.         LD      (0X5C01),A
  87.         POP     AF
  88.         JP      L2EC2
  89. MAGsetR
  90. ;jp из 0X2F03
  91.         LD      A,(0X5C01)
  92.         LD      R,A
  93.         POP     AF
  94.         JP      0X5C00
  95. MAGICER
  96. ;jp из 0X2A56
  97. ;вместо push af,bc,de
  98.         PUSH    AF
  99.         LD      A,R
  100.         BIT     7,A
  101.         JR      Z,LL8a27
  102.         SUB     0X1F
  103.         SET     7,A
  104.         JR      LL8a2b
  105. LL8a27  SUB     0X1F
  106.         RES     7,A
  107. LL8a2b  PUSH    AF
  108.       ;DS 25
  109.    ;опять защита от взлома Глюка!!!
  110.        ;LD A,(0X5C7F)
  111.        ;CP "D"
  112.        ;JR NZ,LL8a45
  113.        ;LD A,(0X5C80)
  114.        ;CP "S"
  115.        ;JR NZ,LL8a45
  116.        ;LD A,(0X5C81)
  117.        ;CP "C"
  118.        ;JR NZ,LL8a45
  119.        ;LD HL,(0X5CB3)
  120.        ;JP (HL)
  121. LL8a45  LD      A,0XF7
  122.         IN      A,(0XFE)
  123.         RRCA   
  124.         JR      NC,MAG1
  125.         RRCA   
  126.         JR      NC,MAG2
  127.         RRCA   
  128.         JR      NC,MAG3
  129.         RRCA   
  130.         JR      C,LL8a45
  131. ;MAGIC+"4"=EXIT
  132.         POP     AF
  133.      ;надо RLCA:ADD A,0X17*2:RRCA
  134.          BIT    7,A
  135.          JR     Z,LL8a60
  136.          ADD    A,0X17
  137.          SET    7,A
  138.          JR     LL8a64
  139. LL8a60   ADD    A,0X17
  140.          RES    7,A
  141. LL8a64  LD      R,A
  142.         POP     AF
  143.         RETN   
  144. ;MAGIC+"1"=стандарт
  145. MAG1
  146.         POP     AF
  147.         LD      R,A
  148.         POP     AF
  149.         JR      LL8a78
  150. ;MAGIC+"2"=стек внизу экрана
  151. MAG2
  152.         POP     AF
  153.         POP     AF
  154.         LD      (0X57FE),SP
  155.         LD      SP,0X5800
  156. LL8a78  PUSH    AF
  157.         PUSH    BC
  158.         PUSH    DE
  159.         JP      L2A59
  160. ;MAGIC+"3"=STS0X57
  161. MAG3
  162.         POP     AF
  163.         LD      R,A
  164.         PUSH    HL
  165.         LD      HL,0
  166.         ADD     HL,SP
  167.         INC     HL
  168.         INC     HL
  169.         LD      A,H
  170.         POP     HL
  171.         CP      0XC0
  172.         JR      NC,LL8ac4
  173.         LD      A,R
  174.      ;надо RLCA:SUB 9*2:RRCA
  175.          BIT    7,A
  176.          JR     Z,LL8a9a
  177.          SUB    9
  178.          SET    7,A
  179.          JR     LL8a9e
  180. LL8a9a   SUB    9
  181.          RES    7,A
  182. LL8a9e  LD      R,A
  183.         PUSH    BC
  184.         LD      BC,0XFFFD
  185.         LD      A,0X07
  186.         OUT     (C),A
  187.         LD      B,0XBF
  188.         LD      A,0XFF
  189.         OUT     (C),A ;глушит AY
  190.         LD      A,0X57
  191.         LD      BC,0X7FFD
  192.         OUT     (C),A
  193.         POP     BC
  194.         POP     AF
  195.         EX      (SP),HL
  196.         LD      (0XFEE4),HL
  197.         LD      (0XFEFE),HL
  198.         EX      (SP),HL
  199. LL8abf  INC     SP
  200.         INC     SP
  201.         JP      0XDB00
  202. LL8ac4  LD      A,R
  203.      ;надо RLCA:SUB 0X15*2:RRCA
  204.          BIT    7,A
  205.          JR     Z,LL8ad0
  206.          SUB    0X15
  207.          SET    7,A
  208.          JR     LL8ad4
  209. LL8ad0   SUB    0X15
  210.          RES    7,A
  211. LL8ad4  LD      R,A
  212.         POP     AF
  213.         LD      (0X5800),SP
  214.         EX      (SP),HL
  215.         LD      (0X5802),HL
  216.         EX      (SP),HL
  217.         LD      SP,0X5808
  218.         PUSH    AF
  219.         PUSH    BC
  220.         LD      BC,0XFFFD
  221.         LD      A,0X07
  222.         OUT     (C),A
  223.         LD      B,0XBF
  224.         LD      A,0XFF
  225.         OUT     (C),A ;глушит AY
  226.         LD      A,0X57
  227.         LD      BC,0X7FFD
  228.         OUT     (C),A
  229.         POP     BC
  230.         POP     AF
  231.         LD      SP,(0X5800)
  232.         LD      (0XC000),HL
  233.         LD      HL,(0X5802)
  234.         LD      (0XFEE4),HL
  235.         LD      (0XFEFE),HL
  236.         LD      HL,(0XC000)
  237.         JR      LL8abf
  238.                 IF 0;       IFN 0
  239. ;               DUPL 0X0C00-$,0XFF;        DS   0XC00-$,0XFF
  240.        ;ORG 0XC00
  241. ;               binclude rusletts.bin;        INCBIN    "rusletts"
  242. bootkus1
  243. ;       ENT    
  244. ;его и 0X344D копирует 0X3AE7
  245.                 PHASE 0XF500;       DISP        0XF500
  246. bootst1
  247.         DI     
  248.         PUSH    AF
  249.         PUSH    HL
  250.         PUSH    DE
  251.         PUSH    BC
  252.         EXX    
  253.         PUSH    HL
  254.         LD      HL,(0X5C3D)
  255.         LD      (0XF632),HL
  256.         LD      A,(0X5D19)
  257.         LD      (0X5CF6),A
  258.         ADD     A,0X3C
  259.         LD      (0X5D16),A
  260.         LD      HL,0X3C00
  261.         LD      DE,0X8000
  262.         PUSH    DE
  263.         LD      (0X5C36),DE
  264.         LD      BC,0X0400
  265.         LDIR   
  266.          LD     (IY+0X47),0X00
  267.         POP     HL
  268.         LD      BC,0X0080
  269. LL0e30  PUSH    BC
  270.         INC     HL
  271.         INC     HL
  272.         INC     HL
  273.         LD      B,0X03
  274. LL0e36  LD      D,(HL)
  275.         LD      A,D
  276.         RLA    
  277.         OR      D
  278.         LD      (HL),A
  279.         INC     HL
  280.         DJNZ    LL0e36
  281.         POP     BC
  282.         DEC     BC
  283.         INC     HL
  284.         INC     HL
  285.         LD      A,B
  286.         OR      C
  287.         JR      NZ,LL0e30
  288.         XOR     A
  289.         OUT     (0XFE),A
  290.         LD      A,0X44
  291.         LD      (0X5C48),A
  292.         DEC     A
  293.         DEC     A
  294.         LD      (0X5C8D),A
  295.         CALL    0X0D6B
  296. LL0e56  DI     
  297.         XOR     A
  298.         LD      (0XF86E),A
  299.         LD      HL,0XFA09
  300.         PUSH    HL
  301.         LD      (0X5C3D),SP
  302.          LD     (IY+0X00),0XFF
  303.         LD      A,(0X5D19)
  304.         LD      C,0X01
  305.         CALL    0X3D13
  306.         LD      HL,0X9000
  307.          LD     DE,0X0000
  308.         LD      BC,0X0805
  309.         CALL    0X3D13
  310.         LD      A,(IY+0X00)
  311.         CP      0XFF
  312.         JR      NZ,LL0e56
  313.         LD      HL,0XF556
  314.         LD      (0XF55C),HL
  315.         EXX    
  316.         LD      DE,0XA000
  317.         EXX    
  318.         LD      HL,0X9000
  319.         LD      DE,0X0008
  320.         LD      A,(HL)
  321.         OR      A
  322.         JP      Z,0XF887
  323. LL0e98  LD      DE,0X0008
  324.         ADD     HL,DE
  325.         LD      A,(HL)
  326.         CP      0X42
  327.         CALL    Z,0XF836
  328.         ADD     HL,DE
  329.         LD      A,(HL)
  330.         OR      A
  331.         JR      NZ,LL0e98
  332.         LD      A,(0XF86E)
  333.         OR      A
  334.         JP      Z,0XF887
  335.         LD      B,0X3F
  336.         SBC     A,B
  337.         JP      NC,0XF8A6
  338.         LD      A,(0XF86E)
  339.         DEC     A
  340.         LD      (0XF86F),A
  341.         CALL    0XF9BB
  342.         LD      (0XF653),A
  343.         CALL    0X0D6B
  344.         DI     
  345.         CALL    0XF870
  346.         LD      A,0X02
  347.         CALL    0XF8CB
  348.         LD      A,0X02
  349.         CALL    0X1601
  350.          LD     (IY+0X47),0X00
  351.         LD      DE,0XA000
  352.         LD      HL,0X0008
  353. LL0edc  LD      A,0X20
  354.         RST     0X10
  355.         LD      A,0X20
  356.         RST     0X10
  357.         LD      BC,0X0008
  358.         PUSH    DE
  359.         CALL    0X203C
  360.         POP     DE
  361.                 EX DE,HL;        EXD   
  362.         ADC     HL,DE
  363.                 EX DE,HL;        EXD   
  364.          LD     A,(0XF86E)
  365.          DEC    A
  366.          LD     (0XF86E),A
  367.         JR      Z,LL0f35
  368.         LD      A,0X20
  369.         RST     0X10
  370.         LD      A,0X20
  371.         RST     0X10
  372.         LD      BC,0X0008
  373.         PUSH    DE
  374.         CALL    0X203C
  375.         POP     DE
  376.                 EX DE,HL;        EXD   
  377.         ADC     HL,DE
  378.                 EX DE,HL;        EXD   
  379.          LD     A,(0XF86E)
  380.          DEC    A
  381.          LD     (0XF86E),A
  382.         JR      Z,LL0f35
  383.         LD      A,0X20
  384.         RST     0X10
  385.         LD      A,0X20
  386.         RST     0X10
  387.         LD      BC,0X0008
  388.         PUSH    DE
  389.         CALL    0X203C
  390.         POP     DE
  391.                 EX DE,HL;        EXD   
  392.         ADC     HL,DE
  393.                 EX DE,HL;        EXD   
  394.         LD      A,(0XF86E)
  395.         DEC     A
  396.         LD      (0XF86E),A
  397.         JR      Z,LL0f35
  398.         LD      A,0X06
  399.         RST     0X10
  400.         JR      LL0edc
  401.          NOP   
  402.          NOP   
  403.          NOP   
  404. LL0f35  LD      HL,0X5802
  405.         CALL    0XF816
  406.         LD      DE,0X000A
  407.         LD      IX,0XF634
  408.          LD     (IX+0X00),0X00
  409. LL0f46  EI     
  410.         RES     5,(IY+0X01)
  411.         HALT   
  412.         PUSH    HL
  413.         PUSH    IX
  414.         CALL    0XF9BB
  415.         CP      0X40
  416.         JP      NZ,0XF792
  417.         CALL    0XF989
  418.         POP     IX
  419.         POP     HL
  420.         BIT     5,(IY+0X01)
  421.         JR      Z,LL0f46
  422.         LD      A,(0X5C08)
  423.         CP      8
  424.         JP      Z,0XF6ED
  425.         CP      "o"
  426.         JR      Z,LL0fed
  427.         CP      "6"
  428.         JR      Z,LL0fed
  429.         CP      9
  430.         JP      Z,0XF70C
  431.         CP      "p"
  432.         JP      Z,0XF70C
  433.         CP      "7"
  434.         JP      Z,0XF70C
  435.         CP      11
  436.         JP      Z,0XF72E
  437.         CP      "q"
  438.         JP      Z,0XF72E
  439.         CP      "9"
  440.         JP      Z,0XF72E
  441.         CP      10
  442.         JP      Z,0XF764
  443.         CP      "a"
  444.         JP      Z,0XF764
  445.         CP      "8"
  446.         JP      Z,0XF764
  447.         CP      "d"
  448.         JP      Z,0XFA1B
  449.         CP      "1"
  450.         JR      Z,LL0fd0
  451.         CP      "2"
  452.         JR      Z,LL0fd0
  453.         CP      "3"
  454.         JR      Z,LL0fd0
  455.         CP      "4"
  456.         JR      Z,LL0fd0
  457.         PUSH    AF
  458.         LD      A,0XFE
  459.         IN      A,(0XFE)
  460.         RRA    
  461.         JR      NC,LL0f46
  462.         POP     AF
  463.         CP      13
  464.         JP      Z,0XF79D
  465.         CP      "0"
  466.         JP      Z,0XF79D
  467.         CP      32
  468.         JP      Z,0XF79D
  469.         JP      0XF646
  470. LL0fd0  PUSH    AF
  471.         CALL    0X0D6B
  472.         LD      A,0X03
  473.         CALL    0XF8CB
  474.         POP     AF
  475.         SUB     0X31
  476.         LD      C,0X01
  477.         LD      (0X5CF8),A
  478.         LD      (0X5CF9),A
  479.         LD      (0X5D19),A
  480.         CALL    0X3D13
  481.         JP      0XF556
  482. LL0fed
  483.         CALL    0XF870
  484.         CALL    0XF826
  485.                 DB 0XDD,0X35;         DEC       (IX)
  486. ;        ORG    $-1
  487. bootst2
  488. bootln1 := $-bootst1
  489. ;       ENT    
  490. ;        ORG    ROM
  491. ;       DISP    0
  492. ;        ORG    bootkus1+bootln1
  493.                 DEPHASE
  494.        ENDIF   
  495.