
                SHARP MZ-800 EMULTOR PRO DOS  V.1.0 ALFA 007
                =============================================

ͻ
                                                                            
 OBSAH TOHOTO DOKUMENTU                                                     
                                                                            
  1. Slovo vodem                                                           
  2. Autoi                                                                 
  3. Hardwarov nroky                                                     
  4. Otzky FAQ                                                           
  5. Zpisnk vvoje                                                     
                                                                        ۺ
ͼ

 1. SLOVO VODEM


 Dostv  se Vm do rukou emultor osmibitovho potae SHARP MZ-800 (MZ-811,
MZ-821),  kter  je  kompatibiln s potaem SHARP MZ-700. Jdrem potae je
procesor  ZILOG  80  Advanced  (Z80A).  Tento  emultor  vytvoil  BOMI  (BOMI
software) v programovacm jazyku Borland Pascal 7.0. Tento program je freeware
a  je  mon si k nmu se svolenm autor sthnout zdrojov kdy a modifikovat
je.

Nyn  ale  na rovinu : Kdo by v dnen dob jet pouval njak emultor pro
8-bitov  pota,  kter  se  vyskytuje jen v pr tiscech kusech a navc pro
DOS? Jedin takov skupinka lenc, kter se sdruuje pod touto adresou :-]
http://mzunity.hyperlink.cz (aspo myslm, e se tm budou zabvat)

Dle  bych  Vs  tak rd upozornil na to, e jsem zatenk, a proto program
nen  v  mnoha  smrech  vytvoen  optimln. Pokud byste se chtli zapojit do
vytven tohoto programu napite mi na mj e-mail: bomi@centrum.cz

Nkolik inspirativnch vt :

- kterkoli program je zastaral
- kterkoli nov program stoj vce a trv dle
- kterkoli program bude rst, a zapln vekerou pam, kter je k dispozici
- sloitost  programu  roste a pekro schopnost programtora, kter ho mus
  udrovat
- je-li program uiten, bude se muset pedlat
- je-li program neuiten, vypracuje se k nmu dokumentace

z Murphyho zkon

 2. AUTOI



 Jmno                                 Kontaktn e-mail

 BOMI software - Miroslav Hajda        bomi@centrum.cz, hajdam@seznam.cz
 ZA Software - Zdenk  Adler           zdeneka@seznam.cz, adlerz@post.cz,
                                       zdeneka@usa.net
 Emulace Z80 :                         pscardoso@lme.usp.br

 Dle dkujeme dalm lenm MzUnity za
  pomoc Z. Adlerovi :-)                
   - Pavel Vank                MzUnityvanek.pavel@post.cz(?)
   - Feri(?)                       UMZEferi@i.am
  a dalm ... ?                       
                                       


 vechna prva vyhrazena
 program je voln iiteln
 zkaz prav bez svolen autor

==============================================================================
                           (C) BOMI software 2000
                       (C)1998,1999 ZA Software, SCAV
                 UZ80 - Z80 emulator by pscardoso@lme.usp.br
==============================================================================

 3. HARDWAROV NROKY

 Tyto daje nebyly testovny !!

 3.1 Minimln konfigurace :

 CPU    : 286
 VIDEO  : VGA
 HD     : ?
 SOUND  : -
 MEMORY : 400kb

 3.2 Doporuen konfigurace

 CPU    : 450 Mhz
 VIDEO  : VGA
 HD     : ?
 SOUND  : -
 MEMORY : 600kb + 1024 EMS

 4. OTZKY FAQ


D - DOTAZ
O - ODPOV

D: Pro nefunguje program "A_TO_SNAD_NE"?
O: Chyba  nen  v  emulaci  textovho  reimu,  nbr  v  chyb emulace obvodu
   asovae 8253 a peruen. Pokusm se s tm nco udlat.

D: Pro se obas v mdu MZ700 objev msto fontu balast?
O: Nevm, snail jsem se tento jev minimalizovat, ale pod se jet objevuje.

D: Pro se mi mezi znaky v textovm reimu objevuj pruhy?
O: Hm, vae grafick karta je jin, ne pro kterou jsem program testoval. Budu
   se snait s tm nco udlat.

 5. ZPISNK VVOJE


 V tomto zpisu se vyskytuje jak zznam vvoje emultoru spolenost BOMI, tak
vvoj  pvodnho  emultoru  Zdekem  Adlerem  a vvoj jednotky procesoru Z80,
kter vytvoil pscardoso@lme.usp.br

 5.1 Vvoj spolenost BOMI software

 Vysvtlivky :

  [] Dleit poznmka
  [+] Nov funkce
  [*] Vylepen funkce
  [-] Odstrann chyba

27.10-28.10 :
  [*] Dissasembler
  
24.10.2000 :
  [*] Grafika MZ-800
  [+] Dissasembler

20.10.2000 :
  [*] Grafika MZ-800

8.10.2000 :
  [] Konen to zan vypadat trochu funkn...
  [-] Paleta MZ700 pi emulaci
  [*] Grafika MZ-800

6.10.2000 :
  [*] Nastaven
  [*] Grafika MZ-800
  [-] Detekce etiny
  [+] Monost sputn s parametrem souboru MZF
  [+] Asociace MZF souboru pro Windows

4.10.2000 :
  [-] Reim MZ-700
  [+] FAQ :-)

1.10.2000 :
  [+] Zmna fontu v Textovm reimu

28.9.2000, 29.9.2000 :
  [+] Podpora nkterch funkc v dialogu konfigurace

26.9.2000 :
  [-] Reim Mz-700

25.9.2000 :
  [*] Okno Nastaven

10.9.2000 18.9.2000 :
  [+] Okno Nastaven

5.9.2000 - 10.9.2000 :
  [-] Mapovn pamti v mdu 800
  [*] Obnova obrazovky
  [-] Textov reim bez emulace do grafiky
  [-] detekce a nastaven etiny

4.9.2000 :
  [-] Opraveny barvy v logu
  [-] Opraveno vykreslovn znak v mdu 700                       Rada: ZSoft
  [+] Podpora eskch znak Configuration|Czech_Ascii
  [+] Menu Tools: Kalkulaka, Ascii tabulka
  [+] Menu Window

3.9.2000 :
  [] Pejmenovn jednotek
  [+] Pidno logo BOMI
  [+] Pidna funkce Debug|User_Screen

28.8.2000, 29.8.2000 :                                              Ver. 1.0.1
  [] Oznaen verze
  [*] Upraven debuger : zmna barvy a vykreslovn
  [-] Pi zruen natn se vrt Break
  [+] Obnova obrazovky
  [*] Zrychlen vykreslovn emulace reimu TEXT 40x25
  [-] Zrueno zrychlen vykreslovn - chyba
  [*] Zachovn adrese pi natn
  [+] sten vykreslovn MZ-800
  [] Objeveny chyby v natn soubor MZ800, emulace KEYB

27.8.2000 :
  [] Konen jsem si zahrl pr her pro MZ-700
  [+] Umonn Reset AltF8 a CtrlReset CtrlAltF8
  [-] Obnoveno natn MZF soubor
  [-] Zobrazen souboru CTIMNE.TXT jako TScroller
  [+] Zstupci na strnky MZUnity a BOMI

24.8.2000 :
  [-] sten obnoven ten souboru MZF

22.8.2000 :
  [+] Zobrazen  informac  CTIMNE.TXT  -  pouit  TEditor  (funguje  pouze  v
       chrnnm reimu)

20.8.2000 :
  [+] Okno Debugeru
  [-] prava pstupu do pamti : Funguje Monitor                  Rada: ZSoft
  [-] Menu Debug|Run a Debug|Reset
  [-] Vykreslovn textovch znak na obrazovku

19.8.2000 :
  [] Konen to pe na obrazovku
  [*] Reim emulace 700 mdu obrazovky - pouito 320x200x256 MCGA
  [+] Klvesnice tak trochu funguje :)

9.8.2000, 10.8.2000, 13.8.2000, 15.8.2000 :
  [] Hledn chyb a pravy jdra

8.8.2000 :
  [] Prvn pokusn sputn - neb to :(

7.8.2000 :
  [] Tak zase pokraujeme : izolace pvodnch soust
  [+] Pokus  o  vytvoen  emulace  reimu  40x25  jako grafiky - moje grafika
       nezvld tento reim pod Windowsem :( Trio S3 V64+
  [*] jednotka O8255, Gdc, Mz800Sys

9.7.2000 :
  [] jak je mon, e to vbec fungovalo ?
  [*] jednotky Gdc, Mz800Sys, O8253, O8255, MzMem, Global
  [+] jednotka Keyb
  [+] okno Warning

8.7.2000 :
  []  !!! v tom je ale chaos, vbec se v tom nevyznm ...
  [+] jednotka O8253 - asova
  [+] jednotka Gdc

27.6.2000 :
  [+] Jednotka RAM - zpracovn pamti

24.6.2000 :
  [] implementovn   emultor   Zdeka   Adlera   -   obrovsk  problmy  :-)
       vychzejc  z  naprost rozdlnosti bnho a objektovho programovn
       a stylu ve form programu vbec, odebrny nkter sousti (menu,load),
       vlastn emulace na pvodn bzi
  [*] natn MZF pomoc TV pmo v emultoru
  [+] okno About
  [+] funkce RUN

do 23.6.2000 :                                                          [V.0]
  [] Prakticky se jedn pouze o pr dk textu
  [+] zkladn plocha Turbo Vision
  [+] standartn naten souboru *.MZF

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 5.2 Vvoj Zdekem Adlerem

Zacatek vyvoje emulatoru: 3.12.1998

- Prvni verze 1.00, zatim je podporovan pouze mod MZ-700
- upravena ROMKA pro rychlejsi start emulatoru (vyhozeho kopirovani
  CGROM->CGRAM), dale upraveno nahravani z CMT
- nedodelana emulace zalohovaneho RD a FD (jenom se tvari, ze jsou pritomny)
  OVLADANI: ALT+F8 = RESET
  ALT+F6 = Znovunahrani znakove sady
  ALT+F4 = DEBUGGER
  UKONCENI EMULATORU: CTRL+ALT+DEL........zatim...
- Dodelana emulace zalohovaneho RD 1MB s SRAM emulaci i bez ni, mozno
  prepinat
- Pridano mapovani pameti v modu MZ-800
- Pokusna verze grafiky 320X200, jedna rovina(cernobile), zapis single
  write
- Zkouska modu 640X200 cernobile, znaky jsou obracene - otocit zapis bytu do
  VRAM VGA karty
- Mod 640X200 cernobile funkcni, neobraci znaky, FET uz konecne funguje...
- Castecne zrychleni vystupu na obrazovku modu MZ-800 prepisem do ASM
- Znacne urychlena doba, za kterou se "vytvori" ramdisk
- Pridan zapis do vsech ctyr bitovych rovin EGA/VGA, ale barvy jsou spatne...
- Procedury zapisu do graficke karty v modu 320X200 a 640X200 byly slouceny...
- Po prepnuti do DEBUGGERU a zpet je zatim treba provest reset pomoci ALT+F8
- Dodelano ovladani borderu - akorat to trochu vic blika...

14.2.1999
- Pridana pokusna jednokanalova PSG emulace, chybi melody synchronizace
- Poopraveno preruseni v IM2 - nizsi byte z PIO

20.2.1999
- Emulace PSG predelana pro zvukovou kartu SB kompatibilni, pres MIDI -
  3 kanaly (trochu to chrochta...), sumovy generator neni podporovan...

21.2.1999
- Kompletne prekopany debugger - zahrnuje disassembler, zobrazuje
  registry Z80, graficky mod, systemovy mod a vektor preruseni PIO...

24.2.1999
- Uz konecne funguje BASIC !!! Proc ale porad spousti "AUTO RUN" ???
  Neblika mi ale kurzor, proc ???

26.2.1999
- Zprovoznena emulace tiskarny bud do souboru, nebo na LPT1 !!!

29.2.1999
- Pridany zapisove mody pro videokartu ..... proc to dela ty pruhy???

3.3.1999
- Dodelana moznost editovat RAM SHARPa, editace ROM neni umoznena. Zapis
  se provadi v hexdec forme a je vzdy potreba napsat vyssi i nizssi cast
  bytu, jinak nejde z editoru pomoci ESC vyskocit.

4.3.1999
-V menu doplnena volba mapovani pameti, a volba emulace PSG bud na
 PC speaker nebo na zvukovou kartu ADLIB / Sounblaster kompatibilni.

6.3.1999
-Z prikazove radky debuggeru jde zadat ctyrmistne cislo, po jehoz potvrzeni
 se nastavi soucasne obrazovka s disasemblovanou pameti, tak i registr PC.
 Take pridana moznost pohybovat se v disasemblovanych instrukcich pomoci
 sipek nahoru a dolu. Pozor ale na sipku nahoru!!! registr PC se totiz
 pritom snizi pouze o jednicku a nektere instrukce zaberou vice hodinovych
 cyklu!!! Proto je nejlepsi sipkou nahoru pro jistotu povyjet aspon 4X.

7.3.1999
-Byla opravena silene pomala instrukce LDIR, ktera kdyz se pouzila v
 programu ke kopirovani do PCGRAM, tak to trvalo silene dlouho.
 Proto bylo vyhozeno obnovovani obrazovky v modu MZ-700 pri kazdem
 zapisu do PCGRAM. Ma to jedinou nevyhodu: kdyz se nejdriv zapisou
 znaky na obrazovku a teprve potom se meni znakova sada, tak to asi
 nebude to prave... Naprava je ale mozna stiskem ESC a nasledovnym
 spustenim emulace pomoci F9. Soucasne s timto byla horni ROM SHARPa
 vracena do puvodniho stavu (...bylo tam vyhozeno kopirovani CGROM->
 PCGRAM).
-Nove pridan zvukovy vystup, u nehoz se provadelo maskovani audia z
 CTC0 pres porty D2 a D3 u interface 8255. Zatim je pouze na PC SPEAKER
 bez ohledu na to, jak je nastaven zvukovy vystup v DEBUGGERU.
 Z DEBUGGERU je ho mozno pouze vypnout.

10.3.1999
-Spraveny zapisove mody do VGA karty. Chyba byla v tom, ze pred samotnym
 zapisem do videokarty se musi provest cteni naprazdno pro naplneni
 vnitrnich latch registru. Porad ale zapisove mody nefunguji na 100%

**********************
***** Verze 3.00 *****
**********************
15.3.1999
-Opravena hloupa chyba v mapovani pameti. Pri prepnuti do modu 320X200
 totiz VRAM prekryva ramku pouze od 8000h do 9FFFh a v modu 640X200
 prekryva celou oblast od 8000h do BFFFh. Uz zase funguje o neco
 vic programu........ :-)

-Spravena chyba pri zapisu do konfiguracniho souboru pri zapisu
 udaje o emulaci PSG.

19.3.1999
-Pri nahravani MZF souboru zustava v tomtez adresari...
-Zkraceny nektere rutiny pro vystup na obrazovku

21.3.1999
-Opravena chybicka pri nahravani z CMT, pri nemz je nutno nahrat celou
 hlavicku (128 bytu) do pameti od adresy 10f0. Ja jsem z hlavicky
 vybiral jenom udaje o souboru a jeho nazev, proto to zlobilo...

22.3.1999
-Spraveno zadavani adresy z prikazove radky debuggeru. Cislo je ted mozno
 napsat jedno az x mistne, pricemz kdyz ma mene mist nez ctyri, tak si ho
 doplni nulami. Kdyz ma mist vic jak ctyri, tak je orizne.
 Pr: 38 --->  0038
     00F000 --> F000
-Doplnen system napovedy, ktery jde z debuggeru vyvolat pomoci F1, nebo z
 prikazove radky napsanim HELP.
-Chyba pri mapovani pameti v modu MZ-700!!! Zmatek pri mapovani VRAM, CGROM
 a PCGRAM. Opravit !!!!!!!!!!!!!!!!!!!!!!!!!!

23.3.1999
- Spravena chyba mapovani v modu 700 (aspon to tak vypada)
- Kdyz zlobi klavesnice, tak nekdy postaci si prepnout NumLock
  do opacneho stavu.

1.4.1999
- Jdeme na vojnu ... :-(

21,22.8.1999
- Pridana emulace radice FDD WD2797, zatim cte jenom diskety 320KB 3,5",
  IPLDISK jde spustit, BASIC uz se ale nerozjede, CPM zustane v cerne
  obrazovce.

- veskere cteci operace s FDD uz funguji, zapis jeste neni podporovan

20.12.1999
- Opravena chyba pri mapovani pameti, kdy se to podelalo tehdy, kdyz
  jsme se 2X po sobe prepli do stejneho modu (700 i 800)

12.1.2000
- opravena chyba v emulaci Z80 v instrukci CPIR, uz funguje TURBO COPY

20.1.2000
-Opravena chyba emulace CMT

5.2.2000
- MZ700 mod predelan do textoveho rezimu, vice nez 2X rychlejsi!!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 5.3 Vvoj emulace Z80

 Last changes

 18/JAN/2000 - Opravena instrukce CPI, uz funguje Turbo Copy           Z.Adler
 30/MAY/1998 - Fixed LD A, R instruction. Now spectrum snapshot
                Cobra is working.
 29/MAY/1998 - Fixed the IN R,(C) instruction  (the 16 bit port
                address needs to be BC). Now ZXSpectrum keyboard
                is working.

 21/MAY/1998 - Public release (version 0.21)
 21/MAY/1998 - Fixed R register incremention. Now ladybug works.
 14/MAY/1998 - Fixed IN R,(X) (this instruction affect flags!
 07/MAY/1998 - Fixed LDIR, CPIR, OTIR, INIR, etc (now Galaxians
                bee attack us again.)

 06/MAY/1998 - Public release (version 0.2)
 04/MAY/1998 - implementation of INI, IND, INIR, INDR
 03/MAY/1998 - implementation of CPI, CPD, CPIR, CPDR
 02/MAY/1998 - implementation of OUTI, OTIR, OUTD, OTDR
 30/APR/1998 - fixed bugs in CCF
 28/APR/1998 - fixed LDIR, LDDR functions (problems with delphi)
 27/APR/1998 - now EvalXXXInstr preservs (e)si, (e)di, (e)bx.
 16/APR/1998 - First public release (version 0.1)

                      Copyright (C) BOMI software 2000