3 ms·
I don't recall if Elite was the first game or not to have stable mixed mode. It was most likely the first, and once demonstrated, other developers implemented t
by justinlloyd 4y ago
I don't recall if Elite was the first game or not to have stable mixed mode. It was most likely the first, and once demonstrated, other developers implemented the idea too. I recall that the mode 4 of Elite wasn't strict mode 4 because they wanted a certain amount of pixels that would divide evenly by a number, so when the interrupt fired, the mode could be changed. It's been a few years since I worked on the Beeb.
You probably already know this, but to fill in context the screen would flicker because the NMI that handles disc IO would fire, and would be serviced before IRQ1 if both fired together, and also you cannot interrupt an interrupt.
BBC Micro Advanced User Guide pages 359 and 370 detail the 6845 and ULA demonstrated Mode "8" and I recall Practical Computing and Acorn User also had listings for doing tricks with the interrupts and the mixed mode, though don't ask me issue numbers.
I picked a random video of yours "ABug 09 Explaining Elite" and jumped forward to 2:22 to skip the intro, and said "oh, that's a matrix transposition function" when the code popped up on the screen. It's funny how some of that crap sticks with you.
Elite was an amazing achievement.