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:
@@ -21,6 +21,13 @@ C1
|
||||
bits 7-6 = LPT1 mode : 11 = ECP/EPP, 01 = EPP, 10 = SPP
|
||||
bit 3 = clear when LPT1 = 278
|
||||
|
||||
Added by OBattler based on more sources:
|
||||
C2
|
||||
bit 2 = I430FX: floppy drive swap (1 = swap, 0 = do not swap)
|
||||
I430VX: DENSEL polarity
|
||||
bits 3-6 = IR stuff
|
||||
bits 3-4 = 00 = Normal, 01 = Infrared (HPSIR), 10 - Amplitude Shift Keyed IR (ASKIR), 11 - Reserved
|
||||
|
||||
C3
|
||||
bits 7-6 = LPT1 DMA mode : 11 = ECP/EPP DMA1, 10 = ECP/EPP DMA3, 01 = EPP/SPP, 00 = ECP
|
||||
bits 5-4 = LPT1 addr : 10 = 278/IRQ5, 01 = 3BC/IRQ7, 00 = 378/IRQ7
|
||||
@@ -43,6 +50,7 @@ COM2 :
|
||||
|
||||
#include "disc.h"
|
||||
#include "fdc.h"
|
||||
#include "fdd.h"
|
||||
#include "io.h"
|
||||
#include "lpt.h"
|
||||
#include "serial.h"
|
||||
@@ -55,7 +63,6 @@ static uint8_t um8669f_regs[256];
|
||||
void um8669f_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
int temp;
|
||||
// pclog("um8669f_write : port=%04x reg %02X = %02X locked=%i\n", port, um8669f_curreg, val, um8669f_locked);
|
||||
if (um8669f_locked)
|
||||
{
|
||||
if (port == 0x108 && val == 0xaa)
|
||||
@@ -105,7 +112,20 @@ void um8669f_write(uint16_t port, uint8_t val, void *priv)
|
||||
case 3: serial2_set(0x2e8, 3); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (um8669f_curreg == 0xC2)
|
||||
{
|
||||
/* Make sure to invert this. */
|
||||
if (romset == ROM_430VX)
|
||||
{
|
||||
fdc_update_densel_polarity(val & 4 ? 0 : 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
fdd_setswap(val & 4 ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
lpt1_remove();
|
||||
lpt2_remove();
|
||||
temp = (um8669f_regs[0xc3] >> 4) & 3;
|
||||
@@ -121,7 +141,6 @@ void um8669f_write(uint16_t port, uint8_t val, void *priv)
|
||||
|
||||
uint8_t um8669f_read(uint16_t port, void *priv)
|
||||
{
|
||||
// pclog("um8669f_read : port=%04x reg %02X locked=%i\n", port, um8669f_curreg, um8669f_locked);
|
||||
if (um8669f_locked)
|
||||
return 0xff;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user