wz

novinky  |  články  |  hardware  |  emulátor  |  ostatní  |  download  |  odkazy  |  kniha návštěv

 

HISTORIE EMULÁTORU

15.5.2000 - Pocatek vyvoje emulatoru

16.5.2000 - Vytvorena zakl. aplikace, vclenena jednotka UZ80

17.5.2000 - Pridano mapovani a cteni pameti v modu MZ-700

19.5.2000 - Uz funguje i vystup na obrazovku s pouzitim vlastnosti TCanvas-zatim moc pomale, bude treba zrychlit uzitim DirectDraw.

24.5.2000 - Uz funguje nahravani souboru, ukazuje zatim nazev a typ souboru.

26.5.2000 - Ukazuje uz i Start, Length, Exec

30.5.2000 - Opravena pooomala grafika, misto canvas.pixels si davam vsechno do jednorozmerneho pole, ktere pak najednou prevedu do bitmapy pomoci SetBitmapBits(hbmp, cBytes, lpBits) z WIN32API. Nova nabidka Setup, zatim v ni je pouze nastaveni refrese obrazovky, nastaveni zapisuje do MZ-800.INI, opraveno nastaveni palet v modu 700.

31.5.2000 - Pridano mapovani portu v modu 700 na adresach E000-E008, klavesnice stale jeste neni kompletni (zatim funguji pouze pismena, cisla krome 9, F1-F5), dodano obnoveni obrazovky pri zapisu do CGRAM, uz funguje S-BASIC a vetsina sedmistovkovych programu a her.

31.5.2000 - Opravena chyba ve cteni z pameti, uz funguji vsechny 700 prg a hry. Pridany klavesy: sipky, backspace,?-na F8.

2.6.2000 - Pridano mapovani pameti v modu 800, zase se nam nejak rozjel mod 700...proc? Dale pridan vystup na obrazovku, pricemz vsechny roviny pere na jedno misto a cteni z VRAM neni vubec.

4.6.2000 - Pridan zapis do vsech grafickych rovin, prace s paletou, cteni z VRAM zatim neni uplne 100%, mod 640*200 zatim nejde, taky porad zlobi preruseni, proc???

6.6.2000 - Spraveno preruseni, uz chodi vetsina osmistovkovych programu, nekde trosku zlobi palety..., opraveny instrukce CPI a CPD-uz jede Turbo Copy a Exploding Fist, pridana emulace ramdisku, v setupu jde nastavit jeho velikost a dalsi vlastnosti. Dale pridan mod 640*200 - vypada to trosku divne, ale jede :-), dale je zabraneno tomu, aby se ve ctyrbarevnych modech zobrazovalo vice rovin nez dve.

8.6.2000 -Pridana moznost zobrazeni DoubleScreen...

12.6.2000 -Opraveno rizeni palet - chyba byla v Delphi v knihovne graphics.pas (dcu), procedura byteswapcolors. Uz je vsechno OK, BASIC uz ukazuje spravne barvy...Opravena situace, kdy pri pokusu otevrit soubor s atributem R/O zahlasil emulator File Acces Denied, dale v nabidce pro vyber souboru kdyz se dalo Cancel, tak otevrel soubor, na kterem byl zrovna kurzor. Pri doubleclicku na nazvu se soubor otevre...
Pridan hotkey pro reset sharpa - klavesa F12, funguje i CTRL+RESET pomoci CTRL+F12 (napr. v basicu a u nekterych her - restart).

12.6.2000 -Uz snad opraveno cteni z VRAM...

18.6.2000 -Opravena chyba pri nahravani MZF, problem byl v tom, ze neumim pocitat (256 proste neni $FF :-) .... )

19.6.2000 -Planovane kroky ve vyvoji emulatoru: celkova synchronizace, ovladani rychlosti Z80, optimalizace a oprava kodu pro emulaci Z80, zvukovy vystup, moznost menit ramdisky za chodu, scrolling, podpora FDD (ze souboru s obrazem diskety), dokonceni debuggeru, podpora CMT pripojeneho na LPT1, emulace joysticku na numericke klavesnici, emulace mysi (napr. pro MZ-PAINT, SHARP LEMMINGS,...)

20.6.2000 -Opravena rutina pro nahravani hlavicky MZF souboru do pameti, nahraval to pokazde na 10F0, ted uz to dava na adresu uvedenou v HL.
Opravena klavesnice, rozmisteni spec. klaves (vzdy v poradi SHARP_KEY=PC_KEY je nasledujici: TAB=TAB;GRAPH=CAPSLOCK;ALPHA='\';BLANK_KEY='~';INST=Insert; BREAK_ESC=End;DEL=Backspace;'@'=F6;'\'=F7; Dalsi klavesy jsou umisteny s ohledem na to, aby jejich rozlozeni bylo podobne jako na SHARPu, takze napr. nad dvojkou neni zavinac jako na PC, ale jsou tam uvozovky.....
Do budoucna se chysta uzivatelske definovani rozlozeni klaves.

24.6.2000 -Opravena instrukce OTDR - nejdriv se musi dekrementovat HL a BC, teprve potom provest OUT. Proc u OTIR to tak neni??? (nejdriv se provede vystup, potom se teprve inkrementuje HL a dekrementuje BC) ??? Ted uz by se teoreticky dalo udelat rolovani obrazovky (driv se to v BASICu zablokovalo diky tomu, ze SEA bylo mensi nez SSA a jeste k tomu basic inicializoval border na $D - svetle modrou (taktez chyba emulatoru pro MS-DOS).

25.6.2000 - Opravena chyba v emulaci ramdisku - spatne jsem mel udelane strankovani RD, pricemz misto datoveho byte jsem tam daval vyssi cast adresy (registr B). Uz funguje CP/M 2.26Z (Yoshin & Vector), ale jeste nejde CP/M KONKURENT, tak to asi nebude jeste to prave orechove - chtelo by to poradnou dokumentaci k ramdisku. Jeste dalsi problem: inkrementace adresoveho citace u RD se provadi po precteni byte nebo pred???
Cteni a zapis RD bylo predelano tak, aby se necetlo a nezapisovalo primo na HDD, ale vyhradi se pro nej 1MB v RAM, ulozi se teprve po ukonceni emulatoru - urychlilo to pristup k RD minimalne 5X.
Pridano tlacitko pro vymazani ramdisku. Pri zmene velikosti RD se uz zmeni i velikost souboru na HDD.

29.6.2000 - Znacne vylepseny a take miniaturizovany debugger, ukazuje navic prave vykonavanou instrukci procesoru (cervene) a jeste nekolik nasledujicich. Dale je mozno emulaci zastavit a krokovat.
Opravena chyba ve cteni portu tiskarny (nefungoval kvuli ni Exolon-po par vterinach skocil zpet do hl. menu) - thanks to Jirka Cervinka. Opravena chyba ve cteni VRAM ktera se projevovala u Batman demo kdy je ve 4-barevnem modu, ale cte pritom ze vsech rovin. Kysela ma v emulatoru chybu - hra Exolon ma spravne fungovat ve ctyrbarevnem modu, kdezto jemu jede v 16-ti barvach. Schvalne jsem to prehral na Sharpa a tam jel uplne stejne jako v mem emulatoru - ma totiz spatne mapovani pameti kde pri OUT E0 namapuje pouze VRAM - spravne se ma namapovat jeste CGROM. Chyba je take ve hre Exolon, kde si ale autor prepisu neuvedomil, ze kdyz testuje VRAM tim zpusobem ze zapise do ni na 8000 55h, potom
jej precte zpet, udela PUSH - ovsem s tim, ze stack pointer ukazuje do CGROM, a pak jej zase vytahne ze zasobniku a porovna - uz to ale neni byte z VRAM, ale z CGROM - tudiz mu test EXVRAM nesedne...
Stejne ale neni o co stat - hra jede v barevnem modu pooooomalu.

30.6.2000 - Opravena obsluha klavesnice - drive odchytaval emulator klavesy ikdyz zrovna jeho okno nebylo aktivni. Dale mirna optimalizace cteni z klavesnice - uz se nectou vsechny sloupce, ale opravdu jen ten, co je vybrany (snad to bude o maaalinko rychlejsi ;-) )
Osetrena situace, pri ktere kdyz emulatoru chybela nektera z ROMek, tak zacal otvirat okno pro vyber souboru... ted pri nepritomnosti jakekoliv rom emulator ukonci.

2.7.2000 - Pridano rolovani obrazovky (zatim nechodi na 100%, ale lepsi nez od Kysely...).Opet se rypalo v instrukci OTDR - nejdrive se dekrementuje B, ptom se udela OUT a pak teprv dekrementuje HL. Opraveno rolovani tak, ze kdyz stary ofset je stejny jako novy, tak se nic nedeje. Jediny prg., u ktereho jeste rolovani nechce chodit je MOGMOG2-uvodni cast, jinak nasledujici veci uz jdou: Untouchables DEMO, BASIC, OPENING 800, FXSOUND 1 a 4...
Proc mi nechodi rolovani v modu 640*200 ?

3.7.2000 - Uz roluje i mod 640*200 - chyba byla v tom, ze po rolovani se obnovila jenom polovina videoram. Nektere programy (CP/M) vsak stale nechteji chodit kvuli tomu, ze SEA<SSA. Funguje napr. GENPRO.
- Rolovani dotazeno k jakez takez funkcnosti - uz roluje i CP/M-ignoruje se zde, ze je SEA<SSA, dale opravena chybicka - rolovani se provadelo vzdy po zapsani do 01CF, ted se provadi i z 01CF tak i 02CF s tim, ze se pocita, kolikrat bylo zapsano do GDG a vzdy po druhem zapisu se provede rolovani - muze se tedy hodnota SOF zadavat prehazene.
- Opraveno zobrazovani informaci o MZF souboru - byly prehozeny
hodnoty Start a Exec.

4.7.2000 - Opraveny instrukce SUB HY (FD 94) a SUB LY (FD 95) ktere se
provadely spatne diky tomu, ze nepracovaly s rexistrem IY
ale s registrem HL - odhalil Jirka Cervinka. Highway uz jede -
tlaci figurku pred sebou, ale po chvili se zasekne, proc???
- Stejnym zpusobem opraveny nasledujici instrukce: ADD A,HX;
ADD A,LX;ADC A,HX;ADC A,LX;SUB HX;SUB LX;SBC A,HX;SBC A,LX;
AND HX;AND LX;XOR HX,XOR LX;OR HX;OR LX;CP HX;CP LX.
Uplne stejne instrukce, akorat pro registr IY byly take opraveny.
Uz funguje Hard Driving, CP/M Konkurent, Fernandez must die.

5.7.2000 - Poopravena obsluha preruseni, uz zase jede o neco vice programu:
Alchemist, baseball, alien8,antiriad CS, Leaderboard Tournament,
Lotus Demo, Westbank, ZX Spectrum emulator, .....
Kazdopadne se bude muset udelat uplne nova emulace 8253, kvuli
ktere toho hodne nejede, nebo jede prilis rychle/pomalu.

6.7.2000 - Pridan jakysi pokusny "breakpoint mode" do debuggeru, ktery je
vypinatelny, nebot prilis zpomaluje emulaci (rekl bych vice
jak 10X). Zatim neni prilis dobre vymysleno odebirani breakpoi-
ntu, proto zatim pouzivat radeji jen jeden (pridavat sice jdou,
ale jakmile se sebere jeden, musi se odebrat vsechny).Ma to
jeste jeden hacek - dela mi to chybicku, jako by byl breakpoint
i na adrese 0000, kde se take zastavi. Dalsi chybicka - adresa
breakpointu se VZDY musi zadavat jako ctyrmistne hexadecimalni
cislo. Take aby se vybec dalo hnout z breakpointu, musi se
nejdriv provest jedna instrukce tlacitkem step a pak se da
teprve spustit emulace, jinak by stale byl na tomtez miste a
kousal ne na tentyz breakpoint.

8.7.2000 - Pridano (no konecne) VBLNK,HBLNK a MELODY SYNC ktere jsou
synchronizovany s emulaci Z80, takze uz se dost programu
stalo choditelnymi (treba MOGMOG2).Akorat jedna drobnost: je
melody synchronizace opravdu 34 Hz ??? Aspon jsem to tak
nameril citacem na GDG (pin 100).
- Opraveno cteni z adresy E002 a E008 (v modu 700), uz konecne
v MONITORu normalne blika kurzor.
- Pridana emulace klopneho obvodu pro ovladani motoru CMT.
Cmt se tak tvari, jako ze je zapnuty.
- Pridana emulace FDD (WD 2797) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
je provadena ze souboru s obrazem diskety *.dsk ktery je
mozno v setupu menit. Zatim zere jenom diskety CP/M. Taktez
zatim neni umoznen zapis na disk, proto nektere programy
zatuhnou. Hodne toho ale nechodi..... proc???

9.7.2000 - Opravena chyba, vznikajici pri prepinani z modu 800 do modu 700,
kdy se spatne inicializovala paleta (napr. pri vyskoceni z
MZPAINTu 4).

12.7.2000 -Opraveny instrukce pro rotaci pomoci indexovych registru
s prefixem DDCB a FDCB - diky Patriku Reznickovi. Zvysily totiz
PC o 4 misto o 3 a rotoval uplne jiny byte. Uz funguji
nasledujici hry: Dizzy3, Total Eclipse, MOTOS 32K, Highway,
AticAtac,Rapman,Chequered flag,Spitfire,Zexas. Z diskovych
jsou to napr: Ghostbusters2, castecne Batman Adventure,
Driller,...

16.7.2000 -Opraveno rizeni palet.

19.7.2000 -Jeste jednou opraveno rizeni palet, uz by to melo byt vsude O.K.
Pouze v 1Z-016 kdyz se da INIT "CRT:M4" tak barva pisma neni
bila, ale svetle modra. Proc???
-Pridan opcode ED 6D (nedokumentovana instrukce RETN) kvuli ktere
nejela Intercopy. Zvlastni je pouziti teto instrukce, nebot
hardware MZ-800 neumoznuje vyuziti nemaskovatelneho preruseni...
Kazdopadne nyni jiz funguji vsechny verze Intercopy (V2-V10).
-Pridany opcode ED55,ED5D,ED65,ED75,ED7D - take undoc. RETN
-Uz funguje i ART STUDIO-CS.

20.7.2000 -Opraven OPCODE DD8Enn a FD8Enn - ADC A,(IX+d) a ADC A,(IY+d) -
uz diky nim funguje LEMANS2, MASK3 a DARK SIDE - odhalil Patrik
Reznicek.
-Bude treba opravit rizeni refresh registru R. Zatim je situace
resena tak, ze po kazde instrukci se zvysi o jednu. Spravne se
ma zvysovat pri kazdem instrukcnim cyklu M1, pricemz se zvysuje
pouze nizsich 7 bitu - osmy bit zustava v prednastavenem stavu
(vycteno z Amaterskeho radia A4/85 - Mikroprocesor U880D).
Kvuli tomuhle nejede SONIX a HLIPA ani v jednom z emulatoru.
- Uz je opraveno cteni R registru, uz jede i HLIPA a SONIX.
- Opraven opcode DDCBnn37 - nedokumentovana ins. LD A,SLL(IX+d)
ktera misto aby rotovala byte na adrese IX+d rotovala pouze
akumulator. Uz diky ni jede zavadec ke hre Splitting Images.
Bude potreba opravit vsechny instrukce tohoto typu!!!

21.7.2000 -Opraveny vsechny instrukce s prefixem DDCBnnXX, bude potreba
totez udelat i pro FDCBnnXX (totez, akorat se pracuje s IY)
-Opraveny take vsechny ins. FDCBnnXX.
-Opet poopraveno cteni z VRAM kvuli kteremu zlobil Saboteur2-
kdyz neni zvolena zadna rovina pro cteni, tak musi vracet $FF.
Ja jsem mu vracel 00, proto to zlobilo.
-Opravena chybicka pri prepisu jednotlivych rovin VRAM v
640x200/4 do bitmapy ktera se hazi na obrazovku. Uz pracuje
spravne i Basic v modu M4, dale take jede ve spravnych barvach
Nipsoft Commander - akorat kdyz se z nej vyskoci, tak prepise
klice CP/M, resp. z nich nezustane vubec nic - procpak?

29.7.2000 -Opravena instrukce LD A,I ktera nedavala log. stav IFF2 do P/V
flagu - odhalil P.Reznicek. Uz funguje MOTOS K.K.K.
-Opravena chyba, ktera se projevovala u hry Rick Dangerous po
polozeni bomby. Dojde tam totiz na instrukci OUT 02,XX pomoci
ktere mam reseno nahravani bloku programu. Po provedeni teto
insturukce se proto znovu nahral program do pameti a prepsal
to, co v ni bylo - nasel Jirka Cervinka.
-Doplnena emulace joy1 pomoci sipek na numericke klavesnici.
8=nahoru, 2=dolu, 4=doleva, 6=doprava, 5=fire.

30.7.2000 -Bude treba prekopat emulaci 8253 kvuli ktere kolabuje mnoho
programu. Jak by to asi melo byt: hodnoty citacu se budou
dekrementovat s kazdym hodinovym taktem CPU, pricemz ale pri
jejich zapisu/cteni bude treba jejich hodnotu nasobit/delit
cislem 3,2 (kmit.CPU/kmit.CTC0). Dale bude treba hlidat, aby
pri docitani na nulu se nastavil citac na puv. hodnotu, pricemz
jeste CTC0 muze generovat preruseni. Nejvyssi hodnota by tedy
mela byt $FFFF*3,2=$33330.

31.7.2000 -opravena drobna chyba emulace 8255, kdy se po zapsani stavoveho
slova 8Ah na port D3h vynuluji vsechny vystupni brany! Ted uz
by se teoreticky melo ozvat (samozrejme az po zprovozneni zvuku)
z reproduktoru ono "lupnuti" pri startu CP/M - vlastne se zapne
maskovani audia z CTC0. Take zjistena jedna drobnost - pokud
jsme v modu 700, nemuzeme pouzivat porty ekvivalentni adresam
E000 - E008, nebot to nema zadny ucinek. Proto kdyz jsem na
SHARPu zkousel primo z monitoru poslat na port D3 hodnotu 8A,
tak se nic nestalo. Teprve kdyz jsem pred to dal OUT CE,00 tak
to chodilo.
-opravena instrukce OTIR podobne jako OTDR. CP/M Yoshin & Vector
uz konecne funguje ve spravnych barvach jako na SHARPu. Jak na
tuto zmenu reaguji dalsi programy jsem zatim nezkousel...

1.8.2000 -Do debuggeru bylo pridano zobrazovani refresh registru R a int.
registru I. Dale jsme se trapili s R registrem u zavadece hry
Interkarate+ s jejim "ochrannym systemem ADOLF", ktery
dekryptuje kod zavadece prave pomoci tohoto registru. Narazil
jsem na drobny problem: kdyz je Z80 ve stavu HALT, je znamo,
ze nestoji uplne, ale vykonava instrukce NOP. Inkrementuje
v tomto stavu i R registr???

2.8.2000 -Mirne zrychleno nahravani programu *.MZF funkci blockread :-)
-Opet (snad uz naposledy) opraveno cteni z VRAM v modu SEARCH,
uz spravne funguje zacatek hry Fatty.Ted uz by melo byt cteni
z VRAM opravdu 100%.
-Opravena chybicka v debuggeru, kde spatne zobrazoval mapovani
CGROM a CGRAM.

7.8.2000 -Opravena chyba v setupu - pri kazdem pristupu do nej se ukazatel
poctu snimku za sekundu zvetsoval o 2 fps.

13.8.2000 -Prvni pokusy o zobrazovani ve fullscreenu. Zatim mnoho chyb:
nemoznost nahravat z CMT, v modu 640*200 se zobrazi pouze
polovina obrazovky, v nekterych situacich nesedi palety,
staci krok vedle a..... muze se zmacknout RESET

14.8.2000 -Opravena chyba pri otvirani souboru ve fullscreenu. Potiz byla
v tom, ze v okamziku prepinani Fullscren->window jelo porad
prekreslovani obrazovky, takze v urcitem okamziku nevedel, na
ktery povrch ma vykreslovat.

18.8.2000 -Do spodni listy pridan ukazatel, na kolika procentech rychlosti
SHARPa emulator prave bezi.

20.8.2000 -Provedena synchronizace obnovovani obrazovky s emulaci Z80.
-Odebrano nastaveni refreshe ze setupu a pridana nova volba do
menu - Screen.
Tudiz pokud emulator bezi na 100%, tak by mel byt refresh ~50Hz.

27.8.2000 -Trosku poopravena synchronizace CPU, HBLNK, VBLNK,... Pocitani
jejich cyklu bylo presunuto do hlavni jednotky Z80 - mirny vliv
na rychlost (snad).

28.8.2000 -Mirne zrychleny rutiny pro rolovani obrazovky a jeji nasledne
prekresleni - uz se zde pracuje pouze s rolovanou casti
obrazovky a ne s celou obrazovkou.
-Opet trosku upraveno menu Screen, pridana moznost prepinani
mezi cernobilym (odstiny sedi) a barevnym zobrazenim. Ve fullscreenu
se zde ale vyskytuje problem - nesedi zcela odstiny sede, proto
obraz trosku hyri barvami :-(

29.8.2000 -Poopravena emulace procesoru ve ktere u instrukci vykonavajicich volani
ci navrat z podprogramu byly nespravne pricitany T-states. Pocet hodinovych
impulsu se lisi v zavislosti na tom, zda je splnena podminka, nebo ne.
Zatim to bylo provedeno pouze u opkodu bez prefixu, totez bude potreba
opravit i u opkodu s prefixem.

3.9.2000 -Pro nejrychlejsi vykreslovani v okne velikosti "normal" je vyhodne
nastavit barevnou hloubku na 24 bitu. Pro okno v "double size" je
jejlepsi mit nastaveno 16 bitu. Pro fullscreen je to jedno.
-Opraven signal pro blikani kurzoru, ktery jsem si rozhazel pri
tvorbe "merice rychlosti"
-Zacalo se pracovat na spravne emulaci 8253, jeste vsak neni zapojena.

5.9.2000 -Pokusne uz je zapojena emulace 8253 pouze pro CTC1 a CTC2. CTC0
je zatim emulovan postaru (jeste neni vyresen soubeh s jednotkou CPU).
Preruseni z CTC0 a CTC2 je take jeste delano postaru... Pro
spravnou funkcnost basicu bylo treba zaridit, aby po zapsani hodnoty
do CTC1 se vynuloval citac VBLNK. Uz konecne jdou spravne hodiny v
CP/M i v basicu - pokud emu jede na 100%, tak jedna sekunda v emu
skutecne trva jednu sekundu.

7.9.2000 -Uz je zapojen i CTC0, stara emulace 8253 uz byla definitivne vyhozena.
Zbyva uz jen zapojit spravne system preruseni a refresh obrazovky do
jednotky CPU a emulator by mel uz chodit se vsemi programy!!!

8.9.2000 -Do emulace zapojen novy system preruseni shodny s prerusenim v SHARPovi.
-ROM byla vracena do puv. podoby (byl tam patch pro obejiti nastaveni RTC),
nyni uz v ROMce vezi jenom patch pro nahravani z CMT.

9.9.2000 -Opraveno rizeni klavesnice v ve Fullscreen modu kdy emu reagoval akorat
na ALT+F4. Nyni by melo fungovat vse vcetne resetu F12 a zpetneho
prepnuti do windowed modu.
-Do menu Screen pridana moznost skipovani snimku, cimz jde regulovat
refresh v rozmezi 12.5 Hz do 50 Hz, standartne po prvnim spusteni
emulatoru nastaven na 25 Hz (po dalsim spusteni jiz dle uziv. nastaveni).
Lze timto dosahnout priblizne dvounasobneho zrychleni emulatoru.

10.9.2000 -Pridana emulace vstupu GATE u CTC0 8253.
-Opraveny (prehozeny) nazvy HBLNK a VBLNK ktere jsem uvadel
prohozene - emulace vsak byla spravna...
-Mirna (opravdu jen mirna) optimalizace vykreslovani v 700 modu.
-Castecna optimalizace celeho kodu emulatoru prevodem vetsiny
8-mi a 16-ti bitovych promennych na 32-bitove promenne ->
zrychleni o necelych 10%.
-Opraveno nespravne podani odstinu sede v 800 modu.

11.9.2000 -Dalsi, opet mirna optimalizace kodu, vyhazeni prebytecnych veci
v obsluze preruseni - zrychleni asi o 5%.
-Pridano 'zapamatovani' adresare s MZF soubory, aby i po
znovuspusteni emulatoru byl nastaven adresar ve kterem jsme
byli naposled.

12.9.2000 -Opravena chyba nacitani ROM z korenoveho adresare disku
-Dokoncena emulace WD2797, uz je umoznen zapis na diskety, zatim
se ovsem po ukonceni emu zmenena disketa neuklada.

16.9.2000 -Pridana pokusna emulace PSG pomoci DirectSound, zatim je vystup
velmi nekvalitni a pomaly...
-Opraveno cteni z portu E009-E00F kde ma spravne vracet 7Eh
-Opraveno nacitani pomocnych souboru emulatoru

17.9.2000 -Kompletne prekopana emulace PSG - vsechny tri kanaly krome
sumu. Emulace hudby z CTC0 8253 zatim zprovoznena neni.
Kvalita zvukoveho vystupu se zda byt skoro lepsi nez na SHARpu :-)

18.9.2000 -Pridan FAQ
-Opravena chyba kdy pri vypnutem psg se ozyvalo slabe piskani.

21.9.2000 -Opraveno cteni z portu D2, konkretne osmy bit kde jsem misto
VBLNK vracel HBLNK.
-Opravena emulace 8253, kdy pokud citac nevyprazdnil latch registr
tak nemuze provest dalsi prepis hodnoty CTC do latch
-Opravena chyba, kdy pri krokovani emulace se neobnovovala
obrazovka (resp. obnovovala, ale az po odkrokovani tolika cyklu
procesoru umernym 1/50 s)
-Opravena chybicka pri ukladani screenshotu

23.9.2000 -Pridana hudba vyuzivana v modu 700 pomoci rizeni GATE u CTC0.
Zvuk pomoci portu D2,D3 zatim stale zlobi, proto jeste neni
implementovan.

26.9.2000 -Zacatek prace na virtualnim CMT, zatim pouze zavadeci ton....

28.9.2000 -Okno Setup se zobrazuje nemodalne...

29.9.2000 -U virtualniho CMT dodelano nahrani hlavicky

30.9.2000 -Dokoncen virtualni CMT - prozatim vsak nespolupracuje s nekterymi
programy a hrami (napr. Turbocopy, Saboteur1,Antiriad,Cybernoid...)
Vetsinou jsou to ty, ktere pri cteni vyuzivaji CTC0, takze tam
asi bude chybicka. Z kopirek dobre funguji napr. InterCopy,
Load System, ..... Basic 1Z-013 a 1Z-016 jedou take, vetsina
vicedilnych her by take nemela mit problem...

1.10.2000 -V Setupu zprovoznena moznost vypnout patch pro nahravani z CMT -
v tomto pripade uz je ROMka osvobozena od veskerych patchu, tudiz
nahravani funguje presne tak, jak je tomu u SHARPa.

3.10.2000 -Upravena emulace CTC0 - nyni se pri kazdem hodinovem taktu
dekrementuje hodnota o 5 a pri cteni nebo zapisu hodnoty CTC
se provede hodnota shr (nebo shl) 4.

5.10.2000 -Trosku jsme si hrali s prekreslovanim okna emulatoru v pripade,
ze je pres nej tazeno modalni okno.

8.10.2000 -Pridana nastrojova lista do ktere byl mimojine presunut i virt.
CMT.

9.10.2000 -Pridana nedokumentovana instrukce Z80 NEG (ED 6C), diky ni uz
funguje zavadec u Barbariana2, dale doplneny vsechny nedokum.
instr. NEG (ED-XX:4C,54,5C,64,74,7C).

10.10.2000-Pro virt. CMT udelano shodne okno jako pro nahravani s patchem,
taktez u nej byla opravena chyba pri nahravani souboru s
atributem R/O.

12.10.2000-Do nastrojove listy pridano tlacitko pro zmenu rychlosti virt.
CMT - 1200Bd - 2400Bd - 3600 Bd. Vyssi rychlosti byly kvuli
nespolehlivosti vyrazeny.

14.10.2000-Do debuggeru byly pridany klavesove ekvivalenty k tlacitkum pro
krokovani emulace. F7-step, F8-pause, F9-run
-Zprovozneno tlacitko pro vypinani hudby...

15.10.2000-Zprovozneno (alespon castecne) ukladani aktualniho stavu emulatoru.

21.10.2000-Pridana moznost asociovat soubory *.MZF s emulatorem, ktery je
ihned spusti.

22.10.2000-Dodelano rizeni rychlosti CPU

26.10.2000-Rychlost CPU a pozice okna se uklada do inifile

30.10.2000-Pri refreshnuti v Memory browseru zustane stejny ukazatel
na misto v pameti.

31.10.2000-Pri vypnuti zvuku je ikonka reproduktoru preskrknuta

18.11.2000-Opravena chyba u otvirani FDD image kde nastavoval implicitne
adresar, ktery byl vybran pri poslednim spusteni emulatoru a
ne adresar, ze ktereho byl otevren posledni soubor.
-Trosicku bylo zkrasleno okno About....
-Z menu Help je mozno prohlizet history.txt pomoci NotePadu
-Po zavreni okna debuggeru se automaticky spusti emulace a
zrusi se breakpoint mode...
-Opravena esteticka chyba projevujici se pri spousteni
emulatoru - nejdrive se objevil ve stredu obrazovky a pote
az na miste, kde se nachazel pri ukonceni.

21.11.2000-Do okna about pridan odkaz na MZUNITY, v tomtez okne vymenena
rozmazana fotka SHARPa za jinou :-)
-Added the right copyright. Thanks Spyros :-)

25.11.2000-opraveno nastavovani flag bytu 3 a 5 u ins. SCF,CCF,CPL.
-Opravena chyba v debuggeru, kdy pri breakpointu se musel udelat
nejdrive jeden krok tlacitkem Step a potom teprve sla spustit
emulace tlacitkem Run.
-Osetreno okenko zadavani breakpointu pri situaci, kdy nebyl
zadan breakpoint, nebo jeho delka byla mensi nez 4 znaky.

26.11.2000-Zacala prace na prekopavani debuggeru

27.11.2000-Opet celkove prekopany debugger, moznost menit flag registr
u CPU.
-Do MZ-800.INI se zapisuje i pozice okna debuggeru

28.11.2000-Do okna about dodelan aktivni na muj mail spoustejici Outlook
-Moznost menit vsechny registry pomoci Dblclicku, nebo Enter na
registru, ktery se ma menit.

29.11.2000-Do okna Instructions v Debuggeru byl pridan svisly posuvnik
pro rolovani obsahu okna.

30.11.2000-Zapocala prace na integrovanem assembleru, zatim pouze rozpozna
75 opkodu, pricemz pokud ho pozna, tak ho ukaze (zatim nic moc).

3.12.2000 -assembler uz spravne preklada vsechny instrukce, ktere jsou bez
parametru a uklada je do pameti (napr. instrukce HALT,LDIR,EI,DI,
NOP,RRD,SCF,CPI,.... a spousta dalsich).
-opraven a zrychlen memory browser ;-)

5.12.2000 -Poopravena chyba u CTC0, ktery v modu 0 hned po docitani skocil
na svou puv. hodnotu - nyni uz zustava stat az do pristi
inicializace na nule.

6.12.2000 -Opravena chyba u instrukci BIT n,r ktere nenastavovaly P/V flag
stejne jako Z flag. Zatim pouze v opcodecb.inc, jeste bude treba
totez pro opcddcb.inc a opcfdcb.inc a jeste doplnit undoc flagy 3 a 5.
-Tak uz jsou spravne i DDCB a FDCB, jeste zbyvaji ty undoc. flagy.
-Doplnen application.title

9.12.2000 -Pridana moznost ulozeni MZF souboru vcetne editace hlavicky
-Pozmeneno okno pro nahravani MZF souboru...

10.12.2000-Pozmeneno zobrazovani MZ znaku v okne Load - uz by mel ukazovat
mene nesmyslu...
-Do debuggeru pridana moznost nahrani MZF souboru na libovolne
misto v pameti
-Zmeneny ikony pro krokovani emulace...

11.12.2000-opraveny instr. LDI,LDD - nenastavovaly flagy H a N na 0

12.12.2000-CPIR,CPDR - menily C flag, coz nesmi...

17.12.2000-Do debuggeru pridany nastrojove listy, stack dump, dale byl
opraven a osamocen breakpoint list (uz by nemel mit sve predchozi
chyby - pokud ano, pease mail me!)
-moznost ulozit breakpointy do mz-800.ini

19.12.2000-Osamocen "(in)Line assembler" do ktereho je mozno mimo instrukci zadat
i adresa, na kterou se ma presunout vyrez s disasemblovanymi instr.
Spusti se po stisku kterekoliv (ciselne nebo znakove) klavesy,
pokud ma fokus komponenta zobrazujici disasemblovane instrukce
a pracuje pouze tehdy, pokud je emulace zastavena [F8].
Vsechna cisla se zadavaji hexadecimalne (neuvadeji se zadnym znakem,
jak je tomu nekde zvykem - napr. #,$,&..), v nekterych pripadech
je vsak treba pred cislo umistit jeste 0 kvuli rozliseni, jestli
to neni registr...
-Do assembleru pridany vsechny instrukce CALL (nn,NZ,Z,NC,...)
-pridany RST 0 - RST 38
-pridany IM0,IM1,IM2
-pridany LD (HL),r + LD (HL),n. Pro rozliseni cisla a registru
(napr B reg. a B) je nutne pred cislo umistit 0! (0B).
-pridana LD (BC),A
-pridana LD (DE),A
-pridany nedokumentovane LD IXH,r + LD IXH,n
-pridany nedokumentovane LD IXL,r + LD IXL,n
-pridany nedokumentovane LD IYH,r + LD IYH,n
-pridany nedokumentovane LD IYL,r + LD IYL,n
-pridany LD (IX+d),r + LD (IX+d),n
-pridany LD (IY+d),r + LD (IY+d),n
-pridany LD BC,nn + LD BC,(nn)
-pridany LD DE,nn + LD DE,(nn)
-pridany LD HL,nn + LD HL,(nn)
-pridany LD SP,...
-pridany LD IX,nn + LD IX,(nn)
-pridany LD IY,nn + LD IY,(nn)
-pridany LD B,...
-pridany LD C,...
-to jsem blazen, jsem zvedavy, kdo to jeste pouzije :-/ (23:55)

20.12.2000-pridany LD D,...; LD E,...; LD H,...; LD L,...
-pridany LD I,A; LD R,A
-pridany LD A,...
-pridany LD (nn),... a tim jsou LD instrukce vsechny - uff...
-pridany POP XX a PUSH XX
-pridany INC XX a DEC XX

21.12.2000-pridany vsechny OUT instrukce vcetne OUT(C),0
-pridany vsechny IN instrukce vcetne IN F,(C)
-pridany vsechny instrukce JP ...
-pridany instr. EX
-pridany instr. BIT n,R; BIT n,(IX+d); BIT n,(IY+d)
-pridany instr. SET n,R; SET n,(IX+d); SET n,(IY+d)
-pridany instr. RES n,R; RES n,(IX+d); RES n,(IY+d)
-pridany vsechny ADC instr.
-pridany vsechny ADD instr.
-pridany vsechny AND instr.
-pridany vsechny CP instr.
-pridany vsechny OR instr.
-pridany vsechny XOR instr.
-pridany vsechny SUB instr.

26.12.2000-opraveno nastavovani flagu u instr. LD A,I;LD A,R;LD I,A

27.12.2000-virtualni CMT nove rozsiren o moznost cist a prehravat soubory
*.tap ze ZX-Spectra, zatim ukaze pouze seznam bloku v tap
souboru a prehraje hlavicku prvniho bloku.
-Uz je mozne z tap souboru vybrat jednotlivy blok, jimz pocinaje
a konce poslednim blokem se prehraji po stisknuti play na
virtualnim CMT. Uz tedy funguje i nahravani v ZX RDOS EMU :-)
a v InterCopy...

28.12.2000-Jirka Cervinka mi doplnil vsechny nedokumentovane instrukce do
disassembleru - zatim funguje bez chyby :-)

29.12.2000-Opravena chyba nahravani *.tap souboru

30.12.2000-Opravena dalsi chyba pri otvirani tap souboru, ted uz by to snad
mohlo byt na 100%

31.12.2000-(!) Zapocala prace na assembleru s editorem... spousti se ALT+A

1.1.2001 -Assembler uz se chova podobne jako line assembler s tim rozdilem
ze je mozne program napsat cely a pak naraz prelozit... Zatim nebere
labely a podobne veci, program hodi od adresy 1200...
-po prekladu zobrazi seznam chyb, po dblclicku na chybu se zobrazi
radek na kterem se nachazi...

2.1.2001 - Opravena chyba v assembleru projevujici se pri spusteni kompilace
v pripade, kdy nebyl zapsan zadny kod.
- Pri otevreni okna pro zmenu obsahu registru se automaticky oznaci
puvodni hodnota, ktero tak lze bez oznacovani mysi ihned prepsat.
Zruseni akce lze provest stiskem ESC.

4.1.2001 - Poopraveny nektere chyby v assembleru, dale byl asm prekopan
tak, aby byl slucitelny s Pavlovym asm (zere mezery, tabelatory,
poznamky oddelene strednikem, hexadecimalni cisla ve dvou
tvarech: 1F00 i 1F00h), dale je umozneno kompilace s naslednym
spustenim prg. v emulatoru pomoci [F9]. Zatim napevno startuje
programy od 1200h...

6.1.2001 - Pokusy s emulaci borderu, zatim pouze v 320x200 1:1

7.1.2001 - Emulace borderu dokoncena pro vsechny graficke mody (krome
fullscreenu) a pridana do Setupu. Pridany moznosti emulace -
None, Normal (bez ohledu na casovani nastavi ihned barvu
okraje), Real (bere ohled na casovani, emuluje vykreslovani
obrazovky v rytmu 50 Hz).
Emulace borderu pomerne dost zatezuje procesor, proto
doporucuji ji zapinat pouze na rychlejsich strojich....
- Zjistena jedna zajimavost u emulace 8253: v modu 0 zrejme citac
nezustane po docitani viset na 0, ale pokracuje v citani od
$FFFF, pricemz jeho vystup zustane viset v log. "1"

13.1.2001- Poopraveno chovani CTC0 v modu 0 - uz funguje virtualni CMT
i v Turbo Copy a podobnych prg. (Big Copy, Uprava 2, .....)

15.1.2001- Do Setupu bylo na stranku CMT dano zaskrkavaci policko pro
urychleni procesoru behem nahravani. Vliv bude mit toto
nastaveni pouze na rychlejsich PeCeckach...
- Preusporadan Debugger
- Zprovozneny volby "Set as breakpoint" a "Set as PC" v okne s
disasemblovanymi instrukcemi dostupne po stisku praveho tl.
mysi na tomto okne, kde selektor oznacuje adresu, ktera se
bude brat v potaz.

16.1.2001- Opravena chyba ve cteni portu FEh ktery vyuziva TurboCopy
pro casovani pri zapisu dat na pasku.

20.1.2001- Pridany ukazatele cinnosti virt. CMT a disku, dale zajisten
reset virtualniho CMT pri resetu MZ.

22.1.2001- Opravena chyba ktera se projevovala po prepnuti do B/W modu
kdy border zustaval nadale barevny...
- Do Setupu pridana nova moznost vyberu souboru s ROMkami. Pro
uplatneni zmen je nutne znovu spustit emulator (reset nestaci).
Pokud nadefinovany soubor neni nalezen, emulator se pokousi
jej nacist z podadresare ROM kde se nachazi mz8emu.exe pricemz
soucasne nahradi spatne odkazy na soubory s ROM v mz-800.ini
Pokud ani tam neni nalezen, ohlasi chybu.
Default nazvy souboru pro ROMky jsou tyto: mz700.rom, cgrom.rom,
9z_504m.rom

23.1.2001- Do debuggeru pridana moznost disasemblovat cast pameti s
moznosti ulozeni do textoveho souboru. Vzhledem k tomu, ze pro
disasemblovani vytvarim buffer na disku v adresari kde je
umisten exe soubor emulatoru, neni mozne tuto funkci spoustet z
CD-ROM nebo podobneho media.

28.1.2001- V debuggeru klavesa F10 nastavi PC na pozici kurzoru.

1.2.2001 - Zapocala prace na Tape Manageru (spousti se z menu Tools). Zatim
umi vytvorit pouze stromovou strukturu z MZF souboru a ulozit
playlist. Virt. CMT s nim ale zatim nepracuje!

3.2.2001 - Opravena chyba pri otevirani MZS souboru ktery byl ulozen ve
fazi, kdy bylo graficke rozliseni 640x200 bodu.
- Mirne optimalizovano vykreslovani na obrazovku.

4.2.2001 - Zkracen kod virtualniho CMT jak pro MZF tak i TAP.

5.2.2001 - Pokud se emulator zpousti z media na ktere nelze zapisovat
(CD-ROM, disketa chranena proti zapisu, sitovy disk, ....) je
mozne emu spustit s parametrem /CDROM
V tomto pripade emulator cte/zapisuje konfiguraci ne do adresare
kde je emulator, ale do adresare, kde jsou nainstalovany WINDOWS.
- Opraveno spatne zobrazovani ve Fullscreen modu v 640x200,
negativnim vlivem teto zmeny ale je vyrazne zpomaleni... Ted uz
by mela jet i CP/M ve FullScreenu bez problemu...

19.2.2001- Opraven chybny zapis/nacitani MZS souboru v situaci, kdy emulace
byla v modu 640x200x4 barvy.

22.2.2001- Emulace 4x720Kb floppy

25.2.2001- Pokud z nejakeho duvodu neni dostupna zvukova karta, emulator
uz nehlasi chybu - pouze se zablokuje tlacitko pro zapinani/
vypinani zvuku.
- Zprovozneno (no konecne) tlacitko Pause/Start emulation...
- Urychlen scroll obrazovky tim, ze prepis obrazovky se neprovede
bezprostredne po zmene SOF, ale az pri pristim refreshi obrazu.

3.3.2001 - Do Setupu byla pridana moznost volby rozliseni, jake bude
pouzito pri celoobrazovkovem rezimu (640x400/320x200).
- Zmenena komponenta pro Setup za jinou, zapocata prace na
nekolikajazycne verzi emu (Cesky,Slovensky,Anglicky,Nemecky).

9.3.2001 - DDScreen.Release a DDScreen:=nil nahrazeny DDScreen.Destroy
TDDScreen.Create je nyni spoustena ne na application.handle ale
na form1.handle
- Tak, tim uz by mela byt odstranena chyba, kdy pri kliknuti mysi
ve Fullscreenu melo za nasledek crash emulatoru.
10.3.2001- Emulace radice WD2797 presunuta do samostatne jednotky odkud se
vola jako objekt fdd.
- Totez provedeno i s ramdiskem

14.3.2001- Pokus o oziveni menu.....

17.3.2001- Pridana nova emulace zvuku pres MIDI - hraje to sice lepe, ale
je to citit na rychlosti... zvlaste v nekterych pripadech
(Fatty), kdy rychlost emulace klesne temer na nulu (!). Mozna
je to ale mou pomalou zvukovkou (onboard Creative SB16).

18.3.2001- v debuggeru opraven pohyb sipkou nahoru
- opraveno (snad) rizeni palet
- opravena chyba v asm pri zapisu instrukci typu "jp 450C" ktere
spatne chapal jako jp c,xxxx.

15.4.2001- v setupu moznost nastaveni emulace zvuku - projevi se az po
znovuspusteni emulatoru, dale moznost mute

22.4.2001- Finalni (snad) program pro kodovani klicu na jmeno uzivatele
- Shareware verze, po nahrani klice plne funkcni.

24.4.2001- Zprovozneno nastaveni "Default speed" pro virtualni CMT v Setupu
ktere plati vzdy po kazdem spusteni emulatoru.

4.5.2001 - Zapocato predelavani zobrazovacich rutin pomoci DelphiX.

6.5.2001 - Uz funguje bez problemu fullscreen (i s borderem), dale je mozne
resizovat okno emulatoru - nemelo by byt tolik znat na rychlosti.

7.5.2001 - Do setupu pridany vsechny fullscreen graficke mody, ktere dana
graficka karta zvlada.
- Zapocata prace na sledovani chyb v prubehu emulace do souboru
mz_err.log

8.5.2001 - opraveno prepinani grafickych modu ve fullscreenu, dale
prepinani FullScreen<->Windowed pri otevirani MZF souboru.

10.5.2001- Zapocata prace na implementaci prehravani *.wav souboru pomoci
virtualniho CMT - prozatim pouze vycteni hlavicky do
TWaveFormatEx a zobrazeni jeho parametru, podpora pouze PCM.

13.5.2001- Virt. CMT uz bere i soubory WAV - prozatim pouze mono, 8-bit PCM,
jakykoliv kmitocet, ale presto uz je mozne bez problemu prehrat
kazety pres mikrofoni vstup u zvukove karty do WAVu a posleze do
emulatoru.

14.5.2001- Omezeni aby do VCMT se necpaly jine WAVy, nez jake tam opravdu
patri...
- Moznost obratit polaritu pri nahravani

15.5.2001- Opravena chybka projevujici se u pocesteneho menu u vyberu
rozliseni pro FullScreen.
- Spravena chyba pri prepinani rezimu VCMT mezi WAV a MZF, kdy se
nezmenila ikona v horni liste...

2.6.2001 - Upraven a zjednodusen vyber jazyku v Setupu
- Po vstupu do hl. menu se emulator prepne do modu "Pause" a
vypne zvuk.

3.6.2001 - V setupu nove moznost nastaveni priority behu emulatoru.

19.6.2001- Moznost ukladani obrazu disket *.dsk (no konecne) - nastaveni je
na zalozce FDD v Setupu.
- V Setupu nove moznost vybrat soubor s obsahem ramdisku, ovladaci
prvek pro volbu velikosti RD se nastavi automaticky dle
velikosti souboru, max vsak 1MB - vetsi soubory orizne!!!

21.6.2001- Opravena chyba cteni z VRAM kdy byly do cteni zahrnuty i
neexistujici roviny - thanks to Marek Smihla. Po ukonceni
Nipsoft Commanderu jiz zustavaji funkcni klice.

25.6.2001- Opravena chyba cteni z Virtualniho CMT pri vyssich rychlostech,
kde nebyla dostatecna pauza mezi hlavickou a telem MZF souboru.
Funguje uz napr. Saboteur1 od ing. A. Spurneho.

26.6.2001- Opravena chyba zapisu do VRAM v souvislosti s bitem B/A RF reg.
Uz spravne funguje hra Cobra.

29.6.2001- Opraveno cteni z VRAM (chyba v poradi logickych operatoru)

3.7.2001 - Zapocata prace na osamostatneni VCMT

6.7.2001 - Dokoncen VCMT - kompletne presunuty do jednotky VirtCMT, novy
"dietni" progressbar, zatim funkce stejne jako driv.

13.7.2001- Moznost nahravani u VCMT, prozatim pouze do pevne urceneho
WAVe souboru 8-bit mono 44100 Hz.
- Pridan buffer 8KB pro urychleni operaci s WAV soubory, zatim
pouze pro REC
- Pridan buffer i pro PLAY, rychlost cteni se zvysila min. o 300 %

22.7.2001- Do setupu pridana moznost nastaveni vzorkovaciho kmitoctu, ktery
je pouzit pri nahravani do WAV souboru pomoci virtualniho CMT.

24.7.2001- Opraveno (snad) nacitani MZS souboru...
- Virt. CMT uz ukazuje i skutecny nazev *.MZF souboru, prip. jmeno
bloku v *.TAP souboru.

27.7.2001- Pridana "experimentalni" emulace zvuku z 8253 ovladaneho z
nulteho bitu brany u 8255 - hojne vyuzivana u her predelanych
ze ZX Spectra 48K...

29.7.2001- Zmeneno logo (splash screen) ktery je soucasne vyuzivan i pro
registraci - pokud je uzivatel registrovany, zobrazi se cca
1 vterinu pri startu.

1.8.2001 - Tak jsem si na prani mnoha lidi s logem jeste pohral... Doufam
ze ted uz to nevypada tak hrozne...

8.8.2001 - Do debuggeru pridan stav GDG registru WF (Write format) a RF
(Read format).

10.8.2001- Opravena (snad) chyba pri otevirani registracniho okna...

25.8.2001- Mirne upraveno a optimalizovano kresleni znaku v 700 modu...

23.9.2001- Opravena chyba pri registraci kdyz uzivatel zvolil jmeno
neexistujiciho souboru s klicem tak se emulator zakousl...
- Opet urychleno kresleni znaku v MZ-700 modu
- Do Toolbaru pridano tlacitko pro rychlou vymenu image disket s
moznosti "vyprazdneni mechaniky"
- Dale pribylo do toolbaru tlacitko pro spusteni Virt. CMT
- Opravena chyba otevirani *.M12souboru ve virtualnim CMT

28.9.2001- Pri volbe Eject (v popup menu pro rychlou zmenu FDD image) by se
jiz mel image automaticky ulozit (pokud je to povoleno v Setupu).

29.9.2001- Opravena chyba inicializace palet pokud byl MZF program zpusten
z prikazove radky (napr. mz8emu.exe fxsound4.mzf)

1.10.2001- Do menu Tools pridana pomucka pro konverzi mezi ruznymi formaty
- udelan konvertor MZF -> WAV

6.10.2001- Zpracovan konvertor WAV -> MZF(TAP) s autospeed rutinami od
Marka Smihly (diky za ne).

11.10-5.11 2001 - Zpracovana emulace plotteru MZ-1P16 (viz history.txt
u debuggeru 8050).

6.11.2001 - Emulace plotteru integrovana do emulatoru

7.11.2001 - Prozatimni velikost "papiru" je 600x2000 pixelu, moznost
ulozeni do BMP
- Integrovana emulace 8-bit HDD interface od Marka Smihly

10.11.2001- Menu ve stylu Windows XP, prekopany Setup

11.11.2001- Promenna delka papiru u plotteru, zobrazovani akt. souradnic
- Indikator Busy, tlacitko Paper feed

17.11.2001- Pridana emulace mysi, zbyva doresit znamy nedostatek kdy pri
rychlejsim pohybu mysi jednim smerem vykonal kurzor na obrazovce
krok smerem opacnym a zaclenit mysku do Setupu.
- Opravena chyba ve cteni portu $CE ktera zpomalovala emulaci

18.11.2001- Vylepsen ovladac mysi - uz by se nemela obevovat predchozi
zavada, tj. mys by mela behat lepe nez na SHARPovi :-)))
- Pridano i prave tlacitko mysi...
- Opravena chyba ktera zpusobovala, ze po prepnuti do fullscreenu
a zpet se na StatusBaru objevil misto ukazatele Tape/Disk
fialovy obdelnik.

12/2001 - Kompletne prepsana Z80, tentokrate vcetne kompletni emulace
nedokumentovanych flagu 3 a 5. Zaclenena do emulatoru a
debuggeru, rychlost by mela byt o cca 50% vyssi nez u stare Z80.

01/2002 - Nektere drobne upravy majici vliv na rychlost, urychleno cteni
klavesnice (v nekterych programech az dvojnasobny narust rychlosti).

17.2.2002 - emulace GDG byla zjednodusena a prepsana jako samostatny objekt mzGDG.

9.3.2002 - Omezeno vykreslování stejných snímků -> Narust rychlosti

22.3.2002 - Drobne upravy emulace Z80, narust rychlosti o cca 5%

23.3.2002 - Odstranena zbytecna zmena velikosti okna pri prechodu z 700 modu
do 800 modu 320x200.
- Do debuggeru pridano zobrazovani flip-flop registru IFF1 a IFF2
- Debugger nyni v poli s instrukcemi ukazuje i hexa obsah mista v pameti
kde se instrukce nachazi.

18.4.2002 - Nove pridana emulace nezalohovaneho ramdisku "Pezik", pozmenen vyber
typu ramdisku v Setupu.

26.4.2002
-2.5.2002 - Implementovan novy *.dsk format reprezentujici obraz diskety. Jedna se o
Extended CPC format, obraz disket v tomto formatu je mozne vytvorit s
pomoci programu CPDREAD 3.24. Umoznuje vyuzivat temer vsechny (i nestandardni)
typy disket o ruznych kapacitach, nestejnem poctu sektoru na stopu aj.
Stary *.dsk format (720K CP/M) je i nadale podporovan, presto jej vsak jiz
nedoporucuji pres jeho mnoha omezeni pouzivat.

4.5.2002 - V setupu (zalozka Misc) byla pridana moznost asociace podporovanych
souboru (*.mzf, *.mzs, *.dsk) s emulatorem + pridani ikony pro kazdy z
techto typu. Asociace/deasociace se provede ihned po kliknuti na prislusne
zatrhavaci policko.
- Pri otevirani noveho DSK formatu se objevi varovani, jestlize je v image
nalezen vice jak jeden vadny sektor.
- Pokud je *.dsk soubor asociovan s emulatorem a spusten poklepanim na jeho
ikonu, emulator jej automaticky vlozi do mechaniky A:, zapne emulaci FDD
a pokusi se z nej nabootovat.
- poopraveno spousteni *.mzf z prikazove radky

5.5.2002 - Kvuli hre "Ctyriadvacitka" je od nynejska jako stav motoru na port D2 privaden
jako status motoru signal VBLNK (50 Hz).
- Opraveno cteni signalu VBLNK na portech $D2 a $FE

6.5.2002 - Opravena instrukce CCF ktera nenastavovala do H flagu predchozi C flag
- Opraveny instrukce RRD a RLD ktere spatne nastavovaly do P/V flagu IFF2.
Nyni davaji do P/V flagu paritu vysledku instrukce.
- Kvuli problemum vracena puvodni pomalejsi obsluha klavesnice.

7.5.2002 - Pri otevirani souboru *.dsk se vzdy nastavi cesta, odkud byl otevren posledni
image v dane mechanice.
- Patchnuta emulace preruseni od Z80-PIO. Kdyz ma procesor v tu chvili kdy
prichazi INT od PIO zakazane preruseni, tak PIO drzi INT tak dlouho, dokud
se procesoru nepovoli preruseni pomoci EI. Konecne tak uz bezi spravnou
rychlosti hry Tetris2, Dizzy 3 a mozna i dalsi..... Hundra se uz v barevnem
modu nezasekava.

11.5.2002 - Opravena instrukce EI - nyni se povoli preruseni az po instrukci ktera nasleduje
za EI.
- Opravena instrukce HALT ktera i pri zablokovanem preruseni inkrementovala PC.
- Opraveny instrukce CPI,CPIR,CPD,CPDR ktere chybne nastavovaly undoc. flagy 3,5.
- Opraveny instrukce LDI(R),LDD(R) ktere chybne nastavovaly flagy 3 a 5.

13.5.2002 - Snad konecne finalne opraveno generovani preruseni ze Z80-PIO. Uz by tedy mely
chodit vsechny hry a to spravnou rychlosti.
- Opraveno cteni z adresy E008 (mod 700) kde jsem na nejvyssim bitu nevracel
HBLNK.
- Opraveno nahravani programu pres nastrojovou listu.

1-8.6.2002- Nova emulace PSG a hudby z 8253

10.6.2002-
11.6.2002 - Odtucnovaci kura - vsechny vetsi obrazky zredukovany na 256,
popr. 16 barev
- Novy setup, pridana v nem moznost emulace zeleneho monitoru
- Dokoncen a zprovoznen sumovy generator (zatim jen white noise,
periodic noise uz ale bude hracka....)
- regulace hlasitosti

16.6.2002 - Urychlen mod s pouzitim breakpointu
- Zprovozneno tlacitko Mute
- Umozneno spusteni emulatoru i na PC bez zvukove karty
- Do Setupu pridana tlacitka OK a Cancel - pri stisku Cancel se
emulator navrati k puvodnim hodnotam, pri stisku OK ulozi
aktualni hodnoty a pouzije je pro emulaci.

17.6.2002 - Dokoncena podpora synchronniho sumu. Nyni uz staci spocitat
spravne hlasitosti pri ruznem utlumu a bude to hrat jako na MZ.
- Poopraveno nahravani 700 programu z prikazove radky.

18.6.2002 - Opravena situace kdyz byl emulator v modu pauzy a provedlo se
jeho ukonceni tak se zasekl.
- Opraveno nahravani MZF z toolbaru (snad...)

21.6.2002 - Pri prepinani grafickych modu je jiz konecne zachovan spravny
obsah VRAM, uz funguje Foreign od ing. Lamace. Jeste ale
zlobi palety...

22.6.2002 - Opraven vyber stranky u zalohovaneho ramdisku, pri kterem se
soucasne vynuluje i adresa adresoveho citace.
- V debuggeru se uz ukazuje ve spodni radce mod preruseni Z80.

24.6.2002 - Zpojizdnena emulace Quick Disku MZ-1F11,prikazy monitoru QF,QL,
QX,QS funguji OK. Zbyva jeste doplnit ukladani/nacitani obrazu
QD na/z disk(u).

25.6.2002 - Odstraneny (snad) chyby pri cteni/zapisu z/do VRAM ktere jsem
nasekal pri oprave prepinani gr. modu...

27.6.2002 - Do setupu / zalozka QD bylo pridano tlacitko Eject pro "vysunuti"
image z jednotky QD + vytvoreni noveho image.

28.6.2002 - Pridana moznost prepinani emulace 16/32 KB Videoram

29.6.2002 - Opraveno umisteni VRAM v modu 700 - v Service manualu je uvadeno
ze je umistena v rovine 1, ve skutecnosti je ale v rovine 0.
- po startu emulatoru uz neni obsah RAM nulovy, ale odpovida
stavu pameti na realnem SHARPu. (viz. FF FF 00 00 ....)

30.6.2002
7.7.2002 - Pridan "Disk manager" pro praci s obrazy disket, prozatim umi
graficky znazornit strukturu diskety, zobrazit zakladni
informace o ni a vytahovat z image soubory (prozatim pouze z
formatu Lamacovy CP/M, originalni P-CP/M80 a DISK BASICu).

8.7.2002 - Opraveno nastaveni palet pri prepinani grafickych rezimu,
Lamacuv Foreign uz funguje i ve spravnych barvach....
- Opraveno hradlovani 8253 kdy po prechodu z 800 do 700 modu
emulator trvale piskal.

??.?.2002 - Implementace zobrazovani pres scanlines !!!

18.8.2002 - Opraven scanline mod 640x200
- V Debuggeru pridana moznost nahrati libovolneho binarniho souboru
do pameti

19.8.2002 - Snad uz konecne opraveno prepinani palet pomoci portu F0, nyni jsou
palety emulovany presne jako na realnem SHARPovi vcetne
nedokumentovanych vlastnosti.

21.8.2002 - Pridana emulace nedokumentovaného grafického modu c. 3 - konecne
uz bezchybne funguje FX Sound4 od SapoSoftu a Busy softu.

22.8.2002 - Opraveno cteni neobsazenych portu - nyni funguje presne !
- Doplněn nedokumentovaný grafický mod 7
- Opraveny barvy v MZ-700 modu, nyní už vypadají stejně jako na MZ
- V debuggeru přidáno zobrazení nedokumentovaných gr. modu
- oprava chyby pri ktere se pri ukonceni emulatoru neukladala cesta
k MZ-700 ROM

23.8.2002 - Oprava Z80 - pokud je akceptovano preruseni, inkrementuje se R registr.

25.8.2002 - Zlepsena a opravena synchronizace hudby vs. emulace.

10.9.2002 - Implementace scanline cachingu - rychlost by se mohla misty vysplhat
temer na puvodni rychlost kdy nebyla emulace scanlines implementovana,
ovsem zatim pri rychlych zmenach borderu, palet, pripadne scrollu asi
rapidne poklesne...

5.10.2002 - Zrychlena obsluha klavesnice - nyni se netestuje cela klavesnice PC tehdy,
kdy si SHARP zamane, ale jen v pripade, kdyz byla stisknuta nejaka klavesa.
Nektere programy to zrychlilo az 2x !

8.10.2002 - Drobne upravy MZS formatu - porad vsak jeste nefunguje, tak jak by mel...

12.10.2002- Oprava nahravani MZF souboru z prikazove radky (a toolbaru) - ted se
natvrdo nastavi stisknuta klavesa C s tim, ze se program bez dalsiho
ptani nahraje.

19.10.2002- V demoverzi jsem odstranil otravne okno objevujici se kazde pul minuty,
zobrazi se az registracni okno po 5-ti minutach a pote se emulator ukonci.
- Upravena regulace rychlosti v modu se zvukem ktera byla mozna jen do 200%.
Nyni uz by mela jit rychlost vytahnout do 1000%
- Zruseno defaultni nastaveni mysi na JOY2 po prvnim startu emulatoru.

20.10.2002- Vytvorena nova virtualni klavesnice, na ktere je mozne vytukavat pomoci
mysi. Prozatim neni mozne pouzivat virtualni a normalni klavesnici soucasne.

26.10.2002- Uz je mozne na virtualni klavesnici stisknout vice tlacitek soucasne,
a to tak, ze se pridrzi stisknuta klavesa Shift (na PC klavesnici)
a pomoci mysi se vyberou tlacitka ktera maji byt trzena soucasne.
Po uvolneni Shiftu se uvolni i vsechna tlacitka...
- Opet mala zmena v synchronizaci CPU a hudby, zvuk by mel byt
opozden jeste o 1/50 sekundy vice nez u predchozi verze, uz by
(doufam) nemel delat potize na ruznych zvuk. kartach.
Bez problemu testovano na SB Live 5.1 a na integrovane zvukove
karte na desce MSI-845E Max.
- Opet funkcni frame skipping.

27.10.2002- Opravena instrukce DI - pokud kratce za sebou (max. pres jednu
instrukci) byla kombinace EI+DI, tak zustalo preruseni povolene.
K instr. DI bylo pridano EIRaised:=0; Uz opet funguje hra Ednik
a programator 1,2.

28.10.2002- Znakovy generator vymenen za originalni, uz sedi MZ-800 test

2.11.2002
- Demoverze emu pouze 3 minuty bez otravnych oken, pouze v titulku hl. okna emulatoru se vypisuje zbyvajici cas.

13.11.2002
- Zcela nove (a doufam ze lepsi) okno pro otevirani MZF souboru.

14.11.2002
- Umozneno okamzite ulozeni obrazu disket do souboru.

17.11.2002
- Opravena chyba ve strankovani a inkrementaci zalohovaneho ramdisku.

24.11.2002
- Osamostatneno nahravani/ukladani MZS do samostatne jednotky
- Podpora Drag&Drop, zatim jen pro MZF a MZS soubory

1.12.2002
- mala optimalizace cteni z pameti
- vyrazne zvysena rychlost (na P4/2GHz o vice jak 200%) zkracenim volani ProcessHW

 

 

Copyright 2003 by ZA Software, zdeneka@seznam.cz