diff --git a/src/device/isartc.c b/src/device/isartc.c index 2eaf4c5bd..664793db3 100644 --- a/src/device/isartc.c +++ b/src/device/isartc.c @@ -92,8 +92,8 @@ #define ISARTC_MPLUS2 5 #define ISARTC_MM58167 10 -#define ISARTC_ROM_MM58167_1 "roms/rtc/glatick/GLaTICK_0.8.5_NS_RP.ROM" -#define ISARTC_ROM_MM58167_2 "roms/rtc/glatick/GLaTICK_0.8.5_86B.ROM" +#define ISARTC_ROM_MM58167_1 "roms/rtc/glatick/GLaTICK_0.8.8_NS_86B.ROM" /* Generic 58167, AST or EV-170 */ +#define ISARTC_ROM_MM58167_2 "roms/rtc/glatick/GLaTICK_0.8.8_NS_86B2.ROM" /* PII-147 */ #define ISARTC_DEBUG 0 @@ -410,6 +410,7 @@ mm67_read(uint16_t port, void *priv) break; case MM67_AL_MSEC: + case MM67_MSEC: ret = dev->nvr.regs[reg] & 0xf0; break; @@ -417,6 +418,10 @@ mm67_read(uint16_t port, void *priv) ret = dev->nvr.regs[reg] & 0x0f; break; + case MM67_DOW: + ret = dev->nvr.regs[reg] & 0x07; + break; + default: ret = dev->nvr.regs[reg]; break; diff --git a/src/include/86box/86box.h b/src/include/86box/86box.h index 4494290d6..a8b0df1ee 100644 --- a/src/include/86box/86box.h +++ b/src/include/86box/86box.h @@ -25,6 +25,11 @@ #include #endif +#if defined(__HAIKU__) +/* Doesn't compile on Haiku without this include */ +#include +#endif + /* Configuration values. */ #define GFXCARD_MAX 2 #define SERIAL_MAX 8 diff --git a/src/machine/m_amstrad.c b/src/machine/m_amstrad.c index d3ea20c6e..17bcb62bd 100644 --- a/src/machine/m_amstrad.c +++ b/src/machine/m_amstrad.c @@ -2247,7 +2247,7 @@ ams_write(uint16_t port, uint8_t val, void *priv) case 0x0378: case 0x0379: case 0x037a: - lpt_write(port, val, &lpt_ports[0]); + lpt_write(port, val, ams->lpt); break; case 0xdead: @@ -2267,7 +2267,7 @@ ams_read(uint16_t port, void *priv) switch (port) { case 0x0378: - ret = lpt_read(port, &lpt_ports[0]); + ret = lpt_read(port, ams->lpt); break; case 0x0379: /* printer control, also set LK1-3. @@ -2281,11 +2281,11 @@ ams_read(uint16_t port, void *priv) * 1 Italian Language. * 0 Diagnostic Mode. */ - ret = (lpt_read(port, &lpt_ports[0]) & 0xf8) | ams->language; + ret = (lpt_read(port, ams->lpt) & 0xf8) | ams->language; break; case 0x037a: /* printer status */ - ret = lpt_read(port, &lpt_ports[0]) & 0x1f; + ret = lpt_read(port, ams->lpt) & 0x1f; switch (ams->type) { case AMS_PC1512: diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 5ed16fed3..88a8527fb 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -6458,7 +6458,7 @@ const machine_t machines[] = { .flags = MACHINE_APM, .ram = { .min = 1024, - .max = 49152, + .max = 65536, .step = 1024 }, .nvrmask = 127, @@ -8324,7 +8324,7 @@ const machine_t machines[] = { .flags = MACHINE_SUPER_IO | MACHINE_IDE | MACHINE_APM, .ram = { .min = 1024, - .max = 32768, + .max = 131072, .step = 1024 }, .nvrmask = 127, @@ -8365,7 +8365,7 @@ const machine_t machines[] = { .flags = MACHINE_APM, .ram = { .min = 1024, - .max = 40960, + .max = 131072, .step = 1024 }, .nvrmask = 127, @@ -8704,8 +8704,8 @@ const machine_t machines[] = { .bus_flags = MACHINE_PS2, .flags = MACHINE_SUPER_IO | MACHINE_IDE | MACHINE_APM, /* Has onboard video: C&T F65545 */ .ram = { - .min = 1024, - .max = 32768, + .min = 8192, + .max = 73728, .step = 1024 }, .nvrmask = 255, diff --git a/src/network/netswitch.c b/src/network/netswitch.c index 2ca9ec454..54815a682 100644 --- a/src/network/netswitch.c +++ b/src/network/netswitch.c @@ -454,7 +454,7 @@ ns_send_pb(NSCONN *conn, const netpkt_t *packet,int flags) { conn->stats.max_tx_packet = nc; } if(nc > MAX_FRAME_SEND_SIZE) { - conn->stats.total_fragments = fragment_count > 1 ? conn->stats.total_fragments += fragment_count : conn->stats.total_fragments; + conn->stats.total_fragments = fragment_count > 1 ? conn->stats.total_fragments + fragment_count : conn->stats.total_fragments; } conn->stats.total_tx_packets++; memcpy(conn->stats.last_tx_ethertype, &packet->data[12], 2);