From d1397fd8b8c277c94d145fb852808c528f48d8f9 Mon Sep 17 00:00:00 2001 From: Zane Kaminski Date: Fri, 2 Apr 2021 03:19:09 -0400 Subject: [PATCH] separate absolute loads --- bin/driver7M5.bin | Bin 1587 -> 1595 bytes bin/rom8M.bin | Bin 8388608 -> 8388608 bytes rdisk.c | 8 +++++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/driver7M5.bin b/bin/driver7M5.bin index 4bec86ded2285f7bbfd7ccae8b88d9560c031ea3..7002a0e2381f0829de9f430c96396bdd5c94dc6c 100755 GIT binary patch delta 219 zcmdnYvzuo^pmC1ReP#x~Qjg~h2ND?=>p;8&B?ymsABe}3!NABMmBt5C!^$$TB|$-- zS-u7+&h7Y~fm=XeL99T7NHc=1CO?^lv6C@mavx(Nx13slls1E08Uth8p;8&B?yms8;Hk~!NABMmBt5C!}4chOM-%Y z4N#Qb@jU~(fWU%Sfd-MC4z02)5d6t3jGc@=llvGGxy951q_i32(ij-SCjVm872hRf z!C1n?$iVpWfVra+n+UTPYZ?Q?mC1HYs*GDEr!d)zt9do2@szo^zG5)+1DY!r;MI~Q zROT}I5Rqsem2ii}B{ J9hiSJ0RUWXK#>3d diff --git a/bin/rom8M.bin b/bin/rom8M.bin index 7423b5c222857c08c7e6c11aa36989ace0ff2cbe..f00f9a742ffb221b954e838b35346b028a944cf8 100755 GIT binary patch delta 739 zcmYMqOHUJF6oBFH>-57*5h~WA)y@nQsulsUD#aUZ5ygtNDtJMuQ!gVT-ix9lPQsw^ z7tGcrhQyT#F);@H4K7Js8r`^IXQIB<7#B}+-gA!QIDV(Xm9Ed#T>l&OA(|ZP|E!7p zc;6SXP!e*gQdZ;N(%x69dPGPOv1|VQD8IK9RhHSV8IxQBneQSH489x=I-%+RbKLOC zx_Ti8yq~%%1@w3!(js(Q$f7rDsMh+Abtzf)Ng=;3bY`+uAuXqDAr`&YhH94YyibPe zHrjI2b}-zPo{7%(eiI$}x9J(ZkaO+upWQ1jVXCA|c|}u215H_JElo&E{7QJwOw}NV z=4Vay!}okHrci}tSdJA~i2$mx3N@%j5UWv#H3(rX!l=hOtVaYJun|${FkqqqjfkNM z&4^Xgy09C2uowHVAKgeJgDiS*0KGVfL+Ha{ zl&fqMDa1Q4&j3O?;LJ1df372sNHm+g>*D#9f7{d+R i#4X&$9o)q|lrfI`cz_8!#3MY$B%WYuelGTOaPc=7u?rCZ delta 763 zcmYMwyH8VL7{~GVZTq%WD%M)5R(gR-6#ZQz^zr(6r*AOoT+eBCsa?l))sE)t~UyrQVq>x`1yVDt`-=0&N5KHEph-#7Z z=2ArU2I9GAnx~rW`zE>y91jl88TSWQmJsw|0> z_KYkoPg+yLd=*tqa(LlwRQ;r$|L)dTW(zOoVhT>U;KnMfMjbp@gL=YH*oIbYM;qGFfgR|?PIMuGBz9pp_MjU**o%GG zj{`V}L+C{cX=HF1S@huuj-nsOki&80aRSz#PNIlYIE^znivbMc9M0ncF5(g{V+dDp z6(y80jB6Odb!ZsH7;a!3H*pKMaR+yC5BKo^4^hDcs(6G+JjN8BpoXWIUYLu`41D?n D(!vpG diff --git a/rdisk.c b/rdisk.c index cbefc3d..0eb5692 100644 --- a/rdisk.c +++ b/rdisk.c @@ -57,7 +57,7 @@ void C24(Ptr sourcePtr, Ptr destPtr, unsigned long byteCount) { void __attribute__ ((noinline)) P24(Ptr ptr, char patch) { signed char mode = true32b; SwapMMUMode(&mode); - *ptr = *((char*)0x40851DA8); // Patch byte + *ptr = patch; // Patch byte SwapMMUMode(&mode); } @@ -164,8 +164,10 @@ static void RDInit(IOParamPtr p, DCtlPtr d, RDiskStorage_t *c) { // Patch debug and CD-ROM enable bytes if (c->ramdisk) { - if (!dbgEN /*&& *RDiskDBGDisPos >= 0*/) { patch24(c->ramdisk + 0x00000031UL, 0x44); } - if (!cdrEN /*&& *RDiskCDRDisPos >= 0*/) { patch24(c->ramdisk + 0x00012CAFUL, 0x44); } + char patch = *((char*)0x40851DA8); + if (!dbgEN /*&& *RDiskDBGDisPos >= 0*/) { patch24(c->ramdisk + 0x00000031UL, patch); } + patch = *((char*)0x40851DA9); + if (!cdrEN /*&& *RDiskCDRDisPos >= 0*/) { patch24(c->ramdisk + 0x00012CAFUL, patch); } } // Unmount if not booting from ROM disk