<html>
  <head>
    <meta content="text/html; charset=iso-8859-2"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Ďakujem za vyčerpávajúcu odpoveď.<br>
    <br>
    Tak to priznávam, pravé tlačítko ma nenapadlo. Disk som namontoval
    cez config. Stačí do readme napísať. Ono je to aj tým, že predtým
    bolo menu a teraz menu nie je. Tak som myslel, že si prešiel na INI
    štandard a nechal si to tak. V Linuxe je skoro každý zvyknutý všetko
    editovať a zadávať v konzole, takže mi to ani čudné nebolo. Ale ako
    pozerám, celé to mám zle, lebo pravé tlačítko nič nerobí. Ešte to
    skúsim nejako poriešiť a hádam menu a Alt+D pôjde. S ničím iným som
    problém nemal.<br>
    <br>
    U mňa je to 2x2 GHz bez spolupráce grafiky a v podstate aj emulácia
    beží len v jednom jadre. Z SDL využívam len zvuk.<br>
    <br>
    S tým prepisom častí kódu to je u mňa podobné. Procesor mám
    rozpísaný po jednotlivých bitoch inštrukcie, aby som ušetril čas pri
    vetvení inštrukcií, ale každý to robí cez case, tak mi to jedno
    popoludnie nedalo a prepísal som na case. Znížila sa rýchlosť, tak
    som nechal pôvodnú verziu. Keby do toho niekto pozrel, tak sa mu
    vlasy dupkom postavia. Potom som rôzne upravoval kreslenie grafiky,
    lebo to stále bolo pomalé. Teraz mám v podstate vždy rýchlosť nad
    800 % (samozrejme vždy 12,5 FPS, myslím, že pri zrýchlení ani viac
    netreba).<br>
    <br>
    Presný lúč nemám, mne to ide len podľa inštrukcií, ale zvyčajne s
    tým programy počítajú, aby sa lúč zmenil v neviditeľnom pásme.
    Gardnerovi je to jedno a možno Hundra, ale tú neviem otestovať, lebo
    som ju ešte nerozbehal. Predpokladám, že problémy sú kvôli PIO, lebo
    to ešte nemám vyladené k dokonalosti a semtam sa mi tam podarilo
    nájsť nejakú chybu. CTC mám naemulované už hádam dobre, ale o pár
    drobnostiach na úpravu ešte viem, ale to už funkčnosť ovplyvňuje
    minimálne, takže tam mám nízku prioritu. Akurát mi to vtedy nedalo a
    porovnával som moju emuláciu 8253 s emuláciou v GPMD emulátore a
    našiel som rozdiel, vedel by si to reálne na Sharpe overiť?<br>
<a class="moz-txt-link-freetext" href="http://pmd85.borik.net/wiki/Special:Forum/showcomment&amp;page=1&amp;fid=1022">http://pmd85.borik.net/wiki/Special:Forum/showcomment&amp;page=1&amp;fid=1022</a><br>
    <br>
    Zdeněk pri inštrukcii JR (curtimer) má cca 10200 %. Ja mám 2200, u
    teba 3680. Takže asi tam budem mať čo dobiehať. Možno by to šlo
    zrýchliť cez OpenGL. Akurát toto ale považujem za mierne klamlivý
    údaj, lebo rýchlosť emulácie je v podstate prepočítaná vzhľadom na
    dlhší takt. Na druhej strane vzhľadom na dlhší takt aj preto
    usudzujem, že mám čo dobiehať, pretože by som čakal vyššie číslo v %
    pri zrýchlení.<br>
    <br>
    O zrýchlení vypustením emulácie CTC som uvažoval aj ja, ale zatiaľ
    som to neimplementoval. Emuláciu kurzora som ale vypustenú už mal a
    upravoval som hodnoty len pri čítaní, ale emuláciu mi to paradoxne
    spomalilo. Zrejme vysokou réžiou náhradného kódu. To isté aj tempo,
    takže som tú náhradu zatiaľ vypustil. Pri CTC by možno bola tiež
    vysoká réžia náhradného kódu, keďže emulujem všetky módy (reálne sú
    tuším iba 0, 2, 3) a musel by som testovať, či nie je prerušenie.<br>
    <br>
    Celkom rýchlo sa ti podarilo napísať dobrý emulátor. Ja som si
    myslel, že mne to bude trvať o dosť dlhšie, ale ako som časom
    zistil, v tom Sharpe toho až tak veľa nie je. Horšie je to s
    presnosťou emulácie, ale dostal som sa do bodu, keď zisťujem, že môj
    emulátor už zožerie mnohé programy, pri ktorých iné emulátory plačú.
    Niekde, napr., po spustení Turbo Copy to ustavične trúbi, mne to už
    funguje poriadne. Boli aj nejaké problémy s grafikou, ale to som
    urobil chybu v emulácii nejakej inštrukcie Z80 (teraz z hlavy neviem
    akej) pri zrýchľovaní kódu. A bola aj sranda, keď som vďaka presnej
    emulácii pamäte pri CMT patchu nevedel správne rozchodiť grafiku v
    dlhej verzii spojeného Wookyho. Až neskôr som si uvedomil, že je to
    tým, že pri nahrávaní sa súbor sype aj do VRAM a po nahratí ju Wooky
    vypne. Osobne to považujem za chybu monitora, hoci to nie je uvedené
    ani v dokumentácii od Odehnala a Veverku. V podstate to obmedzuje
    maximálnu dĺžku 700 programu na 47,5 kiB.<br>
    <br>
    Ešte otázka: Plánuješ snapy a celoobrazovkový režim?<br>
    <br>
    Miloš<br>
    <br>
    <div class="moz-cite-prefix">Dňa 22. 9. 2015 o 21:08 Michal Hucik -
      ORDOZ napísal(a):<br>
    </div>
    <blockquote
cite="mid:16920_1442948529_5601A5B1_16920_291_1_5601A733.3050309@ordoz.com"
      type="cite">
      <meta content="text/html; charset=iso-8859-2"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix"><br>
        Jak jsi mountoval image do FDD?<br>
        <br>
        Popravde jsem si rikal, ze pouziti praveho tlacitka mysi bude
        jedna z prvnich veci, ktere uzivatel sam od sebe vyzkousi...
        Mozna bych mel pri startu programu napsat do console povidani o
        tom, at uzivatel zkusi sahnout na prave tlacitko nad oknem
        emulatoru.<br>
        <br>
        <br>
        Pokud se ti vsak program po Alt+D slozi, tak mas podle mne bud
        poskozeny nejaky soubor emulatoru, ci runtime knihovny, nebo
        nejaky jiny problem ve svem PC.<br>
        <br>
        Mezi 1900 a 1200 % bych nevidel az tak veliky rozdil - tam uz
        zrejme narazis na nejake HW limity. <br>
        Ja u sebe poustim emlator na procesoru i5-3570K, pretaktovanem
        na 4.2 GHz a na Nvidia MSI 970, ktera je uz od vyrobce take
        pretaktovana ... Na takovem zeleze uz se neda vymlouvat
        nestihajici HW.  <br>
        <br>
        Uz v prosinci jsme se tady bavili o tom, ze kompilator jako
        takovy na to zrejme nebude mit az tak veliky vliv.<br>
        Vyznamny vliv bude mit zapnuta optimizace kompileru. Ja pouzivam
        O2. Ze zacatku jsem chvili pouzival i O3, ale s pribivajici
        funkcionalitou to pri teto optimizaci uz zacalo padat. Jinak uz
        v prosinci jsme se tady bavili o tom, ze kompilator jako takovy
        zrejme nema prilis velky veliky vliv na to, zda ta emulace bezi
        ve stovkach, nebo v tisicich procent.<br>
        <br>
        Ja jsem se pri prepisovani jadra emulatoru alespon ze zacatku
        snazil stale myslet na to, aby se v mistech, kde program travi
        nejvice casu vyuzivala co nejvice cache procesoru.<br>
        Ze zacatku jsem pri psani neustale meril jak se na vykonu
        projevi jedna metoda, pak treba jina... Spoustu casti programu
        jsem mel takto napsano v nekolika ruznych variantach a proste
        jsem hledal cestu, dokud jsem nebyl spokojeny. Pozdeji uz jsem
        zas tolik neoptimalizoval - neco si muzu nechat i na pozdeji...<br>
        <br>
        Tech zminenych 19 000% dosahnu tak, ze bypasuju generovani 1M1
        hodin, ktere se ted produkuji zbytecne pomalou cestou, kdy
        uplynuly GDG cas po kazde instrukci vydelim 8 a s kazdou
        sestupnou hranou 1M1 volam event v CTC. <br>
        Lze se tomu vyhnout tak, ze si pri prvni udalosti v CTC spocitam
        kdy dojde k nejake povsimnuthodne udalosti a do te doby si CTC
        nevsimat. Pouze v pripade, ze by se program zeptal na stav
        citace, nebo by se zmenilo nastaveni, tak dopocitat aktualni
        stav. Verim, ze tak se k tem 19 000% priblizim i s funkcnim CTC.<br>
        <br>
        No a samotne mereni pak probihalo na instrukci JR 0xfe - tedy v
        podstate pri nulove zatezi.<br>
        <br>
        Kdyz jsem poustel jen samotne CPU + pamet a pocitani GDG taktu,
        tak to melo odhadem rekneme treba 70 000 % (to cislo uz si fakt
        nepamatuju).<br>
        <br>
        Jinak pro zajimavost par drobnych mereni na mem HW:<br>
        <br>
        5 750 %  monitor s neprimountovanym diskem ve stavu "Make ready
        FD"<br>
        4 870 % monitor po 'M' - blikajici kurzor<br>
        6 020 % monitor - vypis pameti: * D0000FFFF (cely vypis pameti
        trva cca 7.1 sekund ) <br>
        4 720 % blikani borderu: ld bc,0x06cf; out (c),a; inc a; jp
        radek_s_out<br>
        5 200 % nastartovana cp/m s mzrun<br>
        4 040% Flappy intro<br>
        3 160% Interkarate - hra<br>
        <br>
        Ty cisla jsou asi +/- 150 % v zavislosti na tom co ktery virus
        na desktopu delal zrovna ve chvili, kdy probihalo mereni. <br>
        <br>
        Rychlost vsak nebyla hlavnim kriteriem. Chtel jsem zachovat
        pokud mozno maximalni moznou presnost emulace na zaklade
        poznatku, jake jsem o Sharpu doposud ziskal. I kdyz treba vim,
        ze v nekterych mistech mam haluz, tak je o tom alespon zminka v
        poznamce ve zdrojaku. <br>
        V me emulaci se provadi synchronizace vsech signalu nejen mezi
        instrukcemi, ale i uvnitr LD, IN, OUT, PUSH, POP, atp... Takze
        je zohlednen i pocet taktu, ktere ubehly od zacatku instukce.
        Pokud napr. napisete program, ktery bude cekat na stav HBLN, ci
        HSYNC a podle nej provede nejakou zmenu na obrazovce, tak pozice
        paprsku v ose X bude v podstate na stejnem miste, jako v realnem
        Sharpu, o cemz se jinym emulatorum muze jen zdat ;)<br>
        <br>
        Michal<br>
        <br>
        <br>
        Dne 22.9.2015 v 18:00 Miloš napsal(a):<br>
      </div>
      <blockquote cite="mid:56017B0F.1060200@atlas.sk" type="cite">
        <meta http-equiv="Context-Type" content="text/html;
          charset=iso-8859-2">
        Ak sa nemýlim, v emulátore nie je žiadne menu ako bolo v staršej
        verzii. Existuje nejaký zoznam klávesových skratiek? Skúsil som,
        či je zabudovaný aj nejaký debugger, ako v Zdeňkovom emulátore a
        stlačil som Alt+D. Program okamžite zhavaroval. A teraz len moja
        domnienka: Debugger bol odstránený, ale klávesová skratka ostala
        a snaží sa otvoriť neexistujúci formulár?<br>
        <br>
        A ešte mám otázku. Ty si zrejme dosť skúsený programátor, aby si
        mi vedel odpovedať. Tvoj emulátor má u mňa v monitore 1900 %.
        Môj má cca 1200 %. Môže byť aj prekladačom až taký rozdiel
        rýchlosti? Teoreticky pri rovnakom kóde (ideálny prípad), či by
        mohli byť až také rozdiely v rýchlosti? Písal si, že si sa
        dostal na 190000 % a to u mňa nehrozí ani keby všetko povypínam
        a beží len čistá emulácia Z80. Ja to programujem v Lazarovi
        (neslušne povedané free verzia Delphi).<br>
        <br>
        Miloš<br>
        <br>
        <div class="moz-cite-prefix">Dňa 17. 9. 2015 o 21:28 Michal
          Hucik - ORDOZ napísal(a):<br>
        </div>
        <blockquote
cite="mid:19597_1442517984_55FB13E0_19597_227_1_55FB146C.9090909@ordoz.com"
          type="cite"> <br>
          ... emulátory jako po dešti :)<br>
          <br>
          Posledních pár měsíců jsem pilně pracoval na zpřehlednění a
          zrychlení emulátoru MZ-800. Nakolik se mi to v obou směrech
          povedlo můžete posoudit sami <a moz-do-not-send="true"
            class="moz-txt-link-freetext"
            href="http://mz800emu.sourceforge.net">http://mz800emu.sourceforge.net</a><br>
          <br>
          Michal<br>
          <br>
          PS: Jakube, tak doufám, že teď už nebudeme vepři :)<br>
          <br>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">_______________________________________________
SharpMZ mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:SharpMZ@mail.ordoz.com">SharpMZ@mail.ordoz.com</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://mail.ordoz.com/mailman/listinfo/sharpmz">http://mail.ordoz.com/mailman/listinfo/sharpmz</a>
</pre>
        </blockquote>
        <br>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
SharpMZ mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:SharpMZ@mail.ordoz.com">SharpMZ@mail.ordoz.com</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://mail.ordoz.com/mailman/listinfo/sharpmz">http://mail.ordoz.com/mailman/listinfo/sharpmz</a>
</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
SharpMZ mailing list
<a class="moz-txt-link-abbreviated" href="mailto:SharpMZ@mail.ordoz.com">SharpMZ@mail.ordoz.com</a>
<a class="moz-txt-link-freetext" href="http://mail.ordoz.com/mailman/listinfo/sharpmz">http://mail.ordoz.com/mailman/listinfo/sharpmz</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>