Zilog peripheral chips

Por litwr

Resident (56)

Imagen del litwr

26-05-2020, 17:17

I know that the MSX, Amstrad CPC/PCW, and ZX Spectrum never use RETI instruction. I am curious is there any system in the world which can use this instruction? As I know Zilog didn't produce their interrupt controller chip. So it seems that RETI has been completely useless. Maybe somebody knows more about it. Thank you.

Login sesión o register para postear comentarios

Por zeilemaker54

Champion (355)

Imagen del zeilemaker54

26-05-2020, 18:04

litwr wrote:

I know that the MSX, Amstrad CPC/PCW, and ZX Spectrum never use RETI instruction. I am curious is there any system in the world which can use this instruction? As I know Zilog didn't produce their interrupt controller chip. So it seems that RETI has been completely useless. Maybe somebody knows more about it. Thank you.

It IS being used in zilog dma,sio, pio and ctc chips. They have a nice interrupt priority daisy chain mechanism that require the reti instruction.

Por litwr

Resident (56)

Imagen del litwr

27-05-2020, 08:24

zeilemaker54 wrote:

It IS being used in zilog dma,sio, pio and ctc chips. They have a nice interrupt priority daisy chain mechanism that require the reti instruction.

Thank you. Could you provide more details? Is there any known computer which was capable to use RETI? How many Zilog peripheral chips were required to use RETI? Do we need all of them: DMA, SIO, PIO, CTC? I still don't understand how to handle interrupts without a dedicated chip. How to set interrupt priorities for raster, disk, light pen, etc interrupts without such a chip? Thank you

Por Metalion

Paragon (1628)

Imagen del Metalion

27-05-2020, 12:58

On the MSX, every interruption is handled by the same code block (the ISR at $38). It is mainly designed to handle the VBLANK VDP interruption, but, depending on the BIOS rom, it also gives provision for some built-in interruption (like disk). it gives also the ability to test for "user" interruptions (through the hooks).

So, in the end, the priorities are set by the BIOS rom and the user.

Por zeilemaker54

Champion (355)

Imagen del zeilemaker54

27-05-2020, 17:59

litwr wrote:
zeilemaker54 wrote:

It IS being used in zilog dma,sio, pio and ctc chips. They have a nice interrupt priority daisy chain mechanism that require the reti instruction.

Thank you. Could you provide more details? Is there any known computer which was capable to use RETI? How many Zilog peripheral chips were required to use RETI? Do we need all of them: DMA, SIO, PIO, CTC? I still don't understand how to handle interrupts without a dedicated chip. How to set interrupt priorities for raster, disk, light pen, etc interrupts without such a chip? Thank you

An example computer using the Zilog interrupt daisy chaining hardware solution:
https://fjkraan.home.xs4all.nl/comp/trs80m2/index.html
On MSX interrupt priorities are handled by software, e.g. the ISR routine. If a device issues an interrupt (INT pin of the Z80), the ISR routine called. So it makes no difference if the interrupt is issued by the VDP or for example RS232. The ISR has to figure out itself which device had generated the interrupt. For the VDP, the status register 0 is being read to verify if it is a interrrupt from the VDP. Reading the VDP status register also resets the INT signal (otherwise the ISR will be called again and again).
For every other device on MSX utilizing interrupts, it must install it's own interrupt handler. The hook H.KEYI is designed for this purpose. The MSX-serial (official MSX RS232 device) uses this approach.
Does this make sense to you ?

Por zeilemaker54

Champion (355)

Imagen del zeilemaker54

27-05-2020, 19:36

zeilemaker54 wrote:

An example computer using the Zilog interrupt daisy chaining hardware solution:
https://fjkraan.home.xs4all.nl/comp/trs80m2/index.html

Zilog interrupt daisy chaining:
http://z80.info/1653.htm

Por NYYRIKKI

Enlighted (6091)

Imagen del NYYRIKKI

28-05-2020, 12:59

litwr wrote:

Is there any known computer which was capable to use RETI?

Memotech comes to mind. because it is so close to MSX.

Por litwr

Resident (56)

Imagen del litwr

29-05-2020, 17:03

Thanks for information.

zeilemaker54 wrote:

Interrupt daisy chaining hardware solution:
https://fjkraan.home.xs4all.nl/comp/trs80m2/index.html
On MSX interrupt priorities are handled by software, e.g. the ISR routine. If a device issues an interrupt (INT pin of the Z80), the ISR routine called.

Thank you very much. I missed Tandy model 2 but it seems that it was the only one Tandy TRS-80 model with Zilog peripherals. BTW I have read that the MSX can use interrupt mode 0. Have it actually used by some software?

NYYRIKKI wrote:
litwr wrote:

Is there any known computer which was capable to use RETI?

Memotech comes to mind. because it is so close to MSX.

I have checked Wikipedia about this computer and didn't find any reference to Zilog peripherals. I also checked http://www.mtxinfo.de/ where I can't also find such peripherals. It seems that Zilog peripherals were too costly.

Por hap

Paragon (2043)

Imagen del hap

29-05-2020, 18:32

Z80 peripherals are used in dozens of hardware.
If you want something close to MSX: Tatung Einstein has a PIO and CTC (with daisy chained interrupts)

Por litwr

Resident (56)

Imagen del litwr

29-05-2020, 21:22

hap wrote:

Z80 peripherals are used in dozens of hardware.
If you want something close to MSX: Tatung Einstein has a PIO and CTC (with daisy chained interrupts)

Tatung Einstein was very expensive and commercially unsuccessful. I know that the Robotron 1715 (produced in GDR) also used Zilog peripherals. But I still don't know any popular system with them. It seems that Zilog only produced the cheap Z80 but other chips were too costly.

Por hap

Paragon (2043)

Imagen del hap

29-05-2020, 21:47

Does it matter if it was expensive, unpopular, or smelled like cheese?
You wanted to know/understand more about RETI, then Tatung Einstein is a good example to investigate.