Marks256
New Member
I keep thinking of a very large amount of question that i need answered, and then i end up forgetting them, so i want to ask a few here before i forget. Then i will keep adding to this thread as my questions come...
1) How does address decoding work?
I understand how addressing works now (thanks to kchriste, and other members in my "multiplexing" thread from a long time ago) Now my question is, how do i use the top address lines to map memory/other hardware (efficiently) I know that i just have to use simple logic chips (AND, OR, NOR, NAND, etc), but i dont' understand how people can get by with just a few of them?
Take this one for example
http://www.z80.info/gfx/z80test.gif
How do you know that the PIO is 00h to 03h? If my logic (as in mental problem solving logic), shouldn't the PIO in the schematic above be 00h to 7Fh? and then the UART should actually be 80h to FFFFh, because the logic enables the uart at and after 80h.
How would one "limit" the range better? What if i wanted to access a single device at 90h, and another device at 91h, and yet another at 92h? How would one do that?
2) Interrupts?
From what i already know, an interrupt is a way for events to be raised to the processor when needed, so the processor doesn't have to poll all the time. My question is, how is this done on the z80? I am assuming it is through software, so, how does it work?
I have also heard of Interrupt Controllers. Is that what needs to be use? What does a controller consist of? How does IT work?
More later
1) How does address decoding work?
I understand how addressing works now (thanks to kchriste, and other members in my "multiplexing" thread from a long time ago) Now my question is, how do i use the top address lines to map memory/other hardware (efficiently) I know that i just have to use simple logic chips (AND, OR, NOR, NAND, etc), but i dont' understand how people can get by with just a few of them?
Take this one for example
http://www.z80.info/gfx/z80test.gif
How do you know that the PIO is 00h to 03h? If my logic (as in mental problem solving logic), shouldn't the PIO in the schematic above be 00h to 7Fh? and then the UART should actually be 80h to FFFFh, because the logic enables the uart at and after 80h.
How would one "limit" the range better? What if i wanted to access a single device at 90h, and another device at 91h, and yet another at 92h? How would one do that?
2) Interrupts?
From what i already know, an interrupt is a way for events to be raised to the processor when needed, so the processor doesn't have to poll all the time. My question is, how is this done on the z80? I am assuming it is through software, so, how does it work?
I have also heard of Interrupt Controllers. Is that what needs to be use? What does a controller consist of? How does IT work?

More later
