Refactored AHA-154x and BusLogic emulation and made them use a common core;

Fixed AHA-154x scatter/gather transfers;
Two-phased SCSI read-direction commands;
Made scsi_bus.c use a dynamically malloc'd buffer instead of a giant fixed-size buffer;
The AHA-154x/BusLogic thread now uses mutexes;
The BusLogic BT-545C is now the BT-545S;
Added the BusLogic BT-542BH;
The AHA-1542CF now again uses the v2.11 BIOS as the CD booting now works;
Applied PCem commit that adds NMI support to the recompiler;
Applied PCem commit that adds the IBM XT 286;
Applied PCem commits that have to do with sound, including the ES1371;
Fixed the NCR5380 output data register;
Moved the SLiRP mutex stuff from win.c to the appropriate network files;
Added sanity checks to everything in win_thread.c.
This commit is contained in:
OBattler
2017-10-14 07:03:19 +02:00
parent 2b82661cf4
commit 2792da5432
41 changed files with 6919 additions and 5432 deletions

View File

@@ -32,6 +32,29 @@ static queueADT slirpq; /* SLiRP library handle */
static thread_t *poll_tid;
static NETRXCB poll_rx; /* network RX function to call */
static void *poll_arg; /* network RX function arg */
static void *slirpMutex;
void
network_slirp_mutex_init(void)
{
slirpMutex = thread_create_mutex(L"86Box.SLiRPMutex");
}
static void
startslirp(void)
{
thread_wait_mutex(slirpMutex);
}
static void
endslirp(void)
{
thread_release_mutex(slirpMutex);
}
/* Instead of calling this and crashing some times

View File

@@ -89,6 +89,8 @@ network_init(void)
if (network_type != NET_TYPE_PCAP)
network_pcap_close();
network_slirp_mutex_init();
}

View File

@@ -70,6 +70,7 @@ extern void network_pcap_close(void);
extern int network_pcap_test(void);
extern void network_pcap_in(uint8_t *, int);
extern void network_slirp_mutex_init(void);
extern int network_slirp_setup(uint8_t *, NETRXCB, void *);
extern void network_slirp_close(void);
extern int network_slirp_test(void);