mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-02 22:41:07 +00:00
macfb: allow larger write accesses to the DAFB_LUT register
The original tests with MacOS showed that only the bottom 8 bits of the DAFB_LUT register were used when writing to the LUT, however A/UX performs some of its writes using 4 byte accesses. Expand the address range for the DAFB_LUT register so that different size accesses write the correct value to the color_palette array. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-ID: <20231026085650.917663-4-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
2fca4e7a71
commit
ced64254d6
1 changed files with 3 additions and 3 deletions
|
@ -37,7 +37,7 @@
|
|||
#define DAFB_INTR_STAT 0x108
|
||||
#define DAFB_INTR_CLEAR 0x10c
|
||||
#define DAFB_LUT_INDEX 0x200
|
||||
#define DAFB_LUT 0x213
|
||||
#define DAFB_LUT 0x210
|
||||
|
||||
#define DAFB_INTR_VBL 0x4
|
||||
|
||||
|
@ -586,8 +586,8 @@ static void macfb_ctrl_write(void *opaque,
|
|||
case DAFB_LUT_INDEX:
|
||||
s->palette_current = (val & 0xff) * 3;
|
||||
break;
|
||||
case DAFB_LUT:
|
||||
s->color_palette[s->palette_current] = val;
|
||||
case DAFB_LUT ... DAFB_LUT + 3:
|
||||
s->color_palette[s->palette_current] = val & 0xff;
|
||||
s->palette_current = (s->palette_current + 1) %
|
||||
ARRAY_SIZE(s->color_palette);
|
||||
if (s->palette_current % 3) {
|
||||
|
|
Loading…
Reference in a new issue