Konference: Počítač SHARP MZ-800 a emulátory
Od: | Fuzzy |
Datum: | 19.6.2013 01:30 |
Předmět: | Re: Unikarta (Bylo Re: 8253) |
Ahoj,
Na mé unikartě musel Vašek měnit mcu, pak to začalo jet, asi byl problém tam.
Jinak ale úplě ok moje unikarta pořád není, bručí po studeném startu ~ 5 minut, pak se asi studeňák spojí a už to jede pořád v pohodě dokud se sharp nevypne na delší dobu. Ještě jsem se nedostal k tomu hledat příčinu.
Fuzzy
2013/6/5 Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz) <ordoz tu byla ta zakroucena vec ordoz.com>
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_RTS.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
---
Pobyty na horách se slevou
http://raketa.cz/slevy/pobyty/hory/
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_RTS.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
---
Pobyty na horách se slevou
http://raketa.cz/slevy/pobyty/hory/
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)]