diff --git a/platforms/shodan.repl b/platforms/shodan.repl
index 6431e45..cae484b 100644
--- a/platforms/shodan.repl
+++ b/platforms/shodan.repl
@@ -32,7 +32,7 @@
     mmuNumWindows: 6 // See: go/shodan-vc-memory
     mmuVirtualWindowSize: 0x1000000
     mmuMemorySize: 0x1000000
-    mmuRangeStart: 0x34000000
+    mmuRangeStart: 0x80000000
     HostReqIRQ -> smc_plic@13           // kTopMatchaPlicIrqIdVcTopHostReq @ top_matcha.h
     FinishIRQ -> smc_plic@14            // kTopMatchaPlicIrqIdVcTopFinish @ top_matcha.h
     InstructionFaultIRQ -> smc_plic@15  // kTopMatchaPlicIrqIdVcTopInstructionFault @ top_matcha.h
diff --git a/shodan.resc b/shodan.resc
index 3f2c26d..e22df1d 100644
--- a/shodan.resc
+++ b/shodan.resc
@@ -51,7 +51,7 @@
 sysbus.cpu0 PC 0x8090
 
 # Start the vector core at address 0 of its instruction TCM.
-sysbus.cpu2 PC 0x30000000
+sysbus.cpu2 PC 0x80000000
 # Set the vector core to be less interactive to IO for faster execution
 $vector_core_mips ?= 1000
 sysbus.cpu2 PerformanceInMips $vector_core_mips
@@ -61,6 +61,7 @@
 $gdb_port?=3333
 machine StartGdbServer $gdb_port false cpu0
 machine StartGdbServer $gdb_port false cpu1
+machine StartGdbServer $gdb_port false cpu2
 
 cpu0 IsHalted true
 cpu1 IsHalted true
diff --git a/shodan_infrastructure/SpringbokRiscV32.cs b/shodan_infrastructure/SpringbokRiscV32.cs
index b5faf0a..fcfb791 100644
--- a/shodan_infrastructure/SpringbokRiscV32.cs
+++ b/shodan_infrastructure/SpringbokRiscV32.cs
@@ -108,7 +108,7 @@
                             return;
                     }
 
-                    uint messagePtr = (uint)(X[rs1].RawValue);
+                    uint messagePtr = (uint)this.TranslateAddress((uint)(X[rs1].RawValue), MpuAccess.Read);
                     uint number = (uint)(X[rs2].RawValue);
 
                     byte[] messageArray = new byte[256];
@@ -211,8 +211,6 @@
             this.mmuMemorySize = mmuMemorySize;
             this.mmuVirtualWindowSize = mmuVirtualWindowSize;
 
-            Core.EnableExternalWindowMmu(true);
-
             Mmu = InitMmu(mmuRangeStart, mmuMemorySize, mmuNumWindows, mmuVirtualWindowSize);
 
             HostReqIRQ = new GPIO();
@@ -428,10 +426,6 @@
                         Mmu.SetWindowEnd(window, windowEnd); // windowLength
                         return;
                     case 8:
-                        if (value > 3)
-                        {
-                            this.Log(LogLevel.Noisy, "Window permission value {0} out of range", value);
-                        }
                         Mmu.SetWindowPrivileges(window, value);
                         return;
                     }
