ePMD 1.4 + debugger

Nová verze emulátoru je zde! Sice ještě stále nemám dořešenou emulaci magnetofonu, ale přidal jsem 3 mega funkce, tak si to zaslouží samostatné číslo 1.4. Kromě toho jsem se rozhodl, že emulátoru věnuji jednu celou stránku (viz nabídka nahoře), přeci jen to je jeden z nejdospělejších projektů, které tady mám. Dokumentace tak již není součásti downloadu, ale je online.

A o které hlavní funkce jde?

  1. emulace myši – tohle hodně bolelo, než jsem dosáhl přijatelných výsledků, ale Funny Fruits jede moc hezky! Rychlost pohybu emulované myši kopíruje tu skutečnou.
  2. obraceč času – automatické vytváření záloh stavů (v paměti) a možnost se k nim kdykoliv vrátit (až o 1 minutu zpět). Spadne ti Willy Walker a nemáš save? Nestresuj a stiskni ALT+LEFT.
  3. debugger dePMD85 – ten sice není přímo součástí emulátoru, ale spolupracuje s ním. Debugger umožňuje sledovat i stav přidružených čipů a má i plnohodnotý hexadecimální editor paměti. Zatím tedy jde jen o prvotní návrh.

Další věci jsou spíše jen kosmetického rázu. Trochu jsem uspíšil emulační jádro a boost režim teď jede jen tak rychle, jak to procesor dovoluje. Tematicky jsem barvu nabídek sladil i s debuggerem.

Než přibudou nové funkce, budu s ním trochu pracovat, abych vychytal případné chybičky.

5 komentářů

  • mmartinka

    Trošku jsem si hral s tímto emulatorem pod OsX a jede to pěkně :). Díky za změnu klavesové zkratky pro Boost režim. I jsem ho vyzkoušel s fraktalem, je pěkné vidět výsledek po pár minutách ;). Debuger bohužel pod OsX nejede vůbec, tedy přesněji on se obsah debuger okna nevykleslí. Také mě trochu mrzí že se nedá uložit konfigurace, protože po startu musím vždy zmenšit okno, vypnout myš, změnit režim na 4 barvy a vypnout filter 🙂 pak jsem spokojen. Také jsem nepřišel na to jak restartovat emulátor a klávesová zkratka LShift+PAUSE mi není moc jasná. Jinak je emulátor výbornej co do vytížení procesorového času (v pozitivním smyslu 🙂 ).

  • Zdeněk (maximalne.8u.cz)

    Děkuji za zpětnou vazbu!
    Přiznám se, že jsem ten debugger ještě ani nepoužil. Potřeboval jsem v emulátoru rozjet systém ladění, abych ho mohl propojit se svým vývojovým prostředím (a to má vlastní debugger), samostatně vznikl jen jako taková oddělená skořápka. Zřejmě na OsX nefunguje, protože je vytvořen v C#. Zvažuji, že bych tuto aplikaci úplně zařízl.

    Ukládání konfigurace není špatný nápad, nicméně pro tyto potřeby vytvářím (ve Windows) zástupce se zadanými parametry příkazové řádky (smůla je, že zrovna myš a velikost okna momentálně nastavit přes příkazovou řádku nejde). Jelikož často potřebuji zkoušet své výtvory při různé konfiguraci, je pro mě rychlejší nachystat několik zástupců, než překlikávat nabídky. Uvidím, možná do další verze zapracuju.

    Reset jsem se snažil namapovat podobně jako na PMD klávesnici, tedy SHIFT a klávesa vpravo nahoře – PAUSE/BREAK. Pokud i tato klávesa na jiných platformách chybí, namapuju to na SHIFT+ESC. Alespoň to bude stejné jako u mého hardwarového emulátoru, který tu mám před sebou v nepájivém poli.

    Ten fraktál mě zajímá! O jaký fraktál se jedná? Mandelbrot? Je to v assembleru? Potřebuji něco výpočetně náročného na nějaké testíčky, mohlo by to být k dispozici i pro mě? 😉

  • mmartinka

    SHIFT+ESC by bylo nejlepší.

    Zde je ten Mandeldrot, ale upozorňuji že nejsem od přírody předurčen k programování 🙂 a dokonce toto byl první pokus a asm pro PMD. Kód je převzat z stránek pro ZXSpectrum.

    Zde video:
    https://www.youtube.com/watch?v=ZkWEMgI1ORM
    Zde bin
    https://drive.google.com/file/d/1JH6dYKO-PUURFEcvWPt5r9huk9y5Hjx2/view?usp=sharing
    Zde asm
    https://drive.google.com/file/d/1U1cUKkNnep6eV_3r7UartQvvRuEKwUCV/view?usp=sharing

    PS:
    několikrát se mi stalo že spuštěný program (většinou mé pokusy) vypadal jinak než ta samá binárka v PMD85emu. Ale není to pokaždé jen občas. Budu to sledovat a pokud dojdu k rozumné úvaze, poreferuji…

    • Zdeněk (maximalne.8u.cz)

      Tak to je krása! Binárka mi funguje. Ten asm soubor mi ale Google nechce zobrazit… Nedostávám ale přímo to, co je na videu. Trochu se to liší v okrajích, po prvním vykreslení:
      mandelbrot

      Pokud nalezneš kód, který se jinak chová na skutečném PMD a jinak v emulátoru, budu rád za zprávu. Emulace 8080 je podle mě bezchybná – prošel testem Exerciser (mimochodem ani tento test neodhalí všechny chyby).