From dad905b738b3a340fe8406b910205dd900a8987c Mon Sep 17 00:00:00 2001 From: goyuken Date: Sun, 24 Aug 2014 00:04:57 +0000 Subject: [PATCH] vba-next: callbacks n shiz --- .../Consoles/Nintendo/GBA/LibVBANext.cs | 13 +++ .../Consoles/Nintendo/GBA/VBANext.cs | 24 ++++++ output/dll/libvbanext.dll | Bin 443392 -> 442368 bytes vbanext/instance.cpp | 80 +++++++++++++++++- 4 files changed, 114 insertions(+), 3 deletions(-) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/LibVBANext.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/LibVBANext.cs index 7850fe0566..291780a441 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/LibVBANext.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/LibVBANext.cs @@ -140,6 +140,19 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA [DllImport(dllname, CallingConvention = cc)] public static extern IntPtr GetRegisters(IntPtr g); + [UnmanagedFunctionPointer(cc)] + public delegate void AddressCallback(uint addr); + + [DllImport(dllname, CallingConvention = cc)] + public static extern void SetPadCallback(IntPtr g, StandardCallback cb); + [DllImport(dllname, CallingConvention = cc)] + public static extern void SetFetchCallback(IntPtr g, AddressCallback cb); + [DllImport(dllname, CallingConvention = cc)] + public static extern void SetReadCallback(IntPtr g, AddressCallback cb); + [DllImport(dllname, CallingConvention = cc)] + public static extern void SetWriteCallback(IntPtr g, AddressCallback cb); + + [StructLayout(LayoutKind.Sequential)] public class MemoryAreas { diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs index 947bfea4ae..5b1f5fd6cd 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs @@ -76,6 +76,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA savebuff2 = new byte[savebuff.Length + 13]; InitMemoryDomains(); InitRegisters(); + InitCallbacks(); // todo: hook me up as a setting SetupColors(); @@ -94,6 +95,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA if (Controller["Power"]) LibVBANext.Reset(Core); + SyncCallbacks(); + IsLagFrame = LibVBANext.FrameAdvance(Core, GetButtons(), videobuff, soundbuff, out numsamp, videopalette); if (IsLagFrame) @@ -259,6 +262,27 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA #region Debugging + LibVBANext.StandardCallback padcb; + LibVBANext.AddressCallback fetchcb; + LibVBANext.AddressCallback readcb; + LibVBANext.AddressCallback writecb; + + void InitCallbacks() + { + padcb = new LibVBANext.StandardCallback(() => CoreComm.InputCallback.Call()); + fetchcb = new LibVBANext.AddressCallback((addr) => CoreComm.MemoryCallbackSystem.CallExecute(addr)); + readcb = new LibVBANext.AddressCallback((addr) => CoreComm.MemoryCallbackSystem.CallRead(addr)); + writecb = new LibVBANext.AddressCallback((addr) => CoreComm.MemoryCallbackSystem.CallWrite(addr)); + } + + void SyncCallbacks() + { + LibVBANext.SetPadCallback(Core, CoreComm.InputCallback.Any() ? padcb : null); + LibVBANext.SetFetchCallback(Core, CoreComm.MemoryCallbackSystem.HasExecutes ? fetchcb : null); + LibVBANext.SetReadCallback(Core, CoreComm.MemoryCallbackSystem.HasReads ? readcb : null); + LibVBANext.SetWriteCallback(Core, CoreComm.MemoryCallbackSystem.HasWrites ? writecb : null); + } + LibVBANext.StandardCallback scanlinecb; GBAGPUMemoryAreas IGBAGPUViewable.GetMemoryAreas() diff --git a/output/dll/libvbanext.dll b/output/dll/libvbanext.dll index 2fabdcb1e60ddca1c7f2068dbc00147e0b3efdbf..22be59b15f49154b9286a926dc2556930c54c188 100644 GIT binary patch literal 442368 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 delta 74454 zcmce92V4|K`~U6i9bNBG5L6UYR1~8aO=7Irjj@2;D2lx+MyxRbJVfyX(NiaOjcIli z_0(8EEZD)`1uICbu@~Q`2{!QWU$s42#8ax{J`R6vIX<7lCZbB#JGRc4Tb z%4cqcvc?@kJ(qc9fJFx^KE^jf`QqJ&z@JdB8VbLD#ww_)Fw@up{-0%>0RPWUS&n*& z=!jR!YfTL`THtJ~>JorPI2%Jd0=!ui@n9EYs*~vJ}bt1a#XuRn<5{+~; zhPYKitsRZy-KwLqj>c7P%g|H@V{oy)sH}r=Rk6}YxgvEj9aSJ zKsWy}X2Z|ce^QE9zb&AXPmIq31JSA{#tJn8QRI`94mBQ#sNZB`qo9{4?q0UR)1*%|`N~`}GstwVz z>mXI$6!PcEn4EV_;5Sy-oegD!N!j_BoA1mbl%d@#MU>Y`qKjg5eo)pJ%3=zF1eJQc z^P%Xdi*9a6mG1_Ps8wpM{v5PPkwukC%!uAO@+x#g8@m^Zqj!!bCy}m(nBDJOQQiwE z)0)`d_hoF*p{vmOyz@{tD`{z6q>8@j7<2cXSx`m4K@+?Pyed^t#k^KU3sI`^j&)M= z))9W_Jd~(n-jM&tJH*^IM+q<#hute3QC_^Vh25`QQT`-0Ub8^P>nE!6hZr(*ubnWP z^ZOXi=hi)DHfy)14oel_Uw*sj9rK|pDnk;HZ1>2DhLidnBt~T!j)MFRyEFdYiJ-BJ zT==QGr^H794lr_!`dJ z!?75Sb#{*3P!@F%{v*e6*}u+)i)p#u-Sn@DYiDeRKAZigPi+HA5o1w`@-c5!!9*$M zks+n)vys*m>qK>96Dc_pbF%<+0}5TJaxA7~l?y;O2q9IDI8qixC_y_YB~g#DP#W`= zt4EBa9dDU-R3dVu=Rq*%t zYSBAKfwHP1{S0#>;E%wlxotq94e^uUA7#`rV*9aY%qWXkCV|7)j@g8!p;E+^dD z*l;+Box2tgw9~u5--fv>Whj5b--RG`Nqu@{A|N7Yx)A)JY}Q<9A>1n93&9iURBclQ zRU@kJWEs2!*^#+ZEQ4EQ8333oT?c0gNnrzI9pt4#S@ce0W`o92G0ps-o2JzK3EJ&3 zP5Ix$;qPGncOR-7X0yO&T$SI>kd-_BC@h-hhBJn=+@psr%SNTjuNA$MEt|PS_aYss zu8En3{b{ef4O`RbqM4mW7tK>xG*QL-yhs;%MT%(|PU%S)ELl@f-1G2z9}Y7d4O^>p zA#f~(BiYX35A>hGAuR{G2KBFDCFnqmU>3I zgH8#oi;gl(GQ+g{W`T8Bm2Sw)JDg!Q=T$spHgmJqEmEVuDdtCs`kR7CO&l{`Td7^E z^wcn)ny*>vQhn0Tfq1WfqtZFR;Q>cQI0nEm7LM(39I$hohO$d=kZI{`xMav6PAjcI z|JqGE<0OcJ_^ofjoK+_7Cw^%V5p%Ef%I`qTku=Sm>&Zg|x>=H5GyT6e?A z+;^ijsMBP9MN&U&0L4z)aRquk=|9`2vC#m?O~{GUPIi{ML{e6D40dn#x3= zv@?#hGYpRiv{!oc-rXwje37MQ9Wxy2l~*6+**U}z=LC%zPMR}&rH=qTn+(ScIJU!a z01gcd@pC&zNhqrV$MGnxw#2JH^wu9L&=-J!@~MEfMYL1tVseNL9vnYkAQI}64(A{u zdJZyz^VdvBJAei1pvRp;4H>ytM`=`)7zzk6kx8HQ&a-}|Lb>HgU_mNxqfoC2I>VEg zyHwW-h#iR>OV5d-(Q{C=93mIi2S?Ti4ogHs`fxy{a*EW&ygo#Jonl^R!0-5K-8&gx z<)$1loBQ@jkKVz==P~POpFA_@A?clQ-jx}%`g5x|KJ|KV^{1^ql z(h&lG_k%-P^W+yK$d*1=vbj`-3E>?;hIB2@jQyO8kS=C&>L*5#?$dQUZlJVgyX#;7 zII*n$_0(|<^?Bj?*QFQgKk`j!iEON&jty@%7NKti$xn-+-x?_$}k-2lczmsHivXFEaVI3G)(!i zcB-#*mth|B;Mmh10wOrNe&DDNA`OKj80!1BH%@3?zBv1nTqFo!>W#lQuZqrGHlAu; zy55e<8kPQl+lzE{WT~OBKvW3}$>4{pI^`~ts+>p_3@;&$bb7cdBzM|nqhE{CXvk$_ zgBCu*aAS`azTU$D=rGcoD^7j5&krVMI5j|zh8gFy@E$yjR>qjKp<-(OaMe)o3t$a$ z_dvx^75qKi56(7O&Vt}t(w`TLcq)@0zSOWj?UL67&+JTi&G&LXE z<>Y%PxrJ`I4IS^_0^_TeS?E@8jc)znA-CoYJH8tzHdWedtJ4G?Qw;`mNBmE^&6UTg~B#z zO<~tvQozo>Okm3!!^1Mrua_9?cP%OGj*B+1+b*!)2KW5~-MK(vmo=xb&gT`d_sW!upwb3~n)cR)$s*f?XzaGV(rKnAVDe8vP3e?0i1l8Brci=$ee1^`_ zH(3gb>Zh5qrVg5f=4a7~K9FhCVA?5TxgjG_^Gph%KdFEic#0`&^w3G@>`4lt1_~=> z6;2qh4U0x&PEd$VaOo=3m89dw#v_)Zr^hIFMX0pm_C0FcH*y*>9HrdHAeNDFuRp?+ zHF)%BRQ`xDGvky85Lh96d)R0kGYn-OrU*K4=rV*ShnTKDj#!QwAEE+%QJV_1{{aPI z^Mgd7p2n5mXP|)x*gTa9qVqH<-KNd)``PSAM=nLl`zh?uniTeIsseUf8iDmP22D7K zE~GNpgc=k!f1eF(?p~&=x=FtwuYDBuRCNm5V2=XUXD@+;RXjNZ)!oBj?*~xWHoI+L zTmHp*oBYEcX#8Ik_Oq%KcF|4+?37&u*2fs}<7%{XCxabRnZllc3tTI~A2l&$4T{pE z(mN<@RwWACXuAToyotd28c#(JM2oi5X}YvkL9uHaQ`VqqlaT*5sw-W9!m7d06k~#Z zBs!BqAxdshKs?*Rl=X4!Bs6dfg_ytD24Zfqv3*=LGAC1rCYuxxe#yp-GnS%hn<)2| zjW*nyHW+KgPeWxlQtn>s72FLsFl9}iH5zSP4-lt3*4ZFjS!)z$4@2SWD8kA$3WS)o zOj*Md?xE>xs6ZQeQh~1dLqRy}Pc~2CbKaqdKiE7~DM{xk_IH~$V}3J+&3%lbexrzA zxl_c|s}+c`zY@e!#&9DbuI7kZhWLvu;;NLe1!@6}SVbW#6{C=IRwy7NR?=Bd`4M{w zsNM>O`Ot-8wp(t4`OPw-O=XSAi=LyZ%P8&*CyM*+5(RFJr3AOUF?GpPRAvc-&2*r! zH5c2!1}-A7<&2rjGEt316!x~7!iHc4Z0(;3Y)NDCihk%XOsD7V0tLm@g=~U#tH5_J zq&gA_6jn+)cD`}cFT>IE`4r*{qXMGTd;;NZ%v?PQ#TqHZ)_FD%o97xo`z;Fj&7%A6PNEQJ=GZ`FCK`+XsYeawP>3HA6cD`=*+7!kj6|6U1j0iF6jlRy zZ_Hl%9hx_rBAlM3Ku9qV1n}(Z@1bq8s8mP2F!pPcuA8Z#+Z9iQ>SGMr_zta{$>yrt zGhDlwkm|X0hE0>3vRHH${4f-AY(b?V-Bgeg`Af1 z*;Y{1CDSNo=Z6$?U$g>qWemaeO=-U!RCQ=H11BMC%Fqwd%ZbZvz3$+604 z;RPyBG+aS=Yq;@Irsup9?@;D2QBQD!*-r4FKC6SLTipBrccc6vaH+Zh)DZ6844#+;&XSNbX7cK3(gl}`ye=OLh( z{U~IU6AW@$xDDjuz9}s(fF6(SOChTtqmT>36p$190Ay)n#HE*LP#8t@Il>U9^tM5q z*vmNNN*}*Yo|b1*q$JG8$<5jLkrqbQFhotMY*f3f^f;VFgN8=LjDG`HK{F~oLbx2P|DX$DCCxP1X5SNu>#VZ za`IIL0bOfE(dMtAXdX`++Mqo$K74Z@J!?R*HvB=mSGv9e>rH*=o{#bIyYJEP`gA(h z)>9A|z9!RA&KO=W1Kp`db;1)UtjtS^uZ+jdQ&H?!6ym@a3W(pnq-uqO1z`r#d`U6B z01_*V&+Fp#NJv6Sbty>Z=L(R`b*N(DAhoaviFGJQ9U!p+395}ZYJ_=cc5MoByp{rF zLl6O3inKwLzX{Y@@i(lAe{m8fqs=ub|C1UD{?nfkeh;j35uTxp8r1Vd|4iljcXb8j zi9i#0o&W)@uFl+9&xLH#P1S7L+!{dKSt%S`TzITo8URVh;P|-QG)M}D_3CL9GE1Y* z^JyFVswmo6S=CfiCj<&;Tou{|?p#dR?>VEgO#`w1tbvFULILXIkAv$7RfQx9Ijy1s zazG{GFg;Dt9s+1sU`5vVoCMbQCKYU;8~PFG@}|^M0uqpm9~H@d1I4acUV*LkCD^{E z>)zyc?E{=$TBwFr$208}%Gp2{;2UM2zmLjN%s*yO%#vjkn9s@(%u@KVkI)}YDMROM zm$!msNog`?<#0%OVLE#0O((u8kXTK;zZc%+D@;WTy(q|ePX&mn6aguXgDL=sS1Ah8 z8c3`_T6o~a6@@uywFd>cRYC!Bpdk=R$#)s5WEwnL-sIf?{q#3QVKOR5+wAQQ=;Qb>4k6>--qO z279E6sc_PlM1||Cs7RiUpxAv13gl^$CT5(r4pew!J3-mqg66l^ zgvJX8Hx@RbYp<|-dm+;UNUSu#`6WKrL|BZ%UgEhOge={21<2GF1f)EUXbK=3p5vw= zLYBuf8<30tkgk`(e$9oM$p0DZPyeS1sOJ9=C{Mhyg^-MqbCnoUuylW0MI=k zeeuQD+5*kszZuQ1_Z2kL^O^j@+riNH+{aHE3#UB(&a-JM4?k-!EJ2O(7|IX#6ezuO znE;bI0!qR?HtN6b+Mw*X!z36S3KCS`WmwH_E3hivVG>O31QP6hn_YB8&Pl$9^FPba2#q(+{7(2A>8`R4H@;%iR0Bv8Zw9lQ+FLk*np|dB zKVDQ|^|{2_o6|>lfI==Zte-B}VEq8OVS*JME<8eE=keHn!YTKqXBAjKo->8^C#EFi zEdFT#3_t3O4bIflrv3xT${lu^_2-XF1;)%Q(w{Ooe6Wy>W@obg>^fzGV>-zuBY3Eg zijJRTSS}|NSotRiR=I`4L6pyq<0of@lkRnoDM&nzJsTah zX|Dbe{Oc%?cEckKX6j)DOjw2qV2TT<{b2_2;~^V}DF^YuvEWRHA7l_~(-jbg1EeSA zaQHaEj7Fv7mn@f9baL(_+ zPLqWzC~psgskU1I{hVbnc1wxG!(vR{uHC7mnmTzG&CpX)`981O}=!R&pxYamCtF;ad9qjQZCZZ5 zj_ADCLIaF5Xgx#D^`gjK)+&&{SVxe(aPn;7AnLxBAr~vfkVmYsK^_WOTH^q|mx{jPvs`Uin7k3*86(_4RM(8EhG=#1ZNpbtX27CMcC<_UkG=f5)O4LS;4 zdbI-j&1wSegC84()#&Th4Ej-V2HpM_8|b#H2(%AQULfevqE!q!v>1invqAyAd?kVQ z#T~KG8C74&W^VX$1a$t!9<+r5- z1>%DxfKquWQ=_gxW3?(eEylB#3S-f!#S})TU8I0{jIS*NH`9L+1DN--4Zs|XJFXDM zA(x+7KiV!-00d$-n$(rh*G&r<%#8&$Fjwbe^o!6Fja|TCHX9W%^X3y64;-?ZgbhX} z<3G%}-(g|Dd&zkU+Gq2Kkl{+;SHXlT&tvm<|(PC_IdP$fx-&;xak@p&GVaCHmI#2Nlbd2yg`_Y4Dk%L`E!Q4X@&wdX(m&-uuY)N z$7iq}PlITUNFzJW2KyRhi#G#o{Wu2u^a+FQ6RUu2GM&M0+yeS#ie;1ba+-qXqMl4z z8LZn1S5v`yHun)gW2J+mV({2)!f^B?hQZX1R=|{iYBKkk+W{szn!zMT*}!c03D@2s zL?NFj2GjdT1x%x#@Z6okdNk)phOlp{4Z`jpaK*piddq7nL+Cz5fl%)UHlF0&LIher zg~42%Yy)#?64vYm)7)n=gIPXN0TVR|cibmzM#m>I3CG@I5`H{hL6$XvNVp`{r3pvT z)A4NL{>)($=K!=;QWPV}#ChV!`@!Njj%3&`ZZPcr-z%`2k0aO+tsem28~Q!Nc7&LZ zD8-<$HrV|m2(|}KIt12pK?K8Yf0beH9Ie1!JceNV;E)XH_m;Mlk3H=Na_3!)>733?tBGaPkSb zR>#9ww>zF=-TrHc0(ky&^=B~U`YB)v`Vkmk z{OFwUBMR@wV3NXZU=sS`&lvAJ5iAZ7 z5y4H!!8mkf*n3kMcJ02oouk1g%WHJoP0-EfM$d; z>?V5{_PUM=?Aakq@xt#3zo4TX8Fn__?nu(R`T&cG_6Urm2;khMH z8L@bsE4b;es5Z`Cj@+Pym9UJ+*z@#{WI`TSgTh5rS?rt z-U$x`6#bj2W`R&2p%$yR4M#bG``o$;QGNdf?v2nW_maxu`E~JSggVt;N_z%^gXcY| zjjW`;C>?VSW1cKwg8az57qs!p9Y2FTfd^}xSR;7>rZxS zOnp!vk3i^^rBAoXph7*L=T`x^X>GgFV>w!<#7jRksO zdGb{Ou6+jG!0#PFA^JEYFJ=9%FL}Lx1geGgE~r8Yi9hf)MVR~rr#R?_s^N{UsCaEA zDcUQ;ZYtBjH)*+UFf;M&RDz%YpV#F8y>+M}>0-%p;_ih+{)|UKEY#t|VJ@gjah?9A z*1%|CY2ez$k%zMTM{5^$zdG)qMXrHq_jNJ%$V|Gv2JR2HWC-G{16raQI7)|Hi`~>h zE1da_oz_~^;w+2ZQMCZFf@f1bOnab%x#da~-_G9y7Of#2UU<5v&8-w*%5z8C1RN3% zQ@*PtDu=$PV!Bik-4}|A;BU(FL?!{>{1pW-gvu37m%LD}5RjIq>uSg)W`hYH`V_dE z_sPw07`kvrn_J4S0H-}cnRrEcl!Y&UsdmK+%A&?%wekfE&FBg#ZijUP&>;M1Bq&jI zIaH%^Ob!tt86txNQMw)te4X~df?Ct35cL#}@I{qAOUqLma^b}S3$tqmD6C=kax&Qp z<|bwAG+hBND~EGSGgnfBb2k_Be%-b}DOGp3_#e4_($!52%R z3_O1T=vZn=RH6={hB--bCzKiSv*}`P@F>#P&;oozCfFemI$L0_nTGVh{qeEeJao9vh z!U{>MRCJ2y;Blfvt)xa*Xrx8~c&&gVDik*QyC~JM4)v{6SZ5OKbZAUvR7C<#Hos?c zL`Jhjz`<2f3#l&cJ*k6PA){F@5Hsyl%dNBF60ohu2xZg@(~9Qklz@}wqVk{pi{?8&W6hsy z`G0A?(Noi@)};BB-=HcLVcB#xSlnFTQnqFaEnJnyCZBF-tDq*Ykx-H0-QOZuIu9`n zqP(ee2>L_7YulsRg;oUsDGW0!mt^*`_}`|2_9&Ujt`3pCA%n>dL}n46Ty}w%h*je9 z*WNdQ{L}1qU9{=CL#|ENuXcv6JKvRe{b*NI%by#MThy~$0%fp8du%G(4W$S;xg&y0 zg6^m~`X@(@1KLzNptGU3zs~R$24gsumggo5VTcvy!Qa8$-MGSc$kRoN_iB#BtJZ)Q z?|TH5!wq|(Qce&w68Ey&)T0+VM5R@_3CE_u&;S7PXinCO;T!~Zmv6m?Kq=;yS*ubh z!=<~pd@octfZ4R%l+#@*RTOQWzrk0S#wm8!RdCH=#`R?HO$f%w9s4JZ} zUFwGp3fM0UmBu~QsH7JkX<>Wta^=a~@9>=g=q>JZ1pFES(D8xQxyT2Guk}NB3hkyN z9f_pIK2FH9G`#%;-7H-Ffo}|lbGKi3Z^l_>=;h)F@Tp)eEBIUcVk)M5+lZ8 z%_&pr6JkLJwS-Wryc5z@V(1VE1-^kMc=*J_3TS7}Sy?+rvEK;Pz=?y+GW8pQHh_tk z4BF=FgtR_NtXZ*ig&8h@7|x!-Po{$UI1fe5C0n=iBoP6bLuN#M!a%i3!-(a5;vIsn z$>BC+61bbV(g;*ff?IryOO!i;;VqFr-a8dJSAfCsskX!@g#!!#Hj5z7;G{_Or50ic zur3hL69q4wZpw-z9_jY4AhSJFk$>?*ZXrX)eH^cxi0Zi-E|Lo>!urN^VD4*jtNmPf_*^79CbYw=#)A_({6t*? zr%y#5UiRgt#gC^#Sg?E|s$U+u$#wC~UM@LlkvYaMW$VhBYa`dkPHtcfGr^mr*t~dwyj3)l34AvdL0K%N0o!P6k=&t^*O$0vXyZ-SSm7OTp7OEV$x4Xe+dhc#d>(s z3{=U1TpoRvY+5mc=t%#TC=ic|N5Kx{Leh1kX>&Z+d&++hy7i6rCHE(v|%&xJ1M8k#I|ak1l$b09Pv+!9*a06ArQEul>k50f`-3D=m8 zLW*-GJ+g)!&5tZ*xDeRI-vdJ7u_Mq4>Y+G;9>Eog&!=aT*GganfR9Y*;Gv$T!d{e&IMio_KbK~S^6+k3U8Q&_7=`aG3Z(D zfYrQN{J1b(@9q_pcD$79^s;>NX2y+A835^M#dS zXPsQbeoi7=C%|d7PO7gYoV6rQ5x)#8cr*=iZs5;9o@ z4q`Ef`P7i&v@FOGao<5>oqE6}bJ0Q0Fe?vFqiSA;-FsygKkyZ}i>K3Nv?oaFtvs%I z76sX(T^B2(J&z+=0_{)dP%!v+$@_HC%ScXPzuo9tXCD64|AEI+&njqi*kdmWp$5I~ zWM1r&iuy4VKarF`0HNED2GSD$@r=fSxmT*LZHc;O7&2k;!iwq2vx;EJA)R#Q4$)yt z$|~?ZnDlsdD*4#MxvDAeAy-QlKmPl%8eWO;5I5nz*~r<$z^?H@I=dz*X=p0(kQ*50 zA9GMM8R3A5b_m0CUp7B<9dHA^1$Akx;~CswL}%N} zNT?yIRE#e!W(e@gC&=5`a0u?`W$_M%W{XoGmt1I@W*`tCWmOnaJg%M|{S zTc)i|Y%Nm>sz6{@xVeR9aZL}gg6uNL*h1DjcmR&xT<{bd%M3-^=5`DPH9Z?jiE`8P zPg6UD)bzaZ66L06X|Nqai|MJMkPeB???GZ1Ob=WRi#!72!uqiuF&}0@64dxF<#y*P z5}DoUQ1(3jH*jTV@bq#QCMqmZP(4OwV~Lbx zd0#Rz8%rcIOEm8bRu7h_y%sd%0?~|-K}7Qllb#ma6ZQ}4PS?i3n$p@}wkP~KUrk{( zWEGO_8TgXho)*<*wcPf6P<7-&sa=D0^PM9sr|&>(6ec0JI;o|$hZ`26FA9>m)hs03 zun*X{`oXX)>~tMlMbA##X;-oyg4(GVDM z$ThLATcRJ_vw)JUvQSc?hB#QKj{M$`=+8=fk_Dx(h^-Tp{vVE^`tcCYceqSa~(69Pf)K0PR?Daw$d*03od8D_$}Lrv?$iF06R3 zC&%@S2HX*bM6yqrK1~gxYDTIy)lhfAeN3Vw_PQe$!{Iwb2k|>Y9L_o*`eNNpR1+sV52MCYRqQ>k@RfR?b0j@Ay1mDt ze(Es1a+aud`%@jsipxTAPN>)ihu2fPbJEqW@A1m(;uwA!2&eAr8Hv`_k29vYyvH$d z7NQ2^G(+U@v8j_8e7f^{98zEXJ%?%or%$p)>GXsXoTdQs$_8o=PSOd=bk(7s!8b)u zUUtC|`W|m#>kX$lnXD~$H$RXmYb?hBhX#q`IMZMU=us6uVC>ph?d%*uC6TLnk5?=c zj|fY#`{!aZ&P1BhRLQT2o-I4W&Qov~PrH3~?IaMa;i8xYM!0MD!U#}2EuId16F=2o zr$4NgmP4dvIb3pq8HMHGg_kcBKd)nG2dV28{@%@mh2(`OeyzR-_RxXNY}9`uZLA*t zG)PM)jBuwl5_{LOVr$Co%E0x!b7-E%`}IeEHTc z3KQ%m#00@t_wSCMZYefZ8_$@y0Vpdmeg0wTts$EvNsVy}k>J1^`zRmXXpyzYO^8`j z6h7DsN@|ZAnz2RV10y8yaYJ-VU6l58g?!vnbuAJfEF`HtZqE*jMQJa%kdGU@uO+^( zJ~j{0uyCi!jp2G^36DZo>6-&6mzlI%br+phT9G+p9_vcAKbH{IMHbcwFKSZ3D|>RV_~JXbecem?!U&t zjlhPmvoWvX^(VFFdtUkM6|V3^99N80PJZ>y93NK$3oe?GE`E`$u;3*=@v}J2k)7%B z(k9|K&J8a$?Oh~J;8g~k6f92UC&jQ^Q*k24o%5XFw!p$O@J+-MF)a7zc;gZayAek> zv#@*OcW}bl@jryU3!eK_9IlPIr6OWxhOhKLc=3r?mjXH!no=5!~>m5V5VB zd6~?nMQV%)5eYh zGh;|h1=741V5y)O{wJg6wklNOwseFWqYF>0JHo9^n5=?zL^3Cj3pt(?Cq3l$VwkKV zb(>fU5Bozb<(3%B`hVfk2l`J90r8%O#F?c3WOFy@zaQ&Aw<)b8?h00;2W~PT#T>V>Zst1fIvv>QcPu3_N?CEJivpo6-FSj;^8}UW;6g-@8sM z3khEHGBpst?EM+`badBF*MZ7%J!LKKy^bR`0|Yy3b{)^DN~9(Ai&J z9M7xvUS^|*`PJb~L)9)mzk$l?U-@cdm%<-hciAYaU&fEOiQ}sxSdO%3YcG+WQAIae z6DMAxGIShHDNEpeVPY(L&>V+N5z|oH3&i}E#K9xf@j@sIKim1c;T59VvsGufBMoS9 z&+l^@e_j&zTgRWNVrt+kdHnezO#tPQEcnmYU_Dp@(7MC}D}zrc@sIM_2+<54rzYbCEapaYk7X z%KcNBqA|*%Q0~7B7kGD)naP$vS4vN}uV{?65%`+3yv2{G1YGgY875Y;_*o?J1bkG^!9*ph5v!DlYn4-j zpXQ#n_n9J%lJc|58t!{foaT)6KH6|Jcw$BT-URsg{ha?{{61l%_yhOPca9MMJeXVa ziARW6mfUMW2F@mVjmL+<13Pi&Iz5B9Wr@TsgZN`gQj%jB4-==%xg?id<}h)|eHM-v zwXU(Jd1m96L&Pc5LcAzKEXKU^ej2SYkKuU;#~iVE!9@p&dy;%&xr4+hflr($N`80M z0eIdSiXtjoTyfui{QbmB z_rW12#8TWldgE1*7Vo$;jreCpAN|sZlOA8y;+|KgD&4ajKQ>i9ey3FV_-F648NY6y z&G_fTHkp~?BrC5h7lvvt@yb*fUR50=*Bre^>6+yn1L1X+Lh+5J4jLXEObruz5duSyaymrLcZ+GBG2RQ0pwEM=Ro} zIE$fKyNMW(2p)oezUdv!iE>cWMiRyL#mPaU4tD#Ol9>%RvTzpKa>vOH)M`$i25-7| zh1MuJ$qq29&}su&JyKYIY&{EX39~Fg8nT|~KIQe`aOc($%K;f!7&}dpN^$=>mMd^w z%T~dOmxANMCh8>e#4?Lnzk`^yvmq<(zLVjSGH9i*Gsv^3Bzem6I9&Lt?7ShC%Z~`zCU6=IT>tyP$-F?E!V{mxR@x*!SFMmI zKC7%yBtF+ImnS}hmJ|1CmH6DYj3z#LuCx9!ysQaiLs;rEbt%n!^0Q`3@!Vi>0zW&j z1Q%;6PT@kRJOoN<5-iwJ}TfB#G)M&FfnMq z6MtR~lApe7MITG@^UX4tJ^RVeL{jyMWBKeuMu#iKM{Om5PuuXm*T=0SZgB{Suek%D{SK|J7@^jaG-pD7DpN$CR ze=%Bmx<+ixqovPaUk`i9&wYl%}Qu*^6cl8c)Qup{;)-e zRrd4#%nxKg!)D6Ue>pSkr~d}Q-XW0woFe@>DvrfTvh?SZ=`?l6!=Ulg3oooR z(}`&*Li+P+tUUc09&11Sd0Q_}e-72#O@HQ2BW>DGe;%JEAAiU+`{O?wBOiZ{7{&On zMzir3B>~zd+A0B>5k>lDKLNTvib;_rK!c*l^_5<9y)WQCQ^Zs>6gD&ADbOS*{>H}t zG^$*$hjsFwM3r9<#(xo2Zh{H>6umsEtX2eic~rSN=F|9oBp~5YWw|2I2NQZ8RpRJR z<3|&E9#y(a^!4orJeHdTjY#@W7Gfr|sQL#`A}X(sMWsB%5U`Gy6y0N-O&Vqhq0oz8%m#p5r86@01Uc$I*=?tRf7OJG5<6i#|y1>S`2)MHxr0 z{-Fr1DC6id5{tK7E|3Q252!#E^V{+23YIM9Kz?Cz z5xNUlvVgpU#G(ku3%g5Oi3S!$CUgI!{~rN)^Mm3f?rcXy$TOMm$H+68v19CHGF`{W zGnw;7+hj6JkG7M^ga^iLGnoOSK9$K_GE$z&^BpPAamJ zS!=jF6~{7}DZ>gKZu4Ouak%nKW0_%vnM|J7SU!|^T`ApKai~oy^YJ&i0do1VROaXbg{e$2 z@Fe%QGhv@4;%`YV)AE`O$!PND-m0Un-EsA6Vj0V&P$o!2nZq1JN^EkNj|M}j;;GKb zq{JqNDe}_79A?5GiB5ja;zddoIm}fc0XsR&086nVhq-A0P%CnnUy>4%1GUOw?&&Y# zDxT_W!HWxXn8*4_go>v+J4wa1In49n!0}&<$}e3NhjBykYY+Q5%&&Ub%VF;8Zj-}o z-Q8Xe^HjIO940)=#Bz$=yAcx-!B^CcuJR=2kgkd(=HFfHCNal$VL_>N67vP@MP(<6 z`9o)U5>wTg1*cX?%;}wo)+>^jE}iTrF=vOeBxW$|RYlaFCoyMAciqX8&G67?vw!u_ zCr|em-f*AY4QAUCTmIW8K6Qlq-#+mznOkio)b4-O=Si=k3l# zXen4?;*n?1A~4xJ@p-ZnZ|S2?ZbD!oHO3>d;3DxsG$--#uxv|cQQEV;I=N_=i=E>C>cZ7xrI?rJ7ad^T(*Pkioe zDo=a{Hzm+EiO>DP^2BG0V0q&6P!oCLvrQ8MU@!4`v@x@SKQ$s&a1*Gxj&x!jFQMcnfpY9^1m2mjS|(;gP;3r+s}P= zsck3sc_m1m`|KZNC-<3GOP>3TsAV_z`Ld=>?lY?92XdcJ;X6Ksk3LTL%zp0gO$~YO z@247y+#hW40#_vPs7v9apK*aKYsW6dTmlO(#THj5)};u!&#~3zxzFd-?B_lwSCi*H z-v`*uef}6g+O(hh>=z&(|DCG#$3Lv9eEbipD8@gw3LAe>a-Y{KTjf5(DwDq1&wVzn z%%sS2p9lR}?sMfFel7OCq9yk^TM9&_$3L6@tH(b{B&vM&^V@2$BrKumzkc@fBuJdb zqW|jI&t^s9vW`Z#S1n3g*5PRNB60ai(Fu=7m&3=%KRvEsiHirMB_ytY^X%sgPz>7C zM;`REe)coppYweD5l&e&%3VTgr{+FKp{JCP0IwBi7 zcY4l6W0Vb@JH;s#iqxWP=sXn9_bU>kZ7kkfV*H3oSU>x@&6hX!A3po3mH0odQnrD7 zba~$JzkK%dX}SL&k^BH(we;-g&z|y(X?0I|#&olXos4Nc4|&FPAM8+X_3US>l6Eqt zCra4Kn077ksf=lcyF6jo&Rw1`%+%Q=47=!T5{4JG#64MMOnYnP89(Nxv*BxL(i<8P z#XsVvy>o_Z2vpi$!4ffEK<6T=-UeKrvWH;E4<0ir)j$vdy2iCZ&q}X_l)*C%-Q0#Y+qGr*~W=I{9_a z7*eXppS}ip*vX$pTZ$F=Q%6#)$e$)Uaek}(si#z~dBO@=&pH|`}R?mR0b>O(R z`O})D>c1G-XML&uhQAf>Q}9;)R{W;-ZwudwFMRg%tM^!_rYOSJk=SVElRI(-FSmL)>lifrw@Gdmc9zl>GNLW zrVT8WqhG(Zc?tfXSI|{>37#`ddWD+~<&TXPgG3I`*}i}I7B`*D-i?=DpPvS0cHe|o zLj`#gUfl5r|IQ4<0ln?UVbzF>FZD9%WuYyECRj!X8he(pT?Kpj1QOSKX#uPlA+}OC{Ki5 zc*&di7z>17goTG*9g4!j@4xe)>)?wbw4%H<-LNPu%3ISZ&x_CsSt>9Vp6{$)6c&h* zWOtNTJ>#t??kE>-&tU(KvL|r;?=zj*ZPY(Hvv=Ef=2Jsgp1$19UuSO*WlbAd9?Lv^ zAJ28tNUx`NzmNB|RZB0oU(I_97r0ib&VG4#^S5B6*i)T%bKm0SO~kSMbR?YaTLdqf zvf79D!07yAIgNnR;!VZz{4vd^cL_X8cNQZP&zK_bzQvoCSeRbid5gzBx13Ib(}HFe zj5oIl2FrNr6fe3@z0K`f(5<(4^Gk7+^t7kBx7yc|@%#gZ_<@XP15)*gjOT$|`!w>5 zXZsJ($UXb{d-ieU8PC2Sppkq2To5Vk^M^B@-%BJP&3NYD;Xsx|Bfs1nE2~hv>i!aD zLP~`yGM+z575`Dj^Y2@Qu;BUVr%z=(bFw-2$1|QoB(hItJn!EC!2e=gbgs9$HIIufU!dlqBY7R&g}&>~pO_p8 z6?ESq`YOBhyyrjgLDPB=eUO*ei@ivb-mjZ-o<>T2q?g*IS7e0qEMy`WmK}sb3!hX_~S$*lgfSgrTFK^puKHkWB`(0y&Hdw^v-@_v?oy0 z*wi9VmLk1&6uulCCQcJ~e8H~1M9(8M9xaQ%8KIs*x5{TvhyJf3(q5-vVOjE~{~{v2 z4U_S2BGNuZpqEFa7f*Z|UmlTmDgwP931)a^^!V{l;|CLZo)c|V1o~(~Uyt1vP6c(K z^7#)R53Mfo7a=_5UTW1*-sHzvczDXwq25Jd;o&Jygw8p_Tlp_M9{M1o2t8KD-~)@o zqKv_>94n`rl_EYK8X(bsOpesse){pyxPwI)p)#0%e}J4`%|iN&~^So;_C%hJ4P znB}>@Hb4T7IgGwp&K>h{6Y)X>s}yfD#6d~nb>WINZ7rvz5IfZy*`jWn9 zb=fvGXSOJvvb-tN7F%&N*kUb?eVY~HXbz{4?NNy1aIz#0Esh9OyIMJBd7`sUGIh*h zWS0Q10LzQnag9lp@5o{UPaH|5Vz zml4p*wHW@0$4T*O7u0_(UK+1XK&yA)z**`lj(aasXMlUmQdbfd;;FOLeuHygX1eAY zXxtPZN9rr(84}5_K2^=aDcB%0<^*{m)sU8!>m9%GEL6^0V)matatYQM)ZSl1otxokWfjEh{Ht1ksP1I&m>yKu zL1#E=K5d{IYc@#N&aMs(j@OaTz~!#{6ZbQyzZO#Q5`$VF6_*50_t%dz!vA?s3(V$O ziL@Y*6lfQu=H)_$2+uS#-PHL}ogZbGa zweB4p@r%{E`EaaQtgfb83x8~bBNdKgaOA>ahC{bRt@DSYH5|@xZpxUgJ|9}*r!H^J zkccx->B4Xdy5QvN>WwA#c2<@*?qZ6#p)M|#SRSIRC?ATGZUV#gj>_^rAvolgdWX9Q zl*11268?gYxb$s!!Fo;yMR5e-ZqZuo8_zZ`g}qCUcQ&NK%L7i`442aKox0aCN8fV% zdIy=`@ouw{vdBCqWy1f4q#p3UcKZ?i&36eNvkXVm^1KaOGsxUmdTN-TL1y3JQA)f0 z3MAv>=l|>j)bUXi2=-4B==VO;3iPiv6DvmVAb_gKDu$ykv-CNF>(RY1(W*0dJH#iG zhVzTXQ@%sdluo-nnQk|DSDVn`6#*Dzm`TXU-S+Qb&!orz!;`d!NPo9UOpeNIHoHFQ zTjvNv>Xy*OUF;K|M0Wcm8?_o`g>8XuURv&y{JQP(AB;P?c7nH_?Z%MVQo8F zTL^{S!(gNMYWLKYWt&*n?F!yY`lQk}yy=zN5#N8RE{QWw!^Xrl@2Rc6Y+0e}Tk>Vg zV-`vs4tIgAboH)=k+A>iiL^Y2LO%H1D8R^>PvtK82It&YKPWoWN!XL`hqi@Gc;|h! z+eiCnXvg{oJ4s9ZD^m?Vy+yvcMSFKa`eYmL9{X01;Us)jwrm?b_M!Sc>7Eb%`-$4c zR}JIQ-^@X6h7&O%Ho}m)y1om;S_Sx*_qesE%|g6iCXSJo#m6L(b;GU z9+j^ifKQUoe{^`JF0K4rs8bu8hH5#ZGLg&dp zIc_LA2k*PB_V!sA0xJnN^iF6vO}jmcJ6gL;tT66_ zH5G5Esn|hGg_Vu)muy5012qX2OA*zo&`h`=jwW`1{QJL~iXvKyI(AJ(VMmBDu`w6@ zn!=~L&%RPmC3kYX@k98p%3dNM%l5?{bsoSz952#^$U&CPHx@UADUhy%;n`3>V1TI% zBE?S@lC84+S&1naO5jcmlmxJn#-t=ht$`B00mi{5jAodQ+#{2&INMoDNth{JSDtCi zXoq;kUYR`Fa{1T`ie-T|?jEZ45J$qp5@GMvY-?=tNlquW_iKC{8DAe_b2Gu&o6TAG zacBv(hnDY-O(}r}yTgZ#OB0D%RWN3p7$TN$3|r3{GNiqr=hMBQyLLCoB&dI+CVTKv zAu9Gmf6)+z0y1nXc;lp4vLPs!qJdPvi!nXRNxMOl-Q!@t8QArbi`COUi9DseqJdo$ zc}BUKeG+*>IiUP?1RbAfx zv1*DNETM1;H&{kH(mkuL1mJ$Ing>y#-3(74m~tagvXj4~elN98U>XgGm?aGN$47nQB-K7WNzlb61b?#8Ghz?pXeI#1S2 zu+9x}i|`F6ertvrA}GH-F807om}3ogv7_t{o&@&+&oLs!sLUbs8jBFOHo|J5mFSAn{Fve z3_8IWlQZzmP)%2%v#DMuO@Nb+<-4SI{xJ3aPJ;yDI_}#`6C`ZFN#tiLP9s0xnx6L3 zWNL&dIK3a7euJO&(?kmXreXaxuY|H!^3CRaFRdwI%T}0$9AAS+LPQ-0U8me>`FO=R zP_bnLHPca8uf2 z;nri}G|RMmtR_Qn*m0G#fya*1l!OmrEgz?OgsnjLB`h#$O}!#UZU|e z)s54ni)h<=#$JAwri|dAK3K@U4tFwWenZ>VGWPPbfnC^T`X@ zWH^RDU#R(=R4vrxi$Xoq!Nr<-8t2(58XaVaB2r8aD>WMg=NQKju~+5 zgyRt$*0hom=>K-oZtpJEInq_TeT1lguhp(d>t=Wip{ft~Vz;RHxE(@|1Jf)_C(p@oZs5T^s<)hA4Uz-hk@=x2XHk}`y! z{3djPZ+QN$QAfFbqurE6YKi#~GvTt$L0Bl~lxCCv>i_mw<-O8DSLXnUr*^Dx&GoWu3DXy`o~026lupdmBuK76)NG<2EoHhB7x@tU2gV3n$}3YrcH?VPap zZ=mUvusoNL!Usy;HDr70NcHpwc+el3N^NdJU&%ONhw%%% z+tM%&lXI!hz302>-;3kj>YPq!FYF+F&aY@0W0%=(`0O7Vzo>-ek6G_wXEDyGBzf zN>VI%6^AO;$Mq_kbWNJ0LcIb_Dby=9EFaJ-75so+rM;n}xG5inQ{gD!uCP+E>`%>g zHjJxwhEX^*qz#yw#V|EsZG8HM^{R6`H)t?y-haSjzmrP7AiEm=*57_*Xz7IG*J`Rd zzdJ!Je?r|8rk!iSJ)^59;Y9#VRmbRl8eLv-g!^sKl=Dm;2q*VpO&pF(Rk@+$VQ_jD zXRX%+IHpFx-|!82Lg(%m2`BLuI={*I#ClB)M^!Wwx8pP+dN>KN&}7cQH8*H#AiqT1 zdxNH;yI&Gill8!w(#^+nNVRGa-UHReRZBFw{9&x_@pAlNgQgnFUX8ssYJ7`l{|0sL ztS)m6Zn+U$c?~>%qo#u3f-(G{+!1)!MvXt(Kf;u~QFB5>&rae^TOh`MxkXb9U)`c9 zONZLGPcOrrFp!%xT%5X96NFMDaMl)06;CosD-swfB~e8)5;90D5*R2Yfq^m<7^oEq z43?oRVkBg+RwOWHN&;i1C}hl5Brx>PwrPysy(hgfTdK6%GYl==4CixSOfp^ErYRu^ z^Gx~MA%YQpGMP=}cettKPEBz^=!Glp(lkSEr%Z!)X*P;cS9WT2#rJA-)j?4j!0#|P zFdPTrcnF7fpGNlu9NplU3db@y(&4xbhfAtPHy4ibX&PN?IL5;<2adi6Abfyh2^5x|VPZgySbTmcg+PjwTrz zT~9bB!7&ex&2XF~zsK?Ay_%c-KmSXkGs5um1=ms zgt)0!!P|x8euqICcPdBrfcW|u=z2ojr0cYzKPh=fOCoO2k`Pnqe$5J@MDJ4?-B37w zfFlu()u%8zpb72Wz8i25Cy}sm_bXS_xod6%OG(^SFhtN?HCoaGTzKN{mCmShXs#D6 z0soW`w|k`{0ve5lYwzxNfYUwqpRT4&2Q-~U6x|Q2Gc=X!PwXUJ4p?IUftDgm>>p|= zvc&$4O#?DCfr8uUp>NE&&fVd^1HJL$Bbth3{kps{*Ga8&1Qb)#@r{{Yvp`^VKKEsZ z|JUBN$H`Rp|1-0Dj?E><{Z^SRDdlqJoH=LCT+Ymt6w=e6l3W@kA!;fl$r)B2MH(KQ zD4O4*QfP`=PcBXL*hDp`h{aHkcH3fzY>NH8zjJnb#5cU=yOV>l?&LkA==`4A z^eEk`!5`fcs=)X*&8Sh#efcM})lphByrLbB(hH5=e%g#}bTgy1pZ3-^I=j`s9ynEO zThE&D8@dL8^}9H7ozLil8?|u{Xn$?TW5x^H>He+$>|2i2!M-`LN;eu_&oO*UXQts{ z=DJ<^@?CV)V7OYFup7rzky~55o4($-&8=$J(frBfx{hp>E6bJM(y>z^dMt#npV7* z?q|4G>$i{YV$4g|viH#gjd_hU<9_i?BLCCp9^7{K zXp>%`4meeud`Uq$!QBS#X>=NOjf>Gl3Ei`$x<*9z9nq1?7VK0soJo`$h?1P_ zy7RR}w}R-R|18yAM|AUv&NQP`XC}HS30)An+N2{qs)eH!c6O;kAd0~XHLp~03sLk| za0%#K;&Us}+^WPEmYQ@X3bPVhRI2Dn6efjS6ZB@V6{*7dN_1&X?lF4Xm5Gro@L*iB zij1S{=l(NsF~>+2v`^^L{?=h63z{c%4N7&13w?S**RWKVxZcOnNLEp!zjYYNg1m$- zvs9P30r;FeK4leMTdGXl2&_sNURSCkBUuni=**=$GLi+;6FPo$T|H@Xmr(dzR*_Ju zAR}2gJgexIQUw{w!oFEWxBjglBU#urtEh9ShKyvPHLIv+se+7TVcV>tUVkevl7&t1 zgjv+P{+v&{O+0{+{NBj0R~pi^pIPQk!#YiB!2D_swPV86WbakKn@3ngxGVYdLZ(!K`SMb$Qx#?{NwnaG$<-S5> z;6`mlLuQ`1kiqoXhDOL1UxgpJbp9fS#S~Ea&x7jQ_k~FP7sjEvpSM%@%GMtPwU)->5CUX z3z{&QhRNC|O_)~L^n02x`wb_xHBFi83_G;_O_}EPimxA!2FSi2YHO>dHDiVv*SF3Y z*^G%8jJCEpomw#4j4LBXlVR>v%<2qxCc{p;iD74EHooSmNx%0-(&TZ78bGq2!BF`V z7^>?l4EviY=h#(@D@|p4Q>_0UijCb%v0NXD4c(8g%z1!f1N|sA-k)L#A3b46@TMz` z3EtOB=ZOqGNU`2Q@O>CD22*Tg2)LmX>l;q7rV%*{h8SK4LK@_;3%S$_Ac* zqaQ(@g7MR6a5NGcgT|jhkY^DLJX>T)@T5V)6Pe&ieLNa{9=rn)Gm+3NG%_1O<{%h&;z)R3ePe@I(@xNN*1CZg zGv<5?oVKFjFOkgG$To^>wLGAN&(*06d#%Oz<%oBYBWg*_aoFd<<0qf)yfxUl8ChGCu-&6!I7X5&kbjf+r0U zJ|V#q=|2ISL}Pydf5PW9;uK>v4F;A?N8;eQGlm3D>+gofM0xB~)qg5)51BmmxIM8@Dr!-P*r@I+D~ zY^-R=273o|3gWqu^eu?d8A*T-q+#m76MMpw1XN-`67bam2vGqjTDRdEoogGr1A)6C zi96Bz9!TOJ1~zgxlIV%Xdt)RBkJyAaU2jbAaVPdaF<|dCvfd2rgu3SjK5s&e&$XlO zLl6641p1=a51_IBXmkLQc@PZ_LK5IfEW)!lz@P9g?0;gw_91KF+@NI}=NR24)Z|=S z(_oC`BMAB^5*UX0e+-R}gnR;tJ&7d1lX!%u+F{p$kEtFMU|{Nt-d}NU(6R}X)?-c2 zwKa`K0%H(#ED{)phR37f2|xf1PeL2u6A6Hi--LF-tI=Dr{a|3~XJn}OI306113_Ow)`Uk75`1%v9C%VEJdwd!nD^Q6or@S6l9&hI*RY@$V1(a5Jn+Ph z@bUIW!mDibHq1Q?xB*7ipN&Pc2mzMB@J*E8g5y&3;2k9JE`oti1OV@Cfr|-vQYSo- z{uQtf!}fjntc1;nNID0}tVaD~_=6{QgpYMZyC14(Q_am=QE6dgC3-S&>`%QszE)k zq3JjdiB!Pg45<>Z|IcR_YlJP70!(cYw<=J}F$xRVmMI|K1qWCapq6Ju4vAC{yay*_ z;y zh=y?CsTjEaS76{-jvl0fweYVHnEwh5HiJ(A(OnpUilA0Rg7f@0MI48J1yCy@3FmzT zHzz3|I0W~JO(@_ctjlmP|Il%m%t31ChI2PwX3Wz+5 z2iCGs%PK0Uho8gqUJ8hf#|x)2P|GSRtWQ9I6u<_si_Ql2|JjNP>(nH?q(}i=7T$oJ z1{sEj{5KA!)pn}BDYo@j8sE@Q9h(zBpMR>FrC z>UQA}q>9I^Xtu71FV^K*2It`~W&$dCQmJkNrnmG&{cr0svQ(GsySl85_b=1!0xR(T zmn0AhmjwDimq`ZaMf^%$`Xid&=aLTD@pi2B^}tL%gXpzZo&@l|2FFmu`MO?%Mz&@ zl*`Az*6p}$x(saBWpsxwE91Fui5>Pow^MiUe6LII9$o4N<@5f%x?OmmF5~-k={caw z%J|?x*pdAo{84uZ9@1qfzobqKD&WIE>wLUWm!4ls><{a*GCqC;_kW}T>X`1p9@nMm zcU=;Lig-_v&IkU`W#p7D*}rsI8Sgt?vj4rsx`Wq{mT1tMrb`&;_40UHw+k`4jMvho z=ZX^lO88K1wIo1YU52mJWrQu!*RGh4HPm@iV_o{1=rY_?mzD99+FUoJT9(MGbje;* zQm=$JnRGi}rY^(RmiV>NWo5kTyS^mA4Z8HV(`Df15`86ns6!f?0&xA8(o%yP{ud0) zf2eC}i1tilFBmGExnF9d3-Q*b**A_cGqF#^>Gp8ramd_UvBNdey9(%9+) z^Iz%|{|jp%1(=w0{4S}QP?H=y4bs_E5HzK;)rFeu;Omgirh=F=ovkKt|Ci*%cERTe zrGVI7NT6C!&vx+i!4#wbpAREg9jIlDy^p1{sUR>eovjYkvc|C~7?BjsI`I5g zb>mB5i}|n71k@VseLC*{Yc_$)^Ix+I@RH5HUrT4J0Q~)5)eJ9@9rk~XCZN`6@3H@D zwD(&2<@vAK1$fElpS(Y+0Q&pi3JfZ8z6c!N|J7XMXq&wMtH}fs@BeBrfy?uMdH!p1 z1TOFYnmvFn@Bf-y{rLZ1HF)-u3*Y7WzdZjnIRcl@{~9{~1Fzym<*Ru9D=E~F#PffR zCZOuWP-97`HQM{j^M85%!}z|4IN*6boecrh0=y9gB7kWjwkHq;xHs_IEg%kfL+NZ7 zVE+$qPk;zu%7!fv13Zfm3!oMw77zhUOTYs$!1E?}fO_i&1bYjCff&HOjWQ4iyi3st zz`jFX(VXxxZrT$Dt=R@Kt*;KOL|Op13MwEDct3;(z-prhF>W=s2J~9cKpgO{0}Zh2 z5fI=$fgT7)Q2!M54X6X*ji`Ty`hQRd!kbXfMg4Qsf$(P3zd*u(cMEz4a9hzMfc+A^ z1ma)fX!U)C90AYQZ~{zGBm+>}5TFc#s3#+gdNQJ@CnJt}GT7~CJPF)(6@FmbgfPm<@P3a3 zk`PBZ8NuC1APFkB2MHu0igGgic}O4$roEV=Bt%h8MqnT2HVNE*#7{yD+_r z{f80b2y{m<|HL31ha(U?is3t^qx7L8_#5<>3ThPsM~@@93PAmi-BJO#ljvm%#h?+2W-kTQ zss@c4XnYdMMF-};ia||jG<)%(Rz0XU9iKILv7uHYV1TCCiw(6p0YePUUS#0E)>k8F ztQO5)TwwmI6OhfI@ewQ+5o$Gqd0?N6(u-7;CH#F!P^o(O#O)+hInV_@lE)fg#Qz68 zS~tb2PC{h~1X{uVq5<O2~-CpoP;pSB~TLue@7&cgtBWO&jehM>F8&UT_MG;Vc0kj zEkPbWHIQn}upCgT3qt2ZJphD&aBJ8%D}f^Qq(skva~*?3?D7S@2P~(ZllM49C8v+8h0zc*rDI^Og*FV25tEBOiO0k zjSRc+#+;X)XKJUbPn3L4;)uBn`2c!~d^{<^>N)tdN9ei&@n2~w2>1X~Ax-!W-S z{Slf9kuuT!LQ?_219+kL045*^J1_7YVoe3+0NKFOxeQOekHUK3OJFx}5Xc9P1C+*4 zbpaF55m12c+9Q*g8?@Pzm_@aEKRoF15yKwW)GTJ=zaqwAA5CUXr5h&++L>95DdS(_ zcsU?XmbK`MOmpKlSsO8jxyJaYT{|;}X=!}Hp}jtrX<0AVSzl?Yh>BC`rnJ^xdxL4s zu6C_;QNeVoJ;ot!Yh%}1&SkE_2Z>S~P1S|i%(qr3A5C#6FA+WvJ`;Ws>RJ@beU>HC zVd-|cxBQ6wvbV2ZoBK)kOgDu)D(W`)OMGYkUjBK00sj^M6Ymp4;#_Hw z^r5s@IxW3pZS3?pZ&vP9Mkw=?cNL?%nY*3)K?KNluW`dUNK^eG+L(u#V`hra^)*;(16{Ha{!>gMX_y32hJNjR*>Of%P3&3<8& zFjg2Z1cb@LRN-|YBrHb0%Y?A7N?0sLZ98op9eo_nIbL$CcH}t<9W9)Svxjq>bD?v& zbC0vwSx1qSKFY%i6`?8eVXbBH}U=X$-KsI=8y8}f`kcqQdlHx5%vkJMYh~& zdEXMXOtv+1XlLd!gSFjnFuZ!d`yuye_f+=+ci6p_WErKY#t^K~SZFR>g?YW!O2udj zAFNFc77vI6r9ILX>rv}z>lJbnIaBT++vF~CPkDemOdc&y#9EmrFOeHMZgg~Zbajk# z%yjg1E^%fkBbE1*`mV9A)vm?v_uT8;8{GMBDo(4^DD2dF+(>RBm&?VtbaRHeu9-DA zHn%Z%GP}&3F}pL+w{*Tc{|G;opUwyQ+5D^gyL^QIj{k)>BFT=zZNdY><& z0pX-j&(a2qxVvSbWsGIIWs&6*%a@qCla_R`mDoF(;xREp zx<=xq?vf9yce<12s>9@v96cPvG1t=_3mjp`XO7*DxPx(C<>Z}rItOFUgU+SS4Vd+#&RWXVih#ZS zpz^dbLs_hRtVFS7|56&dZgja^y#zF4tjKy1S*jqx*JufA>?E;DzoS zchp@#rkG+9qi*C{aH@st&JE$laWlAV?j!CCZXb7yW6Ukh9nEgD*F4DllsU^h+q}fQ z+Pu|#&|C-GOy=+AhhWpr#w2XOB*ghzLZ%=KcMC&==Y`qAa$$||wNM~XmSz^ga*Jhv zqys1PN}yvT$(7o zD!nId!bxyay3%^R)oJZ*9j-n33e!mS%8$wu&(d852rJ}PI}TH7SsUA95C=WMfV zOEKa*ZHH~N{VKa)zr#MrKGyz<{Z0Ei`#1JNyV23Y;dXc(gB(veCOPI|xN{x*948$0 zo$Z_+XCLR2&S_Y!Yn?lsKjU0zu5?mvR|Y80V6c}cYn2_!&x%2HHFtG#b#@JKjdD$M zWxM|Ein@MsopCk6>D1Z%0M4hWIHA_MzjMdk6w6RPtnb=fCgr6ea_`^ zajf;`=JsZfxu^Ld^V8u>YhCSxL&+dj2@Yb&sw zw$-t>uyb~oy@&l_`zZT#`y2L?_G=v?j)#7Z#~l+LvmGlPTO9ixzd0UuK7$E(!@1I# zi}kK3J(a;2{FjskN?6&b{GiC=6%^p2ynt;({}Xe-gtwfuF;_#=pns^85M!@2FzV$+H}^> 24) { @@ -2947,7 +2950,11 @@ INLINE u32 CPUReadMemory(u32 address) case 0x04: /* I/O registers */ if (address == 0x4000130) + { + if (padCallback) + padCallback(); lagged = false; + } if((address < 0x4000400) && ioReadable[address & 0x3fc]) { if(ioReadable[(address & 0x3fc) + 2]) @@ -3010,8 +3017,10 @@ unreadable: INLINE u32 CPUReadHalfWord(u32 address) { - u32 value; + if (readCallback) + readCallback(address); + u32 value; switch(address >> 24) { case 0: @@ -3033,7 +3042,11 @@ INLINE u32 CPUReadHalfWord(u32 address) break; case 4: if (address == 0x4000130) + { + if (padCallback) + padCallback(); lagged = false; + } if((address < 0x4000400) && ioReadable[address & 0x3fe]) { @@ -3115,6 +3128,9 @@ INLINE u16 CPUReadHalfWordSigned(u32 address) INLINE u8 CPUReadByte(u32 address) { + if (readCallback) + readCallback(address); + switch(address >> 24) { case 0: @@ -3132,7 +3148,11 @@ INLINE u8 CPUReadByte(u32 address) return internalRAM[address & 0x7fff]; case 4: if (address == 0x4000130 || address == 0x4000131) + { + if (padCallback) + padCallback(); lagged = false; + } if((address < 0x4000400) && ioReadable[address & 0x3ff]) return ioMem[address & 0x3ff]; @@ -3185,6 +3205,9 @@ unreadable: INLINE void CPUWriteMemory(u32 address, u32 value) { + if (writeCallback) + writeCallback(address); + switch(address >> 24) { case 0x02: @@ -3230,6 +3253,9 @@ INLINE void CPUWriteMemory(u32 address, u32 value) INLINE void CPUWriteHalfWord(u32 address, u16 value) { + if (writeCallback) + writeCallback(address); + switch(address >> 24) { case 2: @@ -3276,6 +3302,9 @@ INLINE void CPUWriteHalfWord(u32 address, u16 value) INLINE void CPUWriteByte(u32 address, u8 b) { + if (writeCallback) + writeCallback(address); + switch(address >> 24) { case 2: @@ -5576,6 +5605,8 @@ int armExecute (void) int oldArmNextPC = bus.armNextPC; bus.armNextPC = bus.reg[15].I; + if (fetchCallback) + fetchCallback(bus.armNextPC); bus.reg[15].I += 4; ARM_PREFETCH_NEXT; @@ -6469,7 +6500,9 @@ DEFINE_IMM3_INSN(SUB_RD_RS_O3,1E) if (bus.busPrefetchCount == 0) bus.busPrefetch = bus.busPrefetchEnable; u32 address = (bus.reg[15].I & 0xFFFFFFFC) + ((opcode & 0xFF) << 2); - bus.reg[regist].I = CPUReadMemoryQuick(address); + // why quick? + // bus.reg[regist].I = CPUReadMemoryQuick(address); + bus.reg[regist].I = CPUReadMemory(address); bus.busPrefetchCount=0; int dataticks_value = DATATICKS_ACCESS_32BIT(address); DATATICKS_ACCESS_BUS_PREFETCH(address, dataticks_value); @@ -6664,7 +6697,9 @@ DEFINE_IMM3_INSN(SUB_RD_RS_O3,1E) if (bus.busPrefetchCount == 0) bus.busPrefetch = bus.busPrefetchEnable; u32 address = bus.reg[13].I + ((opcode&255)<<2); - bus.reg[regist].I = CPUReadMemoryQuick(address); + // why quick? + // bus.reg[regist].I = CPUReadMemoryQuick(address); + bus.reg[regist].I = CPUReadMemory(address); int dataticks_value = DATATICKS_ACCESS_32BIT(address); DATATICKS_ACCESS_BUS_PREFETCH(address, dataticks_value); clockTicks = 3 + dataticks_value + codeTicksAccess(bus.armNextPC, BITS_16); @@ -7169,6 +7204,9 @@ int thumbExecute (void) u32 oldArmNextPC = bus.armNextPC; bus.armNextPC = bus.reg[15].I; + if (fetchCallback) + fetchCallback(bus.armNextPC); + bus.reg[15].I += 2; THUMB_PREFETCH_NEXT; @@ -12941,6 +12979,12 @@ bool lagged; void (*scanlineCallback)(); int scanlineCallbackLine; +void (*fetchCallback)(u32 addr); +void (*writeCallback)(u32 addr); +void (*readCallback)(u32 addr); + +void (*padCallback)(); + void systemDrawScreen (void) { // upconvert 555->888 (TODO: BETTER) @@ -13365,6 +13409,30 @@ templatebool SyncBatteryRam(NewState *ns) return &bus.reg[0].I; } + void SetPadCallback(void (*cb)()) + { + // before each read of the pad regs + padCallback = cb; + } + + void SetFetchCallback(void (*cb)(u32 addr)) + { + // before each opcode fetch + fetchCallback = cb; + } + + void SetReadCallback(void (*cb)(u32 addr)) + { + // before each read, not including opcodes, including pad regs + readCallback = cb; + } + + void SetWriteCallback(void (*cb)(u32 addr)) + { + // before each write + writeCallback = cb; + } + }; // class Gigazoid // zeroing mem operators: these are very important @@ -13516,4 +13584,10 @@ EXPORT u32 *GetRegisters(Gigazoid *g) return g->GetRegisters(); } +EXPORT void SetPadCallback(Gigazoid *g, void (*cb)()) { g->SetPadCallback(cb); } +EXPORT void SetFetchCallback(Gigazoid *g, void (*cb)(u32 addr)) { g->SetFetchCallback(cb); } +EXPORT void SetReadCallback(Gigazoid *g, void (*cb)(u32 addr)) { g->SetReadCallback(cb); } +EXPORT void SetWriteCallback(Gigazoid *g, void (*cb)(u32 addr)) { g->SetWriteCallback(cb); } + + #include "optable.inc"