First of all, thanks for all your blog posts. It's really interesting to see and understand actual die shots, not just understand it "in theory".
Secondly, how was the shift register actually used? Since every bit pushed in will result in one pushed out, wouldn't that force the input to be pushed in at the same rate as the output and thus the shift register just adds a delay? Or does it happen in two rounds, like so?
1. shift the screen data in and discard output
2. shift the screen data out at a different speed (presumably faster) while shifting in dummy data
Or is there a third option I haven't thought about?
You feed the output of the shift register back into its input. Only when you want to change the display do you break this loop to feed your new character data into it.
Secondly, how was the shift register actually used? Since every bit pushed in will result in one pushed out, wouldn't that force the input to be pushed in at the same rate as the output and thus the shift register just adds a delay? Or does it happen in two rounds, like so?
1. shift the screen data in and discard output
2. shift the screen data out at a different speed (presumably faster) while shifting in dummy data
Or is there a third option I haven't thought about?