Merge branch 'master' of https://github.com/86Box/86Box
This commit is contained in:
@@ -34,18 +34,15 @@ Automatic builds
|
||||
For your convenience, we compile a number of 86Box builds per revision on our
|
||||
Jenkins instance.
|
||||
|
||||
| Regular | Debug | Optimized | Experimental |
|
||||
|:-------:|:-----:|:---------:|:------------:|
|
||||
|[](http://ci.86box.net/job/86Box)|[](http://ci.86box.net/job/86Box-Debug)|[](http://ci.86box.net/job/86Box-Optimized)|[](http://ci.86box.net/job/86Box-Dev)
|
||||
| Regular | Debug | Experimental |
|
||||
|:-------:|:-----:|:------------:|
|
||||
|[](http://ci.86box.net/job/86Box)|[](http://ci.86box.net/job/86Box-Debug)|[](http://ci.86box.net/job/86Box-Dev)
|
||||
|
||||
### Legend
|
||||
* **Regular** builds are compiled using the settings in the building guide
|
||||
above. Use these if you don't know which build to use.
|
||||
* **Debug** builds are same as regular builds but include debug symbols.
|
||||
If you don't need them, you don't need to use this build.
|
||||
* **Optimized** builds have the same feature set as regular builds, but are
|
||||
optimized for every modern Intel and AMD processor architecture, which might
|
||||
improve the emulator's performance in certain scenarios.
|
||||
* **Experimental (Dev)** builds are similar to regular builds but are compiled
|
||||
with certain unfinished features enabled. These builds are not optimized for maximum performance.
|
||||
|
||||
|
@@ -114,28 +114,28 @@ um8669f_pnp_write(uint16_t port, uint8_t val, void *priv)
|
||||
|
||||
switch (dev->cur_device) {
|
||||
case DEV_FDC:
|
||||
if ((dev->cur_reg == REG_ENABLE) && valxor) {
|
||||
if (valxor) {
|
||||
fdc_remove(dev->fdc);
|
||||
if (dev->dev[DEV_FDC].enable & 1)
|
||||
fdc_set_base(dev->fdc, 0x03f0);
|
||||
fdc_set_base(dev->fdc, dev->dev[DEV_FDC].addr);
|
||||
}
|
||||
break;
|
||||
case DEV_COM1:
|
||||
if ((dev->cur_reg == REG_ENABLE) && valxor) {
|
||||
if (valxor) {
|
||||
serial_remove(dev->uart[0]);
|
||||
if (dev->dev[DEV_COM1].enable & 1)
|
||||
serial_setup(dev->uart[0], dev->dev[DEV_COM1].addr, dev->dev[DEV_COM1].irq);
|
||||
}
|
||||
break;
|
||||
case DEV_COM2:
|
||||
if ((dev->cur_reg == REG_ENABLE) && valxor) {
|
||||
if (valxor) {
|
||||
serial_remove(dev->uart[1]);
|
||||
if (dev->dev[DEV_COM2].enable & 1)
|
||||
serial_setup(dev->uart[1], dev->dev[DEV_COM2].addr, dev->dev[DEV_COM2].irq);
|
||||
}
|
||||
break;
|
||||
case DEV_LPT1:
|
||||
if ((dev->cur_reg == REG_ENABLE) && valxor) {
|
||||
if (valxor) {
|
||||
lpt1_remove();
|
||||
if (dev->dev[DEV_LPT1].enable & 1)
|
||||
lpt1_init(dev->dev[DEV_LPT1].addr);
|
||||
@@ -202,6 +202,13 @@ um8669f_write(uint16_t port, uint8_t val, void *priv)
|
||||
if (dev->cur_reg_108 == 0xc1) {
|
||||
new_pnp_active = !!(dev->regs_108[0xc1] & 0x80);
|
||||
if (new_pnp_active != dev->pnp_active) {
|
||||
io_removehandler(0x0279, 0x0001,
|
||||
NULL, NULL, NULL, um8669f_pnp_write, NULL, NULL, dev);
|
||||
io_removehandler(0x0a79, 0x0001,
|
||||
NULL, NULL, NULL, um8669f_pnp_write, NULL, NULL, dev);
|
||||
io_removehandler(0x03e3, 0x0001,
|
||||
um8669f_pnp_read, NULL, NULL, NULL, NULL, NULL, dev);
|
||||
|
||||
if (new_pnp_active) {
|
||||
io_sethandler(0x0279, 0x0001,
|
||||
NULL, NULL, NULL, um8669f_pnp_write, NULL, NULL, dev);
|
||||
@@ -209,14 +216,8 @@ um8669f_write(uint16_t port, uint8_t val, void *priv)
|
||||
NULL, NULL, NULL, um8669f_pnp_write, NULL, NULL, dev);
|
||||
io_sethandler(0x03e3, 0x0001,
|
||||
um8669f_pnp_read, NULL, NULL, NULL, NULL, NULL, dev);
|
||||
} else {
|
||||
io_removehandler(0x0279, 0x0001,
|
||||
NULL, NULL, NULL, um8669f_pnp_write, NULL, NULL, dev);
|
||||
io_removehandler(0x0a79, 0x0001,
|
||||
NULL, NULL, NULL, um8669f_pnp_write, NULL, NULL, dev);
|
||||
io_removehandler(0x03e3, 0x0001,
|
||||
um8669f_pnp_read, NULL, NULL, NULL, NULL, NULL, dev);
|
||||
}
|
||||
|
||||
dev->pnp_active = new_pnp_active;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user