To read all comments associated with this story, please click here.
I certainly don't plan to go that far in hardware support
However, it was interesting to read, because it shows that there has been a time where interrupts didn't exist, or at least weren't as widespread as they are now, and makes me wonder why they chose this polling-based solution which sounds spontaneously less efficient.
Concerns about context switch cost or HW complexity, maybe ? I know that Apple went very far in reducing hardware complexity in their early days, the floppy drive of the Apple II being a good example of that too.
Edited 2011-02-27 15:16 UTC
Hehe, I don't know the specifics but remember: it was a 1Mhz CPU, 40k or so of memory.
Take the design of a simpel game: init, then loop over: (read keyboard address, calculate action, render new state). In an old computer the challenge was to fit the game logic in that "calculate action" step so that it would not take too long. It is also the days where the display herz would be in sync with the computer herz and you had a fixed set of instructions you can run until the new image is shown (Amstrad?).
Nowadays, the loop would run thousands of times per second and the keyboard polling is a waste at that speed.
It was also the days where the manufacturer would give you detailed manuals with program examples. I remember the AppleII had all it's chips mounted on sockets and where replaceable.
By the way I wanted to verify my sayings. Didn't find the specifics, but I found this cool AppleII doc archive : http://mirrors.apple2.org.za/Apple%20II%20Documentation~*~@...
I like how the design is simple. IMO, the tendency is to forget why a particular was introduced and add another layer of indirection instead of fixing that particular to the new needs. Computer history is the solution :-)





Member since:
2005-08-22
I remember on the Apple II, the keyboard would write the current key at a predetermined address, and the "OS" would poll that address to know keydown events and such.

Not sure if it's useful to you though