Vastly overhauled the UI, there's now a completely new Settings dialog as well as a status bar with disk activity icons and removable drive menus;
Thoroughly clean up the code to vastly reduce the number of compiler warnings and found and fixed several bugs in the process; Applied all mainline PCem commits; Added SCSI hard disk emulation; Commented out all unfinished machines and graphics cards; Added the AOpen AP53 and ASUS P/I-P55T2 machines as well as another Tyan 440FX machine, all three with AMI WinBIOS (patch from TheCollector1995); Added the Diamond Stealth 3D 3000 (S3 ViRGE/VX) graphics card (patch from TheCollector1995); Added the PS/2 XT IDE (AccuLogic) HDD Controller (patch from TheCollector1995); Added Microsoft/Logitech Bus Mouse emulation (patch from waltje); Overhauled the makefiles (patch from waltje); Added the Adaptec AHA-1542CF SCSI controller (patch from waltje); Added preliminary (but still unfinished) Adaptec AHA-154x SCSI controller BIOS support (patch from waltje); Added an ISABugger debugging device (patch from waltje); Added sanity checks to the Direct3D code.
This commit is contained in:
75
src/sio.c
75
src/sio.c
@@ -11,8 +11,12 @@
|
||||
#include "ibm.h"
|
||||
#include "cdrom.h"
|
||||
#include "cpu.h"
|
||||
#include "disc.h"
|
||||
#include "dma.h"
|
||||
#include "fdc.h"
|
||||
#include "ide.h"
|
||||
#include "io.h"
|
||||
#include "keyboard_at.h"
|
||||
#include "mem.h"
|
||||
#include "pci.h"
|
||||
|
||||
@@ -91,45 +95,50 @@ uint8_t trc_read(uint16_t port, void *priv)
|
||||
return trc_reg & 0xfb;
|
||||
}
|
||||
|
||||
void trc_write(uint16_t port, uint8_t val, void *priv)
|
||||
void trc_reset(uint8_t val)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
if (val & 2)
|
||||
{
|
||||
if (pci_reset_handler.pci_master_reset)
|
||||
{
|
||||
pci_reset_handler.pci_master_reset();
|
||||
}
|
||||
|
||||
if (pci_reset_handler.pci_set_reset)
|
||||
{
|
||||
pci_reset_handler.pci_set_reset();
|
||||
}
|
||||
|
||||
fdc_hard_reset();
|
||||
|
||||
if (pci_reset_handler.super_io_reset)
|
||||
{
|
||||
pci_reset_handler.super_io_reset();
|
||||
}
|
||||
|
||||
resetide();
|
||||
for (i = 0; i < CDROM_NUM; i++)
|
||||
{
|
||||
if (!cdrom_drives[i].bus_type)
|
||||
{
|
||||
cdrom_reset(i);
|
||||
}
|
||||
}
|
||||
|
||||
port_92_reset();
|
||||
keyboard_at_reset();
|
||||
}
|
||||
resetx86();
|
||||
}
|
||||
|
||||
void trc_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
pclog("TRC Write: %02X\n", val);
|
||||
if (!(trc_reg & 4) && (val & 4))
|
||||
{
|
||||
if (val & 2)
|
||||
{
|
||||
if (pci_reset_handler.pci_master_reset)
|
||||
{
|
||||
pci_reset_handler.pci_master_reset();
|
||||
}
|
||||
|
||||
if (pci_reset_handler.pci_set_reset)
|
||||
{
|
||||
pci_reset_handler.pci_set_reset();
|
||||
}
|
||||
|
||||
fdc_hard_reset();
|
||||
|
||||
if (pci_reset_handler.super_io_reset)
|
||||
{
|
||||
pci_reset_handler.super_io_reset();
|
||||
}
|
||||
|
||||
resetide();
|
||||
for (i = 0; i < CDROM_NUM; i++)
|
||||
{
|
||||
if (!cdrom_drives[i].bus_type)
|
||||
{
|
||||
cdrom_reset(i);
|
||||
}
|
||||
}
|
||||
|
||||
port_92_reset();
|
||||
keyboard_at_reset();
|
||||
}
|
||||
resetx86();
|
||||
trc_reset(val);
|
||||
}
|
||||
trc_reg = val & 0xfd;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user