“Something that struck me reading about the history of the Apple I computer was the fairly simple “ASCII bus” that it used for input and output. As I understand it a hobbyist back in the day could get an ASCII keyboard that quite literally presented as an interface a header giving 7-bits of ASCII and an additional strobe pin that indicated that a key had been pressed. Press the “A” key on the keyboard and the 7-bits representing the letter “A” in ASCII would be set high/low on 7 output pins and the strobe pin would momentarily go high. Needless to say, the Apple I was wired up in such a way that when the strobe pin pulsed it would immediately fetch the 7-bits of ASCII from the keyboard.
And just as simply, to display a character the Apple I would output ASCII in the same manner. In the output case, another device similar to the TV Typewriter would look for a similar “strobe” and push the character into a buffer that was constantly being read from and displayed to a television display.
In short, ASCII comes in from a keyboard, ASCII goes out to the TV buffer.
The Adam74 is a little project that tries to act as the latter half of the above “ASCII bus”. It is in short a little terminal that a hobbyist might enjoy using for a small 8-bit computer they’re experimenting with.
As described above, it relies on 7 pins to represent a 7-bit ASCII character and another pin that the connected device strobes in order to tell the Adam74 that there is a character waiting on the input pins to buffer and display. The prevalence of easy-to-interface small LCD displays and inexpensive microcontrollers to drive them made this project a no-brainer.
Like a terminal, the Adam74 handles wrapping of text, scrolling. It also handles many control codes like carriage return and bell. Other control codes are re-interpreted to give a simple cursor control interface, etc.”