OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 20:16

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 
Autor Zpráva
 Předmět příspěvku: Otázky k emulácii
PříspěvekNapsal: 13.05.2014, 23:29 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
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.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 14.05.2014, 12:51 
Offline
Kecálek
Uživatelský avatar

Registrován: 06.08.2013, 10:49
Příspěvky: 220
Bydliště: Praha
Has thanked: 232 times
Been thanked: 67 times
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
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 14.05.2014, 14:07 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
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.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 14.05.2014, 15:53 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
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).

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 14.05.2014, 15:56 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
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.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 14.05.2014, 16:16 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
Bol to joystick. No a ten program na testovanie klávesnice je nádhera. Klávesnica mi ide bezchybne. Obom veľká vďaka.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 14.05.2014, 18:49 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
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.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 14.05.2014, 19:11 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
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ý.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 14.05.2014, 20:12 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
Ďakujem, skúsim to tak naprogramovať.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Otázky k emulácii
PříspěvekNapsal: 26.12.2014, 22:56 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
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í.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz