Konference: Počítač SHARP MZ-800 a emulátory
Od: | Zdenek Adler |
Datum: | 18.10.2004 10:33 |
Předmět: | Problemy s diskem WD Caviar 2635 (640 MB): |
Ahojte Sharpiste, minulou stredu jsme se jiz pustili do psani programu na MZ-800 pro spolupraci s 16-bitovym IDE rozhranim, ale tvrde jsme narazili na problem vyse zminenym HDD. Stala se nam asi takovato vec: u disku se nam bez problemu zadaril prikaz 0xEC (Identify drive), ale pri pokusu o prikaz 0x20 (0x21) pro cteni sektoru doslo k chybe - ihned po zapsani prikazu do command registru disk nastavil status 0x59 a do Error registru nastavil 0x04 (tedy ze predchozi operace byla zrusena kvuli invalidnimu stavu disku). Zkusil jsem jeste vyuzit nastaveneho DRQ bitu a vycetl jsem vsech 512B z bufferu, ale bez ohledu na to jaky jsem se pokusil precist sektor mi ta vracelo ta sama data (ktera mi nic nerikala a ve skutecnosti se na disku ani nenachazela). Rekl bych si ze se jedna o vadny disk, ale nejhorsi na tom je, ze: - na PC funguje bez nejmensi chybicky (normalne na nej nakopiruju soubory, prohlidnu si ho Diskeditem,...) - na MZ-800 se mi na nem podari prikaz Identify drive, tedy v IDE rozhrani snad chyba nebude... - ze zoufalosti jsem ten disk pripojil i k jednocipu na bazi 8051 (DS89C420 - naprimo ke 3 jeho portum) a choval se tam uplne stejne zahadne - tento procesor je jeste o kapku rychlejsi nez Z80, takze jsem zjistil, ze po prikazu 0x20 se nizsich 8 bitu IDE sbernice na velmi malou chvili nastavi do 0xD0 (tzn. at se snazim cist z jakehokoliv z 8-mi IDE registru, tak z kazdeho prectu tohle cislo). Pak uz z nej vyctu tu samou chybu, jako na Z80... Poradi mi prosim nekdo, kde delam chybu? Normalne bych to asi hodil za hlavu, ale kdyz uz pisu program, tak at slape se vsemi disky... Diky, Zdenek
Ostatní příspěvky vlákna:
[2004/1 (1)] [2004/2 (1)] [2004/4 (33)] [2004/5 (34)] [2004/6 (12)] [2004/7 (1)] [2004/8 (12)] [2004/9 (31)] [2004/10 (52)] [2004/11 (43)] [2004/12 (4)]
[1999 (1)]
[2000 (168)]
[2001 (733)]
[2002 (459)]
[2003 (654)]
[2004 (224)]
[2005 (105)]
[2006 (182)]
[2007 (201)]
[2008 (294)]
[2009 (363)]
[2010 (782)]
[2011 (522)]
[2012 (642)]
[2013 (442)]