diff --git a/bin/driver7M5.bin b/bin/driver7M5.bin index 2e1d3a8..473213c 100755 Binary files a/bin/driver7M5.bin and b/bin/driver7M5.bin differ diff --git a/bin/rom8M.bin b/bin/rom8M.bin index 5019861..21e9d2b 100755 Binary files a/bin/rom8M.bin and b/bin/rom8M.bin differ diff --git a/rdisk.c b/rdisk.c index 72fc516..627e01f 100644 --- a/rdisk.c +++ b/rdisk.c @@ -275,9 +275,13 @@ OSErr RDCtl(CntrlParamPtr p, DCtlPtr d) { case kFormat: if (!c->status.diskInPlace || c->status.writeProt || !c->ramdisk) { return controlErr; } - long long zero = 0; - if (*MMU32bit) { copy24(c->ramdisk, (Ptr)(&zero), sizeof(zero)); } - else { copy24(c->ramdisk, StripAddress((Ptr)(&zero)), sizeof(zero)); } + long long z = 0; + Ptr pz; + if (*MMU32bit) { p = (Ptr)&z; } + else { StripAddress((Ptr)&z); } + for (int i = 0; i < 4095; i++) { + copy24(c->ramdisk + i * sizeof(z), pz, sizeof(z)); + } return noErr; case kVerify: if (!c->status.diskInPlace) { return controlErr; }