[SharpMZ] Emulator MZ-800

Michal Hucik - ORDOZ ordoz na ordoz.com
Sobota Prosinec 13 23:08:03 CET 2014


Dne 12.12.2014 v 21:31 Miloš napsal(a):
> Odspravedlňujem sa za ďalší post, ktorý mohol byť v tom prvom, ale 
> napadlo ma to až teraz. Ja mám synchro riešené tak, že brzdím emulátor 
> pri každej 1/50 sekundy. Tiež som hľadal niečo čím zabrzdím na pár 
> microsekúnd alebo nanosekúnd (už sa nepamätám presne) a hoci som aj 
> našiel nejaké riešenia pre Delphi, resp. Lazarus, nakoniec som to 
> nepoužil, lebo sa mi to akosi nepozdávalo. Zvažoval som, že ak aj 
> budem časovať presne, tak pri zobrazení grafiky budem musieť čas 
> dobiehať, takže nakoniec som sa rozhodol pre brzdenie len pri 
> zobrazovaní (vždy, keď sa nakreslila celá Sharp obrazovka a lúč 
> "došiel" na koniec.

Ano, v SYNC rezimu se snazim srovnat emulator se snimkovym zatemnenim 
realneho Sharpa, coz je jak pises 20ms. To jak se mi tato synchronizace 
dari je pak po kazdych 50 snimcich zobrazovano v procentech: 1000 ms / 
sumarni soucet milisekund za poslednich 50 snimku ... pokud je vysledkem 
1:1, tak jsem bezel na 100% synchronne se Sharpem. Bohuzel jak se zda, 
tak ve win32 se zakladnim systemovym vybavenim je jakekoliv presne 
merereni casu, ci synchronizace naprosto obskurni zalezitosti. V Linuxu, 
ci v 64 bitovych widlich uz je  to mnohem lepsi.

Zdenek ve svem emulatoru vyuzil synchronizaci pomoci zvukove karty. 
Dosahnul tim velmi presneho casovani, ale bohuzel emulator timto 
zpusobem nedovoli systemu ani chvili oddychu, coz je naprosti likvidacni 
pro notebooky s vadnym chladicem CPU! ;)

S Vaskem jsme se bavili o tom, ze by tu mela byt moznost nastavit si u 
zvukovky interrupt, kterym by se aplikace budila ve spravnych 
intervalech. Az budu mit trochu cas a chut se tim zabyvat, tak se chci 
zkusit vydat prave touto cestou.

Michal



Další informace o konferenci SharpMZ