home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2001 January
/
PCWorld_2001-01_cd.bin
/
Software
/
Vyzkuste
/
MZ800
/
History.txt
next >
Wrap
Text File
|
2000-11-28
|
28KB
|
504 lines
--------------------------------------------------------------------
MZ-800 Emulator pro WINDOWS
(C)ZA Software 1997-2000
Zdenek Adler, zdeneka@seznam.cz
--------------------------------------------------------------------
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 obra-
zovky, 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 sedmisto-
vkovych 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 zobra-
zovalo 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). Presli jsme na DELPHI 5.0 -
podekovani patri Pavlu Vankovi - MZUNITY.
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 pricesoru (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...
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.