Subversion Repositories pentevo

Rev

Rev 780 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ; LAST UPDATE: 01.11.2023 savelij
  3.  
  4. ;==================ЧТЕНИЕ С DIVIDE ВИНТА======================
  5. RD_HDD_DIVIDE   PUSH BC
  6.                 PUSH DE
  7.                 CALL SETVREG
  8.                 EX AF,AF'
  9.                 LD C,PV_1F7
  10.                 LD A,0x20
  11.                 OUT (C),A
  12.                 LD C,PV_1F7
  13. HDVRD1          IN A,(C)
  14.                 AND 0x88
  15.                 CP 8
  16.                 JR NZ,HDVRD1
  17.                 EX AF,AF'
  18. HDVRD2          EX AF,AF'
  19.                 CALL READVSEC
  20.                 LD C,PV_1F7
  21. HDVRD3          IN A,(C)
  22.                 AND 0x80
  23.                 JR NZ,HDVRD3
  24.                 EX AF,AF'
  25.                 DEC A
  26.                 JR NZ,HDVRD2
  27. EXITVHD         POP DE
  28.                 POP BC
  29.                 LD A,B
  30.                 AND 0x0F
  31.                 LD B,A
  32.                 XOR A
  33.                 RET
  34.  
  35. SETVREG         PUSH DE
  36.                 LD D,B
  37.                 LD E,C
  38.                 LD BC,0xFF00+PV_1F6
  39.                 OUT (C),D
  40.                 EX AF,AF'
  41.                 LD C,PV_1F7
  42. SETVRE1         IN A,(C)
  43.                 AND 0x80
  44.                 JR NZ,SETVRE1
  45.                 LD C,PV_1F5
  46.                 OUT (C),E
  47.                 POP DE
  48.                 LD C,PV_1F4
  49.                 OUT (C),D
  50.                 LD C,PV_1F3
  51.                 OUT (C),E
  52.                 LD C,PV_1F2
  53.                 EX AF,AF'
  54.                 OUT (C),A
  55.                 RET
  56.  
  57. ;READ SECTOR (512 BYTES)
  58. READVSEC        LD A,0x40
  59.                 LD C,PV_1F0
  60. READVSC1        REPT 8
  61.                 INI
  62.                 INC B
  63.                 ENDM
  64.                 DEC A
  65.                 JR NZ,READVSC1
  66.                 RET
  67. ;==================ЧТЕНИЕ С DIVIDE ВИНТА======================
  68.