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[doména skryta] napsal(a):
Zobrazit citovaný text (5 řádků)
> 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.
Zobrazit citovaný text (9 řádků)
> 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