86F format handler updated to 86F version 2.0 and bit by bit handling;

FDI stream images are now also handled by the 86F handler;
Both floppy drives' motors now spin separately;
Added Plantronics ColorPlus emulation per patch from PCem forum;
Applied all mainline PCem commits;
Fixed several bugs.
This commit is contained in:
OBattler
2016-11-02 22:39:07 +01:00
parent 9a4e044d91
commit e280faa2d6
87 changed files with 16087 additions and 5675 deletions

View File

@@ -255,14 +255,14 @@ static int opFXSAVESTOR_a16(uint32_t fetchdat)
/* FXSAVE */
// pclog("FXSAVE issued\n");
if (twd & 0x0003 == 0x0003) ftwb |= 0x01;
if (twd & 0x000C == 0x000C) ftwb |= 0x02;
if (twd & 0x0030 == 0x0030) ftwb |= 0x04;
if (twd & 0x00C0 == 0x00C0) ftwb |= 0x08;
if (twd & 0x0300 == 0x0300) ftwb |= 0x10;
if (twd & 0x0C00 == 0x0C00) ftwb |= 0x20;
if (twd & 0x3000 == 0x3000) ftwb |= 0x40;
if (twd & 0xC000 == 0xC000) ftwb |= 0x80;
if ((twd & 0x0003) == 0x0003) ftwb |= 0x01;
if ((twd & 0x000C) == 0x000C) ftwb |= 0x02;
if ((twd & 0x0030) == 0x0030) ftwb |= 0x04;
if ((twd & 0x00C0) == 0x00C0) ftwb |= 0x08;
if ((twd & 0x0300) == 0x0300) ftwb |= 0x10;
if ((twd & 0x0C00) == 0x0C00) ftwb |= 0x20;
if ((twd & 0x3000) == 0x3000) ftwb |= 0x40;
if ((twd & 0xC000) == 0xC000) ftwb |= 0x80;
writememw(easeg,cpu_state.eaaddr,cpu_state.npxc);
writememw(easeg,cpu_state.eaaddr+2,cpu_state.npxs);
@@ -431,14 +431,14 @@ static int opFXSAVESTOR_a32(uint32_t fetchdat)
/* FXSAVE */
// pclog("FXSAVE issued\n");
if (twd & 0x0003 == 0x0003) ftwb |= 0x01;
if (twd & 0x000C == 0x000C) ftwb |= 0x02;
if (twd & 0x0030 == 0x0030) ftwb |= 0x04;
if (twd & 0x00C0 == 0x00C0) ftwb |= 0x08;
if (twd & 0x0300 == 0x0300) ftwb |= 0x10;
if (twd & 0x0C00 == 0x0C00) ftwb |= 0x20;
if (twd & 0x3000 == 0x3000) ftwb |= 0x40;
if (twd & 0xC000 == 0xC000) ftwb |= 0x80;
if ((twd & 0x0003) == 0x0003) ftwb |= 0x01;
if ((twd & 0x000C) == 0x000C) ftwb |= 0x02;
if ((twd & 0x0030) == 0x0030) ftwb |= 0x04;
if ((twd & 0x00C0) == 0x00C0) ftwb |= 0x08;
if ((twd & 0x0300) == 0x0300) ftwb |= 0x10;
if ((twd & 0x0C00) == 0x0C00) ftwb |= 0x20;
if ((twd & 0x3000) == 0x3000) ftwb |= 0x40;
if ((twd & 0xC000) == 0xC000) ftwb |= 0x80;
writememw(easeg,cpu_state.eaaddr,cpu_state.npxc);
writememw(easeg,cpu_state.eaaddr+2,cpu_state.npxs);