Konference: Počítač SHARP MZ-800 a emulátory
Od: | marcel vasak |
Datum: | 25.2.2010 17:18 |
Předmět: | Re: Unikarta s SD pro Sharpa |
Dobrý den, 21. října 2009, 11:14:43, napsal jste: Ahoj sehnal jsem cisteho sharpa MZ 800,a jelikoz bude holy tak premislim o dvou vecech a to o Ramdisku,a o Flopydisku.tak bych se rad zeptal.Bud kde by se tyhle dve veci daly sehnat nebo ja je na tom ta unikarta.mislim tim po strance HW.softve r bych si uz doladil ale na pajeni bohuzel nevidm. Marcel Vasak MH> Ok, takze kdyz uz se to takhle predcasne proflaklo, tak zkusim MH> popsat na cem tedy s Vaskem delame a jake by mely byt cile projektu: MH> Univerzalni karta pripojena do Sharpa by mela obsahovat CPLD, MH> SRAM, AVR (momentalne ATmega64, ale asi to zvladne i ATmega16), SD MH> kartu, MAX232, pripadne jeste nejaky RTC - ten jsem k tomu jeste nepripojil. MH> V tomto zapojeni tedy nyni mame zprovozneno nasledujici: MH> RAMdisk: MH> ======== MH> V podstate muze byt libovolne velky, ale rostou s tim naroky na MH> CPLD. Posledni funkcni varianta s 512KB SRAM vyzadovala minimalne MH> XC9572 ... nicmene tohle hradlove pole jsem vcera nejakym zpusobem MH> odbouchnul a tak jsem dnes pripajel XC95144 a dale budu MH> experimentovat s nim, takze pak zkusim na soucasnou SRAM pripajet MH> treba jeste dalsich 3x512K a ziskame tim 2MB RAMdisk. MH> SD repozitar: MH> ========== MH> SD karta je pripojena k AVR ATmega64 s R/W podporou FAT32. MH> Momentalne velmi jednoduse navrzene ovladani, kdy jsem port 0x50 MH> vyclenil pro prikazy a port 0x51 pro prenos dat. MH> Nechtel jsem to jeste zatezovat zadnymi komunikacnimi standardy, MH> takze prozatim je mozne jen to, ze si Sharp rekne o nejaky MZF soubor a dostane ho. MH> Casem predpokladam nejaky shell k prochazeni FAT32 napr. cp/m, MH> hack BASICu, tak aby CMT operace pracovaly s MZF na SD karte. MH> ROMdisc BOOT: MH> ============= MH> Karta se na portech 0xf8 - 0xfa chova i jako RAM disk ze ktereho MH> se Sharp snazi nabootovat, pricemz je mu z AVR podstrcen cca 100 MH> bajtovy loader, ktery si z SD natahne soubor boot.mzf a spusti jej. MH> FDC emulator: MH> ============ MH> Nejedna se o striktni emulaci WD279x. AVR si z SD otevre DSK MH> soubor ve kterem dle pozadavku Sharpa na radic seekuje. Status MH> registr emulovaneho FDC jsem prizpusoboval predevsim tomu co se v MH> nem v programech ocekava, takze jsem si tu musel disassemblovat a MH> odkrokovat vetsinu FD rutin, ktere se na Sharpu vyskytuji (diky MH> Zdenkovu emulatoru ;) a na sve si prisel i logicky analyzer MH> pripichnuty je skutecnemu radici. Vysledkem je to, ze napr. tam MH> kde jsem odsledoval, ze program po odeslani nejakeho prikazu do MH> FDC ocekaval nejakou dobu BUSY, pak READY, pak zase BUSY + DRQ, MH> tak proste pri prvnim dotazu na status odpovim jednim stavem a pri MH> dalsim dotazu druhym, atd. Presne tak, aby se cteci program mohl MH> ve sve cinnosti posunout k dalsimu kroku. Vyrazenim techto prodlev MH> jsem docilil toho, ze napr. cp/m z SD startuje cca o 2 sekundy MH> rychleji, nez ze skutecne FD mechaniky. Pro zajimavost: vyjimkou MH> je tady start cp/m v1.4 a nizsich, kdy si Lamacuv loader na nulte stope vyzada neexistuji! MH> ci sektor 0x10 a cte status registr cca 5000x - pokud po tuto MH> dobu dostane v odpovedi neco jineho, nez SEEK ERR, tak se to vzdy projevi nezadoucim zpusobem... MH> Vcera jsem hackoval cp/m v4.0 a 4.1, abych zprovoznil i podporu MH> HD disket. V pripade HD disket probiha prace s FDC trochu jinak a MH> musel jsem AVR pripojit dalsim pinem na sbernici, aby jsme mohli MH> Sharpu posilat i pozadavky na interrupt. Cteni disket jsem sice MH> zprovoznil, nicmene neco mi po nejake dobe odbouchnulo Xilinxe a mozna uz i tusim co... MH> K emulaci prikazu pro zapisovani sektoru jsem zatim jeste MH> nedostal, nicmene prikazy pro formatovani bych asi uplne vynechal, MH> protoze mi prijde jednodussi a rychlejsi pozadat rovnou AVR o prepsani DSK image. MH> BTW: co se tyka HD disket, tak jejich DSK image jsem stahnul na MH> scavu ze sekce UPLOAD. Chtel bych se zeptat kdo to tam uploadnul a MH> predevsim cim ty image byly vyrobeny, protoze je v nich vadna MH> tabulka stop. Ve Zdenkovem emulatoru takovy image sice funguje, MH> protoze ten si zrejme udela analyzu souboru a vytvori si vlastni MH> tabulku stop, ovsem na AVR si tohle dovolit nemuzeme. MH> Dalsi funkce: MH> ========== MH> MAX232 je prevodnik pro RS232, ktery mi momentalne slouzi jako MH> vzdaleny shell a ke sledovani debugovacich hlasek z AVR. Casem by MH> samozrejme mohl fungovat jako skutecny RS232 pro Sharpa. MH> Zadny RTC jsem do zatim jeste nepripojil, ale bylo by faln, kdyby MH> Sharp po zapnuti vedel kolik je hodin. Zaroven by se casovy udaj z MH> RTC pouzil jako casovy atribut zmenenych, ci nove vytvarenych souboru FAT32. MH> Uvaha do budoucna: MH> ================= MH> Take zvazujeme i takovou variantu teto univerzalni desky, ktera MH> by v sobe mela i scandoubler. To by uz ovsem vyzadovalo nejaky MH> FPGA a tim padem by jsme ze schematu asi vyhodili CPLD i AVR, MH> protoze FPGA by v pohode zastal jejich funkci (no, kdyz na to MH> prijde, tak by dokazalo zastat i funkci celeho Sharpa :). MH> Protoze by jsme s Vaskem byli moc radi, kdyby cele tohle nase MH> snazeni neskoncilo jen na stolech u nas dvou, tak chceme v brzke MH> dobe cely projekt zverejnit treba na sourceforge a budeme moc MH> radi, kdyz se take zapojite do vyvoje. MH> Michal MH> --- -- S pozdravem, falcen99 falcen99 tu byla ta zakroucena vec seznam.cz
[2010/1 (51)] [2010/2 (48)] [2010/3 (23)] [2010/4 (40)] [2010/5 (50)] [2010/6 (23)] [2010/7 (13)] [2010/8 (54)] [2010/9 (47)] [2010/10 (243)] [2010/11 (92)] [2010/12 (98)]
[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)]