Merge branch 'master' of ssh://github.com/86Box/86Box
This commit is contained in:
@@ -1411,7 +1411,7 @@ dma_retreat(dma_t *dma_c)
|
||||
dma_c->page = dma_c->page_l = (dma_c->ac >> 16) & 0xff;
|
||||
dma_c->page_h = (dma_c->ac >> 24) & 0xff;
|
||||
} else if (as == 2)
|
||||
dma_c->ac = ((dma_c->ac & 0xfffe0000) & dma_mask) | ((dma_c->ac - as) & 0xffff);
|
||||
dma_c->ac = ((dma_c->ac & 0xfffe0000) & dma_mask) | ((dma_c->ac - as) & 0x1ffff);
|
||||
else
|
||||
dma_c->ac = ((dma_c->ac & 0xffff0000) & dma_mask) | ((dma_c->ac - as) & 0xffff);
|
||||
}
|
||||
@@ -1427,7 +1427,7 @@ dma_advance(dma_t *dma_c)
|
||||
dma_c->page = dma_c->page_l = (dma_c->ac >> 16) & 0xff;
|
||||
dma_c->page_h = (dma_c->ac >> 24) & 0xff;
|
||||
} else if (as == 2)
|
||||
dma_c->ac = ((dma_c->ac & 0xfffe0000) & dma_mask) | ((dma_c->ac + as) & 0xffff);
|
||||
dma_c->ac = ((dma_c->ac & 0xfffe0000) & dma_mask) | ((dma_c->ac + as) & 0x1ffff);
|
||||
else
|
||||
dma_c->ac = ((dma_c->ac & 0xffff0000) & dma_mask) | ((dma_c->ac + as) & 0xffff);
|
||||
}
|
||||
|
||||
@@ -869,13 +869,17 @@ machine_at_nupro592_init(const machine_t *model)
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0B, PCI_CARD_VIDEO, 3, 4, 1, 2); /* C&T B69000 */
|
||||
pci_register_slot(0x0C, PCI_CARD_NETWORK, 4, 1, 2, 3); /* Intel 82559 */
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2); /*Strongly suspect these are on-board slots*/
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4); /* PIIX4 */
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&keyboard_ps2_ami_pci_device);
|
||||
|
||||
@@ -11922,7 +11922,7 @@ const machine_t machines[] = {
|
||||
/* 430TX */
|
||||
/* The BIOS sends KBC command B8, CA, and CB, so it has an AMI KBC firmware. */
|
||||
{
|
||||
.name = "[i430TX] ADLink NuPRO-592",
|
||||
.name = "[i430TX] ADLink NuPRO-591/592",
|
||||
.internal_name = "nupro592",
|
||||
.type = MACHINE_TYPE_SOCKET7,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430TX,
|
||||
@@ -11942,7 +11942,7 @@ const machine_t machines[] = {
|
||||
.max_multi = 5.5
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI, /* Has internal video: C&T B69000 */
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI | MACHINE_VIDEO,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 262144,
|
||||
@@ -11956,7 +11956,7 @@ const machine_t machines[] = {
|
||||
.device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.vid_device = &chips_69000_onboard_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
|
||||
@@ -164,46 +164,6 @@ mem_log(const char *fmt, ...)
|
||||
# define mem_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
#ifdef USE_DEBUG_REGS_486
|
||||
/* As below, 1 = exec, 4 = read. */
|
||||
int read_type = 4;
|
||||
|
||||
/* Set trap for data address breakpoints - 1 = exec, 2 = write, 4 = read. */
|
||||
void
|
||||
mem_debug_check_addr(uint32_t addr, int flags)
|
||||
{
|
||||
uint32_t bp_addr;
|
||||
uint32_t bp_mask;
|
||||
uint32_t len_type_pair;
|
||||
int bp_enabled;
|
||||
uint8_t match_flags[4] = { 0, 2, 0, 6 };
|
||||
|
||||
if (cpu_state.abrt || ((flags == 1) && (cpu_state.eflags & RF_FLAG)))
|
||||
return;
|
||||
|
||||
if (dr[7] & 0x000000ff) for (uint8_t i = 0; i < 4; i++) {
|
||||
bp_addr = dr[i];
|
||||
bp_enabled = (dr[7] >> (i << 1)) & 0x03;
|
||||
len_type_pair = (dr[7] >> (16 + (i << 2))) & 0x0f;
|
||||
bp_mask = ~((len_type_pair >> 2) & 0x03);
|
||||
|
||||
if ((flags & match_flags[len_type_pair & 0x03]) && ((bp_addr & bp_mask) == (addr & bp_mask))) {
|
||||
/*
|
||||
From the Intel i386 documemntation:
|
||||
|
||||
(Note that the processor sets Bn regardless of whether Gn or
|
||||
Ln is set. If more than one breakpoint condition occurs at one time and if
|
||||
the breakpoint trap occurs due to an enabled condition other than n, Bn may
|
||||
be set, even though neither Gn nor Ln is set.)
|
||||
*/
|
||||
dr[6] |= (1 << i);
|
||||
if (bp_enabled)
|
||||
trap |= (read_type == 1) ? 8 : 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
mem_addr_is_ram(uint32_t addr)
|
||||
{
|
||||
|
||||
@@ -145,6 +145,7 @@ et4000_in(uint16_t addr, void *priv)
|
||||
case 0x3c9:
|
||||
if (dev->type >= ET4000_TYPE_ISA)
|
||||
return sc1502x_ramdac_in(addr, svga->ramdac, svga);
|
||||
break;
|
||||
|
||||
case 0x3cd: /*Banking*/
|
||||
return dev->banking;
|
||||
|
||||
Reference in New Issue
Block a user