OldComp.cz

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


Právě je 28.03.2024, 14:07

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 7 ] 
Autor Zpráva
 Předmět příspěvku: NMI u Z80
PříspěvekNapsal: 23.08.2018, 10:27 
Offline
Radil
Uživatelský avatar

Registrován: 15.05.2014, 15:24
Příspěvky: 460
Bydliště: Karlovy Vary
Has thanked: 1 time
Been thanked: 258 times
Mám otázku: Když Z80 po vyvolání NMI skočí na obslužnou rutinu na adrese 066h, bude reagovat na případná další NMI, než tato rutina skončí instrukcí RETN? Resp. pokud NMI puls bude mít "velkou" délku vzhledem k délce strojového cyklu (stovky mS až sekundy), zacyklí se Z80 neustálou cyklickou obsluhou NMI, neboli skoky na adr. 066h? Tím pádem by i zásobník návratových adres musel narůst do enormních rozměrů ne?

Díky.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23.08.2018, 10:55 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
NMI funguje na sestupnou hranu, provede se jen jednou.
http://www.z80.info/zip/z80-interrupts_rewritten.pdf

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23.08.2018, 11:04 
Offline
Radil
Uživatelský avatar

Registrován: 15.05.2014, 15:24
Příspěvky: 460
Bydliště: Karlovy Vary
Has thanked: 1 time
Been thanked: 258 times
Aha díky, automaticky (blbě) jsem předpokládal, že je to jako u INT, které reaguje na nízkou úroveň, nikoliv hranu, a proto si u něj musíš hlídat délku pulsu. Člověk se furt učí. Díky.

_________________

CSS Electronics

ZX Nucleon 512KB: hlavní počítač
ZX Spectrum, Didaktik Gama 80KB/192KB: další počítače
Beta Disk 128X, mini: hlavní úložiště
Delta Disk: bývalé úložiště
DivMMC EnJOY! PRO MINI *lite*: nepoužívané úložiště
Multiface 128C (Debugged): Nabourávač her
Externí ROM 64KB a 128KB: Externí test. ROMky
Advanced Parallel Interface ADPI8255A: Top paralelní IFC
Kempston Interface: IFC pro joystick
Multishots Interface: IFC pro 2 joysticky
Orpheus Interface: Top AY+joystick IFC

http://css-electronics.8u.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23.08.2018, 11:14 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
INT se ale udělá taky jen jednou, pokud není ten pulz delší, než zpracování interruptu.
Aby to bylo blbuvzdorné, tak by jsi ten drát musel hlídat :)

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23.08.2018, 15:59 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
css píše:
Mám otázku: Když Z80 po vyvolání NMI skočí na obslužnou rutinu na adrese 066h, bude reagovat na případná další NMI, než tato rutina skončí instrukcí RETN?
Ano. NMI je preto NMI, aby nan CPU reagovalo vzdy. Teda aj pocas vykonavania obsluznej rutinky. RETN je iba obycajny RET ktory este navyse obnovi stav EI/DI aky bol pred poslednym prerusenim programu pomocou NMI.
css píše:
Resp. pokud NMI puls bude mít "velkou" délku vzhledem k délce strojového cyklu (stovky mS až sekundy), zacyklí se Z80 neustálou cyklickou obsluhou NMI, neboli skoky na adr. 066h? Tím pádem by i zásobník návratových adres musel narůst do enormních rozměrů ne?
Nie. Ako tu uz bolo spominane, Z80 reaguje na dobeznu hranu NMI. Pokial by si ale robil tieto dobezne hrany rychlo za sebou, tak by mohol zasobnik narastat do enormnych rozmerov...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 23.08.2018, 21:37 
Offline
Radil
Uživatelský avatar

Registrován: 15.05.2014, 15:24
Příspěvky: 460
Bydliště: Karlovy Vary
Has thanked: 1 time
Been thanked: 258 times
Busy: OK diky. Jde mi o to, pokud privedu na NMI zaporny puls o delce treba 0,5s (sestupna hrana, pak 0,5s log.0 a pak nabezna hrana), tak CPU zareaguje tedy jen na tu sestupnou hranu na zacatku pulsu, ale na dalsich 0,5s v log.0 uz reagovat nebude. Je to tak?

_________________

CSS Electronics

ZX Nucleon 512KB: hlavní počítač
ZX Spectrum, Didaktik Gama 80KB/192KB: další počítače
Beta Disk 128X, mini: hlavní úložiště
Delta Disk: bývalé úložiště
DivMMC EnJOY! PRO MINI *lite*: nepoužívané úložiště
Multiface 128C (Debugged): Nabourávač her
Externí ROM 64KB a 128KB: Externí test. ROMky
Advanced Parallel Interface ADPI8255A: Top paralelní IFC
Kempston Interface: IFC pro joystick
Multishots Interface: IFC pro 2 joysticky
Orpheus Interface: Top AY+joystick IFC

http://css-electronics.8u.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: NMI u Z80
PříspěvekNapsal: 24.08.2018, 14:26 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Ano, tak je.


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ů: 7 ] 

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 10 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