-------------------------------------------------------------------------------

  **********    ****      ****  **********            ********    **********
  **        **  **  **  **  **  **        **        **        **  **
  **        **  **    **    **  **        **        **        **  **
  **********    **    **    **  **        **          ********      ******
  **            **          **  **        **        **        **          **
  **            **          **  **        **        **        **  **      **
  **            **          **  **********            ********      ******

                        ***    PMD 85 Emulator    ***

                      RM-TEAM (c) 2000-2002, 2006-2019

                           https://pmd85.borik.net
                             pmd85emu@gmail.com

-------------------------------------------------------------------------------
23.03.2019 - v3.1.3.188
------------------------
  + Pre ovladanie PC Joysticku sa uz pouziva DirectInput8 namiesto DirectInput7.
  + Opravene vyhodnocovanie stlaceneho smeru na Gamepad-AXES Joysticku.
  + Doplnene chybajuce spustenie kodu zo suboru nacitaneho do pamati, ak bol
    zvoleny subor z naposledy otvorenych suborov.
  + Pred spustenim kodu po nacitani suboru do pamati sa zaroven zakaze
    prerusenie.
  + Opravena inicializacia Systemoveho PIO po nahrani Snapshotu.
  + Zmeneny format PRC suboru do verzie 2, kam sa uz spravne zaznamenava pocet
    taktov, ktore ubehli za dany cas. Tym je mozne pri prehravani vypocitat
    celkovy cas zaznamu, ktory sa pri prehravani zobrazi.
  + Debugger - Opravene zobrazenie instrukcii v Z80 notacii.


-------------------------------------------------------------------------------
24.12.2018 - v3.0.2.176
------------------------
  + Upravene brzdenie CPU Video-procesorom podla analyzy a algoritmu Tomasa Pecinu.
  + Pridana moznost vypnut brzdenie CPU Video-procesorom.
  + Pridana moznost zrychlenia alebo spomalenia emulacie CPU.
  + Ak emulator nema fokus, odchytavanie stlacenych klavesov je potlacene.
  + Moznost volby mapovania klavesu Backspace na <-- alebo DEL.
  + Moznost volby mapovania klavesu Enter na lavy EOL, pravy EOL alebo obidva.
  + Opravene pripojenie hodin pre CT1 PIT 8253 v PMD 85-1.
  + Mys 602 uz mozno pripojit aj k PMD 85-2/2A/3.
  + V nastaveniach pre Mys mozno zvolit citlivost pri pohybe.
  + Opravene deaktivovanie prerusenia od Video-procesora.
  + Pre PMD 85-1, -2 a -2A mozno 8kB ROM Monitora rozdelit na dve 4kB do oblasti
    8000h a 0A000h.
  + Oprava emulacie povelu 'G' v komunikacnom protokole PMD 32.
  + Ak je Prieskumnik pasky v editacnom mode, nie je dovoleny zapis na pasku.
  + Debugger:
    + Pridane dalsie 2 MEM. Jednotlive MEM a REG si pri prepinani pamataju rezim
      zobrazenia (DUMP, ASCII, DISASS). Aktualnu hodnotu registrov, adries
      v zasobnikoch a zoznamov mozno skopirovat do MEM.
    + V Inline Assembleri sa sestnastkove cisla zadavaju s #, desiatkove bez,
      teda nezalezi na nastaveni zobrazovanej ciselnej sustave.
    + Prve dve zobrazovane instrukcie su zobrazovane sivou farbou a su to skutocne
      tie, ktore boli naposledy vykonane.
    + Vysledok vyhladavania je ponechany v aktualnom type zoznamu. U MEMx sa
      adresa, kde sa nasla hladana sekvencia, stane aktualnou s nulovym posunom.
      U registrov sa nastavi posun, ktory je rozdielom medzi aktualnou hodnotou
      registra a adresou, kde sa nasla hladana sekvencia.
    + Dialog disassemblingu do suboru:
      - Pridane filtrovanie povolenych Hexa/Dec klavesov v editboxoch.
      - Opravene nechcene vynulovanie adries v editboxoch pri zmene sposobu
        zobrazenia vypisu pamate v Debuggeri.
      - Pridane nascrollovanie na prave pridanu polozku.
  + Run/Pause emulacie je mozny aj pomocou klavesu Pause/Break.
  + Klavesova skratka pre zobrazenie okna PRC zaznamu zmenena na Alt+Z.
  + Pridana moznost ulozit obsah VRAM do suboru alebo priamo do PTP.
  + Opraveny dialog pre ulozenie/nacitanie suboru do/z pamate.
    + Edit box pre meno suboru uz nie je R/O, takze je mozne priamo zadat ine
      meno suboru.
    + Pridana moznost priamo spustit kod, ktory bol nahrany do pamate.
  + Do nastrojov pridane zobrazovanie a zachytavanie Suradnic VRAM.
  + Do nastrojov pridany Profiler pre odmeriavanie trvania rutin a casti kodu.
  + Upravene zobrazovanie vo FullScreen mode. Uz sa namiesto DirectDraw pouziva
    iba WinAPI a je moznost volby sposobu prisposobenia velkost obrazu.
  + Opravena asociacia pripon suborov.
  + Zmenena kniznica pre citanie INI jazykovych suborov.
  + Opravene ukladanie konfiguracie.
  + Upravy kodu pre zabranenie Memory-Leak.
  + Emulator uz nepouziva osobitnu kniznicu zlib.dll.
  + Zmenene XML/DTD


-------------------------------------------------------------------------------
01.11.2016 - v2.2.9.374 - nevydane
-----------------------------------
  + Prechod na nove RAD IDE - C++ Builder XE7
  + Zmeny vykonane pred prechodom na nove IDE su sucastou verzie 3.0.2.276


-------------------------------------------------------------------------------
24.05.2014 - v2.2.8.301
------------------------
  + Oprava emulacie PIT 8253
  + Oprava nastavovania priznaku AC pri instrukciach ANA, ANI
  + Vlozenie textu zo schranky
  + Naposledy otvorene subory
  + Pamatove rozsirenie 256kB RAM pre PMD 85-2A a PMD 85-3
  + Prerusenie od Video procesora
  + Flash Loading uz funguje aj pre PMD 85-3 v kompatibilnom rezime
  + Blokovy Flash Loading - odchytava sa standardna rutina na adrese 8DC4h
    pre nacitanie bloku dat z magnetofonu
  + Trasovanie "Krok cez" (Step over) je mozne aplikovat aj na rutiny, za
    ktorymi nasleduju data. Dana rutina ale musi mat navrat rieseny normalne
    instrukciou RET/Rx a nie PCHL.
  + Action Recording - zaznam behu programu/hry
  + Zvuk cez PortAudio kniznicu
  + MIF 85
  + Nova verzia Snapshotu - odpamatava stav IF Musica, MIF85, prerusenia od
    videoprocesora, rozsirenu pamat 256kB
  + Zmenene XML/DTD


-------------------------------------------------------------------------------
24.12.2011 - v2.1.7.133
------------------------
  + Pridany novy mod zobrazovania - ColorAce
  + Opravena chyba importu programu v BASICu
  + V debuggeri je mozne vnorenie aj na instrukciach RST x
  + Opravena emulacia PIT 8253
  + Do debuggeru pridana moznost zobrazit okienko s vnutonym stavom interneho
    PIT 8253
  + Opraveny save na magnetofon pre Consul 2717
  + Opravena chyba zablokovania klavesnice po ulozeni cisteho bloku
    v prieskumnikovi pasky


-------------------------------------------------------------------------------
23.01.2011 - v2.1.6.110
------------------------
  + Opravena chyba inicializacie DirectSound, ak neexistuje zvukove zariadenie.
  + Opravena chyba ukladania cesty k virtualnej SD karte pre PMD 32-SD.
  + Pri otvoreni systemoveho dialogu pre vyber adresara (pre virtualnu SD kartu)
    sa adresarovy strom rozbali az po aktualnu cestu.
  + Do EXE doplnene chybajuce ikonky pre asociovane pripony.
  + Opravena chyba povelu B disketovej jednotky PMD 32.
  + Pridana emulacia Mys 602 a Mys Poly-08
  + Opravena emulacia MGF pre Didaktik Alfa (2).
  + Opravene skrytie ikonky diskety, ak sa PMD 32 odpoji.
  + Opravene nastavovanie priznakov po instrukcii DAA.
  + Opravena chyba zmeny farebnej palety.
  + Opravene zobrazenie tool-tipov na tlacidlach v prieskumnikovi pasky.
  + Kontextove menu v prieskumnikovi pasky mozno zobrazit aj v normalnom
    (needitacnom) mode. Ponuknute su iba polozky, ktore neovplyvnia otvorenu
    pasku.
  + Do prieskumnika pasky pridana moznost exportu a importu programu v BASICu.
  + Upraveny Poke dialog, ktory teraz umoznuje ukadat/nacitat zadefinovane Poke
    do/zo suboru.
  + Upraveny dialog pre citanie a zapis obsahu suboru z/do pamate. Pribudol
    editbox pre zadanie mena suboru, ktory sa odpamatava v konfiguracii. Pri
    nacitani suboru sa dlzka nastavi podla dlzky suboru. V menu su teraz dve
    polozky, jedna pre ulozenie a druha pre nacitanie.
  + Opravena chyba, kedy okno emulatora zostalo po navrate z FullScreen
    zobrazenia vzdy navrchu a tak prekryvalo ine okna.
  + Pridana moznost zaznamenat zvuk do WAV suboru.


-------------------------------------------------------------------------------
17.11.2009 - v2.1.5.83
------------------------
  + Zvysena minoritna verzia z dovodu prechodu na nove (moderne) VCL vyvojove
    prostredie. Cela aplikacia je odteraz plne Unicode.
  + Subory jazykoveho balicka su odteraz ulozene v kodovani UTF-8.
  + Grafika ikon v celom emulatore bola prerobena do 32-bitovej hlbky.
  + Je povolena iba jedna instancia emulatora (v ramci umiestnenia na disku).
  + V zalozke Nastavenia->Vseobecne je mozne asociovat zaklade typy suborov
    emulatora *.ptp, *.pmd a *.psn. Potom je po kliknuti na ne mozne ich priamo
    otvorit v emulatore. Typ suboru (paska/snap) je odliseny prislusnou ikonou.
  + Opravene ukladanie nastaveni Debuggera. Odstranene zobrazovanie zapornej
    hodnoty pocitadla taktov.
  + Bol upraveny vzhlad niektorych zaloziek nastaveni, vynovena grafika a tiez
    pribudli ikonky v hlavnom menu.
  + Pridana zakladna emulacia novych modelov: Didaktik Alfa a Didaktik Alfa 2
  + Emulacia joysticku 4004/482 - moznost asociacie na klavesy alebo ku fyzicky
    pripojenemu joysticku/gamepadu na Gameport ci cez USB.
  + Emulacia tlaciarne BT100 zatial v testovacej prevadzke. Moznost tlacit na
    "virtualny papier" v okne Vystup tlaciarne, alebo na fyzicku tlaciaren
    pripojenu cez LPT.
  + Ak sa v nastaveniach zvuku posunie bezec hlasitosti na hodnotu mensiu ako 6
    nedojde ku chybovej hlaske "Divide by zero".
  + Alt+P nehlasi chybu "Access violation", ak nie je v prieskumnikovi pasky
    otvorena paska.
  + Pri editacii pasky je mozne zmenit hlavickovy blok na bezhlavickovy
    a naopak.
  + Opravena inicializacia maximalnej hodnoty ProgressBaru v prieskumnikovi
    pasky.
  + Alt+T teraz zobrazuje i skryva prieskumnika pasky.
  + V prieskumnikovi pasky mozno nastavit Load kurzor aj medzernikom.
  + Ak ma focus prieskumnik pasky a stlaci sa klavesa so znakom alebo cislicou,
    focus sa presunie do hlavneho okna a klavesa je akceptovana emulatorom.
  + Prieskumnik pasky sa neda zatvorit, ak je v editacnom mode.
  + Vsetky ikonkove tlacidla v dialogoch mozu preberat focus, cize je mozne sa
    medzi nimi prepinat klavesou Tab.
  + Opravene prepinanie a zapisovanie stavu zapnutia/vypnutia zvuku do XML.
  + Opravena inicializacia zaznamovych zariadeni podla nastaveni z XML.
  + Pri pokuse pripojit PMD 32 ku C2717 program nehlasi "Access violation".
  + Opraveny algoritmus preadresovania pamate pre C2717.
  + Opraveny pristup do preadresovanej pamate.
  + V menu pribudla polozka 'Studeny restart', ktora nainicializuje obvody do
    stavu, aky je po zapnuti pocitaca. Simuluje vypnutie a zapnutie napajacieho
    zdroja PMD 85.


-------------------------------------------------------------------------------
25.05.2008 - v2.0.4.65
------------------------
  + Kodovanie konfiguracneho XML suboru bolo zmenene na UTF-8.
  + Pred prechodom do celoobrazovkoveho rezimu sa najprv zobrazi info o sposobe
    opustenia tohto rezimu. Zobrazovanie tohto info boxu je mozne vypnut na
    karte so vseobecnymi nastaveniami. Tiez bola zmenena klavesova skratka na
    vyvolanie celoobrazovkoveho rezimu na Alt+Enter.
  + Debugger rozsireny o:
    + vyhladavanie - ciselne, znakove, s maskou aj bez
    + modifikaciu pamate - ciselnu, znakovu i prostrednictvom jednoducheho
      inline assembleru
    + vyplnovanie a kopirovanie pamate
    + pocitadlo taktov procesora
  + Ak ma focus hlavne okno emulatora, klavesa F10 neaktivuje menu bar.
  + Klavesa Enter je mapovana iba na pravy EOL PMD 85. Povodne to bolo na
    obidva, co ale sposobovalo zlu detekciu klavesy EOL v niektorych programoch.
  + Opravene ukladanie zmeny sposobu zobrazenia v HalfPass mode.
  + Pridana klavesova skratka Alt+P pre Play/Stop magnetofonu.
  + Karta "Zaznamove zariadenia" v nastaveniach rozdelena na dve osobitne.
  + Nove ikonky v ToolBare, Tapebrowseri i v nastaveniach.
  + Novy obrazok s rozlozenim klavesnice PMD 85 na PC klavesnici.
  + Pri zmene jazyka sa v nastaveniach "prelozi" okamzite aj titulok karty.
  + U(O)pravene ukladanie relativnych ciest do XML.
  + Pridana emulacia zvukoveho interface Musica.
  + Pre C2717 nie je mozny zapis do RAM, ktora je "pod" nastrankovanou ROM.
  + Pri zmene z C2717 na iny model sa vypne pripadne zapnute siroke rozlisenie.
  + Opravena chyba v inicializacii i8251, kedy stavove slovo indikovalo, ze bol
    prijaty byte hned po zapisani inicializacnej sekvencie.
  + Citace obvodu i8253 sa inicializuju do modu 1 (namiesto 0). Emulacia modu 1
    "v klude" menej zatazuje procesor.


-------------------------------------------------------------------------------
25.02.2008 - v2.0.3.57
------------------------
  + U modelov 1, 2 a 2A moze byt velkost vlozeneho ROM monitora od 4kB do 16kB
    (po 1kB). Ak je do 8kB vratane, zrkadli sa od adresy 0A000h.
    Pre model 2A je pri nastrankovanej ROM viditelna RAM v miestach, kde nie je
    obsadena ROM (< 8kB alebo > 8kB a < 16kB).
  + Pri editacii hlavicky suboru v editacii pasky je mozne zmenit aj zaciatocnu
    adresu suboru.
  + Pri editacii pasky je mozne pridat do pasky aj RAW subor ako hlavickovy
    alebo bezhlavickovy blok.
  + Opravene ukladanie konfiguracie prieskunika pasky, ak nebol vobec zobrazeny.
  + Do konfiguracneho XML sa uklada naposledy otvoreny subor SNAP.
  + Pri ukladani obrazku do clipboardu alebo do suboru pri zobrazeni s blikanim
    sa najprv zhasnute body rozsvietia.
  + Opravene zobrazovanie verzie v About dialogu.
  + V Poke dialogu mozno zadavat aj hexa hodnoty.
  + Opravene generovanie zvuku cez DirectSound.
  + Pridana emulacia RAOM modulu (ROM modul + RAM disk).
  + Vlozenie ROM modulu alebo RAOM modulu vyvola RESET pocitaca. Vysunutie
    alebo zmena obsahu RESET nevyvola.
  + Karta "ROM Moduly" v nastaveniach premenovana na vseobecnejsi nazov
    "ROM balicky".
    Zaroven zmenene textacie s popisom, kedze ROM balicky sa pouzivaju aj v
    RAOM Module. ROM balicek moze obsahovat lubovolny pocet suborov. Zmysel to
    vsak ma iba do velkosti 256 kB.
    Pripadne chyby v suboroch sa v zozname zobrazuju ikonkami a ToolTipom.
  + V jazykovych suboroch opravene chybne a doplnene chybajuce a nove textacie.
  + Vo vseobecnych nastaveniach mozno zvolit, ci sa ma v Open/Save dialogoch
    zobrazovat panel "Miesta v pocitaci".
  + Upravene konfiguracne XML a DTD.


-------------------------------------------------------------------------------
01.12.2007 - v2.0.2.45
------------------------
  + Do nastaveni pridana nova zalozka "Vseobecne".
  + Pridana moznost volby jazyka emulatora - slovak, czech, english.
    Pribudol adresar s jazykovymi subormi a s obrazkami vlajok.
  + Prieskumnik pasky
    - zobrazuje ikonkami chyby v suboroch (CRC, dlzka)
    - mozno ho roztiahnut na vysku, aby bolo vidiet viac poloziek
    - CheckBox pre AutoStop bol nahradeny ComboBoxom
    - editacia pasky
      * uprava hlavicky suboru
      * ukladanie blokov suborov (jednotlivo/v skupinach) ako PTP, PMD, RAW
      * moznost opravy chyby CRC tela suboru
    - odstranena kontrola na spravne CRC hlavickoveho bloku pri zapise na pasku
    - pri citani alebo zapise z/na pasku sa v informacnom riadku zobrazuje
      ikonka, ze sa pracuje s paskou
  + Pridana podpora Snapshotov
    - snapshot je volitelne komprimovany
    - snapshot moze byt ulozeny aj s Monitorom
    - pri otvoreni snapshotu mozno automaticky prejst do debuggera
  + Upraveny dialog pre zapis a citanie bloku pamate do/z suboru.
    Pre C2717 mozno zapnut preadresovanie pamate 0C000h-0CFFFh.
  + Pridany Poke dialog.
  + Upravene konfiguracne XML a DTD.


-------------------------------------------------------------------------------
23.07.2007 - v2.0.1.39
------------------------
  + Disassembling do suboru v debuggeri.
  + Zapis a citanie z pamate.
  + Rozne Bugfixy


-------------------------------------------------------------------------------
08.04.2007 - v2.0.1.25
------------------------
  + Oddelene DTD od XML konfiguracneho suboru. Uprava XML konfiguracneho suboru.
    Uprava metod pre pracu s XML suborom.
  + Uprava zvyraznovania aktualneho vykonavaneho riadku a editovanej polozky
    v Debuggeri. Farba zvyraznenia sa cita z XML.
  + Oprava chyby v emulacii 8255 pri zapise na port C, kedy su skupiny A a B
    v roznych modoch.
  + Do emulacie PMD 32 pridane povely U a C pre zapis a citanie z pamate PMD 32.
    Povel J pre vykonanie kodu v PMD 32 sa akceptuje, ale vzhladom na sposob
    emulacie sa nic nevykonava.
  + Pre modely 1 a 2 je moznost vlozit subor monitora o velkosti 8 kB namiesto
    4 kB.
  + Zmene poradie a sposob zobrazovania ikon na informacnej liste dole.
  + Volba ROM balicka je v nastaveniach presunuta na zalozku pre vyber modelu.
    Pre kazdy model sa osobitne odpamatava zvoleny ROM balicek.
    Editacia ROM balickov/ROM modulov zostala povodna.
  + Opravena chyba v TapeBrowseri, kedy neboli po spusteni emulatora s vlozenou
    paskou aktivne tlacidla Play a Stop.


-------------------------------------------------------------------------------
07.01.2007 - v2.0.0.22
------------------------
  + Debugger
  + Zapis na pasku
  + Pridana moznost volby, ci pozastavit emulaciu pri neaktivite
  + Zakladna emulacia Consul 2717 (bez diskovej jednotky a siete)
  + Opravene chyba v emulacii 8255 (v suvislosti so strankovanim pamate)
  + Upravena emulacia 8251 (v suvislosti so zapisom na pasku)
  + Opravena chyba "straty" PMD 32 disku pri vymene. Pridana moznost zameny
    diskov medzi mechanikami
  + Opravene chyby suvisiace s pozadovanym resetom po zmenach v nastaveniach
    emulatora
  + XML konfiguracny subor rozsireny o dalsie polozky suvisiace s prevedenymi
    zmenami


-------------------------------------------------------------------------------
02.12.2006 - v2.0.0.14
------------------------
  + Konfiguracia sa uklada do XML suboru
  + Upraveny dialog nastaveni
  + Citania z pasky a prieskumnik pasky
  + Disketova jednotka PMD 32
  + ROM moduly
  + Opravene mnozstvo chyb v emulacii jednotlivych obvodov


-------------------------------------------------------------------------------
xx.10.2006 - v2.0.0.0  - Prvy Alfa/Beta build verzie 2
--------------------------------------------------
  + Hotova emulacia jednotlivych modelov -1, -2, -2A, 3, Mato
  + Zobrazovanie vo velkostiach 100%, 200%, 300% a Full Screen
  + Zvuk cez DirectSound
  + Vytvoreny zakladny formular nastaveni, ktore sa ukladaju do INI suboru
  + Ukladanie obrazu do schranky a BMP
