Продолжаю мучить ямп и Вас) Флаги выставил как у вас.
С помощью PRINT выяснил что затык (при закоментированном CHS FIRST) происходит в функции u08 ExecuteCommand(u08 NumSectors, u08 *Buffer) файла Ata_if.c
do // suppose that NumSectors at least 1
{ // for each sector requested
// loop reading ALT STATUS until BUSY is cleared
CheckBusy(1);
// then read STATUS register to reset interrupt
-> здесь виснет -> u08 err = ReadBYTE(CMD_A + CMD_STATUS);
if (err & SR_ERR) // fail on error
{
#ifdef TXT_ERROR
PRINT_p(PSTR("CMD_ERR\n"));
#endif
SetPlayerError(2,0); //Error 02 CMD_ERR
return err;
}
Если включить debug ATA, винт определяется и даже начинает играть, заикаясь. Вот что при этом пишет терминал:
00004089 0004 Error : 00
000040F9 0004 Error : 00
000040FD 0004 Error : 00
0003CCB9 0004 Error : 00
0003CCBD 0004 Error : 00
000040FD 0004 Error : 00
000892C9 0004 Error : 00
000892CD 0004 Error : 00
000040FD 0004 Error : 00
00004089 0004 Error : 00
000BD0F9 0004 Error : 00
000BD0FD 0004 Error : 00
000BD101 0004 Error : 00
000BD105 0004 Error : 00
000001D1 0001 Error : 00
00004099 0004 Error : 00
0000409D 0004 Error : 00
0017C629 0004 Error : 00
0017C639 0004 Error : 00
0017C649 0004 Error : 00
0017C64D 0004 Error : 00
0017C639 0004 Error : 00
0017C629 0004 Error : 00
001C3D89 0004 Error : 00
001C3D99 0004 Error : 00
001C3D9D 0004 Error : 00
001C3D89 0004 Error : 00
0017C629 0004 Error : 00
0000409D 0004 Error : 00
00004089 0004 Error : 00
00200129 0004 Error : 00
00004089 0004 Error : 00
00222DE9 0004 Error : 00
00222DED 0004 Error : 00
00222DF1 0004 Error : 00
00222DF5 0004 Error : 00
0000049C 0001 Error : 00
002EAF09 0004 Error : 00
002EAF0D 0004 Error : 00
002EAF11 0004 Error : 00
00004089 0004 Error : 00
0036B589 0004 Error : 00
0036B599 0004 Error : 00
0036B59D 0004 Error : 00
0036B589 0004 Error : 00
00004089 0004 Error : 00
003A18B9 0004 Error : 00
003A18BD 0004 Error : 00
00004089 0004 Error : 00
003CF989 0004 Error : 00
003CF98D 0004 Error : 00
003CF991 0004 Error : 00
003CF995 0004 Error : 00
000007F6 0001 Error : 00
00504089 0004 Error : 00
0050408D 0004 Error : 00
00004089 0004 Error : 00
00004089 0004 Error : 00
000040F9 0004 Error : 00
000040FD 0004 Error : 00
0003CCB9 0004 Error : 00
0003CCBD 0004 Error : 00
000892C9 0004 Error : 00
000892CD 0004 Error : 00
000BD0F9 0004 Error : 00
000BD0FD 0004 Error : 00
000BD101 0004 Error : 00
000BD105 0004 Error : 00
000001D1 0001 Error : 00
00004099 0004 Error : 00
0000409D 0004 Error : 00
0017C629 0004 Error : 00
0017C639 0004 Error : 00
0017C649 0004 Error : 00
0017C64D 0004 Error : 00
001C3D89 0004 Error : 00
001C3D99 0004 Error : 00
001C3D9D 0004 Error : 00
00200129 0004 Error : 00
00222DE9 0004 Error : 00
00222DED 0004 Error : 00
00222DF1 0004 Error : 00
00222DF5 0004 Error : 00
0000049C 0001 Error : 00
002EAF09 0004 Error : 00
002EAF0D 0004 Error : 00
002EAF11 0004 Error : 00
0036B589 0004 Error : 00
0036B599 0004 Error : 00
0036B59D 0004 Error : 00
003A18B9 0004 Error : 00
003A18BD 0004 Error : 00
003CF989 0004 Error : 00
003CF98D 0004 Error : 00
003CF991 0004 Error : 00
003CF995 0004 Error : 00
000007F6 0001 Error : 00
00504089 0004 Error : 00
0050408D 0004 Error : 00
Init ok
Going to main loop...
000BD0F9 0004 Error : 00
000BD0FD 0004 Error : 00
000BD101 0004 Error : 00
000BD105 0004 Error : 00
000001D1 0001 Error : 00
00004099 0004 Error : 00
0000409D 0004 Error : 00
00004089 0004 Error : 00
000BD0F9 0004 Error : 00
000BD0FD 0004 Error : 00
000BD101 0004 Error : 00
000BD105 0004 Error : 00
00004099 0004 Error : 00
00154509 0004 Error : 00
0015450D 0004 Error : 00
00000000 0001 Error : 00
33 C0 8E D0 BC 00 7C FB 50 07 50 1F FC BE 1B 7C BF 1B 06 50 57 B9 E5 01 F3 A4 CB BE BE 07 B1 04 38 2C 7C 09 75 15 83 C6 10 E2 F5 CD 18 8B 14 8B EE 83 C6 10 49 74 16 38 2C 74 F6 BE 10 07 4E AC 3C 00 74 FA BB 07 00 B4 0E CD 10 EB F2 89 46 25 96 8A 46 04 B4 06 3C 0E 74 11 B4 0B 3C 0C 74 05 3A C4 75 2B 40 C6 46 25 06 75 24 BB AA 55 50 B4 41 CD 13 58 72 16 81 FB 55 AA 75 10 F6 C1 01 74 0B 8A E0 88 56 24 C7 06 A1 06 EB 1E 88 66 04 BF 0A 00 B8 01 02 8B DC 33 C9 83 FF 05 7F 03 8B 4E 25 03 4E 02 CD 13 72 29 BE 52 07 81 3E FE 7D 55 AA 74 5A 83 EF 05 7F DA 85 F6 75 83 BE 29 07 EB 8A 98 91 52 99 03 46 08 13 56 0A E8 12 00 5A EB D5 4F 74 E4 33 C0 CD 13 EB B8 00 00 80 37 35 15 56 33 F6 56 56 52 50 06 53 51 BE 10 00 56 8B F4 50 52 B8 00 42 8A 56 24 CD 13 5A 58 8D 64 10 72 0A 40 75 01 42 80 C7 02 E2 F7 F8 5E C3 EB 74 8D A5 A2 A5 E0 AD A0 EF 20 E2 A0 A1 AB A8 E6 A0 20 E0 A0 A7 A4 A5 AB AE A2 00 8E E8 A8 A1 AA A0 20 AF E0 A8 20 A7 A0 A3 E0 E3 A7 AA A5 20 AE AF A5 E0 A0 E6 A8 AE AD AD AE A9 20 E1 A8 E1 E2 A5 AC EB 00 8E AF A5 E0 A0 E6 A8 AE AD AD A0 EF 20 E1 A8 E1 E2 A5 AC A0 20 AD A5 20 AD A0 A9 A4 A5 AD A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8B FC 1E 57 8B F5 CB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 20 B7 90 00 00 80 01 01 00 0C FE FF FF 3F 00 00 00 D9 E5 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA 0000003F 0001 Error : 00
00004089 0004 Error : 00
000040F9 0004 Error : 00
000040FD 0004 Error : 00
0003CCB9 0004 Error : 00
0003CCBD 0004 Error : 00
000040FD 0004 Error : 00
000892C9 0004 Error : 00
000892CD 0004 Error : 00
000040FD 0004 Error : 00
00004089 0004 Error : 00
000BD0F9 0004 Error : 00
000BD0FD 0004 Error : 00
000BD101 0004 Error : 00
000BD105 0004 Error : 00
000001D1 0001 Error : 00
00004099 0004 Error : 00
0000409D 0004 Error : 00
0017C629 0004 Error : 00
при этом музыка играет.
В принципе такой вариант устраивает. Грешу на винт. У вас какой кстати? У меня 3,5" 10 гигов. По сути не должно быть разницы. Пробовал много винтов, кроме ноутбучных.Еще пара вопросов - при прокрутке по треку жестко уходит в перезагруз. Что можно покрутить?) И еще, где должен показываться битрейт? Странно конечно, одинаковое с Вами железо, а работает по разному.