Konference: Počítač SHARP MZ-800 a emulátory

Od: Zdenek Adler
Datum: 23.10.2009 07:48
Předmět: Re: Unikarta s SD pro Sharpa


Wow, vy dva tajnůstkáři ;-) !!!!!!!!!!!!!!!!!!! Žeby se mi k letošnímu 
Ježíškovi naplnily moje dlouholeté sny?

Z.


----- Original Message ----- 
From: "Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz)" <pandora.idnes.cz tu byla ta zakroucena vec ordoz.com>
To: "Konference "Počítač SHARP MZ-800 a emulátory"" <sharpemu tu byla ta zakroucena vec pandora.cz>
Sent: Wednesday, October 21, 2009 12:14 PM
Subject: Unikarta s SD pro Sharpa


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

 
[2009/1 (32)] [2009/3 (21)] [2009/4 (42)] [2009/5 (6)] [2009/8 (9)] [2009/9 (28)] [2009/10 (50)] [2009/11 (86)] [2009/12 (89)]


[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)]