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.
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....
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.
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.
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