;[x] 29/01/2024 ;выход: A: bit1 - Primary/Secondary, bit0 - master/slave, bit2..3: использующийся раздел в MBR CHOOSE_HDD: PUSH DE LD A,(ZX_VARS.OPER_DISK) LD C,BIOS.GET_DRV_ST CALL EXP_FNS POP DE JR C,.error AND #40 ;!HARDCODE HDD CALL Z,.setUp_HDD ; .loop: LD A,(DE) INC DE CP " " JR Z,.loop LD A,(DE) CP "\r" JR Z,.error .cont: ; номер раздела ;INC DE LD A,(DE) CP "4" JR NC,.error CP "0" JR C,.error SUB "0" RLA RLA LD C,A ; ; master/slave ; DEC DE ; LD A,(DE) ; CP "2" ; JR NC,.error ; CP "0" ; JR C,.error ; SUB "0" ; RLA ; OR C ; LD C,A ; Primary/Secondary, master/slave DEC DE LD A,(DE) CP "4" JR NC,.error CP "0" JR C,.error SUB "0" OR C ; LD C,BIOS.HDD_PART CALL EXP_FNS RET NC ; .error: LD HL,MSG_3 JP ERR_EXIT ; .setUp_HDD: LD A,(ZX_VARS.OPER_DISK) LD B,A XOR A LD C,BIOS.HDD_TO_DRV PUSH DE CALL EXP_FNS POP DE RET ;