mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
idectrl - implemented verify no retry command [Carl]
i86 - Fixed imul instruction [Carl]
This commit is contained in:
parent
c3d6f72453
commit
73323f655d
@ -68,7 +68,7 @@ static void PREFIX186(_imul_d16)(i8086_state *cpustate) /* Opcode 0x69 */
|
||||
{
|
||||
DEF_r16w(dst,src);
|
||||
unsigned src2=FETCH;
|
||||
src+=(FETCH<<8);
|
||||
src2+=(FETCH<<8);
|
||||
|
||||
ICOUNT -= (ModRM >= 0xc0) ? timing.imul_rri16 : timing.imul_rmi16;
|
||||
|
||||
|
@ -510,7 +510,7 @@ static void PREFIX286(_0fpre)(i8086_state *cpustate)
|
||||
desc[2] = ReadWord(addr+4);
|
||||
r = RIGHTS(desc);
|
||||
if (SEGDESC(r) || (GATE(r) != LDTDESC)) throw TRAP(GENERAL_PROTECTION_FAULT,IDXTBL(sel));
|
||||
if (!PRES(r)) TRAP(SEG_NOT_PRESENT,IDXTBL(sel));
|
||||
if (!PRES(r)) throw TRAP(SEG_NOT_PRESENT,IDXTBL(sel));
|
||||
} else {
|
||||
desc[0] = 0;
|
||||
desc[1] = 0;
|
||||
@ -530,7 +530,7 @@ static void PREFIX286(_0fpre)(i8086_state *cpustate)
|
||||
desc[2] = ReadWord(addr+4);
|
||||
r = RIGHTS(desc);
|
||||
if (SEGDESC(r) || (GATE(r) != TSSDESCIDLE)) throw TRAP(GENERAL_PROTECTION_FAULT,IDXTBL(sel));
|
||||
if (!PRES(r)) TRAP(SEG_NOT_PRESENT,IDXTBL(sel));
|
||||
if (!PRES(r)) throw TRAP(SEG_NOT_PRESENT,IDXTBL(sel));
|
||||
desc[2] |= 0x200; // mark busy
|
||||
WriteWord(addr+4, desc[2]);
|
||||
cpustate->tr.sel=sel;
|
||||
|
@ -79,6 +79,7 @@
|
||||
#define IDE_COMMAND_SECURITY_UNLOCK 0xf2
|
||||
#define IDE_COMMAND_UNKNOWN_F9 0xf9
|
||||
#define IDE_COMMAND_VERIFY_MULTIPLE 0x40
|
||||
#define IDE_COMMAND_VERIFY_NORETRY 0x41
|
||||
#define IDE_COMMAND_ATAPI_IDENTIFY 0xa1
|
||||
#define IDE_COMMAND_RECALIBRATE 0x10
|
||||
#define IDE_COMMAND_IDLE_IMMEDIATE 0xe1
|
||||
@ -1040,7 +1041,8 @@ static void handle_command(ide_state *ide, UINT8 command)
|
||||
break;
|
||||
|
||||
case IDE_COMMAND_VERIFY_MULTIPLE:
|
||||
LOGPRINT(("IDE Read verify multiple with retries: C=%d H=%d S=%d LBA=%d count=%d\n",
|
||||
case IDE_COMMAND_VERIFY_NORETRY:
|
||||
LOGPRINT(("IDE Read verify multiple with/without retries: C=%d H=%d S=%d LBA=%d count=%d\n",
|
||||
ide->cur_cylinder, ide->cur_head, ide->cur_sector, lba_address(ide), ide->sector_count));
|
||||
|
||||
/* reset the buffer */
|
||||
|
Loading…
Reference in New Issue
Block a user