Konference: Počítač SHARP MZ-800 a emulátory
Od: | Michal Hučík |
Datum: | 5.6.2013 09:38 |
Předmět: | Unikarta (Bylo Re: 8253) |
Ahoj, Petr Zydek mi poslal par dotazu na Unikartu a ja jsem se rozhodnul pro odpoved do konference, protoze nektere veci by mozna mohly zajimat i ostatni. Dne 4.6.2013 23:29, judeware tu byla ta zakroucena vec volny.cz napsal(a): > Doba bručení po zapnutí Sharpa do "pípnutí" obrazovky ROM je > u zapůjčené karty asi 3,5s. Čeština v názvech souborů manažeru > se ignoruje? Jaká je doporučená max. délka názvu? Výpis probíhá > ve dvou sloupcích v režimu 640x200? Viděl jsem otisky obrazovky, > kde to bylo jak v monitoru v režimu 700... 1) Bruceni pri startu: je zpusobeno tim, ze Sharp ROM kratce po startu pocitace sahne na nejaky port, ktery ma pod kontrolou Unikarta (FDC, QD ... nevim, ktery je prvni). V okamziku, kdy prijde takovy pozadavek do CPLD v Unikarte, tak je z nej zpet do Sharpa poslan signal WAIT a CPLD od te chvile ceka na odpoved z procesoru STM32. Tento signal WAIT bude drzen do te doby, dokud se STM32 konecne neprobudi a neposle svou odpoved, ktera ten WAIT uvolni a Sharp muze pokracovat ve svem startu. Brum a heiroglify na obrazovce jsou zpusobeny tim, ze v teto chvili jeste nejsou v Sharpu zinicializovany delicky PSG, ani video rezim v GDG a proto jsou slyset a videt nejake nahodne hodnoty. Neni to nic, co by Sharpu jakkoliv skodilo. Jedinym negativnim jevem muze byt to, ze po celou dobu kdy je Z80 udrzovan ve WAITu se z nej neposila do pameti Sharpa refresh a proto po nejake (nikdo nevime jake) dobe by se mohl poskodit pripadny obsah techto pameti - nicmene pri studenem startu jsou ty pameti stejne prazdne, tak o nic nejde. !!!! 3,5 sekundy, ktere popisujes jsou vsak pro start STM32 hodne. Kdysi jsme tento problem resili u Fuzzyho Unikarty. Jako 100% brzdu pri startu STM32 jsme tam identifikovali inicializaci RTC. Mam pocit, ze tam tehdy musel vymenit 32kHz krystal a snad tam mel jeste kolem tech hodin i nejaky studenak, ktery zpusoboval nestabilitu obvodu toho 32kHz krystalu. Tipuji, ze u te unikarty, ktera ti tak dlouze startuje to bude podobny problem... Snad k tomu neco napise i Fuzzy. 2) SD Manager: implementovany filesystem SD karty podporuje kodovou stranku 1250, nicmene v Sharpu pro zobrazeni podporujeme jen holou standardni ASCII. Nezname znaky zobrazujeme jako "_". Soubory by vsak melo jit bezne spoustet, ci pracovat s nimi pres API. Filesystem podporuje soubory o max. delce 32 znaku v nazvu souboru. Manager pro zobrazeni ve 2 sloupcich tyto dlouhe nazvy krati tak, ze ponecha zacatek a konec jmena a doprostred vlozi "...". V rezimu MZ-700 byl napsany jeden z prvnich manageru, ktery jiz neni se stavajici Unikartou kompatibilni. > Uvažuju správně, že pokud nejde o programy pod CP/M (nebo > diskového Basicu) tak zavádění O.S. emulovaným FDC vůbec > není třeba a běžné sólo programy (typicky hry spouštěné přes > CM R "název") můžu spouštět přímo ze složek SD viditelných > v manažeru (jen .MZF)? Zkoušel jsem to a přijde mi to mnohem > rychlejší než startovat Lamače, pak commander atd. Dál bych > měl i nějaké dotazy k obsahu speciální složky "unicard". > > 3) Soubory s priponou .MZF: nejsou samy o sobe nijak vazane na jakykoliv operacni system. Jedna se o bezne kazetove soubory, ktere jsou ulozeny v celku jako CMT hlavicka a nasledne telo souboru. Kdyz takto ulozene soubory startujes z cp/m, tak se nejprve nacte do systemu loader, ktery umi s MZF pracovat a pak se teprve do pameti nahraje MZF soubor, ktery se az po celem nacteni premisti v pameti na pozadovanou adresu. Cteni v cp/m je navic pomale proto, ze probiha po diskovych sektorech a navic tam jeste probiha preruseni pri kterem cp/m neustale testuje klavesnici refreshuje cas, atp. Start z managera nevyzaduje nacitani zadneho dalsiho programu. Soubor se vetsinou nacita rovnou na adresu kam patri. Cteni probiha v jednom kuse, bez jakehokoliv prerusovani pomoci instrukce INI a v prubehu cteni jiz neni potreba testovat jakekoliv chybove stavy... (Ted mne napada, ze jsme asi ani nezmerili jaka je rychlost datoveho toku pri cteni dat z SD do Unikarty... Nekdy to musim jeste zmerit. ) 4) Adresar /unicard: obsahuje textove konfiguracni soubory, jejihz obsah se ovlivnuje pomoci API primo ze Sharpa. Dale obsahuje QD image s BOOT zavadecem a je v nem umisten i SD Manager. Zmenou v teto konfiguraci lze zajistit napr. to, ze se po [Q + RESET] nebude spoustet manager, ale treba neco chytrejsiho. ------- Petre, pokud se jedna o Unikartu, ktera byla pred casem na Aukru, tak alespon podle fotografii, ktere jsem videl v ni neni provedena oprava RS232/USB a take tam zrejme neni ani posledni verze firmware, ktery krom jineho umoznuje pouzivat ze Sharpa SIO, nebo komunikovat z PC pomoci RS232/USB s Unikartou a menit obsah SD bez zavislosti na tom, co prave dela Sharp. Zde je popis standardniho API: http://sourceforge.net/p/mz800ukp1/code/HEAD/tree/trunk/STM32fw/emu_MZFREPO.c Zde jsou priklady jak to API pouzivat v assembleru ze Sharpa: http://sourceforge.net/p/mz800ukp1/code/HEAD/tree/trunk/STM32fw/doc/examples/ Tady je popis jak obsluhovat SIO: http://sourceforge.net/p/mz800ukp1/code/HEAD/tree/trunk/STM32fw/emu_SIO.c Tady je popis shellu pomoci ktereho lze komunikovat s Unikartou pres RS232/USB: http://sourceforge.net/p/mz800ukp1/code/HEAD/tree/trunk/STM32fw/USARTshell.c (K tomu jsem napsal komunikacni program pro Linux a na webu Martina Lukaska je verze tohoto programu pro Windows. Linuxovy komunikator si staci prekompilovat http://sourceforge.net/p/mz800ukp1/code/HEAD/tree/trunk/STM32fw/doc/USARTshell_R TS.c ) Zde je jednoduchy navod, jak opravit znamou chybku na desce Unikarty: http://ordoz.com/sharp/unicard_files/oprava_PCB_RTSCTS_u_FT232RL/ Tady je muj navod jak bez specialniho vybaveni naprogramovat firmware Unikarty: http://ordoz.com/sharp/unikarta_programovani_stm32_bootloaderem/ Pamatuju si, ze jeste nekde byl navod jak programovat CPLD, ale uz si bohuzel nepamatuju kdo jej napsal a kde je ulozeny :( Michal
Ostatní příspěvky vlákna:
[2013/1 (17)] [2013/2 (52)] [2013/3 (60)] [2013/4 (68)] [2013/5 (60)] [2013/6 (42)] [2013/7 (9)] [2013/8 (48)] [2013/9 (1)] [2013/10 (40)] [2013/11 (45)]
[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)]