Konference: Počítač SHARP MZ-800 a emulátory
Od: | Michal Hučík |
Datum: | 31.12.2011 11:33 |
Předmět: | Floppy driver |
Ahoj,
pokousim se napsat obecny FDC driver, ktery by pak mohl napr. Fuzzy pouzit v MZIXu. Pisu to vicemene z cisteho stolu a testuju jen v emulatorech, protoze momentalne nemam u Sharpa funkcni FDC.
Ladil jsem to ve Zdenkove emulatoru a otestoval jsem to i v nejake verzi MCE, kterou mi kdysi poslal Vasek. V MCE se zrejme neinvertuji hodnoty track, sector a side prectene z FDC prikazem READ_ADDR (sector_size ale je uz negovany).
Unikartu jsem popravde taky jeste nezkousel, ale ta na tom bude zhruba podobne jako Zdenkuv emulator.
Chtel bych tedy poprosit jesli ma nekdo momentalne po ruce funkcni FDC radic s WD2793, tak jestli by mel chut program otestovat a porovnat jeho chovani s emulatorem.
Program provede test, zda je pritomny FDC - pokud ne, tak se zastavi. Pokud ano, tak zapne motor, zvoli mechadiku s FD0, provede RESTORE, STEP_IN, STEP_OUT, SEEK na track 10, nastavi sector=2, side=0, provede READ_ADDR ze ktereho vypise 6 bajtu na obrazovku. Precte sektor a jeho negovany obsah ulozi na DMA 0x6000. Velikost ctenych dat se nastavuje podle udaje z predchoziho READ_ADDR, takze by mel byt schopen nacist MRS, CP/M i BASIC format z 720kB DD diskety.
Pokud je identifikovana chyba, tak se vypise jeji kod a zacne blikat border.
fddrv.mzf - verze s driverem pro standardni radic
fddrv-hd.mzf - obsahuje driver pro radic, ktery je upraveny pro HD diskety a pri DRQ umi generovat interrupt (zajimalo by mne jak se to bude chovat na neupravenem radici)
Michal
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)]