Konference: Počítač SHARP MZ-800 a emulátory
Od: | Michal Hučík |
Datum: | 2.1.2012 15:48 |
Předmět: | Re: Floppy driver |
Ahoj, takze jak uz jsem psal, tak dnes jsem zapojit a zprovoznil svuj stary FDC a testuju na nem svuj driver. Prozatim vypada, ze vse chodi jak ma, udelam RESTORE, nastavim sector a side a bez problemu prectu pozadovany sektor. Po tomto muzu klidne udelat seek na jinou stopu, zmenit cislo sektoru a strany a cist dalsi - pokazde bez potizi (se zapisem si zatim jeste nehraju). Problem na realnem FDC nastane ve chvili, kdy pouziju prikaz READ_ADDR ( precteni 6 bajtu: track, sector, side, sector_size a crc16 ). Po tomto prikazu uz nejsem schopny aplikovat READ_SECTOR, protoze po jeho zadani uz mi radic neustale vraci jen BUSY (0xfe). Co je vsak zajimave, tak 2x po sobe ten READ_ADDR spustit lze - ovsem vrati mi pokazde jiny crc16. Zkusil jsem po READ_ADDR zastavit na 1/2 sekundy motor, pak znova nastartovat udelat RESTORE, STEP, SEEK - vse OK, ale ani takhle uz stejne nelze udelat READ_SECTOR. Jedine co v tomto pripade pomuze je tvrdy reset pocitace. Presto, ze prikaz READ_ADDR konci s nulovym statusem, tak jsem po jeho provedeni zkousel poslat do radice prikaz preruseni a preruseni s resetem, ale nic nepomohlo a nasledne cteni sektoru je proste pase. Prikaz READ_ADDR jsem nevidel pouzity v zadnem Sharpackem programu (ve Zdenkovem emulatoru s nim samozrejme problem neni). Jediny pripad, kde se tento prikaz vyskytuje je BOOT loader systemu cp/m 4.1, ktery hned pri svem startu udela RESTORE a pak pres READ_ADDR zjistuje format nulte stopy na nulte strane. Na realnem HW jsem vsak cp/m 4.1 taky jeste nevidel a nejsem si jisty, zda READ_ADDR nekdo dokazal pouzit i v jinem kontextu. Nezkouseli jste si s timto prikazem nekdy hrat? Mate nekdo upraveny HD radic a bezi vam na nem cp/m 4.1? Michal
[2012/1 (125)] [2012/2 (34)] [2012/3 (57)] [2012/4 (46)] [2012/5 (40)] [2012/6 (44)] [2012/7 (64)] [2012/8 (57)] [2012/9 (32)] [2012/10 (55)] [2012/11 (25)] [2012/12 (63)]
[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)]