mirror of
https://github.com/garrettsworkshop/MacIIROMDiskDriver.git
synced 2024-11-22 03:30:58 +00:00
Fix not swapping MMU mode back
This commit is contained in:
parent
e4b2775f11
commit
59e48ee41e
Binary file not shown.
BIN
bin/rom8M.bin
BIN
bin/rom8M.bin
Binary file not shown.
14
rdisk.c
14
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
|
// Switch to 32-bit mode and copy
|
||||||
#pragma parameter C24(__A0, __A1, __D0)
|
#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;
|
signed char mode = true32b;
|
||||||
SwapMMUMode(&mode);
|
SwapMMUMode(&mode);
|
||||||
BlockMove(sourcePtr, destPtr, byteCount);
|
BlockMove(sourcePtr, destPtr, byteCount);
|
||||||
@ -53,21 +53,25 @@ void C24(Ptr sourcePtr, Ptr destPtr, unsigned long byteCount) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Switch to 32-bit mode and get
|
// Switch to 32-bit mode and get
|
||||||
#pragma parameter G24(__A2)
|
#pragma parameter __D0 G24(__A2)
|
||||||
char __attribute__ ((noinline)) G24(Ptr pos) {
|
char __attribute__ ((noinline)) G24(Ptr pos) {
|
||||||
|
long ret;
|
||||||
signed char mode = true32b;
|
signed char mode = true32b;
|
||||||
SwapMMUMode(&mode);
|
SwapMMUMode(&mode);
|
||||||
return *pos; // Peek
|
ret = *pos; // Peek
|
||||||
SwapMMUMode(&mode);
|
SwapMMUMode(&mode);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Switch to 32-bit mode and get
|
// Switch to 32-bit mode and get
|
||||||
#pragma parameter G24L(__A2)
|
#pragma parameter __D0 G24L(__A2)
|
||||||
long __attribute__ ((noinline)) G24L(long *pos) {
|
long __attribute__ ((noinline)) G24L(long *pos) {
|
||||||
|
long ret;
|
||||||
signed char mode = true32b;
|
signed char mode = true32b;
|
||||||
SwapMMUMode(&mode);
|
SwapMMUMode(&mode);
|
||||||
return *pos; // Peek
|
ret = *pos; // Peek
|
||||||
SwapMMUMode(&mode);
|
SwapMMUMode(&mode);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Switch to 32-bit mode and set
|
// Switch to 32-bit mode and set
|
||||||
|
Loading…
Reference in New Issue
Block a user