OldComp.cz
http://oldcomp.cz/

Otázky k emulácii
http://oldcomp.cz/viewtopic.php?f=136&t=1369
Stránka 11

Autor:  Milsa [ 13.05.2014, 23:29 ]
Předmět příspěvku:  Otázky k emulácii

Mám pár otázok k emulácií, ktorých odpoveď neviem dohľadať, príp. mám slabé znalosti problematiky. Ak si niekto nájde čas, budem mu vďačný, pokiaľ mi s týmto pomôže:

1. Ako emulovať port CE status? Ide mi o horné 4 bity, ktoré sa týkajú zatemňovania a synchronizácie. Je mi jasné, že by som sa mal držať tejto stránky:
https://nobomi.cz/8bit/
Ale čo sa myslí tým zatemňovaním a ako tam nastavovať jednotky a nuly?

2. Mám hotovú emuláciu Z80, 8253 (čiastočná pre potreby počítača bez emulácie prerušení), 8255 (len klávesnica a VSYNC). Problém je, že niektoré hry sú hrateľné (Galaxoids), niektoré akoby zle čítali klávesnicu (Moty a Muc Mac sa tlačia stále doprava a na stláčanie kláves nereagujú) a jedna hra sekne počas uvúdnej zvučky levelu (Galao). V Colossus sa zobrazí klávesnica a viac to nereaguje. Zvuk implementovaný ešte nemám, ale emulujem tempo, takže v podstate funguje. Vedel by mi niekto poradiť, kde hľadať chybu? Zaujíma ma aspoň, že čo mám skontrolovať, je mi jasné, že takto sa radiť veľmi nedá a zatiaľ to nemám ani ja v stave, že by sa to dalo zverejniť, keďže je to ešte dosť chybové a prakticky všetky veci (otvorenie MZF) riešim priamo v zdrojáku, keďže dialógové okná zatiaľ na to nemám.

Len pre informáciu, pri 12,5 snímku za sekundu dosahujem max. rýchlosť emulácie 168 % rýchlosti Sharpa na dvojjadrovom procesore s frekvenciou 2 GHz. Nič moc, ale na začiatok relatívne dobré.

Prípadné ďalšie otázky v budúcnosti budem vkladať sem, aby som zbytočne nevytváral nové vlákna.

Autor:  mop [ 14.05.2014, 12:51 ]
Předmět příspěvku:  Re: Otázky k emulácii

Kdysi jsem si udělal na detekci kláves pro Sharp takovou utilitku - přikládám, třeba by ti mohla při odlaďování emulátoru pomoct. Pracuje ale s porty D0 a D1, zatímco tebou uváděné hry pro MZ-700 používají (pokud se nepletu) pro test klávesnice adresy E000 a E001 v paměti.

Přílohy:
key-detection.zip [927 bajtů]
678 krát

Autor:  nobomi [ 14.05.2014, 14:07 ]
Předmět příspěvku:  Re: Otázky k emulácii

1. Na CE portu nezapomeň na bit1, což je poloha přepínače SW1.
Pokud se nepletu, v horních 4 bitech je to následovně:
bit4 je VSYNC, tedy log. 0 do televizního řádku 21 včetně, pak 1 a 0 zase od řádku 308,
bit5 je HSYNC, ten by měl být po dobu kdy se nevykresluje vůbec, tedy 208/1136 taktů řádku log. 0 jinak 1, když se vykresluje border nebo grafika,
bit6 je VBLNK, to je log. 1 na řádcích kde se vykresluje grafika t.j. 67 až 266 včetně,
bit7 je HBLNK (možná se jmenuje jinak), v log. 1 pouze při vykreslovaní grafiky, tedy 640/1136 taktů z řádku

2. Těžko soudit z tak mála informací, zkusím střelit od boku: jak máš ošetřené neobsazené pozice v matici klávesnice (vracíš správně log. 1 ?) a jak ošetřuješ porty joysticků ? Na F0 a F1 musíš vracet 0xFF, pokud neemuluješ joystick.

Autor:  Milsa [ 14.05.2014, 15:53 ]
Předmět příspěvku:  Re: Otázky k emulácii

mop píše:
Kdysi jsem si udělal na detekci kláves pro Sharp takovou utilitku - přikládám, třeba by ti mohla při odlaďování emulátoru pomoct. Pracuje ale s porty D0 a D1, zatímco tebou uváděné hry pro MZ-700 používají (pokud se nepletu) pro test klávesnice adresy E000 a E001 v paměti.

Vďaka, skúsim, D0, D1 nerobí problém, zatiaľ to nemám v 700 zakázané a keďže som pánom svojho zdrojáku, môžem to kedykoľvek zmeniť (možno aj práve to, že to nie je zakázané robí tú šarapatu).

Autor:  Milsa [ 14.05.2014, 15:56 ]
Předmět příspěvku:  Re: Otázky k emulácii

nobomi píše:
1. Na CE portu nezapomeň na bit1, což je poloha přepínače SW1.
Pokud se nepletu, v horních 4 bitech je to následovně:
bit4 je VSYNC, tedy log. 0 do televizního řádku 21 včetně, pak 1 a 0 zase od řádku 308,
bit5 je HSYNC, ten by měl být po dobu kdy se nevykresluje vůbec, tedy 208/1136 taktů řádku log. 0 jinak 1, když se vykresluje border nebo grafika,
bit6 je VBLNK, to je log. 1 na řádcích kde se vykresluje grafika t.j. 67 až 266 včetně,
bit7 je HBLNK (možná se jmenuje jinak), v log. 1 pouze při vykreslovaní grafiky, tedy 640/1136 taktů z řádku

2. Těžko soudit z tak mála informací, zkusím střelit od boku: jak máš ošetřené neobsazené pozice v matici klávesnice (vracíš správně log. 1 ?) a jak ošetřuješ porty joysticků ? Na F0 a F1 musíš vracet 0xFF, pokud neemuluješ joystick.

Bit 1 mám v móde 700 a prepínač implementujem neskôr, keďže mnohé programy v móde 800 ani nenabehnú. V podstate taký veľký význam nemá, teda aspoň zatiaľ. V každom prípade, správne nastavenie bolo dôležité otestovať, keďže sa mi podarilo rozbehať Ctrl+Reset (S-BASIC).

Jasné, možno to bude joystickom, nemám totiž implementovaný nijaký a na neexistujúcom porte vraciam jeho odresu, čiže F0, resp. F1. Ďakujem, zrejme to bude ono.

Autor:  Milsa [ 14.05.2014, 16:16 ]
Předmět příspěvku:  Re: Otázky k emulácii

Bol to joystick. No a ten program na testovanie klávesnice je nádhera. Klávesnica mi ide bezchybne. Obom veľká vďaka.

Autor:  Milsa [ 14.05.2014, 18:49 ]
Předmět příspěvku:  Re: Otázky k emulácii

nobomi píše:
bit4 je VSYNC, tedy log. 0 do televizního řádku 21 včetně, pak 1 a 0 zase od řádku 308,
bit5 je HSYNC, ten by měl být po dobu kdy se nevykresluje vůbec, tedy 208/1136 taktů řádku log. 0 jinak 1, když se vykresluje border nebo grafika

Na svojej stránke píšeš o VSYNC na troch riadkoch log. 0, takže si ma teraz poplietol. Chcem ťa oprosiť o ujasnenie.

Autor:  nobomi [ 14.05.2014, 19:11 ]
Předmět příspěvku:  Re: Otázky k emulácii

To označení je poněkud zavádějící, to co leze ven z počítače jako součást synchronizace má opravdu VSYNC přes 3 řádky, ale to co je vnitřně označeno jako signál "VSYNC" a čte se z portu CE trvá, pokud dobře počítám, 26 řádků, což v normálním světě odpovídá VSYNC + back porch + front porch, který je dohromady označovaný jako blank signál, ale ten zase nesedí s tím VBLNK na portu CE, kde se k blanku přidává i část, kdy obraz jede, ale je to border. Takže se ti vůbec nedivím, že jsi z toho zmatený.

Autor:  Milsa [ 14.05.2014, 20:12 ]
Předmět příspěvku:  Re: Otázky k emulácii

Ďakujem, skúsim to tak naprogramovať.

Autor:  Milsa [ 26.12.2014, 22:56 ]
Předmět příspěvku:  Re: Otázky k emulácii

Takže momentálne mám GDG status naemulovaný, ale zaujímalo by ma, či ten VSYNC na E008h je taký istý ako je v GSG statuse alebo ten má iné hodnoty.

Teraz idem ešte dorobiť nulovanie kurzora. Budem mať prvenstvo aspoň v niečom (mne známe emulátory kurzor nenulujú). Hotovo. Otestovať nulovanie sa dá krásne v monitore. Po stlačení klávesu sa znuluje a kurzor sa zobrazí.

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/