Added control panel source

This commit is contained in:
Zane Kaminski 2020-07-02 01:06:50 -04:00
parent 2bcde59a1f
commit 273cda52c4
4 changed files with 181 additions and 0 deletions

44
RDiskCP/GWROMDisk.hqx Normal file
View File

@ -0,0 +1,44 @@
(This file must be converted with BinHex 4.0)
:#dGA)&*265"%DA0V!'0NCACbC(0V)3#3"`dX!Q8!N!3"!*!$#q8!!!VP!!!"4`#
3)!Y(9b"56ddJ4'PcD`)!N!0MC'9fFQ4cDb%!!$3!3!#3"'0NCACbC(0V)3!!0!"
!!*!5(`GS&3#3"JdX!*#&#J!"rrm!9`#G!8)!N!1!!*"3rj!)q)L3"SriMZMZMZM
ZMrq)N!D2$rq3"`#3#d!!N"6rri!"Qfh!!Arr!*!@rj!)Irm!N!3"!*"4rj!%J!!
!!BmH2(Q*%L4*L4)N5BN5*%Q2(Maj`!!!!999e99rrhrr!*"Brj!JIrq3!hrrN!-
!N!X(Bf4PGJ#3"KabC(0V!*!$!8C548B!N!6`)%P$6L-!N!6`)!!!!J#3r`#33[q
3%2L)N!k2q)MZlSL1lZL)lZk)MZlSMrL)lZk)MZlSL1lZL)lZk)riL1lZL)lZk)M
ZlSL1lZL2q)MZlSL1lZL)lZk)MZlSMrL)lZk)MZlSL1lZL)lZk)rrL*!1M`q"N!D
2ri'3"Sm2rj!($rq3"`#3)lX!Z`#3"5!!)"%"S!##!3!+!*!&)!!JN!!!"!#3"5!
!)!#3"5!!)!#3"5!!)!#3,[q3")!!!!'2(MajL4)N5BN5*%Q*%L4*MaimHF!!!!&
99G99Irprr`#3,+!!Jrm!N!00!%d!N`"J!*8"34%"S!##S!#1!3!+!*!%!Y!#3*J
!(J#6!'!!P3&)!*-!B!#9!8%!N`"J!*8"33!!"H@)!B!!"H@)!B!!S!#2S!#$r`#
3!`3!!2rr!!!"!*!@!Q[3!*#Y!Qc`!*!k!EJ!#J#3"3%!(J!P!4L&55#3%NGKFR*
PG(3RFb"AEh*VFfK[F!dJN"056ddJ4'PcDb"6CA4dD@jRF`#3"J-""`!M!5I!!J#
!!*!&+`"F!$d"23853Qp[G#"QFQpY)&*265"NDA0V!*!&13"[!%8"2SJK3@ahBAP
c)'*[Eh3JFhPcG'9Y)'CbEfdJ8Np0)'4TFfXZ!*!'5J"F!&`"23816@peER3J8Np
0)'4TFfX!N!9B!'m!C!%qL#P0Eh9ZG#"NDA0V)(GSC@iJBQp[G'PZCb"QFQpY)'p
dD'9b)'4bDACP,J#3"QN!A!"l!6d&$d9ZB@*XC5"538dJC'PcD`#3"RF!E`#$!6k
)+N&XE'ph)(GbDA4TEQFJG'mJ8Np0)'4TFfXZ)$%f68)J8N&0)(*PF5GN,J#3"B`
!A!#B!6f)*N0SB@jRCA-JGfPXE#"dB@YP)'9QCQ9MG#"KCR4PFL"bC@*[Eh3Z!*!
&*`"F!#J"2F!#!)%!N!@)!&`!L3%p`!)!J3#3"J,mB!S!!'0NCAE`)!!!6[S#,%(
krql4r!!!J[BJ#+"9`Ba1G8je6PErqLm$,@b!!2rk2@b!"2rqGJ"J*#"m3)8GN!"
$l[rk%$%`!,!`-!"R$K!i!A8)!!!(CJ4`!'!-8N-`3h!'XF"Pe(!"*Kp1ANjeM9*
%DA0V3e"0B@0%CAB!!%j@rqj)jaJJ*'i!#$JZ!!`@,J!15'lrlUKd,`USFbm+-!4
@3$m!5'lrmNKZrra)E[rdUBd[,[rm%!-#3!$pCJ4`!'!#F!%r!+PM,`S`"&T!2`"
)E[rb5'lrr%KZrr5TM5mZrr`)!`!"CJ4`!'!#F!%r!+PM,blrr"!$!N!!r@B%F!"
J"$!m!2mr!+PG,`S`"&j!2`")E[rb5'lrr%KZrr5TM5mZrra+,J!3CJ4`!'!#F!%
r!+PM,blrr%S$CJB`2!$rB!*`!$m!U9d[,[rZU(0-h`3B6Pj1GBe54'PcDd039A"
NBA4P!!"19[rqF!&b"%(Zrrp)3$!"S&&`!A)&3HlrrNK!-!'J86!Z!!U3!'i!$&G
!C`T93'F`98"R5'"D%#lrr`*!!2eR$K!Zrrm#3!!#(8$rrf"#%#lrr`*!!!)!3!!
"(8$rrf!`%#lrr`*!!2eQ*K!Zrrp)J%C!!N!!!Ke!rrpJ&%SZrrpR$K!ZrrjA`%3
!5)!G32rq(blrrKmZrrmr,J!-,bi!'%kkrRC`!A)%3HlrrdK!-!'J8R!"FJ9"l[r
q5%!`!D"56Pj1GBe54'PcDd035'Pd4'9f!!"19[rq51FH-$`Z!"Sk,J!@*Qi!$#4
Z!!JQ#dkkrESS!$!'$%!!#'*fd%!`1`!'6[X!!J!5!&!!%J"X!"i!(J!H!'`!&RB
$B&C1Z[fJ*J"J6R!"FJ4"l[rr5%!`!D"4F!&b"8(Zrrj)3$!"S&%I,[rq(blrrcm
&,`T1Z[h+6qm!#Q!F,`S[#bmZ!"!r,J!82`8r,J!B2`C1Z[k86qm!&#!%`B`[3`!
f60m-H%jH)&p2l`!86Y#%E@&TEJ#3!`954'PcD`!!!3#3!`[P!!!+j3!!!8F"E*Q
m%#S!N!-F!5i!$'jbBh3!N!0UD@0c0!#3!hCTBh-M!*!$JNP$6L-!N!114P*&4J#
3!jT#6N4-!*!$TQPME$3!N!1b8%P$9!!"!,jYB@0S!*!$eR*NFfX!N!2L4%P86!#
3!qim4%Bq!*!$qQ0NCAB!!!%'m#$rr`#3#2!Jrrm!N!-1!*!%m#$rr`#3!j)!N!6
`)2rr)!!!eJ#3"2!Jrrm!!!(D!*!%m#$rr`!!!H8!N!6`)2rr!!!#"3#3"B$rr`!
!"!N!N!@"rrm!!!6)!*!%m#$rr`!!"4N!N!S&)3#3"2!Jrrm!!!BP!*!&J!!2!!!
(i3#3"2!Jrrm!!!IP!*!%$NphEQ9b)(*PFfpeFQ0P#84KG'%J4QpbDdXk:

1
RDiskCP/RDiskCP.c Normal file
View File

@ -0,0 +1 @@
#include <Devices.h> #include <A4Stuff.h> #define BootCheckbox 3 #define BootCaption 6 #define MountCheckbox 5 #define MountCaption 8 #define RAMCheckbox 7 #define RAMCaption 10 #define GWROMDiskSigAddr ((char*)0x40800004) #define GWROMDiskSigAdddr ((char*)0x40851D90) #pragma parameter __D0 RDiskCPReadXPRam(__D0, __D1, __A0) short RDiskCPReadXPRam(short size, short offset, char *where) = {0x4840, 0x3001, 0xA051}; #pragma parameter __D0 RDiskCPWriteXPRam(__D0, __D1, __A0) short RDiskCPWriteXPRam(short size, short offset, char *where) = {0x4840, 0x3001, 0xA052}; static long RDiskCPMacDev() { int i; const char sig[] = "\pRDisk"; // Check signature and return 0 if doesn't match for (i = 0; i < sizeof(sig); i++) { if (GWROMDiskSigAdddr[i] != sig[i]) { // If signature doesn't match, // fail if not holding R key if (!((*((char*)0x175)) & 0x80)) { return 0; } } } return 1; // Otherwise return 1 if signature matches } static void RDiskCPUpdate(DialogPtr cpDialog, short numItems, char startup, char ram) { GrafPtr savePort; Handle h; Rect r; short type; // Save GrafPort and set port to dialog before updating items GetPort(&savePort); SetPort(cpDialog); GetDItem(cpDialog, BootCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, startup & 0xFD ? 1 : 0); GetDItem(cpDialog, MountCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, startup & 0x02 ? 1 : 0); HiliteControl((ControlHandle)h, startup & 0xFD ? 255 : 0); GetDItem(cpDialog, RAMCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, ram ? 1 : 0); HiliteControl((ControlHandle)h, startup ? 0 : 255); // Restore old GrafPort SetPort(savePort); } static void RDiskCPHitDev(short message, short item, short numItems, short cpPrivateVal, EventRecord *theEvent, void *cdevStorageValue, DialogPtr cpDialog) { char startup, ram; RDiskCPReadXPRam(1, 4, &startup); RDiskCPReadXPRam(1, 5, &ram); switch (item - numItems) { case BootCheckbox: if (startup & 0xFD) { startup = startup & 0x02; } else { startup = (startup & 0x02) | 0x01; } break; case MountCheckbox: if (!(startup & 0xFD)) { startup = ~startup & 0x02; } break; case RAMCheckbox: if (startup) { ram = !ram; } break; }; RDiskCPUpdate(cpDialog, numItems, startup, ram); RDiskCPWriteXPRam(1, 4, &startup); RDiskCPWriteXPRam(1, 5, &ram); } pascal long main(short message, short item, short numItems, short cpPrivateVal, EventRecord *theEvent, void *cdevStorageValue, DialogPtr cpDialog) { char startup, ram; long ret = (long)cdevStorageValue; // Switch to our A4 world EnterCodeResource(); // Handle message switch (message) { case initDev: case closeDev: ret = cdevUnset; break; case macDev: ret = RDiskCPMacDev(); break; case updateDev: case activDev: case deactivDev: RDiskCPReadXPRam(1, 4, &startup); RDiskCPReadXPRam(1, 5, &ram); RDiskCPUpdate(cpDialog, numItems, startup, ram); break; case hitDev: RDiskCPHitDev(message, item, numItems, cpPrivateVal, theEvent, cdevStorageValue, cpDialog); break; }; // Restore old A4 world and return result ExitCodeResource(); return ret; }

105
RDiskCP/RDiskCP.hqx Normal file
View File

@ -0,0 +1,105 @@
(This file must be converted with BinHex 4.0)
:"e*%DA0V3e!!68e38Ne03d-"!*!$%[3!!!@q"cGMEfpX!*!$!3#3!a`!!"*J!!!
5I!#3!hJ!N!-'!*!$1!!"!$!!!J!F!129M!#3"%#!QJS!!$2`!F92k!#3!f"@H2r
r!FkKH!!!!Y)!N!-'!!)!N!-#!"`*6'PLFQ&bD@9c-CLRN!!!N"m#!"`*6'PLFQ&
bD@9c-CLRN!!!N"m#!#J!q2r`!*!&!G58!*!'-XB##!!!!3V,@!#3%#"YC@je!*!
%*!$Yr`%!!3#3$Jp$E'9KFL"'D@aP)'ePER8!N!3",3#3"3-!!3!#!!!VBJP54'P
cDd03,Q-!N"BI#F-9!3%!N!N#!!)!!#YL$&*%DA0V3e!ZFR0bB`#3%am*R2i"!3#
3#30!!J!!$QJ06@&M5'9KC'9bFcBi5`#3%UZmEmN"!3#3#34!!J!!$0X*4'9fD@0
PFbjS!*!@UjA"`!!"!*!*"8!#!!!,m`P"0&0dG@CQ,QJ!N"DVXFHU!!%!N![%!!)
!AJ#3!`3!!4pG!!!#dJ#3!`%!N!3*8N4TFfY$8#jM!*!C"J#3"3%I#F-9!*!$"DZ
aakS!N!-%UjA"`!#3!`1V['r*!*!$AJ"R!!%!!3#3#3%!N!3-8N4TFfY$8#jbFh*
M!*!F!Km*R2i!N!3rrS!J!*!&E!!+X@`2rj!'!*!*!33"E*L%!AG$f!&h3mJ!N!G
X!@bBK!!2!*!$A3$A!Hbra!#3"3d!e`#3"3B!!3&h3b!!N!8"!#)!!$%J!#J!I`!
S!(m"GfDJ!!%!N!B"E*Qd!*!*!`!"!AG$(!!'!!#!!J!%!!B!N!NN!@bBK!$T!-`
"93'b!#S!!`&6!Id"Gd-F!*!,1!&XQ)3!N!3"l,r%!!i!e`"H!1IrN!2p!!$rr3!
##R!"Gd-X!*!6+!&XQ)3"GdGN!AG$)!!#""!!N!cqlEkY!*!'!ji!!!Ud!*!$9J!
!!pi!!!E@!*!'!Y)!N!F'!*!84@G&E3#3!`%!N!-'rj!%!!!#23954'PcDd9T!*!
$!J#3!eS!N!-J!!!#28j@rrS[!beX!!$rqMeX!!$rrRB!B#3JI%#&(C!!3qlrqK!
a-!#`-$!!C`i31!&e#!!!"fB%F!"J$&*$-%0`"V(!CG4`!5BI6Pj1GBe54'PcDd0
36@&M4'9f!!"&G!#3!`%!!J#3!`i!N!-%!*!$#!#3"%9T!*!$"3#3!qJ!N!1)!!!
$Y8j@rqj)jaJJ*'i!#$JZ!!`@,J!15'lrlUKd,`USFbm+-!4@3$m!5'lrmNKZrra
)E[rdUBd[,[rm%!-#3!$pCJ4`!'!#F!%r!+PM,`S`"&T!2`")E[rb5'lrr%KZrr5
TM5mZrr`)!`!"CJ4`!'!#F!%r!+PM,blrr"!$!N!!r@B%F!"J"$!m!2mr!+PG,`S
`"&j!2`")E[rb5'lrr%KZrr5TM5mZrra+,J!3CJ4`!'!#F!%r!+PM,blrr%S$CJB
`2!$rB!*`!$m!U9d[,[rZU(0-h`3B6Pj1GBe54'PcDd039A"NBA4P!!"&D3#3!dF
!N!28!!!"E!!!"U*19[rqF!&b"%(Zrrp)3$!"S&&`!A)&3HlrrNK!-!'J86!Z!!U
3!'i!$&G!C`T93'F`98"R5'"D%#lrr`*!!2eR$K!Zrrm#3!!#(8$rrf"#%#lrr`*
!!!)!3!!"(8$rrf!`%#lrr`*!!2eQ*K!Zrrp)J%C!!N!!!Ke!rrpJ&%SZrrpR$K!
ZrrjA`%3!5)!G32rq(blrrKmZrrmr,J!-,bi!'%kX!!"`!A)%3HlrrdK!-!'J8R!
"FJ9"l[rq5%!`!D"56Pj1GBe54'PcDd035'Pd4'9f!!"&J3#3!`8!!3#3!k)!N!4
&DJ#3!dN!N!1m!!!#,J!!#9G19[rq51FH-$`Z!"Sk,J!@*Qi!$#4Z!!JQ#dkX!!!
S!$!'$%!!#'*fd%!`1`!'6[X!!J!5!&!!%J"X!"i!(J!H!'`!&RB$B&C1V!!!*J"
J6R!"FJ4"l[rr5%!`!D"4F!&b"8(Zrrj)3$!"S&%I,[rq(blrrcm&,`T1V!!!6qm
!#Q!F,`S[#bmZ!"!r,J!82`8r,J!B2`C1V!!!6qm!&#!%`B`[3`!f60m-H%jH)&p
2l`!86Y#%E@&TEJ#3!d@"!*!$4`!"!*!$Q!#3"%@"!*!$"3!"!*!$HJ#3"%@"!*!
$!J!"!*!$5J#3"%@"!*!$5J!"!*!$(!#3"%9S8eP05!!!!d3!N!-3!*!9!3#3"J)
p!*!$"J!!!Q-!N!-5!!!#Y!#3!aB!!!,C!*!$+J!!!d-!N!-i!!!$H3#3!d)!!!0
m!*!$4!!!!l,rN!3!!!1c!!)!N!-$rj!$rJ!#rj!$qJ#3!`3!N!-,!*!&!`!"!*!
'!l8!N!-8!!!%JJ#3!aS!!!5A!*!$(J!!"+d!N!-d!!!%k!#3!dS!!!8L!*!$B!!
!"9i!N!0d!!!&PJ#3!i`!!!A8!*!$SJ!!"Ji!N!1f!!!'1`#3!mS!!!D,!*!$d!!
!"TrrN!3!!!DJ!!J!N!-'rj!$r3#3"3S!N!0"!*!$#`#3"33!N!0#!*!$"`#3"3-
!N!0$!*!$"`%#!*!$%!#3!d3!N!-,!!,rN!2b!*!$4Iq3!rS!![q3!r3!N!-J!*!
$C`!#rj!$r!#3!dErN!2p!!,rN!2Z!!%!N!B('3#3!`3!!!GL!*!$%J!!"i8!N!-
J!!!(T!#3!cB!!!I9!*!$6J!!#!S!N!0H!!!)13#3!f!!!!KC!*!$HJ!!#*)!N!0
m!!!)X!#3!j!!!!!)hJ#3!k3!!!N3!*!$XJ!!#63!N!2!!!!*92q3"!!!#98!"3#
3!dJ!N!-,!3)!N!-+!*!$33#3!`X"!J#3!``!N!-'rj!$r3%#!*!$'!#3!d-!N!-
(!!,rN!2q!*!$3J#3!`F!![q3"!!"!*!'#I3!N!-B!!!+#J#3!aS!!!T*!*!$)!!
!#R)!N!0%!!!+T`#3!dJ!!!V4!*!$8!!!#bJ!N!0H!!!,63#3!f`!!!YZ!*!$I!!
!#k)!N!1#!!!,[!#3!ji!!!aN!*!$SJ!!$(N!N!1Q!!!-K[q3"!!!$)F!#`#3!dX
!N!-,!*!&"J#3!dJ!N!-,!3)!N!-B!*!$33#3!`X!N!8&!*!$6!#3!`X"!J#3!a3
!N!00rj!$m3%#!*!$%!#3!e-!N!0N!*!&#`#3!`ErN!2p!*!&#J#3!e3!N!-$!*!
&"!#3!e8!N!-$!*!&!`#3!d-!N!-(!!,rN!2q!*!$3J#3!`F!![q3"!!"rj!%!*!
$"J#3!`%!N!-(!!(rN!2q!*!$"J#3!`%!N!-(!!,rN!2k!*!$$J#3!`J!"!#3!`m
!N!-,!*!(%!#3!`X!N!-#!*!$%3#3!`X!N!-%!*!$%J#3!`X!N!-'!!,rN!2l!*!
$#J#3!`i!!`#3!`X!N!0Q!*!($!#3!`X!N!-%!*!$$Iq3!rS!N!-'!!,rN!2i!*!
$&3#3!`S!!J#3!aB!N!-,!*!(&rq3!rS!N!-#!!$rN!2j!!,rN!2i!!(rN!2f!*!
$#!#3!`%!N!-'!!,rN!2h!*!$'J#3!`J!!3#3!a[rN!2f!*!&![q3!r8!N!-H!*!
$"!!#!*!$(`#3!`X!N!FJ!*!$#`#3!`)!!2q3!r)!!3#3!fS!![q3!r-!N!-c!*!
$0!!0!*!$02q3!r)!N!Ferj!$mJ#3!`3!N!-frj!$mJ#3!`J!N!-hrj!$mJ#3!``
!N!-irj!$mJ#3!a!!N!-jrj!$mJ#3!a3!N!-krj!$mJ#3!aJ!N!-lrj!$mJ#3!a`
!N!-mrj!$mJ#3!b!!N!-prj!$mJ#3!b3!N!-qrj!$mJ#3!bJ!N!-rrj!$mJ#3!b`
!N!0!rj!$mJ#3!c!!!2q3!r3!!Iq3!r-!![q3!r`!N!-(!*!$E!!D!*!$#!#3!`X
!N!F*rj!$q`#3!`)!N!-6rj!$qJ#3!a!!N!-8rj!$q3#3!aJ!N!-Brj!$q3#3!a`
!N!-Crj!$p`#3!b!!N!-Frj!$p`#3!bJ!N!-Grj!$p3#3!c!!N!-Krj!$p3#3!c3
!N!-L!*!$#`#3!cJ!N!-Mrj!$p`#3!cS!N!-N!*!$#`#3!d)!N!-P!*!$#`#3!d3
!N!-Q!*!$"J#3!dB!N!-R!*!$"`#3!dF!N!-S!*!$#`#3!dJ!N!-T!*!$#`#3!dS
!N!-U!*!$!`#3!d`!N!-V!*!$!`#3!e!!N!-X!*!$!`#3!e3!N!-Y!*!$#`#3!eJ
!N!-Z!*!$#`#3!eS!N!-[!*!$C`#3!e`!N!-`!*!$C`#3!f!!N!-a!*!$C`#3!f3
!N!-brj!$p!#3!fJ!!2q3!rd!!Iq3!r`!![q3!r!!N!01!*!$%!!&!*!$6`#3!`S
!N!G,!*!$!J#3!`)!N!03!*!$!J#3!`B!N!04rj!$p3#3!`S!N!05!*!$#J#3!`i
!!2q3!r%!!Iq3!r!"3%!!!A*54'PcDd036@&M4'9f!!0KFfPR!!&TD3!"29*%DA0
V3e"9F'4KG'8!!2PMF%4TB@a[C`!!BdGbB@C3Eh*d!!+aC'9fD@0P!!"0F'pbG%*
TG(-!!LC#DA40BA!!!,0LBA0P3@4NFJ!!IR*[Gd*jG'9c!!)VBQpeEQ4c!!"r8Q9
MG!!$,h4[F!!!$'aPCR3!!L*LEh4dEfd!!GCbD@GSG!!!*("[FR45C@0d!!)`GQP
c8QGZ!!)28Q9RD@pZ!!0"FQGZ8fPkC3!$cR*REN*#EhJ!!k4ME'P`8QGZ!!'CBQY
3BA3!!kT3BA4dCA*Z!!0KF'&d!!-8CQPXE&"KG!!"`("Z6'pM!!'N8'pTER3!!AC
f!!&SD!!#Uh"Z8fPkC3!#'A"Z6@pNC3!"rh"Z8'&d!!%AF'j@DA-!!YjdH%C[ER3
!!P9dH%CKBf8!!VPQD@aXCA)!!M&dH%e[C'8!!Z0dH&0THQ8!!lYcF%9iG(*K!!0
ICQG$Efa[FJ!$1'*V3fpXEh)!!leMEfab3QPd!!,'F'&d8h4bCA4MD!!$G("TBe0
KGQ8!!k&bCfj6BACP!!!-F'pXH90KGQ8!!6*RFQ&Q8(*[Bh-!!b044&"bEf0c!!"
(G'9iG&"bEf-!!)eXD@jP8(*[B`!!ZA*PBh43FQpM!!%1FP*PBh43FQpM!!#4EhC
KE&"bEf-!!b&KFQ03FQpM!!$`F'pXH9"bEf-!!i&bCfj3FQpM!!#UBQPdFe"bEf-
!!qjMEfeYC@jd8(*[B`!#1h4i6@9KFe"bEf-!!Z4RCA43D@03FQpM!!*aF(9d8'P
M8(*[B`!!EfjeE8PdC@ec!!1&Fh4KFR4eF!!$BR*KE3!!Eh4jF'8!!A*b!!$0Ff&
fC9"[FR3!!BC54'PcDd035'Pd4'9f!!#JDA4PE3!!XfeKD@i!!%G6CA4$GA*bC@j
d363!!dYYCA0cB@GP!!!qBh"3FQPfBA4P9Q&X!!"XG'KP4ACPER3!!k9&GQ9ZG&*
PBfpbC!!!fAGSBA3!!&0hD'9Z!!&2GfKPFQ8!!5aYEf4TCQPPFR-!!-eMC'9f8h4
[FQ&RC9CKE(9P!!&kEfaN363!!qTbCA3!!,kVZZX!N$d"!"J!N!3#29*%DA0V3e"
0B@0%CAB!!!%!'!#3"!1e8N4TFfY$8&9`C'&dC3!!!3!B!*!%"U*54'PcDd035'P
d4'9f!!!"!"!!!3!!#9GYB@PZ!0X!!!&h3cJ!!!%H!!!"$P"'E(-!N!3"Gd-`!!!
#,!#3!m436(0d!*!+!4`!N!-#8&0PCrrr!*!*(!!!!3"38f9R!!%!N!J$m!!!$I*
[BQTN(ed!N!J4iJ#3!jTLFRGc(ed!!%kb!!!"!*!$"0`!!!2F!*!$iJ#3!`&K!*!
%!@%!N!3"B3#3"!&K!*!%!@%!N!-(8N4TFfY$8!)!N!0069"568e$3`%!N!TE!!"
069"568e$3`%!N"IE(Vjb!!!5p!!!"Ei!!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#
3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&
K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3#!!-!N!0+!!%
!#3C0EfjKBfm!N"`%!#J!#J(#!S!!+!!+!F)#J!#3%!%!N!3#!*!&+!!%!3$rr`#
3#2rr!C!&!*!%(J%"!*!)QCN!N!8`!!8!N!F06@&M5'9KC'9bFcBi5`#3(!S!!J#
3#a3!"!#3#!%!N!`-!!3"!!!"!!%"!*!'"`!#!*!)"`!#!*!(!J3!!J%(4(*[F'a
PG!#3q3%'8fpcG@eT!*$l#J!%!*!,[!!%!!%,4eFJ8Np0)%4TFfX!N$4bC(0VBf4
PGJ#35'0NCAE`)!#3"qN!c!&9!E)"!*!$#l`!!#YL!*!-!3#3!`6F!!!$h!#3!q)
"E*Qm$m`!N!-F!0)!!R"bC@B!#J!DF&CPFJ#3!jj69&)M!*!$UJ!!rrm!N!-'!*!
&!Irr!*!$@J#3"3,rr`#3!iB!N!8(rrm!N!1k!*!&!rrr!*!$b!#3"36rr`#3!q!
!N!8'rrm!N!2`!*!&#2rr!*!$q`#3"3Rrr`!!!3B!N!A)rrm!!!-1!*!&"Irr!!!
$(!#3%!2`rrm!N!08!*!%$e"bEfTPBh3J9Q9bFfP[EQa!:

31
RDiskCP/RDiskCP.rsrc.hqx Normal file
View File

@ -0,0 +1,31 @@
(This file must be converted with BinHex 4.0)
:$&*%DA0V3e!ZFR0bB`"bFh*M8P0&4#'!!*!'#KKA[J#3"!%!N!-)j3!!"q8!!!%
c8dP8C90*9%`"!*!'"BR#!3!,!90*9'96594-!J!-8N4TFfY$8#jbFh*M9`)!N!0
bFh*M8P0&4#'!!*!$J!!!FR0bBe*6483KJ!#3!i!!N",E(530!*!'#KK6594P8dP
86!B!N!B&NB)"!!X"8dP8CA"KG@cr!*!'"CY#!3!,!90*9'9cD'aL!3#3"J@5JJ%
!#`&6594PFfKXBJ)!N!B&Ni)#!!X"8dP8CA0SE')$!*!'"C@#"!!,!90*9'9cD'a
L"!#3"J@CJJ"!!*!$#J!"rrm!9`#G!8)!N!1!!*"3rj!)q)L3"SriMZMZMZMZMrq
)N!D2$rq3"`#3#d!!N"6rri!"Qfh!!Arr!*!@rj!)Irm!N!3"!*"4rj!%J!!!!Bm
H2(Q*%L4*L4)N5BN5*%Q2(Maj`!!!!999e99rrhrr!*"Brj!JIrq3!hrrN!-!N!S
#!*$r!*"#rj!3q)L3$SriL1lZL)lZk)MZlSL1lZL2q)MZlSL1lZL)lZk)MZlSMrL
)lZk)MZlSL1lZL)lZk)riL1lZL)lZk)MZlSL1lZL2q)MZlSL1lZL)lZk)MZlSMrq
)N!k2$i'3"SrrJC!'M`rrN!F2rj!(!*!M"f0NCAB!N!BFFQ4cD`#3!`&'8N9'!*!
%m#"*3diM!*!%m#!!N!1l!,X!N!8J!#!4!D!!JJ%!#J#3"5!!)*!!!!3!N!8J!#!
!N!8J!#!!N!8J!#!!N#lrN!5!!!!"MaimHBN5*%Q*%L4*L4)N5BmH2(R!!!!"99A
99ArrIrm!N#bJ!)2r!*!$"!!!rrm!N!00!%d!N`"J!*8"34%"S!##S!#1!3!+!*!
%!Y!#3*J!(J#6!'!!P3&)!*-!B!#9!8%!N`"J!*8"33!!"H@)!B!!"H@)!B!!S!#
2S!#$r`!!!3#3&J*Vd!#3V3*Xm!#31J'i!!S!N!8"!"i!*3%BK8NJN"*(BA*bCA4
d*h-J9fpbDh0SEh!0)*!68Np0)%4TFfXJ8f9dG'PZCh-!N!B$!3F!)`%R`!)!J!#
3"5X!A!!p!6d&%N*[Eh3JCR*[E5"56ddJC'PcD`#3"6N!E`"&!6k))8&XGf&jFb"
LEfpd)(0jFh4PE5"QFQpY)&*265"NDA0V,J#3"NS!A!"F!6d&$Ne[G@jd)&*265"
NDA0V!*!&@!"[!'3"2SJT6@peER3JC'PcDb"hD'9Z)'*[Eh4TEQFJCR*[E5"[G'K
PFL"NFQPfC5i!N!CT!&`!H`%p"3p&EQ&LE'8J8N&0)'4TFfX!N!Ch!'m!J`%qL#T
"E'a[Gb"hFQPdD@jR)(4[)&*265"NDA0V,L!a0Ne#)&*"65"bCA%RC#i!N!@-!&`
!Q!%pL#C$D'&ZCf9c)(GTE'`JG'&VC5"PCQCPBh3JB@CdCA)JFQ9LEfpd,J#3"5F
!A!!S!6h!!J#"!*!&L!"F!)N"2F!#!)%!N!B"!*!$#18!!!IP!!!"-`&P,X33L!#
3!a`"'J!,ER*MG!#3!f*TBh-d!*!$EQPMFb-!N!0k5801)`#3!iC'8N9'!*!$NN*
14%`!N!1HD@0X0!#3!kT35808!!%!YQeKBfJ!N!21FQ4cD`#3!pT%594-!*!$jMa
%4Mi!N!2bm#$rr`#3#2!Jrrm!N!-1!*!%m#$rr`#3!j)!N!6`)2rr)!!!eJ#3"2!
Jrrm!!!2H!*!%m#$rr`!!!qN!N!6`)2rr!!!"fJ#3"B$rr`!!"!N!N!@"rrm!!!6
3!*!%m#$rr`!!"-J!N!S&)3#3"2!Jrrm!!!BP!*!&J!!2!!!(i3&P-"J16hGZCA)
JFQ9cEh9bBf8*4'&dB5"'Eh*V)b)!: