Increase maximum VGA update frequency to 75 and default to 10.

Small cleanups in the VGA code.
This commit is contained in:
Volker Ruppert 2024-01-07 11:15:04 +01:00
parent 54961f0326
commit c13ef56378
5 changed files with 8 additions and 14 deletions

View File

@ -453,7 +453,7 @@ vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
# UPDATE_FREQ
# This parameter specifies the number of display updates per second.
# The VGA update timer by default uses the realtime engine with a value
# of 5. This parameter can be changed at runtime.
# of 10 (valid: 1 to 75). This parameter can be changed at runtime.
#
# REALTIME
# If set to 1 (default), the VGA timer is based on realtime, otherwise it

View File

@ -1146,8 +1146,8 @@ void bx_init_options()
"vga_update_frequency",
"VGA Update Frequency",
"Number of VGA updates per emulated second",
1, 60,
5);
1, 75,
10);
vga_update_freq->set_ask_format ("Type a new value for VGA update frequency: [%d] ");
bx_init_vgaext_list();

View File

@ -3894,7 +3894,8 @@ as VGA BIOS) and 'voodoo' for Voodoo Graphics support (needs
</para>
<para>
The VGA update frequency specifies the number of display updates per second.
This parameter can be changed at runtime. The default value is 5.
The VGA update timer by default uses the realtime engine with a value of 10
(valid: 1 to 75). This parameter can be changed at runtime.
</para>
<para>
The 'realtime' option specifies the operation mode of the VGA update timer.

View File

@ -1,5 +1,5 @@
.\"Document Author: Timothy R. Butler - tbutler@uninetsolutions.com"
.TH bochsrc 5 "31 Dec 2023" "bochsrc" "The Bochs Project"
.TH bochsrc 5 "7 Jan 2024" "bochsrc" "The Bochs Project"
.\"SKIP_SECTION"
.SH NAME
bochsrc \- Configuration file for Bochs.
@ -493,7 +493,7 @@ update_freq:
This parameter specifies the number of display updates per second.
The VGA update timer by default uses the realtime engine with a value
of 5. This parameter can be changed at runtime.
of 10 (valid: 1 to 75). This parameter can be changed at runtime.
realtime:

View File

@ -476,13 +476,11 @@ Bit32u bx_vgacore_c::read(Bit32u address, unsigned io_len)
case 0x03c0: /* */
if (BX_VGA_THIS s.attribute_ctrl.flip_flop == 0) {
//BX_INFO(("io read: 0x3c0: flip_flop = 0"));
retval =
(BX_VGA_THIS s.attribute_ctrl.video_enabled << 5) |
BX_VGA_THIS s.attribute_ctrl.address;
RETURN(retval);
}
else {
} else {
BX_ERROR(("io read: 0x3c0: flip_flop != 0"));
return(0);
}
@ -955,11 +953,6 @@ void bx_vgacore_c::write(Bit32u address, Bit32u value, unsigned io_len, bool no_
BX_VGA_THIS s.pel.write_data_cycle++;
if (BX_VGA_THIS s.pel.write_data_cycle >= 3) {
//BX_INFO(("BX_VGA_THIS s.pel.data[%u] {r=%u, g=%u, b=%u}",
// (unsigned) BX_VGA_THIS s.pel.write_data_register,
// (unsigned) BX_VGA_THIS s.pel.data[BX_VGA_THIS s.pel.write_data_register].red,
// (unsigned) BX_VGA_THIS s.pel.data[BX_VGA_THIS s.pel.write_data_register].green,
// (unsigned) BX_VGA_THIS s.pel.data[BX_VGA_THIS s.pel.write_data_register].blue);
BX_VGA_THIS s.pel.write_data_cycle = 0;
BX_VGA_THIS s.pel.write_data_register++;
}