Initial XGA-2 implementation, (same as XGA-1 internally, but able to do 800x600 officially), selection is possible only on QT at the moment.

Refactored the ROP/MIX of the XGA accelerator.
Bus type variable added to make sure the device is an ISA-16 device or MCA in its dedicated register.
This commit is contained in:
TC1995
2022-07-03 23:01:46 +02:00
parent eb0ba3d1c4
commit f0a78c7642
6 changed files with 237 additions and 169 deletions

View File

@@ -64,6 +64,7 @@ typedef struct xga_t
uint8_t pal_b, pal_b_prefetch;
uint8_t sprite_data[1024];
uint8_t scrollcache;
uint8_t direct_color;
uint8_t *vram, *changedvram;
int16_t hwc_pos_x;
@@ -92,6 +93,7 @@ typedef struct xga_t
int op_mode_reset, linear_endian_reverse;
int sprite_pos, sprite_pos_prefetch, cursor_data_on;
int pal_test;
int type, bus;
uint32_t linear_base, linear_size, banked_mask;
uint32_t base_addr_1mb;

View File

@@ -0,0 +1,22 @@
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* IBM XGA emulation.
*
*
*
* Authors: TheCollector1995.
*
* Copyright 2022 TheCollector1995.
*/
#ifndef VIDEO_XGA_DEVICE_H
# define VIDEO_XGA_DEVICE_H
extern const device_t xga_device;
extern const device_t xga_isa_device;
#endif /*VIDEO_XGA_DEVICE_H*/