mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-13 17:48:10 +08:00
Fix Hercules graphics palette selection
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
Next version
|
||||
- Fix bug that, for machine=hercules, prevented Hercules palette shortcut
|
||||
from changing colors when in graphics mode (joncampbell123).
|
||||
- Remove mixer and VGA capture test modes from integration device. Update
|
||||
integration device version number. Convert hardcoded magic constants used
|
||||
in IG into constants in iglib.h which is now shared explicitly with the
|
||||
|
@@ -350,7 +350,7 @@ void VGA_SetCGA2Table(uint8_t val0,uint8_t val1) {
|
||||
((Bitu)total[(i >> 0u) & 1u] << 0u ) | ((Bitu)total[(i >> 1u) & 1u] << 8u ) |
|
||||
((Bitu)total[(i >> 2u) & 1u] << 16u ) | ((Bitu)total[(i >> 3u) & 1u] << 24u );
|
||||
#else
|
||||
((Bitu)total[(i >> 3u) & 1u] << 0u ) | ((Bitu)total[(i >> 2u) & 1u] << 8u ) |
|
||||
((Bitu)total[(i >> 3u) & 1u] << 0u ) | ((Bitu)total[(i >> 2u) & 1u] << 8u ) |
|
||||
((Bitu)total[(i >> 1u) & 1u] << 16u ) | ((Bitu)total[(i >> 0u) & 1u] << 24u );
|
||||
#endif
|
||||
}
|
||||
@@ -1055,8 +1055,13 @@ void VGA_Reset(Section*) {
|
||||
VGA_SetupXGA();
|
||||
VGA_SetClock(0,CLK_25);
|
||||
VGA_SetClock(1,CLK_28);
|
||||
|
||||
/* Generate tables */
|
||||
VGA_SetCGA2Table(0,1);
|
||||
if (machine == MCH_HERC && hercCard < HERC_InColor)
|
||||
VGA_SetCGA2Table(0,7); /* make graphics mode use colors 0 and 7 so hercules palette selection works */
|
||||
else
|
||||
VGA_SetCGA2Table(0,1);
|
||||
|
||||
VGA_SetCGA4Table(0,1,2,3);
|
||||
|
||||
if (machine == MCH_HERC || machine == MCH_MDA) {
|
||||
|
Reference in New Issue
Block a user