Print memory model of the video mode except for planar memory model.

'P', 'D', 'C', 'H', 'V' mean packed pixel, direct color, CGA, Hercules,
VGA X memory models respectively where they have fixed number of planes.
This commit is contained in:
Jung-uk Kim 2010-03-29 20:12:44 +00:00
parent 34a78aafcb
commit f46f4ae113

View File

@ -950,10 +950,11 @@ show_adapter_info(void)
static void
show_mode_info(void)
{
struct video_info _info;
char buf[80];
int mode;
struct video_info _info;
int c;
int mm;
int mode;
printf(" mode# flags type size "
"font window linear buffer\n");
@ -972,9 +973,35 @@ show_mode_info(void)
if (_info.vi_flags & V_INFO_GRAPHICS) {
c = 'G';
snprintf(buf, sizeof(buf), "%dx%dx%d %d",
_info.vi_width, _info.vi_height,
_info.vi_depth, _info.vi_planes);
if (_info.vi_mem_model == V_INFO_MM_PLANAR)
snprintf(buf, sizeof(buf), "%dx%dx%d %d",
_info.vi_width, _info.vi_height,
_info.vi_depth, _info.vi_planes);
else {
switch (_info.vi_mem_model) {
case V_INFO_MM_PACKED:
mm = 'P';
break;
case V_INFO_MM_DIRECT:
mm = 'D';
break;
case V_INFO_MM_CGA:
mm = 'C';
break;
case V_INFO_MM_HGC:
mm = 'H';
break;
case V_INFO_MM_VGAX:
mm = 'V';
break;
default:
mm = ' ';
break;
}
snprintf(buf, sizeof(buf), "%dx%dx%d %c",
_info.vi_width, _info.vi_height,
_info.vi_depth, mm);
}
} else {
c = 'T';