From 59e48ee41e2cc41760aea37084cead1c7823bbed Mon Sep 17 00:00:00 2001 From: Zane Kaminski Date: Fri, 2 Apr 2021 05:38:28 -0400 Subject: [PATCH] Fix not swapping MMU mode back --- bin/driver7M5.bin | Bin 1867 -> 1895 bytes bin/rom8M.bin | Bin 8388608 -> 8388608 bytes rdisk.c | 14 +++++++++----- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/bin/driver7M5.bin b/bin/driver7M5.bin index 477b7eb2050d64e54e7f9e9c9661ae57e6a87d04..ab346a8ff70c6407563e32971cf47080a619a5a1 100755 GIT binary patch delta 151 zcmX@j_ndEnv!j8}eP#x~Qjg~h2ND_BW+3wzAAooXN)S1gS0Elw1_L95R2m;#hrz^_ z1SNfD`5K@&x8r*TZUKP>u>uWZLI}11vzq+GZwh=WK|nEfh`a*VWC_OIj17~oFm7dR Qn%u>7nsL+SFy^n!01tyMo&W#< delta 112 zcmaFPcbad4v!jU5eP#x~Qjg~h2ND_BYLI!1M?ky;C5Rl$IS`L0gMpDjDvb}WLu6u0 s!elW<0VV;V$!v@YObSAiO&E7GrcD08xRtSJ@-n8=jMFw3F@I$S0Q+krf&c&j diff --git a/bin/rom8M.bin b/bin/rom8M.bin index dd4ab3369ec6a37b17db4af88899ea3ab6d3210e..4f4565420bf9d86bf146c067a858343108dbceda 100755 GIT binary patch delta 668 zcmYkzIa3n>7{>8kH=8JlVTpneNH&Bef`SQnfFeh@kBEW?$Yp{M1IXbKL=CdTWCp&$ zQt}xTCj||a4Idx{1$55P&`3k&Ka&};_|3e}`@FBN>n1%TDJCx@rKD*`{^1G+LWh#j zAMgGx>_r6g*8fR7%A~M2+nJ6t$rckt!5Ovx`v@3+Tyog!m(&D}HFzRe6=i!|(F+{s zvm*IaBkGntc5RTYC41q?F*e=uuBaRBs{B)2H_lXfU;Li><&jUNjkG4i3=1ye5^`XL z4VPg@E)?X!fh)L*d=%gs3Q+_nicta=+)&{`DZD6yhI06D9Tlj=4ctT(s&NZ`1WgGpcj1z;Su`r7*8;OK|IAXJjV+R zVHhtlf>DfN920njFd~@5YfNDpQM^G6GnmC3-eMjLSi}KzzThho NSjD$gT3f3;_zTu&4?rz1M;w~K;_y^oSz`_iKfrWvMgq4ATgoT*| zcHV}BFg(MXljCqWbPgA%?9@25PTh^THdPv1-n3HNcEgACFd?}e{V(~^RW{4-rh9gk z&%7i{;j?~!52N~J5;pbBEc6<^LESM6MWYzhOS8C_r&U{&xRp25U`0I17kBT9_|~eQ zE7^gb7Q3WV?2^aT`HNM+4es!OC%oVdANax#{?H=;1_Z*0AOs@>p$J1bA`l4^%!q=5 zXjl*fD`F9ccqAYZNk~QtQjvyqWFQk+$VLuwk%xQ~pb$kUMhQw$hH_M(5>=>14Qf$` zdNiOBO=w07TG57fbf6Pm=td8E(T9EvU=TwX#t23+hH=<1fk{kZ8Z(&19OkirMJ!<% jD_DgcYgoqyHnD|m>|hsr*vA15afD->+`U*&6JLJ-BU1>n diff --git a/rdisk.c b/rdisk.c index 252857b..4e5809f 100644 --- a/rdisk.c +++ b/rdisk.c @@ -45,7 +45,7 @@ static void RDDecodeSettings(Ptr unmountEN, Ptr mountEN, Ptr ramEN, Ptr dbgEN, P // Switch to 32-bit mode and copy #pragma parameter C24(__A0, __A1, __D0) -void C24(Ptr sourcePtr, Ptr destPtr, unsigned long byteCount) { +void __attribute__ ((noinline)) C24(Ptr sourcePtr, Ptr destPtr, unsigned long byteCount) { signed char mode = true32b; SwapMMUMode(&mode); BlockMove(sourcePtr, destPtr, byteCount); @@ -53,21 +53,25 @@ void C24(Ptr sourcePtr, Ptr destPtr, unsigned long byteCount) { } // Switch to 32-bit mode and get -#pragma parameter G24(__A2) +#pragma parameter __D0 G24(__A2) char __attribute__ ((noinline)) G24(Ptr pos) { + long ret; signed char mode = true32b; SwapMMUMode(&mode); - return *pos; // Peek + ret = *pos; // Peek SwapMMUMode(&mode); + return ret; } // Switch to 32-bit mode and get -#pragma parameter G24L(__A2) +#pragma parameter __D0 G24L(__A2) long __attribute__ ((noinline)) G24L(long *pos) { + long ret; signed char mode = true32b; SwapMMUMode(&mode); - return *pos; // Peek + ret = *pos; // Peek SwapMMUMode(&mode); + return ret; } // Switch to 32-bit mode and set