The Interrupt Board
The Interrupt Board has three functions:
- read the interrupt inputs
- trigger an INTR7 every 417us (=2.4kHz)
- and provide the serial clock (SCLK=38.4kHz).
Notes:
- INTR7 is used as a timer.
- INTR6 is the Serial In interrupt.
- Interrupts are read every time the Interpreter is called.
- Reading the interrupt register clears the interrupts so they are stored in "INTR".
Interrupt Programming
Recoded the Interpreter to call (if there are any interrupts) one ISR after another. Its up to the ISR to check if the interrupt is for it.
As a test to check that the interrupts are actually being called, I wrote a short interpreted infinite loop. Then coded ISR7 to do a 16 bit binary count.
Pretty cool actually. The concern is that interpreted code is much slower than expected and the interrupts timing is perhaps too fast. Roughly five interpreted OpCodes per interrupt.
I may look at redesigning the interrupt card to slow it down.
Otherwise good progress.
AlanX
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.