Konference: Počítač SHARP MZ-800 a emulátory

Od: Zdenek Adler
Datum: 24.5.2013 10:15
Předmět: Re: Soutez


Ahoj chlapi,
 
obávám se že specifikaci Z80PIO jsem tenkrát kvůli tomu přečetl snad i pozpátku, abych něco nevynechal. Letmo jsem se koukal do kódu a před návratem z přerušovací rutiny by skutečně další přerušení nemělo být generováno.
Vím ještě o jednom případu, kde jsem nebyl schopen zjistit, proč se mi generuje přerušení 2x pomaleji než má tentokráte to bylo v http://mz-800.xf.cz/files/rdosfx4.mzf kde jestli si dobře pamatuju je přerušení generováno od VBLNK přes PIO v IM2. Jak vám na FPGA šlape tohle?
Tenkrát jsem měl podezření, že mi v tom dělají bordel WAIT stavy, kterými se tuším brzdí procesor při zápisech do VRAM v MZ-700 režimu (doufám že nekecám, je už to docela dávno). To jsem ale následně řešil u této japonské hry http://mz-800.xf.cz/files/y2k.mzf u které autor jemné grafiky docílil rychlým přepínáním fontů na konci každého zobrazovaného řádku, nicméně to nevyřešilo problémy s RDOSFX4 ani zmiňovaným Tetrisem. Mimochodem, k tomu Y2K.MZF ovládání je klávesami 1,2,3 (kámen, nůžky, papír) a pokud nechcete sledovat ty artefakty které tam nemají co dělat, je třeba do emulátoru naládovat japonský font.
 
Zdeněk
 
 
 
Sent: Friday, May 24, 2013 8:25 AM
Subject: Re: Soutez
 



Ahoj, diky za tip, ale tuto vlastnost budou mit asi vsechny zminene emulatory implementovanu (u Zdenka to treba jeste vyzkousim nejakym experimentalnim kodem).

Tady je VHDL kod meho Z80PIO ve kterem je m.j. v poznamce napsano, ze skutecne PIO pry nereaguje na RETI, ale jen na zacatek instrukcniho optokodu 0xED a pak uz mu staci jen jeden aktivni M1 + RD cyklus ... Uz si to nevybavuju, ale kdyz jsem to tam napsal, tak si budu verit :)
http://duna.ordoz.com/doc/soutez/Z80PIO.vhd

Tu chybu s Tetris2 jsme se Zdenkem probirali uz pred par rokama a vzpomnel jsem si na ni prave v souvislosti s tim, ze jsi prisel na to, ze v emulatoru chodi pomaleji interrupty z 8253 ... Napadlo mne, jestli neni spise chyba nekde kolem tech preruseni, nez v samotnem citaci a proto jsem to znova vytahnul na svetlo.

Tve demo jsem na FPGA jeste nezkousel. Snad pres vikend.

Michal

Dne 23.5.2013 23:54, Bohumil Nováček (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):

Ahoj,

  tak ja neco placnu. Taky se mi totiz na HW emulatoru Tetris2 kousal.
Zkusim to otazkou ...
Generuje Z80PIO dalsi preruseni az teprve po vykonani instrukce RETI (kod ED 4D) ?
Pokud je odpoved NE, nekdo nedocetl specifikaci Z80PIO az dokonce ! ;-)

Hodne stesti
Bohous

---------- Původní zpráva ----------
Od: Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz) mailto:ordoz tu byla ta zakroucena vec ordoz.com
Datum: 23. 5. 2013
Předmět: Soutez


Ahoj,

chtel bych vyhlasit soutez, jejimz ukolem je najit pricinu toho, proc v zadnem z top emulatoru (Zdenkuv, Romanuv) nefunguje spravne hra Tetris2, ktera je ulozena na tomto konkretnim DSK http://duna.ordoz.com/doc/soutez/Hry-HDS05.dsk

Hra se po spusteni zakousne. Deje se tak nejen ve zminenych emulatorech, ale i v mem FPGA HW modelu Sharpa.

Nicmene kdyz ten image natahnete pres SD do Unikarty, tak ta hra na realnem Sharpu bez problemu bezi!

Kdysi jsem to trochu zkoumal a jedine co si z toho pamatuju je tusim to, ze v emulatoru se deje jeden interrupt navic a ten tu hru zbori... Vic si nevybavuju, nicmene na pozadani jsem ochoten premerit sondou, ci osciloskopem vse, co bude v mych silach - mne totiz uz nejak nenapada jak dal tu pricinu potizi hledat a proto by treba pomohl pohled na vec od nekoho cerstveho.

Klidne placnete i prvni hloupost, ktera vas jako mozna pricina napadne :)


Pro uspesneho resitele tohoto ukolu nabizim za odmenu 1ks WD2791 z jiste limitovane edice ;)

Michal


---
Pobyty na horách se slevou


 


---
Pobyty na horách se slevou


Ostatní příspěvky vlákna:

 
[2013/1 (17)] [2013/2 (52)] [2013/3 (60)] [2013/4 (68)] [2013/5 (60)] [2013/6 (42)] [2013/7 (9)] [2013/8 (48)] [2013/9 (1)] [2013/10 (40)] [2013/11 (45)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]