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

Od: Roman Dolejsi
Datum: 20.1.2012 18:09
Předmět: Re: Emulator - Bylo: Emulace Unikarty


Zdravím,

  s tím časem na psaní emulátoru je to opravdu špatné. Tolikrát jsem si již sliboval, že MCE opráším, opravím nedodělky a konečně někde vypublikuji.. A nikdy čas nezbyl. Seznam věcí, které jsem tam kdy chtěl dodělat, vždy jen narůstal a málokdy se tenčil.. A teď se stavbou baráku to je snad ještě horší :-(

  MCE zhruba splňuje, co by bylo asi potřeba - je modulární.. Emulace je reprezentovaná komponentami připojenými do adresového nebo portového prostoru. Komponenty samy mohou referencovat MMU a pomocí něho přepínat paměť nebo povolovat či zakazovat porty. Komponenta může mít svou konfigurační obrazovku, výchozí hodnoty a hodnoty uživatele.

  Tento princip mi umožňuje sdílet jednu implementaci na různých platformách - např. plnou implementaci i8253 jsem psal podle PDFka čipu od Intelu a jednu komponentu používám na MZ, ZX i PMD, jen připojenou vždy jinam.
  MCE po startu načte konfiguraci dané emulace z XML souboru, připojí všechny komponenty včetně CPU a nastartuje emulaci. Prakticky vlastně neví, že nějaká emulace běží :-)


  V emulaci MZ-800 funguje prakticky vše kromě zvuku a brždění na rychlost reálného procesoru. GDG je 99% implementována feature-wise, synchronizovaná s CPU. Debugger je extrémní, podporuje složené breakpointy s podmínkami, pohledy do paměti, identifikaci paměťových oblastí apod. K dispozici je i věrná emulace pásky včetně převíjení a editace (TMZ - i.e. Antiriad od Hechta v jednom souboru s InterCopy zavaděčem a zbylými bloky v ZX módu), 8-bit nebo 16-bit IDE, plná podpora FDC (HD) včetně vytvoření prázdného image a jeho naformátování v CP/M. Je možné připojit libovolný adresář z lokálního disku jako CP/M drive (provedu shadow BDOSu a emuluji rutiny CP/M při přístupu na daný disk). Podporuji dělání screenshotů, převod obrázků mezi různými grafickými módy, převod ZX obrázků do MZ-700 obrazovky pouhým Copy&Paste.. Člověk by nevěřil, s čím vším jsem si tehdy vyhrál :-)

  Zhruba před měsícem jsem přidal plnou podporu MemExt. Třeba mi o víkendu vyjde čas a konečně novější verzi MCE vydám. Mohl bych se mrknout i na tu podporu Unikarty. Ale to všechno jsou jen úvahy a při mém volném čase si myslím, že mi bude moci Zdeněk vždy říkat, že MCE je jen z říše fantazy :-)

Tak zatím a hezký víkend!
Roman

btw. nezatracujte Javu, C# a ostatní managed jazyky. Možnosti debuggingu, trasovatelnosti chyb, uspořádanosti objektového kódu či praktické využití design patternů jsou o řád jinde než u nižších jazyků. Je samozřejmě pravda, že ne ke všemu se hodí.. ale na emulátor s otevřenou komponentovou platformou je Java nebo C# naprosto ideální řešení.

2012/1/20 Miroslav Hajda (sharpemu tu byla ta zakroucena vec pandora.cz) <bomi tu byla ta zakroucena vec centrum.cz>


Pokud byste se chtěli do nečeho pusit, tak mi dejte vědět, že bych třeba přiložil ruku k dílu...

Sice jsem teď neměl pár let na Sharpa čas, ale předtím jsem se o tvorbu emulátoru párkrát pokusil. Naposledy jsem zkoušel upravit Zdeňkův emulátor v Javě jako applet tak, aby bylo možné spouštět soubory přímo z webu, ale nějak jsem to ani pořádně nedokončil (rozpracovaný web jsem tu kdysi zmiňoval http://sharpmz.zdechov.net).

Kromě toho existovaly v Javě i další emulátory, např. MCE Romana Dolejšího
Pokud byste se rozhodli pro C++, možná by se dala použít část kódů z http://sourceforge.net/projects/mz800em/ případně http://homepage3.nifty.com/takeda-toshiya/mz700/index.html

HajdaM
______________________________________________________________
> Od: "Ctirad Feřtr (sharpemu tu byla ta zakroucena vec pandora.cz)" <c.fertr tu byla ta zakroucena vec gmail.com>
> Komu: "Konference \'"Počítač SHARP MZ-800 a emulátory\'"" <sharpemu tu byla ta zakroucena vec pandora.cz>
> Datum: 20.01.2012 14:50
> Předmět: Re: Emulator - Bylo: Emulace Unikarty
>
>Dne Pá 20. ledna 2012 14:38:06, Michal Hučík napsal(a):
>
>Pokud by se mělo jít cestou nového emulátoru, vzal bych za základ nějaký
>kvalitně napsaný multiplatformní emulátor jiného Z80 stroje (MSX, CPC, možná
>ZX) a přepsal věci týkající se přímo sharpa.  Nebo se podívat, jestli by nešel
>použít jeden z  tuším dvou existujích nedodělků.
>
>Ctirad
>
>> Zrejme bychom ale meli postoupit dal a myslenka toho, ze by jsme
>> spolecnymi silami stvorili novy emulator, ktery by byl opensource,
>> multiplatformni, otevreny pro implementaci noveho HW (pokud mozno ovsem
>> nenapsany v JAVA ;) se mi hodne libi. Nicmene jako programator nemam s
>> aplikacemi tohoto typu naprosto zadne zkusenosti :(
>
>
>---
>

---


Ostatní příspěvky vlákna:

 
[2012/1 (125)] [2012/2 (34)] [2012/3 (57)] [2012/4 (46)] [2012/5 (40)] [2012/6 (44)] [2012/7 (64)] [2012/8 (57)] [2012/9 (32)] [2012/10 (55)] [2012/11 (25)] [2012/12 (63)]


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