[SharpMZ] Emulator MZ-800

Miloš milsa na atlas.sk
Pátek Prosinec 19 21:40:57 CET 2014


Michal, ja by som nejakú spätnú väzbu mal. Celkom mi nie je jasné, prečo 
sa tak pomaly prekresluje obrazovka pri resete a zmene typu monitora. 
Priznám sa, že som zatiaľ stiahol len tú najstaršiu verziu emulátora a k 
tým novším som sa ešte nedostal, aby som ich stiahol, ale mám v pláne aj to.

My sme boli asi jediní, čo sme mali Sharpa takého, že keď sme ho zapli, 
tak tam bolo vždy 128 bajtov 00 a 128 bajtov FF a takto celá pamäť. 
Zdeňkov Sharp a zrejme aj ostatné to mali takto FF FF 00 00 FF FF a 
potom po 128 bajtoch zas naopak.

No a teraz sa vrátim k začiatku. Náš Sharp sa zresetoval asi do cca 0,4 
sekundy. Približne tak to trvá aj môjmu emulátoru a krásne tam vidieť 
mapu pamäte (128 bajtov 00, 128 bajtov FF). Potom monitor nahodí farbu a 
nahrá CGRAM. Nepamätám si, či bolo v pamäti najprv FF a potom 00 alebo 
naopak. Výsledok je taký, že ak FF, tak naskočí tá "mapa", potom naskočí 
biela obrazovka, lebo v CGRAM na začiatku sú FF, potom sa prekreslí na 
modro a nakoniec naskočí text. Ak je najprv 00, tak je to to isté, len 
sa z "mapy" zmení obrazovka na modrú (lebo na začiatku CGRAM sú 00) a 
potom naskočí text, Celé to trvá asi 0,3 sekundy.

Nerozumiem teda prečo to v tvojom tak pomaly prekresľuje. Je to len tým 
"zapnutím" alebo je to celkovo problém s pomalým prekresľovaním 
obrazovky? Neviem ako to robí Zdeněk, ale ja som začal prekresľovanie 
riešiť tak, že som uložil informáciu, ktorý riadok treba prekresliť a 
prekresľoval som, ak to bolo nutné. Border som prekresľoval vždy. Potom 
som vyhodil počítanie po jednotke a postupné posúvanie lúča a ak to 
nebolo nutné, tak som rovno posúval lúč podľa toho, aká dlhá bola 
inštrukcia. Toto mi rapídne emulátor zrýchlilo a potom som ešte zrušil 
aktualizáciu borderu, ak sa nezmenil. Z rýchlosti 176 % som sa dostal na 
540 %. Pokusne som odpojil aj procesor a vyšlo to na cca 690 %, ak sa 
dobre pamätám, takže procesor mám optimalizovaný asi relatívne dobre a 
jednoducho Lazarus viac nedokáže. Alebo je chyba inde, neviem. Ale 
nechápem ako Zdeněk dokázal rozbehať 4500 % (všetko namerané na mojom 
počítači). Bojím sa, že ak raz budem mať zvuk a virtuálne CMT, tak 
klesnem hlboko pod 100 %.

Ja som zo Zdeňkovho kódu videl iba unitu na spracovanie MZS. Je to 
čitateľné celkom dobre. Išlo mi o skompatibilnenie môjho emulátora s 
jeho, keď raz dôjde na MZS. No a už som to síce Zdeňkovi raz písal, ale 
zrejme sa to k nemu nedostalo, v emulácii je chyba, pri načítaní MZS sa 
nespustia časovače (krásne to vidieť na Nipsoft Commanderi alebo v 
BASICu pri ? TI$

Miloš

Dňa 19. 12. 2014 19:33 Michal Hucik - ORDOZ wrote / napísal(a):
>
> K tomu doplnim jen kratce, to ze mne Zdenek neskutecne nastval, ptotoze
> jeho emulator bezi na mem PC rychlosti 8500 % Sharpa, zatim co ten muj i
> s vypnutym generatorem obrazu udela max. sotva nejakych upocenych 750%,
> cimz mu tedy nedekuji, protoze mi zkazil cele nadchazejici svatky...
> Proto take v tomto mailu nepouziju ani jeden pozitivni smajlik :(
>
> Co se tyka Zdenkova kodu, tak potvrzuji, ze z i z tech fragmentu co uz
> jsem videl, je alespon pro mne vcelku necitelny, nicmene to bude s
> nejvetsi pravdepodobnosti tim, ze je pro mne necitelny jakykoliv
> pascal... Nesouhlasim vsak, ze by obsah toho kodu mel byt necim, za co
> se ma stydet. Spise naopak.
>
> Ve Zdenkove zprave mi take prijde zajimava ta cast o zpetne vazbe ...
> podle accesslogu meho webserveru si ten muj emulator uz stahlo taky cca
> 100 lidi, nicmene v porovnani s timto cislem nasleduje uz naprosto
> minimalni zpetna vazba. Tim rozhodne neavizuji, ze bych chtel u sveho
> emulatoru zavadet nejake komercni registrace - navic to ani nebude
> nutne: muj emulator zrejme napr. nikdy nebude umet konverzi mezi MZF a
> WAV, takze uz mam prubezne se Zdenkem rozjednanou nekolika strankovou
> smlouvu o podilu na zisku z prodeje jeho emulatoru, ktery treba prave
> tuto funkci podporuje a ktery tim padem budu kazdemu doporucovat jako
> doplnek toho meho.
>
> Se Zdenkem veci kolem Sharpa casto konzultuju.  Jednak proto, ze stejne
> jako on uz jsem za pomoci osciloskopu a jinych skopicin Sharpa rozebral
> do posledniho bitu, ale taky se jej treba ted pri vyvoji emulatoru obcas
> ptam, zda nektere konkretni veci resil podobnym zpusobem, jako jsem to
> prave udelal ja. Rozhodne se vsak snazim drzet co nejdal od toho, abych
> mel k dispozici jeho zdrojaky, protoze pak bych uz moc vlastnich veci
> zrejme nevymyslel ... mozna bych vylepsil sem tam nejakou drobnost, ale
> cely muj vyvoj by sel do kopru.
>
> Co se tyka zverejneni meho kodu: ja jsem podstate programator - vlk
> samotar. Neumim dost dobre spolupracovat na jedne veci s ostatnimi lidmi
> - treba i proto, ze nekdy se mi zrodi v hlave myslenka na zaklade ktere
> pak kompletne cely kod od zakladu k nepoznani prekopu. S tim pak
> nasledne treba souvisi ruzne dalsi poznatky, a nedodelky ktere nosim v
> hlave, ale pro dalsi spolukodove bojovniky jsou tezko sdilitelne ...
> Navic jsem v nekterych vecech neskutecny puntickar a tame mam spoustu
> zlozvyku, ktere by mnohe spoluprogramatory privedly na hranici
> silenstvi. Toto mimochodem oficialne uz dlouhodobe tvrdim i na sezenich
> , pri kterych jedname o mem pripadnem zamestnani do pozice tymoveho
> programatora - coz muze napr. Fuzzy potvrdit...
>
> Z tohoto duvodu muj kod prozatim nebude oficialne verejny. Nicmene zcela
> vazne Jakube: pokud se chces do nej podivat, tak ti jej velice rad
> poslu, ale na source forge jej zatim nedam.
> Kazdopadne GPL header vkladam rutinne do vseho co jsem napsal a jakmile
> budu mit pocit, ze uz mam hotovo, nebo ze uz nemam sil dale pokracovat,
> tak kod okamzite poslu do sveta. Predpokladam vsak, ze jeho nasledujici
> osud pak bude stejny, jako u vetsiny jinych one-man-show projektu - viz
> treba Koeppe.
>
> Aby vsak nebyl duvod k placi, tak bych chtel ke svemu emulatoru casem
> udelat take spoustu doplnku, jako napr. API, pomoci ktereho by melo byt
> mozne pripojit vlastni modul na emulovanou sbernici atp ...
>
> Michal
>
>
> Dne 19.12.2014 v 15:35 zdeneka na seznam.cz napsal(a):
>> Vím že to Jakube asi bylo myšleno obecně, ale nedalo mi to se neozvat. Dnes
>> už je na výběr víc emulátorů MZ-800, jejichž kód je veřejným tajemstvím. Z
>> českých to je třeba emulátor Jardy Kysely, německý např. tenhle:
>> http://sourceforge.net/p/mz800em/wiki/Home/
>> Všichni ho mají stažený na disku, ale jejich vývoj za ty roky nepokročil ani
>> o píď.
>>
>> Když malinko odbočím, tak do doby než jsem u mého emulátoru zavedl
>> registraci jsem byl ohledně jeho vývoje ve spojení s cca 5-ti lidmi. Nicméně
>> u každé nové verze jsem měl klidně 200 downloadů. Po zavedení registrace se
>> mi ozvalo opravdu hodně zajímavých lidí (programátoři, majitelé
>> distribučních společností, ...) - někteří se mnou udělali rozhovor na
>> stránky, jiní mi věnovali k rozšíření balík starých disket z půdy či
>> dokumentace... Díky tomu (a pochopitelně taky Pavlově snaze) je také na
>> www.scav.cz asi největší volně přístupný archiv všemožných programů, her a
>> dokumentací.
>>
>> Myslím tedy že je to každého věc, jak se svým výtvorem naloží. Přiznám se že
>> by mi samotnému (jakožto neprogramátorovi) bylo hanba se se zdrojáky veřejně
>> pochlubit. Nicméně ti kdo se vážněji do emulace MZ-800 ponořili, jsou se
>> mnou v kontaktu a já vím že jejich práce někam vede, tak nemám problém se s
>> nimi o kód podělit (případně co si vzpomenu zkonzultovat) - to mi snad každý
>> potvrdí. Někdy je ale dobré začít stavět na zelené louce, protože jen tak se
>> neobšlehnou chyby předchozího pisatele a vnesou se do projektu nové nápady.
>>
>> Hluboce zklamaný může být jen ten, kdo to nezkusí
>>
>>
>> Zdeněk
>>
>> -----Původní zpráva-----
>> From: Jakub Ladman
>> Sent: Friday, December 19, 2014 1:23 PM
>> To: milsa na atlas.sk ; Počítače SHARP MZ a jejich emulátory
>> Subject: Re: [SharpMZ] Emulator MZ-800
>>
>> Emulátorů se zavřeným kódem je dost. Jestli někdo píše další closed source,
>> tak mě hluboce zklamal.
>> J.L.
>>
>> "Miloš" <milsa na atlas.sk> wrote:
>>
>>> V Lazarovi pristupujem ku klávesnici cez KeyDown a KeyUp eventy, takže
>>> je to celkom jednoduché. Problém robí Caps Lock, ktorý je v podstate
>>> neošetriteľný, takže stlačením sa klávesnica v ostatných programoch
>>> začne správať inak.
>>>
>>> Trochu som sa začal hrabať v Qt a tu sú moje poznatky z Qt5:
>>> 1. Aplikácia so základnými DLL má v release móde cca 45 MB. Záleží aj
>>> od
>>> toho, čo potrebuje. Testovacia aplikácia nevyužívala takmer nič, len
>>> GUI.
>>> 2. Ak sa použije statické linkovanie, aby kompletná aplikácia nebola
>>> ako
>>> mamut, tak je nutné aplikáciu dať pod LGPL. Čiže aj so zdrojovými
>>> kódmi.
>>> Ako som si všimol, emulátory Sharpa sa so zdrojákmi veľmi nemajú radi
>>> (predsa len je to platforma, ktorá nie je tak rozšírená, aby autor
>>> svoje
>>> myšlienkové pochody pustil do sveta), takže toto bude asi dôvod prečo
>>> Qt
>>> nepoužiješ. Ak nie toto, tak dôvod číslo 1. Platená licencia už túto
>>> podmienku nemá. Navyše ešte som neprišiel na to, ako spustiť statické
>>> linkovanie bez rekompilácie celého Qt.
>>>
>>> Qt toho ale obsahuje celkom dosť, takže si myslím, že nebudeš
>>> potrebovať
>>> nič navyše mimo Qt.
>>>
>>> Mimochodom, trochu som sa pohral s mojím emulátorom a dosiahol som
>>> mierne zvýšenie rýchlosti po pridaní kontroly, že či sa zmenilo niečo
>>> na
>>> obrazovke. Pri stále sa meniacom obraze ho to mierne spomalí, ale nie
>>> je
>>> to hádam až tak zlé. Teoreticky by sa to za cenu mierne
>>> neprehľadnejšieho kódu ešte dalo o čosi zrýchliť. Asi začnem pracovať
>>> na
>>> 800 grafike a možno sa priblížim k tebe, čo sa funkčnosti týka.
>>> Rýchlosť
>>> tvojho emulátora som síce nedosiahol.
>>>
>>> Mimochodom, Turbo Copy V1.21 ide na 65 %, prečo?
>>>
>>> Miloš
>>>
>>> Dňa 13. 12. 2014 22:45 Michal Hucik - ORDOZ wrote / napísal(a):
>>>> GTK jsem zvolil proto, ze jsem ho cca pred 15 lety trochu zkousel -
>>> tedy
>>>> krom xforms, wxWidget, xmotiff a kdo vi ceho vseho jeste ... jakysi
>>> Qt v
>>>> te dobe uz mozna i existoval, ale byl docela v plenkach.
>>>> Kazdopadne jak uz jsem napsal, tak od prvopocatku vyvoje emulatoru
>>>> pocitam s tim, ze interface bude mozne / nutne  vymenit za jiny a
>>> tomu
>>>> se snazim prizpusobit i kod programu.
>>>>
>>>> Co se tyka Qt, tak jej rad vyzkousim, nicmene se dopredu obavam, ze
>>> to
>>>> co mi momentalne chybi v GTK, zrejme nenaleznu ani v Qt...
>>>>
>>>> Interface emlatoru je v podstate mozne rozdelit do dvou casti:
>>>>
>>>> 1) GUI, pod cimz chapu predevsim menu programu - to je naprosto
>>>> irelevantni a muze byt napsane v cemkoliv, ci naopak vlastne ani
>>> nemusi
>>>> vubec existovat
>>>>
>>>> 2) Skutecny interface, pomoci ktereho je emulator spojen se zbytkem
>>>> sveta - jednoduseji receno je to prevazne klavesnice, monitor a
>>> zvukovy
>>>> vystup Sharpa.
>>>>
>>>> Myslim si, ze v te druhe casti bude potreba sahat na na tyto zarizeni
>>> v
>>>> mnohem vic low-level urovni, nez jakou mi v dane chvili muze
>>> nabidnout
>>>> jakykoliv okenkovy manager. Predpokladam, ze v pripade windows vede k
>>>> teto urovni cesta pres directx. Nemam vsak k tomuto tematu nacteno
>>> zhola
>>>> nic a tak v pripadne diskuzi na toto tema mohu byt vicemene spise jen
>>>> posluchacem.
>>>>
>>>> Nicmene windozovych programatoru, kteri by k tomuto tematu mohli neco
>>>> rict je tady prece dost, ne? Hola! Mafro! Probud se! ;)
>>>>
>>>> PS: co se tyka zvuku, tak ten mam prozatim v planu realizovat pres
>>> portAudio
>>>> Michal
>>>>
>>>> Dne 12.12.2014 v 20:07 Ctirad Feřtr napsal(a):
>>>>> Mohu vědět proč zrovna tuhle obsolete knihovnu, jejíž
>>>>> multiplatformnost je rovněž taková polovičatá?
>>>>> Pokud něco multiplatformního a free, tak jednoznače Qt, které má i
>>>>> vlastní IDE a rovnou z něj můžeš generovat binárky pro Linux,
>>> Windows,
>>>>> Android a asi i OSX.
>>>>>
>>>>> Ctirad
>>>>> _______________________________________________
>>>>> SharpMZ mailing list
>>>>> SharpMZ na mail.ordoz.com
>>>>> http://mail.ordoz.com/mailman/listinfo/sharpmz
>>>>>
>>>> _______________________________________________
>>>> SharpMZ mailing list
>>>> SharpMZ na mail.ordoz.com
>>>> http://mail.ordoz.com/mailman/listinfo/sharpmz
>>> _______________________________________________
>>> SharpMZ mailing list
>>> SharpMZ na mail.ordoz.com
>>> http://mail.ordoz.com/mailman/listinfo/sharpmz
>> Sent with mySecureMail.
>> http://www.mysecurephone.eu/
>> _______________________________________________
>> SharpMZ mailing list
>> SharpMZ na mail.ordoz.com
>> http://mail.ordoz.com/mailman/listinfo/sharpmz
>>
>> _______________________________________________
>> SharpMZ mailing list
>> SharpMZ na mail.ordoz.com
>> http://mail.ordoz.com/mailman/listinfo/sharpmz
>>
> _______________________________________________
> SharpMZ mailing list
> SharpMZ na mail.ordoz.com
> http://mail.ordoz.com/mailman/listinfo/sharpmz



Další informace o konferenci SharpMZ