@@ -37,9 +37,9 @@
|
||||
#include <86box/vid_svga_render.h>
|
||||
|
||||
#define VGAWONDERXL 1
|
||||
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
#ifdef USE_XL24
|
||||
# define VGAWONDERXL24 2
|
||||
#endif
|
||||
#endif /* USE_XL24 */
|
||||
|
||||
#define BIOS_ATIKOR_PATH "roms/video/ati28800/atikorvga.bin"
|
||||
#define BIOS_ATIKOR_4620P_PATH_L "roms/machines/spc4620p/31005h.u8"
|
||||
@@ -52,10 +52,10 @@
|
||||
#define BIOS_VGAXL_EVEN_PATH "roms/video/ati28800/xleven.bin"
|
||||
#define BIOS_VGAXL_ODD_PATH "roms/video/ati28800/xlodd.bin"
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
#ifdef USE_XL24
|
||||
# define BIOS_XL24_EVEN_PATH "roms/video/ati28800/112-14318-102.bin"
|
||||
# define BIOS_XL24_ODD_PATH "roms/video/ati28800/112-14319-102.bin"
|
||||
#endif
|
||||
#endif /* USE_XL24 */
|
||||
|
||||
#define BIOS_ROM_PATH "roms/video/ati28800/bios.bin"
|
||||
#define BIOS_VGAXL_ROM_PATH "roms/video/ati28800/ATI_VGAWonder_XL.bin"
|
||||
@@ -609,7 +609,7 @@ ati28800_init(const device_t *info)
|
||||
ati28800->svga.ramdac = device_add(&sc11486_ramdac_device);
|
||||
break;
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
#ifdef USE_XL24
|
||||
case VGAWONDERXL24:
|
||||
ati28800->id = 6;
|
||||
rom_init_interleaved(&ati28800->bios_rom,
|
||||
@@ -618,7 +618,7 @@ ati28800_init(const device_t *info)
|
||||
0xc0000, 0x10000, 0xffff,
|
||||
0, MEM_MAPPING_EXTERNAL);
|
||||
break;
|
||||
#endif
|
||||
#endif /* USE_XL24 */
|
||||
|
||||
default:
|
||||
ati28800->id = 5;
|
||||
@@ -653,11 +653,11 @@ ati28800_init(const device_t *info)
|
||||
ati_eeprom_load(&ati28800->eeprom, "ati28800xl.nvr", 0);
|
||||
break;
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
#ifdef USE_XL24
|
||||
case VGAWONDERXL24:
|
||||
ati_eeprom_load(&ati28800->eeprom, "ati28800xl24.nvr", 0);
|
||||
break;
|
||||
#endif
|
||||
#endif /* USE_XL24 */
|
||||
|
||||
default:
|
||||
ati_eeprom_load(&ati28800->eeprom, "ati28800.nvr", 0);
|
||||
@@ -685,13 +685,13 @@ compaq_ati28800_available(void)
|
||||
return (rom_present(BIOS_VGAXL_ROM_PATH));
|
||||
}
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
#ifdef USE_XL24
|
||||
static int
|
||||
ati28800_wonderxl24_available(void)
|
||||
{
|
||||
return (rom_present(BIOS_XL24_EVEN_PATH) && rom_present(BIOS_XL24_ODD_PATH));
|
||||
}
|
||||
#endif
|
||||
#endif /* USE_XL24 */
|
||||
|
||||
static void
|
||||
ati28800_close(void *priv)
|
||||
@@ -749,7 +749,7 @@ static const device_config_t ati28800_config[] = {
|
||||
}
|
||||
};
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
#ifdef USE_XL24
|
||||
static const device_config_t ati28800_wonderxl_config[] = {
|
||||
{
|
||||
.name = "memory",
|
||||
@@ -778,7 +778,7 @@ static const device_config_t ati28800_wonderxl_config[] = {
|
||||
.type = CONFIG_END
|
||||
}
|
||||
};
|
||||
#endif
|
||||
#endif /* USE_XL24 */
|
||||
// clang-format on
|
||||
|
||||
const device_t ati28800_device = {
|
||||
@@ -851,7 +851,7 @@ const device_t compaq_ati28800_device = {
|
||||
.config = ati28800_config
|
||||
};
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
#ifdef USE_XL24
|
||||
const device_t ati28800_wonderxl24_device = {
|
||||
.name = "ATI-28800 (VGA Wonder XL24)",
|
||||
.internal_name = "ati28800w",
|
||||
@@ -865,4 +865,4 @@ const device_t ati28800_wonderxl24_device = {
|
||||
.force_redraw = ati28800_force_redraw,
|
||||
.config = ati28800_wonderxl_config
|
||||
};
|
||||
#endif
|
||||
#endif /* USE_XL24 */
|
||||
|
||||
@@ -156,7 +156,7 @@ ega_out(uint16_t addr, uint8_t val, void *priv)
|
||||
if (!(val & 1))
|
||||
io_sethandler(0x03a0, 0x0020, ega_in, NULL, NULL, ega_out, NULL, NULL, ega);
|
||||
ega_recalctimings(ega);
|
||||
if ((ega_type == 2) && !(val & 0x02))
|
||||
if ((ega_type == EGA_TYPE_COMPAQ) && !(val & 0x02))
|
||||
mem_mapping_disable(&ega->mapping);
|
||||
else switch (ega->gdcreg[6] & 0xc) {
|
||||
case 0x0: /*128k at A0000*/
|
||||
@@ -227,7 +227,7 @@ ega_out(uint16_t addr, uint8_t val, void *priv)
|
||||
ega->chain2_read = val & 0x10;
|
||||
break;
|
||||
case 6:
|
||||
if ((ega_type == 2) && !(ega->miscout & 0x02))
|
||||
if ((ega_type == EGA_TYPE_COMPAQ) && !(ega->miscout & 0x02))
|
||||
mem_mapping_disable(&ega->mapping);
|
||||
else switch (val & 0xc) {
|
||||
case 0x0: /*128k at A0000*/
|
||||
@@ -615,7 +615,7 @@ ega_recalctimings(ega_t *ega)
|
||||
if (ega->dispofftime < TIMER_USEC)
|
||||
ega->dispofftime = TIMER_USEC;
|
||||
|
||||
if (ega_type == 2) {
|
||||
if (ega_type == EGA_TYPE_COMPAQ) {
|
||||
ega->dot_time = (uint64_t) (ega->dot_clock);
|
||||
if (ega->dot_time < TIMER_USEC)
|
||||
ega->dot_time = TIMER_USEC;
|
||||
@@ -1313,7 +1313,7 @@ ega_read(uint32_t addr, void *priv)
|
||||
return ~(temp | temp2 | temp3 | temp4);
|
||||
}
|
||||
|
||||
if ((ega_type == 2) && (ega->gdcreg[4] & 0x04))
|
||||
if ((ega_type == EGA_TYPE_COMPAQ) && (ega->gdcreg[4] & 0x04))
|
||||
return 0xff;
|
||||
|
||||
return ega->vram[addr | readplane];
|
||||
@@ -1504,7 +1504,7 @@ ega_standalone_init(const device_t *info)
|
||||
ega->vrammask = ega->vram_limit - 1;
|
||||
|
||||
mem_mapping_add(&ega->mapping, 0xa0000, 0x20000, ega_read, NULL, NULL, ega_write, NULL, NULL, NULL, MEM_MAPPING_EXTERNAL, ega);
|
||||
if (ega_type == 2)
|
||||
if (ega_type == EGA_TYPE_COMPAQ)
|
||||
mem_mapping_disable(&ega->mapping);
|
||||
io_sethandler(0x03c0, 0x0020, ega_in, NULL, NULL, ega_out, NULL, NULL, ega);
|
||||
|
||||
|
||||
@@ -60,9 +60,9 @@ video_cards[] = {
|
||||
{ &ati18800_vga88_device },
|
||||
{ &ati28800_device },
|
||||
{ &compaq_ati28800_device },
|
||||
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
#ifdef USE_XL24
|
||||
{ &ati28800_wonderxl24_device },
|
||||
#endif
|
||||
#endif /* USE_XL24 */
|
||||
{ &ati18800_device },
|
||||
{ &ati18800_wonder_device },
|
||||
{ &cga_device },
|
||||
@@ -236,7 +236,7 @@ video_cards[] = {
|
||||
{ &s3_trio3d2x_agp_device },
|
||||
#ifdef USE_G100
|
||||
{ &productiva_g100_device, VIDEO_FLAG_TYPE_SPECIAL },
|
||||
#endif
|
||||
#endif /*USE_G100 */
|
||||
{ &velocity_100_agp_device },
|
||||
{ &velocity_200_agp_device },
|
||||
{ &voodoo_3_1000_agp_device },
|
||||
|
||||
Reference in New Issue
Block a user