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