Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Re: Soutez

Bohumil Nováček SHARP MZ-800

Ahoj Zdeňku,

  to bude asi ten problém, PIO na zakázání nebo povolení přerušení nijak nereaguje,
pouze na to RETI (popřípadně něco tomu podobného), dřiv než přijde RETI nevyvolá
nový INT na pinu a to ani žádný další obvod v IEI IEO řetězu.
V Madonna2.mzf, když změníš na adrese 3327h ED na C9, tedy přerušení
bude končit instrukcemi EI a RET (místo EI a RETI), a spustíš znovu od 3304h,
tak by se to mělo seknout a další přerušení už nevyvolat, jako na Sharpovi.

Podle mě to ve většíně programů funguje i bez toho, protože:
a) málokdy trvá zpracování prerušení déle než doba do další změny na pinu PIO
b) paranoia velí programátorům začínat zpracování přerušení instrukcí DI a končit EI a RETI,
pak si to hlídá sám program, aby nebyl volaný víckrát

Zatím
Bohouš

---------- Původní zpráva ----------
Od: Zdenek Adler (sharpemupandora.cz) <zdeneka[doména skryta]>
Datum: 24. 5. 2013
Předmět: Re: Soutez


Ještě jeden dotaz na Bohouše (ale i na ostatní): když se tedy z přerušovací rutiny vyvolané od PIO vrátím instrukcí RET (namísto regulerního RETI) a následuje instrukce EI, zůstává přerušení od PIO nadále zakázané? Pokud ano, pak budu mít v emulátoru chybu....
 
Z.
 
 
From: mailto:bohumil.novacek[doména skryta]
Sent: Friday, May 24, 2013 12:35 PM
To: Konference "Počítač SHARP MZ-800 a emulátory"
Subject: Re: Soutez
 

Ahoj,

  no mozna to tim vubec neni zpusobeno, ale kazdopadne jsem to rano zkousel a bohuzel treba
zrovna Zdenkuv emulator vesele generuje preruseni od PIO, i kdyz nahradim RETI jenom RET,
zatimco Sharp se zastavi.

S tou reakci na ED XX misto ED 4D je to mozne, ze je to tahkle zjednodusene implementovano.
Zkusim overit pokusem na Sharpovi.

Zatim drzim palec v dalsim hledani a budu kdyztak napomocen
Bohous

---------- Původní zpráva ----------
Od: Michal Hučík (sharpemupandora.cz) <ordoz[doména skryta]>
Datum: 24. 5. 2013
Předmět: 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 (sharpemupandora.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 (sharpemupandora.cz) mailto:ordoz[doména skryta]
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

Zobrazit původní podobu

Vlákno · 13 zpráv

Zobrazit celé vlákno na jedné stránce

  1. Soutez Michal Hučík
  2. Re: Soutez Bohumil Nováček
  3. Re: Soutez Michal Hučík
  4. Re: Soutez Zdenek Adler
  5. Re: Soutez Bohumil Nováček
  6. Re: Soutez Zdenek Adler
  7. Re: Soutez Zdenek Adler
  8. Re: Soutez Bohumil Nováček
  9. Re: Soutez Radek Suk
  10. Re: Soutez Michal Hučík
  11. Re: Soutez Bohumil Nováček
  12. Re: Soutez Michal Hučík
  13. Re: Soutez Zdenek Adler