How too101/read works
READ is a full-screen Thai TIS-620 text viewer implemented as DOS, Windows, and Linux ports. The user opens a text file (or sees built-in help), then navigates and views it with Thai byte handling, combining marks, and WordStar-style text effects; Windows and Linux adapt the visible layout to a resizable window. The map keeps each port’s runtime together and highlights the Linux port’s sampled internal rendering and event-handling layers. DOS and Windows internals are represented only at the level documented in the README; their source was not sampled.
Main entry points: read_linux.c Linux viewer · read.asm DOS viewer · read_win.asm Windows viewer
Components 10
DOS port
- DOS viewer
dos/read.asm
Windows port
- Windows viewer
windows/src/read_win.asm
Linux port
- Linux viewer
linux/src/read_linux.c - Thai text handling
linux/src/read_linux.c - Line table
linux/src/read_linux.c - Cell rendering
linux/src/read_linux.c - Input and resize
linux/src/read_linux.c - X11 display
linux/src/read_linux.c
Other components
- Reader
- Text file
Connections 13
- Reader → DOS viewer: opens and navigates
- Text file → DOS viewer: reads
- Reader → Windows viewer: opens and navigates
- Text file → Windows viewer: reads
- Reader → Linux viewer: opens and navigates
- Text file → Linux viewer: reads
- Linux viewer → Thai text handling: classifies bytes
- Linux viewer → Line table: builds line table
- Linux viewer → Input and resize: handles events
- Input and resize → Linux viewer: updates view state
- Linux viewer → Cell rendering: renders view
- Cell rendering → X11 display: presents image
- Input and resize → X11 display: resizes window