Konference: Počítač SHARP MZ-800 a emulátory
Od: | Petr Žydek |
Datum: | 17.9.2011 21:11 |
Předmět: | Re: IDE16: resurrection |
Re: IDE16: resurrection: |
Ahoj Michale, já to dělal podle původního návrhu Zdeňka Adlera (osmibitová verze). I/O adresy jsou zde v rozsahu 78h-7Fh, což je totéž jako u PC IDE 1F0h-1F7. Kromě adresy 78h jsou to běžné osmibitové I/O porty. 78h je datový port ATA, smysl má jen sudý počet dat a I/O instrukce, ve kterých hraje roli registr BC - INI(R), OUTI (OTIR). V praxi jde hlavně o čtení/zápis 512ti bajtového sektoru. Zápis 512 bajtů dvěma OTIR s nulou v BC registru se na IDE kšandě objeví jako 256 slov s délkou 16 bitů. Obdobné je to při čtení, jen směr je opačný. Rozsah 78H-7Fh = ATA command block register U zapojení s obvody 74xx652 (nebo jedním 16652) jsem zredukoval počet potřebných řídících signálů, takže jsem spekuloval i s I/O adresou 76h (u PC 3F6h) = control block register, ale už jsem to nevyzkoušel. Zápisem na tento port se dá povolit režim LBA48 u disků nad 128GB. Navrhl jsem i I/O porty MZ IDE16 secondary: - 68h-6Fh (u PC 170h-177h) = command block register - 66h (u PC 376h) = control block register Plánoval jsem kartu s RS232, floppy ala PC a právě IDE secondary. Pro bastlíře to má totiž nestandardně využitelnou funkci - 16ti bitový I/O port (pokud by na konektoru nebyl žádný disk). Rozsah adres možná přehodnotím, protože moje soukromé nové domácí bastlířské projekty jsou na počet I/O portů "žrouti". Moc nálady a pohody pro přispívání a dopisování jsem letos neměl, navíc jsem před prázdninami přišel o místo. Tak se Sharpisté nedivte mé zdánlivé roli "mrtvý brouk". Na bytefest přijedu v sobotu 1.10. Petr de Zviqov
Ostatní příspěvky vlákna:
[2011/1 (52)] [2011/2 (9)] [2011/3 (2)] [2011/4 (9)] [2011/5 (8)] [2011/7 (1)] [2011/8 (40)] [2011/9 (146)] [2011/10 (116)] [2011/11 (29)] [2011/12 (110)]
[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)]