From c96635c63a3361c6e29db1bd315ebfbf7ea475d3 Mon Sep 17 00:00:00 2001 From: Zane Kaminski Date: Wed, 9 Jun 2021 19:15:40 -0400 Subject: [PATCH] Fix settings decode --- bin/driver7M5.bin | Bin 1917 -> 1927 bytes bin/rom8M.bin | Bin 8388608 -> 8388608 bytes rdisk.c | 28 +++++++++++++++------------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/bin/driver7M5.bin b/bin/driver7M5.bin index 84af299cc0976fb263396c405aaa75c8c3580876..ca6cb6ee74574260e6a4b2e7ea0ae01a6a3952dd 100755 GIT binary patch delta 470 zcmey%*Ump7(0GT>eP#x~Qjg~h2ND?=H-LBvN)R3^6Ntx?!NABMmBt5C!xpfy#hQ_E z!Q=ysiGl`d0W#VQa%l{V|HNy6>f|Q-F&WkiME0*NRS=Kp-_VuB65N`0#qm9ZS`kYD zqlbe5J}5wXHer{U|>jRV0a~_&!Eo4%)ltez{JkL;&LGBs0*tT zo7ZXvh42HO2V5FF4fI8=Ru>w`h5z}VSg{ksl1B%ac(q>== zxr$*%!G53nF+U>u{YoVmm{=H?fG%WAmxH;lim{Hdg0Y4%f#JV^6T1^j6^O;=#0(N= zN_a7O9kXJvh8KG}!~cw{e;k0013M)^+<`#{s4&Ef6)01JCZh|KN$_Gx7qYBjn8u)F zpu@nz;Gn=@>A=9^1#}irN6=&imdT6vvhL7j=2fl&e|_VP%%BbN&U$IBz` zj83dxs~Hr+4|pDMY4ALJtRdaO%YtVUP{+N=7nri^r+BreF)&QIdcbd|L#teqN;ZSW z);|mt3=BC^3fc?`Ky^J{EkG4rV%iM4FjZb`AaN&c24*i-pj=zQexLg>KO*}5N~IW> zSQ(grZemPlVB7_BQx#(kV;y4!V*AUYtLyxK?^DQ#FWw{O0t5B<};RtiJv)ol~Rvlo?N{n%~Q~j z?G}4b)NE#is6F;7S1%v3wU0jTb7Z!Sj^FCknn!|@)jy=5M+>VOuSY#UG ziqqz-{xmapQ^ZlBl430my?toRum(lOrsDN4y(9MPt}{~fd`9|3y0aW^ad7&;&`CVV za7)R2%CPYM(B~F&qL$nbzpk4;{JU+mzHhmhG%-<8h3xYM2h^bIR}mGEIh)Vw(*_cM z7N0rsZVG&j+4J63z|cbJl@YloPEWCD z;&n)+S2TlOTr|aQ=jnG^G!E?xpY`yMG}&+01J_V zR4l?`*pP;FEWuJNLk2Rj94nB8mB>a8?8t=!d2nJCT*yZO3Q>gBSOYhTQG!yG!Gm(F z#X79V25iJ8RG<=@QH3qoifz~qFRJ0g4*0PXyRaKIsD*(&sKZ{=V;>sOh$b|n1^aOT zt!P6#4&o3F;|Px87y{@(CywI;P9lg9x^N1oaR%Kui*q=SFfO167txD8T*77a;|d0F P6%ky+;KVQ2Q1a(La7K1i delta 982 zcmZ9`T};h!9LMqR@0|ZXNs^)x)&CqlaY{v~JpD`R^p~ULAw&;y4)SnB969RDPO@fe zrgd(cxiOnHV~rb`=F&y08yC7XH{6(Y(eOU38yBzN_Wk}ozu!KgP)G|!g;m%VwuiNs z`n!xR&+F&x;^}dJk;!&ZK?%{>@CV$cGZ?9G=*f*` z)}T**2WA({`yzjfG^CnRK)llm`@;Y23)y#Dx-Y3bD5K&mE)Y#jL&{CjEGqF+XJpKw zKT^|?Qm6hf+4O&GlV2778P3uwJEv!2+NtN*?6xN=;#k|7J{XsyBL+(li=~LeGQ?v! z60ib^ScxPgV-;2-1*u5G8btqHi*?9ACbD3_0VmcY8#%~D9`dmP8{t9$3b6@AC`Ji3 zV+%^L72B{KWhh4lc3>xVVK?@`L?x=Q7uDE@8q~s#I#}3`dK`cU2ho5=96}Qg;|Px8 z7@Bb$CvXxiIEB+_MH|}DfivjDS$N^YIh@A@bm1Z{;WDnkkE`g$HC#szZr~;YxP@Na PMi6( tmax) { break; } } + // Read PRAM + char legacy_startup, legacy_ram; + RDiskReadXPRAM(1, 4, &legacy_startup); + RDiskReadXPRAM(1, 5, &legacy_ram); + // Decode settings: unmount (don't boot), mount (after boot), RAM disk if (r) { // R boots from ROM disk *unmountEN = 0; // Don't unmount so we boot from this drive *mountEN = 0; // No need to mount later since we are boot disk *ramEN = a; // A enables RAM disk + *dbgEN = 0; + *cdrEN = 1; } else { if (legacy_startup & 0x01) { // Boot from ROM disk *unmountEN = 0; // Don't unmount so we boot from this drive *mountEN = 0; // No need to mount later since we are boot disk - *ramEN = legacy_ram & 0x01; + *ramEN = legacy_ram & 0x01; // Allocate RAM disk if bit 0 == 1 + *dbgEN = legacy_startup & 0x04; // MacsBug enabled if bit 2 == 1 + *cdrEN = !(legacy_startup & 0x08); // CD-ROM enabled if bit 3 == 0 } else if (legacy_startup & 0x02) { // Mount ROM disk *unmountEN = 1; // Unmount to not boot from our disk *mountEN = 1; // Mount in accRun - *ramEN = legacy_ram & 0x01; + *ramEN = legacy_ram & 0x01; // Allocate RAM disk if bit 0 == 1 + *dbgEN = 1; // CD-ROM ext. always enabled in mount mode + *cdrEN = 1; // MacsBug always enabled in mount mode } else { *unmountEN = 1; // Unmount *mountEN = 0; // Don't mount again *ramEN = 0; // Don't allocate RAM disk + *dbgEN = 1; // CD-ROM ext. always enabled in unmount mode + *cdrEN = 1; // MacsBug always enabled in unmount mode } } - - // MacsBug enabled if bit 2 == 1 or not boot - *dbgEN = *unmountEN || (legacy_startup & 0x04); - - // CD-ROM enabled if bit 3 == 0 or not boot - *cdrEN = *unmountEN || !(legacy_startup & 0x08); } // Switch to 32-bit mode and copy