aboutsummaryrefslogtreecommitdiff
path: root/sim/ft32/interp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/ft32/interp.c')
-rw-r--r--sim/ft32/interp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sim/ft32/interp.c b/sim/ft32/interp.c
index a20907c..c769ff7 100644
--- a/sim/ft32/interp.c
+++ b/sim/ft32/interp.c
@@ -205,8 +205,12 @@ static void cpu_mem_write (SIM_DESC sd, uint32_t dw, uint32_t ea, uint32_t d)
cpu->state.pm_addr = d;
break;
case 0x1fc88:
- /* Write to PM */
- ft32_write_item (sd, dw, cpu->state.pm_addr, d);
+ if (cpu->state.pm_unlock)
+ {
+ /* Write to PM. */
+ ft32_write_item (sd, dw, cpu->state.pm_addr, d);
+ cpu->state.pm_addr += 4;
+ }
break;
case 0x1fffc:
/* Normal exit. */