Skip to content

Commit

Permalink
LGPL'd VGABIOS updated to version 0.9b (several VBE bugfixes).
Browse files Browse the repository at this point in the history
Now using ".bin" file extension for all VGABIOS images.
  • Loading branch information
vruppert committed Jun 9, 2024
1 parent 730fe8e commit dcc794a
Show file tree
Hide file tree
Showing 13 changed files with 53 additions and 40 deletions.
4 changes: 2 additions & 2 deletions bochs/.bochsrc
Original file line number Diff line number Diff line change
Expand Up @@ -415,8 +415,8 @@ romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot
# you cannot use a PCI enabled VGA ROM BIOS option such as the cirrus
# option shown below.
#=======================================================================
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
#vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest.bin
#vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus.bin
#vgaromimage: file=$BXSHARE/vgabios-cirrus.bin-1.13.0 # http://www.seabios.org/SeaVGABIOS
#vgaromimage: file=bios/VGABIOS-elpin-2.40

Expand Down
5 changes: 3 additions & 2 deletions bochs/CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@ Detailed change log :
- Updated builtin slirp based on libslirp 4.8.0 (including IPv6 support)

- BIOS
- Added panic in legacy BIOS in case no VGA BIOS ROM is found at C000:0000,
- Fixed unwanted side effects caused by some helper functions.
- Added panic in legacy BIOS in case no VGA BIOS ROM is found at C000:0000,
- Fixed unwanted side effects caused by some helper functions.
- LGPL'd VGABIOS updated to version 0.9b (several VBE bugfixes)

- Misc
- bximage: added simple partition table viewer to the info function
Expand Down
9 changes: 9 additions & 0 deletions bochs/bios/VGABIOS-lgpl-README
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,15 @@ For any information on Qemu, visit the website http://wiki.qemu.org/

History
-------
vgabios-0.9b : Jun 09 2024
- Volker
- Fixed VBE protected mode bank switching (all extensions)
- Fixed VBE protected mode page flipping (Bochs VBE / Banshee)
- Get rid of the Win2k clear VRAM hack after fixing emulation
- Bochs VBE function 07h now also supports wait for VSYNC
- Added 'Banshee debug' binary that fits in 32k
- Return VBE mode info only if mode is supported by hardware

vgabios-0.9a : Mar 03 2024
- Volker
- Implemented AH=12h / BL=36h (video refresh control)
Expand Down
Binary file removed bochs/bios/VGABIOS-lgpl-latest
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed bochs/bios/VGABIOS-lgpl-latest-debug
Binary file not shown.
Binary file added bochs/bios/VGABIOS-lgpl-latest-debug.bin
Binary file not shown.
Binary file added bochs/bios/VGABIOS-lgpl-latest.bin
Binary file not shown.
69 changes: 36 additions & 33 deletions bochs/doc/docbook/user/user.dbk
Original file line number Diff line number Diff line change
Expand Up @@ -1378,11 +1378,12 @@ DLX Linux screenshot.
<row><entry>vgabios-cirrus.bin-1.13.0 </entry> <entry> SeaVGABIOS ROM image (for Cirrus adapter)</entry> </row>
<row><entry>VGABIOS-elpin-2.40 </entry> <entry> VGA BIOS image for Bochs </entry> </row>
<row><entry>VGABIOS-elpin-LICENSE.txt </entry> <entry> license for VGA BIOS </entry> </row>
<row><entry>VGABIOS-lgpl-latest </entry> <entry> LGPL'd VGA BIOS image for Bochs </entry> </row>
<row><entry>VGABIOS-lgpl-latest-debug </entry> <entry> LGPL'd VGA BIOS image for Bochs with debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-latest-cirrus </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled </entry> </row>
<row><entry>VGABIOS-lgpl-latest-cirrus-debug </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-latest-banshee </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled </entry> </row>
<row><entry>VGABIOS-lgpl-latest-bin </entry> <entry> LGPL'd VGA BIOS image for Bochs </entry> </row>
<row><entry>VGABIOS-lgpl-latest-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-latest-cirrus.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled </entry> </row>
<row><entry>VGABIOS-lgpl-latest-cirrus-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-latest-banshee.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled </entry> </row>
<row><entry>VGABIOS-lgpl-latest-banshee-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled and debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-README.txt </entry> <entry> readme for the LGPL'd VGA BIOS </entry> </row>
<row><entry>dlxlinux\ </entry> <entry> directory containing DLX linux sample disk image and configuration files</entry> </row>
<row><entry>dlxlinux\bochsrc.bxrc </entry> <entry> Bochs configuration file for DLX</entry> </row>
Expand Down Expand Up @@ -1564,11 +1565,12 @@ description of each one.
<row><entry>/usr/share/bochs/SeaVGABIOS-README </entry> <entry> README for SeaVGABIOS ROM image </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-elpin-2.40 </entry> <entry> VGA BIOS image for Bochs </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-elpin-LICENSE </entry> <entry> license for VGA BIOS </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest </entry> <entry> LGPL'd VGA BIOS image for Bochs </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-debug </entry> <entry> LGPL'd VGA BIOS image for Bochs with debug output to the logfile </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-cirrus </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-cirrus-debug </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-banshee </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with debug output to the logfile </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-cirrus.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-cirrus-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-banshee.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-latest-banshee-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled and debug output to the logfile </entry> </row>
<row><entry>/usr/share/bochs/VGABIOS-lgpl-README </entry> <entry> readme for the LGPL'd VGA BIOS </entry> </row>
<row><entry>/usr/share/bochs/bios.bin-1.13.0 </entry> <entry> SeaBIOS ROM image </entry> </row>
<row><entry>/usr/share/bochs/dlxlinux/ </entry> <entry> directory containing DLX linux sample disk image and configuration files</entry> </row>
Expand Down Expand Up @@ -3034,7 +3036,7 @@ the BIOS image (usually called <filename>BIOS-bochs-latest</filename>)
</listitem>
<listitem>
<para>
the VGA BIOS image (e.g. <filename>VGABIOS-lgpl-latest</filename> or <filename>VGABIOS-elpin-2.40</filename>)
the VGA BIOS image (e.g. <filename>VGABIOS-lgpl-latest.bin</filename> or <filename>VGABIOS-elpin-2.40</filename>)
</para>
</listitem>
<listitem>
Expand Down Expand Up @@ -3112,11 +3114,12 @@ system BIOS and VGA BIOS images.
<row><entry>BIOS-bochs-legacy </entry> <entry> ROM BIOS image without 32-bit init code (for i386 and ISA graphics card emulation) </entry> </row>
<row><entry>bios.bin-1.13.0 </entry> <entry> SeaBIOS ROM image </entry> </row>
<row><entry>VGABIOS-elpin-2.40 </entry> <entry> legacy VGA BIOS image for Bochs </entry> </row>
<row><entry>VGABIOS-lgpl-latest </entry> <entry> LGPL'd VGA BIOS image for Bochs </entry> </row>
<row><entry>VGABIOS-lgpl-latest-debug </entry> <entry> LGPL'd VGA BIOS image for Bochs with debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-latest-cirrus </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled </entry> </row>
<row><entry>VGABIOS-lgpl-latest-cirrus-debug </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-latest-banshee </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled </entry> </row>
<row><entry>VGABIOS-lgpl-latest.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs </entry> </row>
<row><entry>VGABIOS-lgpl-latest-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-latest-cirrus.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled </entry> </row>
<row><entry>VGABIOS-lgpl-latest-cirrus-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile </entry> </row>
<row><entry>VGABIOS-lgpl-latest-banshee.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled </entry> </row>
<row><entry>VGABIOS-lgpl-latest-banshee-debug.bin </entry> <entry> LGPL'd VGA BIOS image for Bochs with the Voodoo Banshee extension enabled and debug output to the logfile </entry> </row>
<row><entry>vgabios-cirrus.bin-1.13.0 </entry> <entry> SeaVGABIOS ROM image (for Cirrus adapter)</entry> </row>
</tbody>
</tgroup>
Expand All @@ -3127,7 +3130,7 @@ system BIOS and VGA BIOS images.
Bochs must be set up to use system and VGA BIOS like this:
<screen>
romimage: file=BIOS-bochs-latest, address=0xfffe0000
vgaromimage: file=VGABIOS-lgpl-latest
vgaromimage: file=VGABIOS-lgpl-latest.bin
</screen>
We recommend to use the ROM images distributed with Bochs or one of the latest
<ulink url="http://www.seabios.org/">SeaBIOS</ulink> images. BIOS images designed
Expand Down Expand Up @@ -3753,8 +3756,8 @@ this feature yet.
Examples:
<screen>
vgaromimage: file=bios/VGABIOS-elpin-2.40
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest.bin
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest-cirrus.bin
</screen>
This tells Bochs what VGA ROM BIOS to load (at 0xC0000).
</para>
Expand Down Expand Up @@ -3806,11 +3809,11 @@ This defines parameters related to the VGA display
<para>
The 'extension' option can be used to specify the VGA display extension.
With the value 'none' you can use standard VGA with no extension. Other supported
values are 'vbe' for Bochs VBE (needs <filename>VGABIOS-lgpl-latest</filename> as
values are 'vbe' for Bochs VBE (needs <filename>VGABIOS-lgpl-latest.bin</filename> as
VGA BIOS, see <link linkend="bochsopt-vgaromimage">vgaromimage option</link>),
'cirrus' for Cirrus SVGA support (needs <filename>VGABIOS-lgpl-latest-cirrus</filename>
'cirrus' for Cirrus SVGA support (needs <filename>VGABIOS-lgpl-latest-cirrus.bin</filename>
as VGA BIOS) and 'voodoo' for Voodoo Graphics support (needs
<filename>VGABIOS-lgpl-latest-banshee</filename> as VGA BIOS / see
<filename>VGABIOS-lgpl-latest-banshee.bin</filename> as VGA BIOS / see
<xref linkend="voodoo-notes"> for more information).
</para>
<para>
Expand Down Expand Up @@ -7018,7 +7021,7 @@ bit will be clear, so the next TD will be processed anyway.
<para>
If you are using a program written for DOS which seems to use the text-mode but
doesn't display the text properly, you can try the other VGA BIOS, either
<filename>VGABIOS-lgpl-latest</filename> or <filename>VGABIOS-elpin-2.40</filename>,
<filename>VGABIOS-lgpl-latest.bin</filename> or <filename>VGABIOS-elpin-2.40</filename>,
see the <link linkend="bochsopt-vgaromimage">vgaromimage option</link>.
</para>

Expand Down Expand Up @@ -9976,7 +9979,7 @@ Bochs VBE Display Drivers for Windows NT/2000
<screen>
# Enable CL-GD5446 PCI
vga: extension=cirrus
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest-cirrus.bin
pci: enabled=1, chipset=i440fx, slot1=cirrus
</screen>

Expand Down Expand Up @@ -10006,15 +10009,15 @@ Bochs VBE Display Drivers for Windows NT/2000
Banshee compatible device with its VGA interface disabled is not
implemented yet. For both Banshee and Voodoo3 there is now a specific version
of the LGPL'd VGABIOS with Voodoo Banshee specific code called
<filename>VGABIOS-lgpl-latest-banshee</filename>. The binary file is compiled
<filename>VGABIOS-lgpl-latest-banshee.bin</filename>. The binary file is compiled
for the Banshee PCI model, but Bochs modifies the VGABIOS data after loading
to support the Voodoo3 and AGP models properly.
</para>
<para>
These bochsrc settings should be used for Voodoo Banshee PCI:
<screen>
vga: extension=voodoo
vgaromimage: file=VGABIOS-lgpl-latest-banshee
vgaromimage: file=VGABIOS-lgpl-latest-banshee.bin
voodoo: model=banshee
</screen>
</para>
Expand Down Expand Up @@ -11313,7 +11316,7 @@ cpu: count=1, ips=50000000, reset_on_triple_fault=1, ignore_bad_msrs=1
cpu: cpuid_limit_winnt=0
clock: sync=realtime, time0=local
memory: guest=512, host=512
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus.bin
vga: extension=cirrus, update_freq=5
pci: enabled=1, chipset=i440fx, slot1=cirrus
</screen>
Expand All @@ -11334,7 +11337,7 @@ cpu: count=1, ips=55000000, reset_on_triple_fault=1, ignore_bad_msrs=1
cpu: cpuid_limit_winnt=0
clock: sync=realtime, time0=local
memory: guest=512, host=512
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus.bin
vga: extension=cirrus, update_freq=5
pci: enabled=1, chipset=i440fx, slot1=cirrus
</screen>
Expand Down Expand Up @@ -11405,7 +11408,7 @@ cpu: count=1, ips=75000000, reset_on_triple_fault=1, ignore_bad_msrs=1
cpu: cpuid_limit_winnt=0
clock: sync=realtime, time0=local
memory: guest=512, host=512
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus.bin
vga: extension=cirrus, update_freq=5
pci: enabled=1, chipset=i440fx, slot1=cirrus
</screen>
Expand Down Expand Up @@ -11438,7 +11441,7 @@ cpu: count=1, ips=100000000, reset_on_triple_fault=1, ignore_bad_msrs=1
cpu: cpuid_limit_winnt=0
clock: sync=realtime, time0=local
memory: guest=1024, host=1024
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus.bin
vga: extension=cirrus, update_freq=5
pci: enabled=1, chipset=i440fx, slot1=cirrus
</screen>
Expand All @@ -11463,7 +11466,7 @@ cpu: count=1, ips=150000000, reset_on_triple_fault=1, ignore_bad_msrs=1
cpu: cpuid_limit_winnt=0
clock: sync=realtime, time0=local
memory: guest=2048, host=2048
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus.bin
vga: extension=cirrus, update_freq=5
pci: enabled=1, chipset=i440fx, slot1=cirrus
</screen>
Expand Down Expand Up @@ -11493,7 +11496,7 @@ cpu: count=1, ips=325000000, reset_on_triple_fault=1, ignore_bad_msrs=1
cpu: cpuid_limit_winnt=0
clock: sync=realtime, time0=local
memory: guest=2048, host=2048
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus
vgaromimage: file=D:/path/to/your/bios/VGABIOS-lgpl-latest-cirrus.bin
vga: extension=cirrus, update_freq=5
pci: enabled=1, chipset=i440fx, slot1=cirrus
</screen>
Expand Down Expand Up @@ -11605,7 +11608,7 @@ ata1: enabled=0
ata2: enabled=0
ata3: enabled=0
romimage: file=bios/BIOS-bochs-latest
vgaromimage: file=bios/VGABIOS-lgpl-latest
vgaromimage: file=bios/VGABIOS-lgpl-latest.bin
megs: 64
parport1: enabled=1, file="lp.pipe"
com1: enabled=0
Expand Down
6 changes: 3 additions & 3 deletions bochs/doc/man/bochsrc.5
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.\"Document Author: Timothy R. Butler - tbutler@uninetsolutions.com"
.TH bochsrc 5 "26 Mar 2024" "bochsrc" "The Bochs Project"
.TH bochsrc 5 "09 Jun 2024" "bochsrc" "The Bochs Project"
.\"SKIP_SECTION"
.SH NAME
bochsrc \- Configuration file for Bochs.
Expand Down Expand Up @@ -461,8 +461,8 @@ You also need to load a VGA ROM BIOS into 0xC0000.

Examples:
vgaromimage: file=bios/VGABIOS-elpin-2.40
vgaromimage: file=bios/VGABIOS-lgpl-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vgaromimage: file=bios/VGABIOS-lgpl-latest.bin
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest.bin

.TP
.I "optromimage1: \fP, \fIoptromimage2: \fP, \fIoptromimage3: \fPor \fIoptromimage4:"
Expand Down

0 comments on commit dcc794a

Please sign in to comment.