[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