Konference: Počítač SHARP MZ-800 a emulátory
Od: | Zdenek Adler |
Datum: | 23.10.2009 08: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)]