diff --git a/Makefile b/Makefile index 9bded79..8b1f579 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ obj/entry_rel.sym: obj obj/entry.o obj/rdisk7M5.o: rdisk.c obj - $(CC) -Wall -DRDiskSize=7864320 -c -Os $< -o $@ + $(CC) -Wall -DRDiskSize=7864320 -march=68030 -c -Os $< -o $@ obj/rdisk7M5.s: obj obj/rdisk7M5.o $(OBJDUMP) -d obj/rdisk7M5.o > $@ diff --git a/bin/driver7M5.bin b/bin/driver7M5.bin index 6920c07..1436dc5 100755 Binary files a/bin/driver7M5.bin and b/bin/driver7M5.bin differ diff --git a/bin/rom8M.bin b/bin/rom8M.bin index d253312..e1e5afc 100755 Binary files a/bin/rom8M.bin and b/bin/rom8M.bin differ diff --git a/rdisk.c b/rdisk.c index 3d2c5d5..653e37d 100644 --- a/rdisk.c +++ b/rdisk.c @@ -57,6 +57,7 @@ void C24(Ptr sourcePtr, Ptr destPtr, unsigned long byteCount) { void __attribute__ ((noinline)) P24(Ptr ptr, Ptr patch) { signed char mode = true32b; SwapMMUMode(&mode); + DebugStr("\phello"); *ptr = *patch; // Patch byte SwapMMUMode(&mode); } @@ -236,8 +237,8 @@ OSErr RDCtl(CntrlParamPtr p, DCtlPtr d) { if (!c->status.diskInPlace || c->status.writeProt || !c->ramdisk) { return controlErr; } long long zero = 0; - if (*MMU32bit) { copy24(c->ramdisk, &zero, sizeof(zero)); } - else { copy24(c->ramdisk, StripAddress(&zero), sizeof(zero)); } + if (*MMU32bit) { copy24(c->ramdisk, (Ptr)(&zero), sizeof(zero)); } + else { copy24(c->ramdisk, StripAddress((Ptr)(&zero)), sizeof(zero)); } return noErr; case kVerify: if (!c->status.diskInPlace) { return controlErr; }