re-design the graphics table in the Multiboot spec.

This commit is contained in:
okuji 2000-10-22 20:14:14 +00:00
parent 81ec37db03
commit e7a1ff1759
2 changed files with 31 additions and 27 deletions

View file

@ -1,3 +1,8 @@
2000-10-23 OKUJI Yoshinori <okuji@gnu.org>
* docs/multiboot.texi: Upgraded to 0.6.92.
(Boot information format): Re-designed the graphics table.
2000-10-22 OKUJI Yoshinori <okuji@gnu.org> 2000-10-22 OKUJI Yoshinori <okuji@gnu.org>
* docs/tutorial.texi: Miscellaneous updates. * docs/tutorial.texi: Miscellaneous updates.

View file

@ -71,7 +71,7 @@ into another language, under the above conditions for modified versions.
@top Multiboot Specification @top Multiboot Specification
This file documents Multiboot Specification, the proposal for the boot This file documents Multiboot Specification, the proposal for the boot
sequence standard. This edition documents version 0.6.91. sequence standard. This edition documents version 0.6.92.
@end ifnottex @end ifnottex
@ -576,7 +576,12 @@ follows:
+-------------------+ +-------------------+
68 | apm_table | (present if flags[10] is set) 68 | apm_table | (present if flags[10] is set)
+-------------------+ +-------------------+
?? - ?? | graphics_table | (present if flags[11] is set) 72 | vbe_control_info | (present if flags[11] is set)
76 | vbe_mode_info |
80 | vbe_mode |
82 | vbe_interface_seg |
84 | vbe_interface_off |
86 | vbe_interface_len |
+-------------------+ +-------------------+
@end group @end group
@end example @end example
@ -859,36 +864,30 @@ bytes, and the others are 2 bytes. See
@uref{http://www.microsoft.com/hwdev/busbios/amp_12.htm, Advanced Power @uref{http://www.microsoft.com/hwdev/busbios/amp_12.htm, Advanced Power
Management (APM) BIOS Interface Specification}, for more information. Management (APM) BIOS Interface Specification}, for more information.
If bit 11 in the @samp{flags} is set, video mode information is If bit 11 in the @samp{flags} is set, the graphics table is available.
available in the mode table. This should only be done if the kernel has This must only be done if the kernel has indicated in the
indicated in the @samp{Multiboot Header} that it accepts graphics modes. @samp{Multiboot Header} that it accepts a graphics mode.
The mode table looks like this: The fields @samp{vbe_control_info} and @samp{vbe_mode_info} contain
the physical addresses of @sc{vbe} control information returned by the
@sc{vbe} Function 00h and @sc{vbe} mode information returned by the
@sc{vbe} Function 01h, respectively.
@example The field @samp{vbe_mode} indicates current video mode in the format
@group specified in @sc{vbe} 3.0.
+----------------------+ The rest fields @samp{vbe_interface_seg}, @samp{vbe_interface_off}, and
0 | mode_type | @samp{vbe_interface_len} contain the table of a protected mode interface
4 | width | defined in @sc{vbe} 2.0+. If this information is not available, those
8 | height | fields contain zero. Note that @sc{vbe} 3.0 defines another protected
12 | depth | mode interface which is incompatible with the old one. If you want to
16 | frame_buffer_address | use the new protected mode interface, you will have to find the table
+----------------------+ yourself.
@end group The fields for the graphics table are designed for @sc{vbe}, but
@end example Multiboot boot loaders may simulate @sc{vbe} on non-@sc{vbe} modes, as
if they were @sc{vbe} modes.
Valid numbers for @samp{mode_type} is 0 for linear graphics mode and 1
for EGA-standard text mode. Everything else is reserved for future
expansion.
@samp{width} and @samp{height} is specified in pixels, if graphics mode,
or characters in EGA text mode. @samp{depth} is given in bits per pixel
for graphics, or unused for EGA text mode.
@samp{frame_buffer_address} specifies the physical start address of the
linear frame buffer. This is valid for both graphics and text modes.
@node Examples @node Examples
@chapter Examples @chapter Examples