Skip to content

Commit dd8308f

Browse files
authored
Merge branch 'version/4.2' into svga_blank_reset
2 parents 1406c17 + d2c5420 commit dd8308f

File tree

255 files changed

+5053
-35949
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

255 files changed

+5053
-35949
lines changed

.github/workflows/codeql_windows_msys2.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ jobs:
6161
new: on
6262
slug: -NDR
6363
ui:
64-
- name: Win32 GUI
65-
qt: off
66-
static: on
6764
- name: Qt GUI
6865
qt: on
6966
static: off

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,6 @@ CMakeLists.txt.user
5959

6060
# MacOS Finder stuff
6161
.DS_Store
62+
63+
# clangd
64+
.cache

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ option(RTMIDI "RtMidi"
131131
option(FLUIDSYNTH "FluidSynth" ON)
132132
option(MUNT "MUNT" ON)
133133
option(VNC "VNC renderer" OFF)
134-
option(DINPUT "DirectInput" OFF)
135134
option(CPPTHREADS "C++11 threads" ON)
136135
option(NEW_DYNAREC "Use the PCem v15 (\"new\") dynamic recompiler" OFF)
137136
option(MINITRACE "Enable Chrome tracing using the modified minitrace library" OFF)

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ Performance may vary depending on both host and guest configuration. Most emulat
3131
It is also recommended to use a manager application with 86Box for easier handling of multiple virtual machines.
3232

3333
* [86Box Manager](https://github.com/86Box/86BoxManager) by [Overdoze](https://github.com/daviunic) (Windows only)
34-
* [Linbox-qt5](https://github.com/Dungeonseeker/linbox-qt5) by Dungeonseeker (Linux focused, should work on Windows though untested)
34+
* [86Box Manager X](https://github.com/RetBox/86BoxManagerX) by [xafero](https://github.com/xafero) (Cross platform Port of 86Box Manager using Avalonia)
35+
* [sl86](https://github.com/DDXofficial/sl86) by [DDX](https://github.com/DDXofficial) (Command-line 86Box machine manager written in Python)
36+
* [Linbox-qt5](https://github.com/Dungeonseeker/linbox-qt5) by [Dungeonseeker](https://github.com/Dungeonseeker/) (Linux focused, should work on Windows though untested)
3537
* [MacBox for 86Box](https://github.com/Moonif/MacBox) by [Moonif](https://github.com/Moonif) (MacOS only)
3638

3739
It is also possible to use 86Box on its own with the `--vmpath`/`-P` command line option.

src/86box.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
#include <86box/bugger.h>
6767
#include <86box/postcard.h>
6868
#include <86box/unittester.h>
69+
#include <86box/novell_cardkey.h>
6970
#include <86box/isamem.h>
7071
#include <86box/isartc.h>
7172
#include <86box/lpt.h>
@@ -173,6 +174,7 @@ char video_shader[512] = { '\0' }; /* (C) video *
173174
bool serial_passthrough_enabled[SERIAL_MAX] = { 0, 0, 0, 0 }; /* (C) activation and kind of
174175
pass-through for serial ports */
175176
int bugger_enabled = 0; /* (C) enable ISAbugger */
177+
int novell_keycard_enabled = 0; /* (C) enable Novell NetWare 2.x key card emulation. */
176178
int postcard_enabled = 0; /* (C) enable POST card */
177179
int unittester_enabled = 0; /* (C) enable unit tester device */
178180
int isamem_type[ISAMEM_MAX] = { 0, 0, 0, 0 }; /* (C) enable ISA mem cards */
@@ -181,6 +183,7 @@ int gfxcard[2] = { 0, 0 }; /* (C) graphic
181183
int show_second_monitors = 1; /* (C) show non-primary monitors */
182184
int sound_is_float = 1; /* (C) sound uses FP values */
183185
int voodoo_enabled = 0; /* (C) video option */
186+
int lba_enhancer_enabled = 0; /* (C) enable Vision Systems LBA Enhancer */
184187
int ibm8514_standalone_enabled = 0; /* (C) video option */
185188
int xga_standalone_enabled = 0; /* (C) video option */
186189
uint32_t mem_size = 0; /* (C) memory size (Installed on
@@ -1167,13 +1170,14 @@ pc_reset_hard_init(void)
11671170
/* note: PLIP LPT side has to be initialized before the network side */
11681171
lpt_devices_init();
11691172

1170-
/* Reset and reconfigure the Network Card layer. */
1171-
network_reset();
1172-
11731173
/* Reset and reconfigure the serial ports. */
1174+
/* note: SLIP COM side has to be initialized before the network side */
11741175
serial_standalone_init();
11751176
serial_passthrough_init();
11761177

1178+
/* Reset and reconfigure the Network Card layer. */
1179+
network_reset();
1180+
11771181
/*
11781182
* Reset the mouse, this will attach it to any port needed.
11791183
*/
@@ -1227,6 +1231,12 @@ pc_reset_hard_init(void)
12271231
if (unittester_enabled)
12281232
device_add(&unittester_device);
12291233

1234+
if (lba_enhancer_enabled)
1235+
device_add(&lba_enhancer_device);
1236+
1237+
if (novell_keycard_enabled)
1238+
device_add(&novell_keycard_device);
1239+
12301240
if (IS_ARCH(machine, MACHINE_BUS_PCI)) {
12311241
pci_register_cards();
12321242
device_reset_all(DEVICE_PCI);

src/Makefile.local

Lines changed: 0 additions & 200 deletions
This file was deleted.

src/acpi.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1733,6 +1733,9 @@ acpi_reg_write_sis_5595(int size, uint16_t addr, uint8_t val, void *priv)
17331733
break;
17341734
case 0x1c:
17351735
dev->regs.gpe_pin = ((dev->regs.gpe_pin & ~(0xff << shift32)) | ((val & 0xff) << shift32));
1736+
if (!strcmp(machine_get_internal_name(), "m747") && (val & 0x10) &&
1737+
!(dev->regs.gpe_io & 0x00000010))
1738+
resetx86();
17361739
break;
17371740
case 0x1d:
17381741
dev->regs.gpe_pin = ((dev->regs.gpe_pin & ~(0x0f << shift32)) | ((val & 0x0f) << shift32));

src/chipset/sis_5513_p2i.c

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ typedef struct sis_5513_pci_to_isa_t {
8686
port_92_t *port_92;
8787
void *pit;
8888
nvr_t *nvr;
89+
char *fn;
8990
ddma_t *ddma;
9091
acpi_t *acpi;
9192
void *smbus;
@@ -1077,7 +1078,6 @@ sis_5513_11_pci_to_isa_reset(sis_5513_pci_to_isa_t *dev)
10771078
dev->sis->ide_bits_1_3_writable = 0;
10781079
dev->sis->usb_enabled = 0;
10791080

1080-
sis_5513_apc_reset(dev);
10811081
sis_5513_apc_recalc(dev, 0);
10821082
}
10831083

@@ -1132,7 +1132,6 @@ sis_5513_b0_pci_to_isa_reset(sis_5513_pci_to_isa_t *dev)
11321132

11331133
dev->sis->usb_enabled = 0;
11341134

1135-
sis_5513_apc_reset(dev);
11361135
sis_5513_apc_recalc(dev, 0);
11371136

11381137
if (dev->rev == 0x81)
@@ -1196,6 +1195,17 @@ static void
11961195
sis_5513_pci_to_isa_close(void *priv)
11971196
{
11981197
sis_5513_pci_to_isa_t *dev = (sis_5513_pci_to_isa_t *) priv;
1198+
FILE *fp = NULL;
1199+
1200+
fp = nvr_fopen(dev->fn, "wb");
1201+
1202+
if (fp != NULL) {
1203+
(void) fwrite(dev->apc_regs, 256, 1, fp);
1204+
fclose(fp);
1205+
}
1206+
1207+
if (dev->fn != NULL)
1208+
free(dev->fn);
11991209

12001210
free(dev);
12011211
}
@@ -1205,6 +1215,8 @@ sis_5513_pci_to_isa_init(UNUSED(const device_t *info))
12051215
{
12061216
sis_5513_pci_to_isa_t *dev = (sis_5513_pci_to_isa_t *) calloc(1, sizeof(sis_5513_pci_to_isa_t));
12071217
uint8_t pit_is_fast = (((pit_mode == -1) && is486) || (pit_mode == 1));
1218+
FILE *fp = NULL;
1219+
int c;
12081220

12091221
dev->rev = info->local;
12101222

@@ -1272,6 +1284,22 @@ sis_5513_pci_to_isa_init(UNUSED(const device_t *info))
12721284
dev->sis->acpi->priv = dev->sis;
12731285
acpi_set_slot(dev->sis->acpi, dev->sis->sb_pci_slot);
12741286
acpi_set_nvr(dev->sis->acpi, dev->nvr);
1287+
1288+
/* Set up the NVR file's name. */
1289+
c = strlen(machine_get_internal_name()) + 9;
1290+
dev->fn = (char *) malloc(c + 1);
1291+
sprintf(dev->fn, "%s_apc.nvr", machine_get_internal_name());
1292+
1293+
fp = nvr_fopen(dev->fn, "rb");
1294+
1295+
memset(dev->apc_regs, 0x00, sizeof(dev->apc_regs));
1296+
sis_5513_apc_reset(dev);
1297+
if (fp != NULL) {
1298+
if (fread(dev->apc_regs, 1, 256, fp) != 256)
1299+
fatal("sis_5513_pci_to_isa_init(): Error reading APC data\n");
1300+
fclose(fp);
1301+
}
1302+
12751303
acpi_set_irq_mode(dev->sis->acpi, 2);
12761304
break;
12771305
}

src/chipset/sis_5581_h2p.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,6 @@ sis_5581_trap_update_devctl(sis_5581_host_to_pci_t *dev, uint8_t trap_id, uint8_
168168
uint16_t addr, uint16_t size)
169169
{
170170
sis_5581_io_trap_t *trap = &dev->io_traps[trap_id];
171-
enable = enable;
172171

173172
/* Set up Device I/O traps dynamically. */
174173
if (enable && !trap->trap) {

0 commit comments

Comments
 (0)