Buffered or not should not make to much of a difference. Having them buffered may actually be preferred as it would give a better 'feel' towards the entire project.
I've posted a design of a switch a while ago on here...
www.electro-tech-online.com/threads/having-a-camera-phone-need-to-convert.19609/ That's mainly what it is all about... Driving these switches. Allot of them as well.
Basically, there are three types of switches, a few rotary encoders, and a couple of 7 Segment LED Displays that needs to be driven. There may also be about 5 stepper motors - but I believe the 7 Segment Displays, Encoders, and Steppers can be driven by another system - provided the magical 'pulses' can also come from this here unit with its large IO.
All the inputs and outputs should be managed by a program - which I should not have to much problems writing in something like VB .NET or Delphi or such... The main thing really, is the switches.
All the types of switches operates on a rater similar way, so I'm just going to describe the workings of the biggest type (the most complex), the other two works similarly, just with less inputs / outputs.
The switch receives a High pulse from the controller (something I switch on in the programming). A LED indicates that the SYSTEM that the switch activates is ready. Once the button is pressed, the indicator goes out, and a LED in the switch goes High, indicating that the system is On. Then, I need to read a input from that switch, where I can see that the system has been switched On.
I thus have a Output to the switch which indicates Ready/Off, a Input from the switch, to read whether or not the system is On/Off, and a second Output to the switch which indicates On.
Each switch also is very similar to the above. A indicator (high output), indicating that the system the switch controls is On or Ready. A Indicator (high output) indicating the system status (On / Failure) and is optional and does not feature everywhere), and a Input, where I want to Receive a high pulse if the switch is switched On.
Other things, are indicators... Here I simply use a High Output to turn on a number of LEDs acting as a Indicator (hence, it's output only, no input)...
As shown in my other circuit (see URL), all the switches and indicators have already been designed and in testing, they seem to work fine. As I see it, it's just a matter of finding something big enough now to tie them to, so that I can control them via my custom Program...
There's really a crapload of logic involved behind the common things like 'Indicator goes on when System is Available', or 'LED Indicates On when the System is turned On'. Certain systems can only be turned on at certain times, and others will only be 'Available' once others are turned On - and that's mainly where the custom application comes into play, and why I'm hessitant to use PICs.
Except for the large amounts of ICs, I'm pretty much happy with the outputs on the Shift Registers... It's fairly straight forward, and easy to access via my programming - also more than fast enough from what I read.
The main issue really is, the inputs. I need to be able to read at any time, whether any one (or more) switches are On or Off (Is a Input High, or Low) <- And that I believe, is the difficult part.
All in all, I'm looking between 150 and 200 switches (with Outputs & Inputs), with about 50 or so other controllers that I'll tackle at a later stage (such as the rotary encoders, stepper motors, and 7 Segment Displays)....
Hope it's a bit clearer now...
--
Chris.