4 ms·
There was a Byte article around 1982 presenting a text editor in Z80 assembler that worked just that way: rerender the view on every keystroke. I was impressed
by abecedarius 10y ago
There was a Byte article around 1982 presenting a text editor in Z80 assembler that worked just that way: rerender the view on every keystroke. I was impressed -- "wow, it's that simple?" Of course, this was with memory-mapped textmode display, not a serial terminal, but it felt audacious to me to 'waste' that much computing for simplicity.
The article included the source code of the whole editor. That much assembly code in a magazine was unusual even then.
- userbinator 10y agoA lot of early text editors, particularly the tiny single-segment DOS ones, worked on the same principle. They didn't exhibit any flicker (most of the time --- anyone remember "CGA snow"?) because writing the same values to VRAM doesn't affect the screen display.
- abecedarius 10y agoThis one might've used a vertical-blank interrupt to time the refreshes -- it's what I think I remember, but I could easily be mixing it up with some other article around then, like Chris Crawford's series on Atari 800 graphics.
- sleepychu 10y agoWe once wrote a text editor as an exercise in FP, the key handler function had to return the area of the screen that needed repainting but also proof that this area was sufficient to catch all the changes, I think we were given some library to do the dirty work of actually drawing it to the screen so I don't know how nasty that was but our key handling code was quite simplistic!
- DanBC 10y agoHere's an example of an article that gives partial instructions to build a "TV Typewriter" from 1973: http://www.swtpc.com/mholley/RadioElectronics/TV_Typewriter.htm http://www.swtpc.com/mholley/RadioElectronics/TV_Typewriter....
- StavrosK 10y agoJeez, after reading the articles today and yesterday, it was only after your comment that it dawned on me that you'd have to write a program to read keystrokes and, instead of moving a sprite in a game or something, it should show text. It never clicked before this that terminals weren't just somehow "automatic". I now understand what terminal emulators do, thanks!
- 0xcde4c3db 10y agoIt took me a long time to realize that a VT100 was essentially a low-end microcomputer that just happened to have a "VT100 emulator" in ROM instead of having BASIC or a bootloader.