From: James S. <jsi...@ac...> - 2000-08-27 03:06:34
|
Hi! It's been some time since I have posted here with what I'm doing. At first I was playing with the idea of a universal VC switching function. This lead to my discovery of how vgacon and screenbuf inter act. TO discribe what my goals are I have to first describe what I understand of the console system. If I have a misconcept tell me I'm wrong. In the current console system (ruby) each struct vc_data represents each vitrual console. Only one is active at a time on each VT. Now each struct vc_data has a vc_screenbuf which is a shadow buffer where text values are stored. This allows text to be written to non visible consoles. Only for the visible VC is the text inside of show buffer is actually drawn with functions defined in struct consw. This is true for all drivers except vgacon. Why? Because the console system was originally designed around the VGA text hardware mode. Because of this the shadow buffer layout matches the VGA text mode layout. Now to describe this shadow buffer. The shadow buffer is a buffer that is x columns wide and y rows high. For normal VGA text mode this is usually 80x25. 80 columns wide ----------------- | | | | 25 rows. | | | | ----------------- So the shadow buffer is (80x25 * 2) wide. The reason for the 2 is each component is 16 bits wide. The high 8 bits represent the text attributes. These are blinking, underline etc. The low 8 bits represent the text value, usually a acsii character. For vgacon the shadow buffer of the visible VC points directly to the VGA text buffer. Now VGA hardware has built in font images. So a mapping happens from the value in buffer to the font images in the cards memory. Now for the next step in the evolution of the console system. Well I made a discovery today. Their exist vga cards (JEGA, AX-VGA) that can display asian characters. I also discovered some old BIOS calls that might lead to figuring out if double byte fonts could be supported. The BIOS call int 10h, ah=18h, al=0,1 which can get/set a font pattern. This leads to me to believe it might be possible for VGA to support double byte fonts. This of course would mean a rethinking of how the shadow buffer should be done. Any ideas anyone? MS: (n) 1. A debilitating and surprisingly widespread affliction that renders the sufferer barely able to perform the simplest task. 2. A disease. James Simmons [jsi...@li...] ____/| fbdev/console/gfx developer \ o.O| http://www.linux-fbdev.org =(_)= http://linuxgfx.sourceforge.net U http://linuxconsole.sourceforge.net |