Accessing the Text-Mode Video Buffer
While the silly module showed you how to access video
memory in the 640KB-1MB address range, a more ``visible'' demo
program can help you get comfortable with readb and writeb.
The silly module features two more device nodes:
/dev/sillytxt (minor number 4) and /dev/silliest (minor number
5).
Warning
Such devices can be used only with a VGA-compatible video board running in text mode; using the devices on systems without a VGA adapter is potentially destructive, like any uncontrolled access to hardware resources.
The first device, sillytxt, is just a window on the VGA text
buffer. Unlike the other silly nodes, it can be the target of
output redirection and can be used to overwrite the contents of your console.
This is reminiscent of /dev/vcs, but the silly
implementation is neither portable nor integrated into the kernel as
vcs is.
The last device is kind of a joke: it drops the letters off your text screen. Each byte written to the device causes a character on your screen to drop to the bottom of the screen. This device is provided only to show a more complex action on the I/O memory--the same code can be used to operate on a VGA buffer or on other memory, such as network packets or the video data of a frame grabber.
Remember that any modification to the text screen is volatile and interferes with the kernel’s own text management. If you really need to access the text buffer from an application, there are better ways to accomplish the task: either ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access