I've been thinking about making a combination lock that uses serial input to enter the password (in this case, the binary form of the server's IP address), with an SWS indicating whether a 0 or 1 bit will be inserted, and a SWB shifting all bits to the right by one and inserting the bit indicated by the SWS at the leftmost bit. Would that be possible? I know that if it is, then most likely, the SWS would be linked to the input node of the input latch, and the button would be linked to the clock...but that's where I'm stumped. I'm guessing each bit would be represented by a latch, the SWB would be linked to the clock node of each latch (including the input latch), and the output of each latch except the final would be linked to the input of the next latch, as well as to a light to indicate whether it's 0 or 1. However, with no kind of delay between each clock, I'm not sure whether or not that would simply cause every bit to be 0 or 1, or would actually shift the bits over. EDIT: I got the data register working! Here, we have an SWS linked to the input of the first bit latch, and the output of each bit latch linking to the input of the next digit's bit latch. The switch is used to determine the input. The floor button is used to shift the bits to the left, and insert the data from the SWS into the rightmost bit, is first put through a pulse shortener, and the pulse is sent through a series of 3-tick delays, each linking to the clock of a bit latch, starting with the leftmost one (so that we don't just end up filling up the entire register with all 1s or all 0s). To put this circuit to use, you flip the SWS up for a 1 bit, or down for a 0 bit, and then press the button. All bits will shift to the left, with the leftmost bit dropping off, and the new bit will be inserted on the right side. EDIT: Further experimentation proved that the delay circuit is completely unnecessary--just connect the output of the pulse shortener circuit directly to the clock inputs of each latch! They will all update at the same time, and won't propogate all 1s or all 0s to every bit! This is also much more compact and less memory-intensive thanks to fewer wires!