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