Subversion Repositories pentevo

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ;LAST UPDATE: 11.11.2018 savelij
  3.  
  4. HDD_DETECTOR    LD IX,.HDDDETECT
  5.                 RST8 _WINW
  6.                 LD HL,ADR_CAT
  7.                 RST8 _COM_DEV,_COMHDDN,_DEV_INIT
  8.                 LD A,H
  9.                 AND A
  10.                 JR Z,.MASTER_FOUND
  11.                 DEC A
  12.                 CALL Z,.CDDVDFOUNDM
  13.                 JR Z,.SLAVE
  14.                 PUSH HL
  15.                 LD HL,.MASTERNONE
  16.                 RST8 _PRINT_MESSAGE
  17.                 POP HL
  18.                 JR .SLAVE
  19.  
  20. .MASTER_FOUND   LD C,1
  21.                 CALL .HDD_INFO
  22. .SLAVE          LD A,L
  23.                 AND A
  24.                 JR Z,.SLAVE_FOUND
  25.                 DEC A
  26.                 CALL Z,.CDDVDFOUNDS
  27.                 JP Z,.ENDTEST
  28.                 LD HL,.SLAVENONE
  29.                 RST8 _PRINT_MESSAGE
  30.                 JR .ENDTEST
  31.  
  32. .SLAVE_FOUND    LD C,2
  33.                 CALL .HDD_INFO
  34. .ENDTEST        LD HL,.TXTANYKEY
  35.                 RST8 _PRINT_MESSAGE
  36. .WAITENTER      EI
  37.                 HALT
  38.                 BIT 5,(IY+1)
  39.                 JR Z,.WAITENTER
  40.                 LD A,(LAST_K)
  41.                 CP 0X0D
  42.                 JR NZ,.WAITENTER
  43.                 JP RESTART
  44.  
  45. .HDD_INFO       PUSH HL
  46.                 DEC C
  47.                 LD HL,.MASTERFOUND
  48.                 JR Z,.HDDI1
  49.                 LD HL,.SLAVEFOUND
  50. .HDDI1          RST8 _PRINT_MESSAGE
  51.                 LD A,C
  52.                 EX AF,AF'
  53.                 LD HL,ADR_CAT
  54.                 RST8 _COM_DEV,_COMHDDN,_DEV_READID
  55.                 LD HL,ADR_CAT+0X2E
  56.                 PUSH HL
  57.                 LD B,0X18
  58. .MF01           LD A,(HL)
  59.                 INC HL
  60.                 LD E,(HL)
  61.                 DEC HL
  62.                 LD (HL),E
  63.                 INC HL
  64.                 LD (HL),A
  65.                 INC HL
  66.                 DJNZ .MF01
  67.                 LD HL,ADR_CAT+0X2E+42
  68.                 LD (HL),"\r"
  69.                 INC HL
  70.                 LD (HL),0
  71.                 POP HL
  72.                 RST8 _PRINT_MESSAGE             ;имя винта
  73.                 LD HL,.CHS
  74.                 RST8 _PRINT_MESSAGE
  75.                 LD HL,ADR_CAT+0X200
  76.                 LD DE,(ADR_CAT+1*WORD)          ;количество цилиндров
  77.                 RST8 _MATH,_HEX2DECTXT
  78.                 RST8 _PRINT_MESSAGE
  79.                 LD A,"/"
  80.                 RST8 _PRINT_A
  81.                 LD DE,(ADR_CAT+3*WORD)          ;количество головок
  82.                 RST8 _MATH,_HEX1DECTXT
  83.                 RST8 _PRINT_MESSAGE
  84.                 LD A,"/"
  85.                 RST8 _PRINT_A
  86.                 LD DE,(ADR_CAT+6*WORD)          ;количество секторов
  87.                 RST8 _MATH,_HEX1DECTXT
  88.                 RST8 _PRINT_MESSAGE
  89. ;               LD HL,.NEWLINE
  90. ;               RST8 _PRINT_MESSAGE
  91.                 LD BC,(ADR_CAT+61*WORD)
  92.                 LD DE,(ADR_CAT+60*WORD)         ;размер в LBA секторах
  93.                 EXX
  94.                 LD BC,0
  95.                 LD DE,0X800
  96.                 EXX
  97.                 RST8 _MATH,_DIVIDE32
  98.                 LD HL,.TXTSIZE
  99.                 RST8 _PRINT_MESSAGE
  100.                 LD HL,ADR_CAT+0X200
  101.                 RST8 _MATH,_HEX4DECTXT
  102.                 RST8 _PRINT_MESSAGE
  103.                 LD HL,.TXTMB
  104.                 RST8 _PRINT_MESSAGE
  105.                 POP HL
  106.                 RET
  107.  
  108. .CDDVDFOUNDS    PUSH HL
  109.                 LD HL,.SLAVECDDVD
  110.                 JR .CDDVDFOUND
  111.  
  112. .CDDVDFOUNDM    PUSH HL
  113.                 LD HL,.MASTERCDDVD
  114. .CDDVDFOUND     PUSH AF
  115.                 RST8 _PRINT_MESSAGE
  116.                 POP AF
  117.                 POP HL
  118.                 RET
  119.  
  120. .HDDDETECT      DB 0,0,24,32,0X07,0X1F,%01010000,0
  121.                 DW 0,0,.TXTHDDDET,0,0,0
  122.  
  123. .TXTHDDDET      DB "\1\x17\XFF\3HDD detector\r\0"
  124.  
  125. .TXTSIZE        DB "\rSize:\0"
  126. .TXTMB          DB " MB\r\0"
  127. .MASTERFOUND    DB "\rHDD master found\r\0"
  128. .SLAVEFOUND     DB "\rHDD slave found\r\0"
  129. .MASTERNONE     DB "\rHDD master not found\r\0"
  130. .SLAVENONE      DB "\rHDD slave not found\r\0"
  131. .MASTERCDDVD    DB "\rCD/DVD-ROM master found\r\0"
  132. .SLAVECDDVD     DB "\rCD/DVD-ROM slave found\r\0"
  133. .CHS            DB "C/H/S: \0"
  134. .NEWLINE        DB "\r\0"
  135. .TXTANYKEY      DB "\x16\x17\0\3Press ENTER to main menu\0"
  136.