From 55b51a4a558a04ae997d7e31622860062299d170 Mon Sep 17 00:00:00 2001 From: TomW Date: Wed, 19 Nov 2014 18:12:42 +0000 Subject: [PATCH] Implemented segment limit checks on FSTP double - fixes LBA2 on Pentium. --- src/x87_ops_loadstore.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/x87_ops_loadstore.h b/src/x87_ops_loadstore.h index b479837..b4bdb3d 100644 --- a/src/x87_ops_loadstore.h +++ b/src/x87_ops_loadstore.h @@ -362,6 +362,7 @@ static int opFSTPd_a16(uint32_t fetchdat) x87_td t; FP_ENTER(); fetch_ea_16(fetchdat); + CHECK_WRITE(ea_seg, eaaddr, eaaddr + 7); if (fplog) pclog("FSTd %08X:%08X\n", easeg, eaaddr); t.d = ST(0); seteaq(t.i); if (abrt) return 1; @@ -374,6 +375,7 @@ static int opFSTPd_a32(uint32_t fetchdat) x87_td t; FP_ENTER(); fetch_ea_32(fetchdat); + CHECK_WRITE(ea_seg, eaaddr, eaaddr + 7); if (fplog) pclog("FSTd %08X:%08X\n", easeg, eaaddr); t.d = ST(0); seteaq(t.i); if (abrt) return 1;