Konference: Počítač SHARP MZ-800 a emulátory

Od: Michal Hučík
Datum: 5.11.2009 10:43
Předmět: Re: Unikarta s SD pro Sharpa


Ahoj Zdenku, diky za poklonu, nicmene tim schopnym hardwerarem je tu 
predevsim Vasek, ktery prisel s napadem pouzivat pro synchronizaci 
EXWAIT - tedy nemala cast poklony nalezi i jemu ;)

Co se tyka ovladani SD, tak presne tuhle diskuzi jsem tady chtel 
vyvolat, protoze uz jsem premyslel nad ruznymi zpusoby a zatim se mi 
zadny moc nezamlouval. To NMI by bylo fajn, jenomze pokud vim, tak na 
Sharpu jej stejne nelze realizovat a na zasahy do utrob sveho MZ-800 
milacka jsou tady mnozi lide az prilis citlivi ;)

LCD a par tlacitek je asi nejstandardnejsi reseni, akorat ze tim opet 
podstatne poroste cena celeho zarizeni a bylo by dobre, aby se tu 
vyjadrili i ostatni Sharpisti o tom, jaky by byl jejich pripadny 
financni limit , ktery by chteli investovat do unikarty.

Pro ovladani mam na karte v tuto chvili jen castecne implementovany 
shell s velmi primitivnim komunikacnim protokolem.
Na portu 0x50 se posilaji prikazy a portem 0x51 chodi data:

Binarni prikazy:

0x00 - provede reset prikazoveho bufferu a pokud byl otevreny nejaky 
soubor, tak jej zavre
0x01 - TXT komunikace bude probohat v ASCII
0x02 - TXT komunikace bude probihat v Sharp ASCII
0x0d - konec TXT komunikace (zpracuj prikaz)

Textove prikazy

Implementovano:
SETUP GET ROMMZF - pripravi na dataport obsah /unicard/romdisc.cfg be 
kterem je cesta k boot souboru (romdisc)
OPEN FILEPATH </path/filename> - otevri soubor a priprav jej k odberu na 
data portu

Zatim jen v planu:

SETUP <GET | PUT> FD<0-3> </path/filenmame> <RO | RW> - vymena a 
nastaveni diskety
SETUP PUT ROMMZF </path/filenmame> - nastav boot file
OPEN DIRPATH <path> - listovani adresare
MKDIR <path> - vytvor adresar
TOUCH  </path/filename> - vytvor soubor
RESIZE </path/filename> - zmen soubor
SEEK <int32> - nastav se na pozici v souboru
REMOVE <path | filepath> - smazat soubor/adreasar
CLOSE - zavrit filehandle
SYNC - ulozit cache

+ jeste nejake fileinfo a nastavovani FAT atributu

Tento shell zatim pouzivam jen pri startu Sharpa, kdy pritestu FDC 
tvrdim, ze zadnou nemame a pri testu ramdisku na portech 0xf8 - 0xfa 
nahraju do Sharpa z SD "romdisku" tento jednoduchy loader 
http://ordoz.com/sharp/unicard/rdloader.as.txt

Ovladani takoveho shellu je jednoduche jak ze cp/m, tak i z BASICu. 
Nevim co s MRSem. Kdyz jsem mluvil s Vlastikem v dobe kdy jej upravoval 
pro floppy, tak rikal, ze to byla bitva o bajt, tak nevim jestli se tam 
da jeste neco protlacit ...

Napadaji vas lepsi zpusoby jak to ovladat?

Jeste se vratim k te cene unikarty. Nejhubenejsi varianta a v podstate 
to co ted mam na stole:

- XC9536XL  cca 60Kc ( Vasek zvazoval, ze by se cena dala snizit GALem, 
ale cim se to programuje? )
- ATmega64 - 16 cca 160Kc
- nejaka bizuterie, odpory, krystal, RTC, SD patice cca 60Kc
- vyroba PCB pri alespon 10 kusech cca 180 Kc (?)
 
Pokud k tomu pridame LCD s radicem, tak odhaduju cca + 200Kc. Karta uz 
by se navic musela navrhnout pouze pro horni slot, aby mohla koukat ven.

Kdo bude chtit mit na unikarte i RAMdisk, tak uz potrebuje vetsi 
hradlove pole, takze XC95144XL cca + 200 Kc a za kazdych 512kB SRAM + 100 Kc

Ty ceny jsem si vycucal z prstu, ale snad jsou alespon trochu podobne 
tem skutecnym...

Michal

Zdenek Adler (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):
>
> Michale, škoda že nemám klobouk, hned bych smeknul.... Tohleto je mým 
> snem už hezkou řádku let a jsem rád, že se toho konečně chopil schopný
> hardwerář a dotáhnul to do zdárného konce. Už jsem se obával, že se s 
> tím budu jednou trápit já :-)
> Rád bych se Tě ještě dotázal na to, jak budeš řešit ovládání karty 
- 
> myslím tím volbu diskového image, přepínání R/W, .... Kdysi jsem 
> plánoval buďto přes NMI, skrze které by se z SD karty natahnul 
> obslužný program (popř. předtím uložil obsah všech dotčených
registrů 
> Z80,obsah RAM a VRAM na kartu tak aby se dalo vrátit zpět), nebo 
> variantu nezávislou na Sharpovi - tzn. nějaký dvoj (nebo více)řádkový> displej + minimalistická klávesnice cca o 3 klávesách.
> Mimochodem, pokud ve Flash ATMegy zbyde místečko, přimlouval bych se i 
> za přímé spouštění MZF souborů z SD karty. Respektive by nebyl od věci
> nějaký file manager, který by takto přímo dovedl spouštět i DSK 
> soubory, prohlížet texty, obrázky.... Stejně tak by nebyla od věci 
> možnost ukládání stavu MZ-800 na kartu a jeho zpětné načtení aj. 
> Námětů mám spousty, ale myslím že tyhle do příštích vánoc odolají 
:-)
> Držím palce!
>
> Zdenek
>
>
>
> ----- 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, November 04, 2009 4:09 PM
> Subject: Re: Unikarta s SD pro Sharpa
>
>
>>
>> Zdravim,
>> dlouho tu nebyly zadne obrazky, tak tady mam jeden pohyblivy ze 
>> ktereho si snad kazdy udela predstavu o tom jak je emulace FDC pomoci 
>> ATmega64 rychla ... Myslim, ze jednoznacne nejpomalejsim faktorem je 
>> obsluha sedici u klavesnice ;)
>>
>> http://ordoz.com/sharp/unicard/nacteni_cpm_z_sd.avi
>>
>> Na zacatku videa je chvilku videt ten prodratovany paskvil - tedy 
>> ATmega64 zasunuta ve vyvojove desce. K ni je pres 6 odporu pripojena 
>> SD karta s LEDkou - poblikavani pri diskovych operacich na videu 
>> bohuzel neni moc videt. Uvnitr Sharpa je samozrejme jeste zasunuta 
>> deska s XC9536.
>> Samotny start cp/m by mohl byt jeste o neco rychlejsi, protoze jak uz 
>> jsem psal, tak puvodni LEC system si testuje, zda se na stope 0, 
>> strana 0 nevyskytuje sektor s cislem 0x10 a na tom ma cca 1/2 sekundy 
>> pauzu.
>>
>> Celkem by mne zajimalo porovnani toho, jak dlouho trva spusteni power 
>> shellu a nacteni FETu s dokumentem WD279X.FET na skutecne mechanice - 
>> tu mou uz se mi nejak nechce vytahovat ze skrine abych to zmeril ;)
>>
>> Write na emulovanou FDD uz je snad v cp/m bez bugu. BASIC a MRS mi 
>> bohuzel zatim stale odolavaji :(
>>
>> 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)]