2017-06-03 16:34:40 +02:00
|
|
|
/*This is the chipset used in the LaserXT series model*/
|
2017-09-25 04:31:20 -04:00
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <stdint.h>
|
2025-05-05 05:11:55 +02:00
|
|
|
#include <stdlib.h>
|
2017-09-25 04:31:20 -04:00
|
|
|
#include <string.h>
|
|
|
|
|
#include <wchar.h>
|
2020-03-29 14:24:42 +02:00
|
|
|
#include <86box/86box.h>
|
2020-02-29 19:12:23 +01:00
|
|
|
#include "cpu.h"
|
2020-03-29 14:24:42 +02:00
|
|
|
#include <86box/io.h>
|
|
|
|
|
#include <86box/mem.h>
|
|
|
|
|
#include <86box/nmi.h>
|
|
|
|
|
#include <86box/timer.h>
|
|
|
|
|
#include <86box/pit.h>
|
|
|
|
|
#include <86box/rom.h>
|
|
|
|
|
#include <86box/machine.h>
|
|
|
|
|
#include <86box/device.h>
|
|
|
|
|
#include <86box/timer.h>
|
|
|
|
|
#include <86box/fdd.h>
|
|
|
|
|
#include <86box/fdc.h>
|
2021-02-07 17:27:14 +02:00
|
|
|
#include <86box/fdc_ext.h>
|
2020-03-29 14:24:42 +02:00
|
|
|
#include <86box/gameport.h>
|
|
|
|
|
#include <86box/keyboard.h>
|
2023-06-09 23:46:54 -04:00
|
|
|
#include <86box/plat_unused.h>
|
2017-06-16 16:00:44 -04:00
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
#define EMS_TOTAL_MAX 0x00100000
|
2017-06-16 16:00:44 -04:00
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
typedef struct
|
2017-06-03 16:34:40 +02:00
|
|
|
{
|
2025-05-05 05:11:55 +02:00
|
|
|
uint8_t page;
|
|
|
|
|
uint8_t ctrl;
|
|
|
|
|
|
|
|
|
|
uint32_t phys;
|
|
|
|
|
uint32_t virt;
|
|
|
|
|
|
|
|
|
|
mem_mapping_t mapping;
|
|
|
|
|
|
|
|
|
|
uint8_t *ram;
|
|
|
|
|
|
|
|
|
|
void *parent;
|
|
|
|
|
} lxt_ems_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int ems_base_idx;
|
|
|
|
|
|
|
|
|
|
lxt_ems_t ems[4];
|
|
|
|
|
|
|
|
|
|
uint16_t io_base;
|
|
|
|
|
uint32_t base;
|
2017-11-11 16:51:50 +01:00
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
uint32_t mem_size;
|
|
|
|
|
|
|
|
|
|
uint8_t *ram;
|
|
|
|
|
|
|
|
|
|
void *parent;
|
|
|
|
|
} lxt_ems_board_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int is_lxt3;
|
|
|
|
|
|
|
|
|
|
lxt_ems_board_t *ems_boards[2];
|
|
|
|
|
} lxt_t;
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
|
ems_update_virt(lxt_ems_t *dev, uint8_t new_page)
|
|
|
|
|
{
|
|
|
|
|
lxt_ems_board_t *board = (lxt_ems_board_t *) dev->parent;
|
|
|
|
|
lxt_t *lxt = (lxt_t *) board->parent;
|
|
|
|
|
|
|
|
|
|
dev->page = new_page;
|
|
|
|
|
|
|
|
|
|
if (new_page & 0x80) {
|
|
|
|
|
if (lxt->is_lxt3) {
|
|
|
|
|
/* Point invalid pages at 1 MB which is outside the maximum. */
|
|
|
|
|
if ((new_page & 0x7f) >= 0x40)
|
|
|
|
|
dev->virt = EMS_TOTAL_MAX;
|
|
|
|
|
else
|
|
|
|
|
dev->virt = ((new_page & 0x7f) << 14);
|
|
|
|
|
} else
|
|
|
|
|
dev->virt = ((new_page & 0x0f) << 14) + ((new_page & 0x40) << 12);
|
|
|
|
|
|
|
|
|
|
if (dev->virt >= board->mem_size)
|
|
|
|
|
dev->virt = EMS_TOTAL_MAX;
|
|
|
|
|
} else
|
|
|
|
|
dev->virt = EMS_TOTAL_MAX;
|
|
|
|
|
|
|
|
|
|
dev->ram = board->ram + dev->virt;
|
|
|
|
|
|
|
|
|
|
if ((new_page & 0x80) && (dev->virt != EMS_TOTAL_MAX)) {
|
|
|
|
|
mem_mapping_enable(&dev->mapping);
|
|
|
|
|
|
|
|
|
|
mem_mapping_set_exec(&dev->mapping, dev->ram);
|
|
|
|
|
mem_mapping_set_p(&dev->mapping, dev->ram);
|
|
|
|
|
} else
|
|
|
|
|
mem_mapping_disable(&dev->mapping);
|
|
|
|
|
|
|
|
|
|
flushmmucache();
|
2017-06-03 16:34:40 +02:00
|
|
|
}
|
|
|
|
|
|
2022-07-27 15:17:53 -04:00
|
|
|
static void
|
2025-05-05 05:11:55 +02:00
|
|
|
lxt_ems_out(uint16_t port, uint8_t val, void *priv)
|
2017-06-03 16:34:40 +02:00
|
|
|
{
|
2025-05-05 05:11:55 +02:00
|
|
|
lxt_ems_board_t *dev = (lxt_ems_board_t *) priv;
|
|
|
|
|
uint8_t reg = port >> 14;
|
|
|
|
|
uint32_t saddrs[8] = { 0xc4000, 0xc8000, 0xcc000, 0xd0000,
|
|
|
|
|
0xd4000, 0xd8000, 0xdc000, 0xe0000 };
|
|
|
|
|
uint32_t saddr;
|
|
|
|
|
|
|
|
|
|
if (port & 0x0001) {
|
|
|
|
|
dev->ems[reg].ctrl = val;
|
|
|
|
|
|
|
|
|
|
if (reg < 0x03) {
|
|
|
|
|
dev->ems_base_idx = (dev->ems_base_idx & ~(0x04 >> (2 - reg))) |
|
|
|
|
|
((dev->ems[reg].ctrl & 0x80) >> (7 - reg));
|
|
|
|
|
|
|
|
|
|
saddr = saddrs[dev->ems_base_idx];
|
|
|
|
|
|
2023-05-11 03:02:36 -04:00
|
|
|
for (uint8_t i = 0; i < 4; i++) {
|
2025-05-05 05:11:55 +02:00
|
|
|
uint32_t base = saddr + (i * 0x4000);
|
|
|
|
|
mem_mapping_set_addr(&dev->ems[i].mapping, base, 0x4000);
|
|
|
|
|
if (!(dev->ems[i].page & 0x80) || (dev->ems[i].virt == EMS_TOTAL_MAX))
|
|
|
|
|
mem_mapping_disable(&dev->ems[i].mapping);
|
2022-07-27 15:17:53 -04:00
|
|
|
}
|
2025-05-05 05:11:55 +02:00
|
|
|
}
|
2022-07-27 15:17:53 -04:00
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
flushmmucache();
|
|
|
|
|
} else if (!(port & 0x0001)) {
|
|
|
|
|
dev->ems[reg].page = val;
|
|
|
|
|
ems_update_virt(&dev->ems[reg], val);
|
2022-07-27 15:17:53 -04:00
|
|
|
}
|
2017-06-03 16:34:40 +02:00
|
|
|
}
|
|
|
|
|
|
2022-07-27 15:17:53 -04:00
|
|
|
static uint8_t
|
2025-05-05 05:11:55 +02:00
|
|
|
lxt_ems_in(uint16_t port, void *priv)
|
2017-06-03 16:34:40 +02:00
|
|
|
{
|
2025-05-05 05:11:55 +02:00
|
|
|
lxt_ems_board_t *dev = (lxt_ems_board_t *) priv;
|
|
|
|
|
uint8_t reg = port >> 14;
|
|
|
|
|
uint8_t ret = 0xff;
|
|
|
|
|
|
|
|
|
|
if (port & 0x0001)
|
|
|
|
|
ret = dev->ems[reg].ctrl;
|
|
|
|
|
else
|
|
|
|
|
ret = dev->ems[reg].page;
|
|
|
|
|
|
|
|
|
|
return ret;
|
2017-06-03 16:34:40 +02:00
|
|
|
}
|
|
|
|
|
|
2022-07-27 15:17:53 -04:00
|
|
|
static void
|
2025-05-05 05:11:55 +02:00
|
|
|
lxt_ems_write(uint32_t addr, uint8_t val, void *priv)
|
2017-06-03 16:34:40 +02:00
|
|
|
{
|
2025-05-05 05:11:55 +02:00
|
|
|
uint8_t *mem = (uint8_t *) priv;
|
|
|
|
|
|
|
|
|
|
mem[addr & 0x3fff] = val;
|
2017-06-03 16:34:40 +02:00
|
|
|
}
|
|
|
|
|
|
2025-05-09 04:20:22 +02:00
|
|
|
static void
|
|
|
|
|
lxt_ems_writew(uint32_t addr, uint16_t val, void *priv)
|
|
|
|
|
{
|
|
|
|
|
uint8_t *mem = (uint8_t *) priv;
|
|
|
|
|
|
|
|
|
|
*(uint16_t *) &(mem[addr & 0x3fff]) = val;
|
|
|
|
|
}
|
|
|
|
|
|
2022-07-27 15:17:53 -04:00
|
|
|
static uint8_t
|
2025-05-05 05:11:55 +02:00
|
|
|
lxt_ems_read(uint32_t addr, void *priv)
|
2017-06-03 16:34:40 +02:00
|
|
|
{
|
2025-05-05 05:11:55 +02:00
|
|
|
uint8_t *mem = (uint8_t *) priv;
|
|
|
|
|
uint8_t ret = 0xff;
|
|
|
|
|
|
|
|
|
|
ret = mem[addr & 0x3fff];
|
|
|
|
|
|
|
|
|
|
return ret;
|
2017-06-03 16:34:40 +02:00
|
|
|
}
|
|
|
|
|
|
2025-05-09 04:20:22 +02:00
|
|
|
static uint16_t
|
|
|
|
|
lxt_ems_readw(uint32_t addr, void *priv)
|
|
|
|
|
{
|
2025-05-09 20:21:28 +02:00
|
|
|
uint8_t *mem = (uint8_t *) priv;
|
|
|
|
|
uint16_t ret = 0xff;
|
2025-05-09 04:20:22 +02:00
|
|
|
|
|
|
|
|
ret = *(uint16_t *) &(mem[addr & 0x3fff]);
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
static lxt_ems_board_t *
|
|
|
|
|
lxt_ems_init(lxt_t *parent, int en, uint16_t io, uint32_t mem)
|
2017-06-03 16:34:40 +02:00
|
|
|
{
|
2025-05-05 05:11:55 +02:00
|
|
|
lxt_ems_board_t *dev = (lxt_ems_board_t *) calloc(1, sizeof(lxt_ems_board_t));
|
|
|
|
|
|
|
|
|
|
if (en) {
|
|
|
|
|
dev->parent = parent;
|
|
|
|
|
|
|
|
|
|
if (io != 0x0000) {
|
|
|
|
|
io_sethandler(io , 0x0002, lxt_ems_in, NULL, NULL, lxt_ems_out, NULL, NULL, dev);
|
|
|
|
|
io_sethandler(io | 0x4000, 0x0002, lxt_ems_in, NULL, NULL, lxt_ems_out, NULL, NULL, dev);
|
|
|
|
|
io_sethandler(io | 0x8000, 0x0002, lxt_ems_in, NULL, NULL, lxt_ems_out, NULL, NULL, dev);
|
|
|
|
|
io_sethandler(io | 0xc000, 0x0002, lxt_ems_in, NULL, NULL, lxt_ems_out, NULL, NULL, dev);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dev->ram = (uint8_t *) calloc(mem, sizeof(uint8_t));
|
|
|
|
|
dev->mem_size = mem;
|
|
|
|
|
|
|
|
|
|
for (uint8_t i = 0; i < 4; i++) {
|
|
|
|
|
uint8_t *ptr = dev->ram + (i << 14);
|
|
|
|
|
|
2025-05-09 04:20:22 +02:00
|
|
|
if (parent->is_lxt3)
|
|
|
|
|
mem_mapping_add(&dev->ems[i].mapping, 0xe0000 + (i << 14), 0x4000,
|
|
|
|
|
lxt_ems_read, lxt_ems_readw, NULL,
|
|
|
|
|
lxt_ems_write, lxt_ems_writew, NULL,
|
|
|
|
|
ptr, 0, ptr);
|
|
|
|
|
else
|
|
|
|
|
mem_mapping_add(&dev->ems[i].mapping, 0xe0000 + (i << 14), 0x4000,
|
|
|
|
|
lxt_ems_read, NULL, NULL,
|
|
|
|
|
lxt_ems_write, NULL, NULL,
|
|
|
|
|
ptr, 0, ptr);
|
|
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
mem_mapping_disable(&dev->ems[i].mapping);
|
|
|
|
|
|
|
|
|
|
dev->ems[i].page = 0x7f;
|
|
|
|
|
dev->ems[i].ctrl = (i == 3) ? 0x00 : 0x80;
|
|
|
|
|
|
|
|
|
|
dev->ems[i].parent = dev;
|
|
|
|
|
|
|
|
|
|
ems_update_virt(&(dev->ems[i]), dev->ems[i].page);
|
|
|
|
|
}
|
2022-07-27 15:17:53 -04:00
|
|
|
}
|
|
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
return dev;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
|
lxt_close(void *priv)
|
|
|
|
|
{
|
|
|
|
|
lxt_t *dev = (lxt_t *) priv;
|
|
|
|
|
int ems_boards = (1 - dev->is_lxt3) + 1;
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < ems_boards; i++)
|
|
|
|
|
if (dev->ems_boards[i] != NULL) {
|
|
|
|
|
if (dev->ems_boards[i]->ram != NULL)
|
|
|
|
|
free(dev->ems_boards[i]->ram);
|
|
|
|
|
free(dev->ems_boards[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
free(dev);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void *
|
|
|
|
|
lxt_init(const device_t *info)
|
|
|
|
|
{
|
|
|
|
|
lxt_t * dev = (lxt_t *) calloc(1, sizeof(lxt_t));
|
|
|
|
|
int ems_boards = (1 - info->local) + 1;
|
|
|
|
|
int ems_en[2] = { 0 };
|
|
|
|
|
uint16_t ems_io[2] = { 0 };
|
|
|
|
|
uint32_t ems_mem[2] = { 0 };
|
|
|
|
|
char conf_str[512] = { 0 };
|
|
|
|
|
|
|
|
|
|
dev->is_lxt3 = info->local;
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < ems_boards; i++) {
|
|
|
|
|
sprintf(conf_str, "ems_%i_enable", i + 1);
|
|
|
|
|
ems_en[i] = device_get_config_int(conf_str);
|
|
|
|
|
|
|
|
|
|
sprintf(conf_str, "ems_%i_base", i + 1);
|
|
|
|
|
ems_io[i] = device_get_config_hex16(conf_str);
|
|
|
|
|
|
|
|
|
|
sprintf(conf_str, "ems_%i_mem_size", i + 1);
|
|
|
|
|
ems_mem[i] = device_get_config_int(conf_str) << 10;
|
|
|
|
|
|
|
|
|
|
dev->ems_boards[i] = lxt_ems_init(dev, ems_en[i], ems_io[i], ems_mem[i]);
|
2022-07-27 15:17:53 -04:00
|
|
|
}
|
2025-05-05 05:11:55 +02:00
|
|
|
|
2022-07-27 15:17:53 -04:00
|
|
|
mem_set_mem_state(0x0c0000, 0x40000, MEM_READ_EXTANY | MEM_WRITE_EXTANY);
|
2025-05-05 05:11:55 +02:00
|
|
|
|
|
|
|
|
return dev;
|
2017-06-03 16:34:40 +02:00
|
|
|
}
|
2017-09-02 20:39:57 +02:00
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
static const device_config_t laserxt_config[] = {
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_1_base",
|
|
|
|
|
.description = "EMS 1 Address",
|
|
|
|
|
.type = CONFIG_HEX16,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = { 0 },
|
|
|
|
|
.selection = {
|
|
|
|
|
{ .description = "Disabled", .value = 0 },
|
|
|
|
|
{ .description = "0x208", .value = 0x208 },
|
|
|
|
|
{ .description = "0x218", .value = 0x218 },
|
|
|
|
|
{ .description = "0x258", .value = 0x258 },
|
|
|
|
|
{ .description = "0x268", .value = 0x268 },
|
|
|
|
|
{ .description = "0x2A8", .value = 0x2a8 },
|
|
|
|
|
{ .description = "0x2B8", .value = 0x2b8 },
|
|
|
|
|
{ .description = "0x2E8", .value = 0x2e8 },
|
|
|
|
|
{ .description = "" }
|
|
|
|
|
},
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_2_base",
|
|
|
|
|
.description = "EMS 2 Address",
|
|
|
|
|
.type = CONFIG_HEX16,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = { 0 },
|
|
|
|
|
.selection = {
|
|
|
|
|
{ .description = "Disabled", .value = 0 },
|
|
|
|
|
{ .description = "0x208", .value = 0x208 },
|
|
|
|
|
{ .description = "0x218", .value = 0x218 },
|
|
|
|
|
{ .description = "0x258", .value = 0x258 },
|
|
|
|
|
{ .description = "0x268", .value = 0x268 },
|
|
|
|
|
{ .description = "0x2A8", .value = 0x2a8 },
|
|
|
|
|
{ .description = "0x2B8", .value = 0x2b8 },
|
|
|
|
|
{ .description = "0x2E8", .value = 0x2e8 },
|
|
|
|
|
{ .description = "" }
|
|
|
|
|
},
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_1_mem_size",
|
|
|
|
|
.description = "EMS 1 Memory Size",
|
|
|
|
|
.type = CONFIG_SPINNER,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = {
|
|
|
|
|
.min = 0,
|
|
|
|
|
.max = 512,
|
|
|
|
|
.step = 32
|
|
|
|
|
},
|
|
|
|
|
.selection = { { 0 } },
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_2_mem_size",
|
|
|
|
|
.description = "EMS 2 Memory Size",
|
|
|
|
|
.type = CONFIG_SPINNER,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = {
|
|
|
|
|
.min = 0,
|
|
|
|
|
.max = 512,
|
|
|
|
|
.step = 32
|
|
|
|
|
},
|
|
|
|
|
.selection = { { 0 } },
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_1_enable",
|
|
|
|
|
.description = "Enable EMS 1",
|
|
|
|
|
.type = CONFIG_BINARY,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = { 0 },
|
|
|
|
|
.selection = { { 0 } },
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_2_enable",
|
|
|
|
|
.description = "Enable EMS 2",
|
|
|
|
|
.type = CONFIG_BINARY,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = { 0 },
|
|
|
|
|
.selection = { { 0 } },
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{ .name = "", .description = "", .type = CONFIG_END }
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const device_t laserxt_device = {
|
|
|
|
|
.name = "VTech Laser Turbo XT",
|
|
|
|
|
.internal_name = "laserxt",
|
|
|
|
|
.flags = 0,
|
|
|
|
|
.local = 0,
|
|
|
|
|
.init = lxt_init,
|
|
|
|
|
.close = lxt_close,
|
|
|
|
|
.reset = NULL,
|
|
|
|
|
.available = NULL,
|
|
|
|
|
.speed_changed = NULL,
|
|
|
|
|
.force_redraw = NULL,
|
|
|
|
|
.config = laserxt_config
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const device_config_t lxt3_config[] = {
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_1_base",
|
|
|
|
|
.description = "EMS Address",
|
|
|
|
|
.type = CONFIG_HEX16,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = { 0 },
|
|
|
|
|
.selection = {
|
|
|
|
|
{ .description = "Disabled", .value = 0 },
|
|
|
|
|
{ .description = "0x208", .value = 0x208 },
|
|
|
|
|
{ .description = "0x218", .value = 0x218 },
|
|
|
|
|
{ .description = "0x258", .value = 0x258 },
|
|
|
|
|
{ .description = "0x268", .value = 0x268 },
|
|
|
|
|
{ .description = "0x2A8", .value = 0x2a8 },
|
|
|
|
|
{ .description = "0x2B8", .value = 0x2b8 },
|
|
|
|
|
{ .description = "0x2E8", .value = 0x2e8 },
|
|
|
|
|
{ .description = "" }
|
|
|
|
|
},
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_1_mem_size",
|
|
|
|
|
.description = "EMS Memory Size",
|
|
|
|
|
.type = CONFIG_SPINNER,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = {
|
|
|
|
|
.min = 0,
|
|
|
|
|
.max = 1024,
|
|
|
|
|
.step = 32
|
|
|
|
|
},
|
|
|
|
|
.selection = { { 0 } },
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
.name = "ems_1_enable",
|
|
|
|
|
.description = "Enable EMS",
|
|
|
|
|
.type = CONFIG_BINARY,
|
|
|
|
|
.default_string = NULL,
|
|
|
|
|
.default_int = 0,
|
|
|
|
|
.file_filter = NULL,
|
|
|
|
|
.spinner = { 0 },
|
|
|
|
|
.selection = { { 0 } },
|
|
|
|
|
.bios = { { 0 } }
|
|
|
|
|
},
|
|
|
|
|
{ .name = "", .description = "", .type = CONFIG_END }
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const device_t lxt3_device = {
|
|
|
|
|
.name = "VTech Laser Turbo XT",
|
|
|
|
|
.internal_name = "laserxt",
|
|
|
|
|
.flags = 0,
|
|
|
|
|
.local = 1,
|
|
|
|
|
.init = lxt_init,
|
|
|
|
|
.close = lxt_close,
|
|
|
|
|
.reset = NULL,
|
|
|
|
|
.available = NULL,
|
|
|
|
|
.speed_changed = NULL,
|
|
|
|
|
.force_redraw = NULL,
|
|
|
|
|
.config = lxt3_config
|
|
|
|
|
};
|
|
|
|
|
|
2023-01-08 15:58:36 -05:00
|
|
|
static void
|
|
|
|
|
machine_xt_laserxt_common_init(const machine_t *model,int is_lxt3)
|
|
|
|
|
{
|
|
|
|
|
machine_common_init(model);
|
|
|
|
|
|
|
|
|
|
pit_devs[0].set_out_func(pit_devs[0].data, 1, pit_refresh_timer_xt);
|
|
|
|
|
|
2024-07-20 01:14:35 -04:00
|
|
|
if (fdc_current[0] == FDC_INTERNAL)
|
2023-01-08 15:58:36 -05:00
|
|
|
device_add(&fdc_xt_device);
|
|
|
|
|
|
|
|
|
|
nmi_init();
|
|
|
|
|
standalone_gameport_type = &gameport_device;
|
|
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
device_add(is_lxt3 ? &lxt3_device : &laserxt_device);
|
2025-03-29 18:36:33 +01:00
|
|
|
|
|
|
|
|
device_add(&keyboard_xt_lxt3_device);
|
2023-01-08 15:58:36 -05:00
|
|
|
}
|
|
|
|
|
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
int
|
2018-03-19 01:02:04 +01:00
|
|
|
machine_xt_laserxt_init(const machine_t *model)
|
2017-09-02 20:39:57 +02:00
|
|
|
{
|
2022-07-27 15:17:53 -04:00
|
|
|
int ret;
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
|
2022-07-27 15:17:53 -04:00
|
|
|
ret = bios_load_linear("roms/machines/ltxt/27c64.bin",
|
|
|
|
|
0x000fe000, 8192, 0);
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
|
2022-07-27 15:17:53 -04:00
|
|
|
if (bios_only || !ret)
|
|
|
|
|
return ret;
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
|
2023-01-08 15:58:36 -05:00
|
|
|
machine_xt_laserxt_common_init(model, 0);
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2017-09-02 20:39:57 +02:00
|
|
|
}
|
2018-09-15 16:15:39 +02:00
|
|
|
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
int
|
2018-09-15 16:15:39 +02:00
|
|
|
machine_xt_lxt3_init(const machine_t *model)
|
|
|
|
|
{
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/lxt3/27c64d.bin",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000fe000, 8192, 0);
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
|
2023-01-08 15:58:36 -05:00
|
|
|
machine_xt_laserxt_common_init(model, 1);
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
|
|
|
|
|
return ret;
|
2018-09-15 16:15:39 +02:00
|
|
|
}
|