From 6b4e28281b4fa98272bead1eedeea577e8778169 Mon Sep 17 00:00:00 2001 From: Joshua Wise Date: Thu, 3 Apr 2008 23:09:44 -0400 Subject: [PATCH] Add JP HL, add CALL CC --- FPGABoy.ise | Bin 229744 -> 229755 bytes GBZ80Core.v | 21 +++++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/FPGABoy.ise b/FPGABoy.ise index 7374a59cd31cd716c2382202c3d8e45f6af8f992..d8f72a2f146dcace36e5e5d0c488158b41379039 100644 GIT binary patch delta 42869 zcmX_IcOX^o8$ajVv)qzvCxm2VWXpE#y$Vs;BS}R=+eMMG9V^PF6jAm}Deb-Y-cv)n ze%J5ox&C^+-uHPv&*vHMIOq77I^|dDl-9K}c<9|3!OTXPEM6aVgnbYh|3T$RD#Ar!m)zwyH~Yc|LUUXS{) zJO1mJ=_2IVoe07k|Ftz4yE6XE_>Wf@a)RCUUz?bP2EqjCQaXd(`u~13>@7Nn-TmK~ z5l_N}-Sc0&<0dZ0?)`6!ttpxYbH$#bk=Df zQa9Lr{|Uu}D6@$+@}-NeX7~Ts@3R?S2;=jj33v9u1fcK8El@m3lRggysJT$y|FwAt zI{zJZ4=D1X$akRN#X(jFd+@`f7=YV`=cQCk|vfcy-q8;oE5FP%DWec2z zS+ewigAj3KJ-eL=kh8@W{$+N_DWkKQAvsyU2_F~dQU8Ea>Jn-LzVv@ZngB%x(@{I< z@BcvtfSa785eIsLm3Qgbads!8D=#fM5mv$~WChq~?9D8aSGJL6nS(K*Gl)`%m0@ps zBj}2D!*Cd*>W}RJB5V&3GuhqDki4|YL{u3bqg_FMPz>q^&Yk*^wT_SEx4bfMA})0{ z6D-iRuN4;tYSL8b1wfyK3oQp2JdTlr>?8kq`=K$tAGFvtB3D7nBraJ7{YLL_bKqyY zEjtQiVnN|d;dEtmD$_k(jW+??{2q}D1|B&~bwS+f%wzLlVptT`0An0)VFv)Pa~bOn zgw^^ERy@1qKaep(_&M->^&oK+4Doa!+CdI^axv=>pO;Mvit6}&pmkRgOAMqh)WN!- z?JiE3@dw{k(B$<{=AiTQEmkMUTXh>Ngxs>1LXCi!sax40U`LQN9S?2EUQ|GmX$|=p zFxm#95`d=j3e^dGXzyankI$9jn}~X!qo)Jg?t!=(A6lNGwD5#~v!wBHkGCr-J4_@7 z`3&y@pcUb$7l4!bK|TOEwnx~d04^e)P69xY-He=)tj~nIOeJvzFn?A3>K*VpolVvl;Ifs1^BxmkSqXYMlOu* z3|Xa#G!`quOhJYIX>u=!ddOnpW+nSgHnC}bv-r3WK~ zBWUX~A@@UCKQJWX1ajW8s$on*JM9GI276I`?8E=hFf>|sB})Z}Thzyj1Me+<#S*0F z>OABrcyCG~{u;(N*wB+FXhYcs_)D1EFpCzXf&2jL0lSY;oT+R%VXF8MEE7z!{X~2Q zLKN;}#{jOU5AhmII%khN@hfEV%;{p&zv1m*-R^CyMf~Jwohc3F@T3aD1E%Lik{E=s zS}f}n2;Shy&Vpcy$RIm`6K5ro13&`0Fa`GTe-&sJf+mCM;(jC>#w=WqmqL|b992Y3 zC$g%RjAZ6xq>8U`~27h($qr!oP&$B57 zkTz?Oog=VfE4d8D+`P*Q1}8){q74%aAfhyR5@hPFN0tLin}^8{C|UF@ ztSjueMO8m}r3!Cq`)naFKgCqpPlC^9EG{xnek04D;<5 zAW{=$02TU9HUj~YQ;0OktD$D3l-m413;G7ko^J$9)vRR z)?$w)f{_x7$?Gsz%a6&^RF0CxKLgyxv$!CLch4hRL48yb_7Al9XVJ;fAL)w=R;BVb zQWhjT$l&L}?CKG8E*UY_P%Wp;BLycd<9sRy)<=I0ZL$TRM^)k^5R|-v#sRuVD&hr^a$zgM zfR~Q$VG%%6KnN`ca^yEM>e`kfB@-S*L>*9yZ*GjXg3L$kC6G4v04XS9mRd}ewlq(Q zwAC1cLH%VH$Iw})oykrnR1JPaGfW!f%sg6kRcwy2Nl8 zMel(N6_+8efF%(Mv4nvC>Wd~ozr;;a6Xaa`!%`U6%ed-GLU6i9;w4bIN_*)TU{^vL zcZ5QeX~mKN^A^M)b3o6l(@d$p8r08~9+U-W`jn5f3j8XA(tt*^7qep@9gijiF`SNN z01LJYkw-9QN+2>FG+f+8%>+g?Kd@HA_$3-b+W;xgOoe(gp%^8y>Gkjj$$hMDn6Nql zoeB!X79tk_9DWOlg<#1jV(*8!(G*z^#yoDruY-%~ZP`0vOvG|5hu_bfGMJ5aFy9RX z+Z%NmtQ9zQPGw~PcX2C_1W>j{jd}t;jn*KRgMxukmSFjg)Mpn9l&z)&OR&NMBn;&2 zdW2qvxlDthyzs;^dAbKC#6P=SG*ou^?_iJIIL_h#9SaEj3(RUX!q-57U=ol4poYjN zDuIGyGAv8JGz%kTy$Sg`UgUQ0jP*k_3dog`px#4@5J!<~{D{vpk`{(7;vjN`-_vfS z%$vAb-I$C=0IEDEY7As5R$%>5G+nQ;Y5;A5Jhlu;#kb?V1^PNn* zsX^Gps%R&Q3+@7HmeGP6Jqc^76pWbt1S27GRo}5*fz(a<a|qjmuLcm_L6#5uK zPiZFg46+Y*#XO@qvhUH!no1lO22Dt>n|HgMrQ02V7QzqcYu?UvTf7~%u<_by^ zHzZ|m@h1?2^@(&gpq+Pyd1!7RJaLe=gPg0{#8QycSAvECw^GT7I^-Dd>`k<6f<8plntTq9 znRA?KhqluLTyR^q`!&7+02RuTf}*KEK;8myW}gsMP;lolJ`<=+dxM4uKpe$}`1CP0 zmKwZugrLZsvLOXKu7^+X$$&pqO-K;UhDWLIPzziFuze80PQ%E35I^Z9r3LUU6p5R_ zm8%`q1pT^t*y-^!|9?U95GNGCu9lf>1qdl033N7)JE($L!4|@(h`a|NxUZ?-&{p@M zMxZ@66$=EJX78v=5Q2y^@(pAfMB%)(knu$u3Bg&^YZYrdWJcUJY$sT0KZ*2q9bj{QMM1@Zr89CfW#^eJp#Ux|0N^>+BNQDT%gZ*A;DkJ5oE^rMsvuBt`mgb z3?Y4(pff~F=a;t(uCnCBs?Vt>9bu&2PiBa#2Bje=5?u{pEs;-L0APxP^aGeN!v_t9 zF;Xw^L%{oPJ9H8BOY6}+5c(#<=rM>)xk_R-v=0X3QD7_+Z6gXB?0pYWX^7ZqU33ay zh!mp}z$VFVA#G^u_^>>IsEBf06Y!)Dp$i3g{PB}8rj}$W1BOMl*cWgL&v!3=0|wRY zXN^KT=?eV@l*#MT@&L$_A_5^+x^+oo=-1zjnt=hs?Z|G3AqqvDCn5tC-N5PvEQd!CR^pO5+o54Z^=V^6!7jDK$n7jlIg4`0C(eGQm_*<+K&kq z-FYZg36j;`(`TTqE>d78INelfV}D^g;!k3efhe_CR2Dc?!y9!0`?Tia24F`eOVm?6Wo=Tj6 zX|DBz;QnPg#wglL^WGDoz)(*U@dd0@Q%5-LW8)MfsJItW43eqMbR{@$-W#DraI^`< z4uf`(ILi-=j1(uUfC%GwWF8ncxC1{jP8`!|FUs3Ur@@%;b}Sb>V?RLULch;n^cfJO zWRJ!GDU#Qadca09NTr~CiP8g{T1M1yXzLcC{AW7Cj5NGN|7+UlUJGEqcHJ7hc9 zZ&rik0#>{a8RKu4zB?%RaZnueam;A}yOOPhV3j|)1K9*p76qZcFkWUFs}_77{|+&Q zqWZjwiE~uuS>u-AlN~ZhIq0U;(EVVE>;NkXf;rZOy$o0g?qlzQc0>#w24iv$lU5Kf z2G$58ka+>s0T$+`(woP}n2iTgOutE#B7}uTK5`z^;!p4%FtOqXdKe_ijuPt7-x@+UfwSzkW9uRGtuNv8VN6aL zk_rU7?-RN;Zo1ewe8+fd25g))XD}RRSvXe9uSfd%n?@7o>C^s>VZGo6*ABWI2=e{R z#5+q1??K@aIU;JuWH_4#8so8GS%E0a1yF=X68T`kQ86?f+$?s2_yZPriQ@ZU{4Py& z1&omt!&Uf87}rJGW#Y2YO^coaTO4*QYXCH^siSzXuKzGbg+PMn15655P0ehifp1)u zivrJ;*aG^7q;L_Cl6n{k0LBhVQfh$DY!)I36IuK+L8Zy_DvHR2g{6vodZ5e*32 zGsWn7KqE1g_%t3X#>~4%d;~y>f3f+{Z{AL_H24pchg>CiDC7eoYEHg_(Po*f$1r+R5h@J9 z72_ea8uG_v672_ViFxD+K>X-8@&FJ|`oj{uaJ5*7We?VdIne(dw+KEBz6Tk1H#MP& zbDuwp+2kgRb~2@I3IvU%@|T8wH)VK3#`rU<0>H%EU>!h*OA9gu{5EtJ=fRjl9=;T4 z%6~))-XO6OC)UB-!Nv4e$inb{m^b9C$zjY3$|Mu)E)(_;ae){R<4fJaY zk%AYuxCl8P>Vo4n>?s)UlS}o(T&8n{^=N!^|3N5$5%>cPGQ0tx4r_+1{FfqR8G z;8u;h*eVDEt|3tb?U8Bpalod2jdp}~&}m!}5Tt%ac0p!P;;0FKSy1$pmYKLiU@WOM z5HMo}tgHNJ^!60oru%nLj{zkso9ugaKCtR%-KMDp^o<<(R1d(2R3Mkkz%K8WGloo6^w4HK^2Vl}! z4Cw>oiF#6SG_v$yLcL_sZf2900;atX62R3dakfU3wX71Y?}ykxL*GKQ2TG zh|olY!GLK~$Y)U3&Ho@G?BoC6AE1&$v^a#K!T_~ooRqoaC1|b!+ZqJ$}}X8J@S8{2rZ3OL2fzfp|N}q$9XGGWeJ|HEO($!L1?J!GOgZInXBFg zG7|x=IGsoab%)K7-{S$|Bh8z*%)Pt}2?VPS+`-!*d3M{;k|1+dAUX)_$d(~;P;lQC zlEYxF^Lt7O!bjsFb`=17>5(8*(LSXGpZ5H>}G5eqAVf z9+v*;I*0;z=zcHx0>;mI&T0qmu9{0+1Ot_kOK`cebi0t?wOcb~b^%xru?c$tT+WR}&w(KMyYzDyBUeFa1Gs}Z1Q%Fo z>!zE56}u&5o1jhcNF(?~KL|%*ax#x~15n#A=yy;&Gm7p4hRl1}j-Ysc7`g-kKynCK z1JN6&h{%G=zMrJ@L6@l?srUcL7v+}_xy`gM2$JA0VSZ}x#Ne4MORyn~IfNwxJlhS3 zG%Td#K5R9AgQx4S!1JOCASPzlP@BL7KUpkym>GErIV5lsi%Ny`b1+3GfswJ<_Cek)=RM z`g|PTs6(~{5Q6yGzm^mOZ2>=+yZ~w5X)+2Hw;N*AB#<_Luh4C<*l{@_3Dz`|v|yts zc?jpfW%%Ekk$VBD6F9Jvm;(+uv=d1IRGu&CO&~w=C+q*m)A3Uavdoz729r$JFj|4; zyZ~YphE6Xe1jW&fVUggj03GVq1auTLA%1`v7cg=%7#aA4C3r}@{5TQ?P?*bYr&zR-WVI?YZsD&O|qRDX7r!q>=9(PKPgy{1Cvp~>i|k`C@w_r+ZU(` zSd+K{IR+LJPB@pJ{Dupa;Tlp`n-;v-Ja0Qf0<073D8Wk&ul3Oz5NFeWkXIq6qK3$6 z;H*GPRwBgKk|U@;m^yWY5WFnX+K&8ye&+hZDTdg0uy(#D`Uu)ezQhOcyJ8ZO58$b9 zs5*ZEp1DXFUWb-+CwBqY7OyG6wpDu*6SK%bW#Zw@@@DKO$o7{a1h0|x>mt7V0x+~l z@aTBQ1)(+I3lkw^4`?PgB7Xq*e)Fw`xGy&T2|_fQRhT5l@d2xZ^ywGcd3LoL$j za2PLPN<0DVR!UE>a1d&tMF<`{c%DZ*pm5W%=zSQYco40e5QK;tF&RNKc-U`L5QFOZ z*a^r+_s_%;(Brz5RE7|_`-^o3SXuj$v=?B%jmSV;|J{lT&bBj8qTaxP%uNCgHOQGu z)cBVr(&P04bq+@sKm;|_V~_Y}Np7%$O$D_Z#LrG8e*zpMifDx5aJ&hB25|Olr?*2~ zg*Br3{Hk6RtQ9i5F}{Ke9*tF`5E@`k>lpHmAK|}4bo3_5cf&^^!AsNTV%Q%zD*KbT;MEmI z4$0uhaZISDO$YV?HdynHVc+YN{H?u7E5c;8bHrZ=C-*->?_jcvIHMIllZV271QB(i zI$)r-IW-@Uj7~-6VX-K^5d@JDR3K31e~ARi0&zy^x5|x4UfNew%763Mw%M&jkCNB)&9Ej)CTw3rM zg;J7`;5{3I{q$LYt=2@<0X%J4)Rmtp+(-rai}-S2r2r)bFDr8ui3t8OyD3uHZ(?(3 zdYv!;=N>#tP>=)rE@CSIANLHU41Unu%Q^whT}vb0!1w7+Rv%yTmq=we)z2O#1h<7v zwn*)G8H*BJ?3i32a{;$z22KO5$=~q*Kh7MF^g=gU@Sc%`7kUV=OZ`F1bqf6S zuZtxIJS>brw}ZQPnTbNdb21Tb(q$sVv5Gc{u3qXl0pN$L<=LDbL^7j6C>1NRrk8!W4GV>p+)e6P^jNR-8=pAlD*Gu*D$9GKk_pzj74%0s588 z2qEBce}K?ekm+)t#lRS5Bt{f&w;rJQ66h~zz-^(O>50z)elqT(2O%D(t)c`^)g4KE z0LD~CQ&WJ$*DTBcc$obIO$C0$HSsEtud&OOoeAI~cCZ9rn=U(m7lF{y8YG*)fF~~z z+`2n$#vH*sgBHXb(*GMmTmm{==Achuu~)KS!|Oh1L>y`hP^3Q)*+B6TQzQxEdHySM z5y){|NqvR%nL|oOFHG8jY`tFA7Kr7g1MFM@MXA^TXyd=6DR?I-b{5eJGEW>KO(Ev|4L%WGptv&` z-3peAqgWrX<9ZGkyzN;oM`ple%S%WEFjDGA8Ui@|zs#bgvhW1NJ|D3HqrW8Kmq1&M zCoS0gOZHi^JQ>*mwyJ~>FCmrANfN!#J}tt!3#DoOV_F-$q7;nCgCCw=X8i^(cy8<+ zfHESB7JNP-F^7s7m-GKCgD*788R9KmkrD?5FTb#sf+;aFEFT~;Vhj2g`c>|u;;`1V z%Hx7JU~*;Y7uO!e7D zHh{)Qrw~2h`07=m594#kKgB{_MEKuh{`cPnP%H;AfC_%LFX?_|+*eFx;#bI8PV9{4#nA93Avz@;T>}9mv57taELsN3xt?cBgPHNSO2? zObqJ0<^^INAo1*KMQUKNB-`k105@C*-wBgTkD~TqlGr-L4M-F|K$HM+!^!vpey&`M zS5}!gcfm^WEW$P{qtYO+Q^b7C8M zalEFiR1jrYPa(=So+q67y~!&DUpt$!kPnbbCkN?BkR@S+%>`Me4wMzdt3Tbz+}n2bOZR@-iwj|`uwx7 zGZ4QX^Rcs_z@wZLe0gRcPhSO>t6ac)0ch0-DR@Dc%Vihwb?J=nv(bn|#2NzibCr{cdcf+OzA;(~qE&L!9-5bB+az2{%@_^#H0 z9jBNQ9SrPB*x*Jma(gXu6Vy*?L^Oej+v;o##=Ctb9)kyF6l0OVy2UU#8<1S_VReCL zR%_FOB5D$ANqrzu)YDhBrTTUt1O%AtQR0BdgFV# z9w50qB!(d2Sx;McEik%|_{|=%}7dIAgJ%tt=xYfsK!T&&!Fd(AFujCS? z;nRQXW#lgi7Q?5M;EE(#2x$QdNM))Ukm&M1zDbl-nz)@hx{6{0UR4R|GKA^B*UZ_( znauCRsXTfmI9IZh6uhG?xsVh*@q2v(xhn{aE2J-|a@vh-fLso}P0s~65=U4m;E|=O zbQT0m7=pzDla?M>(f`?&|v8INw`=3SPx%XK2Cojf6Ss0VU7hmH&O`L|MgVhckxj)F5pn zUsLcAKJwgttOf7LSN@O7M2DLlPx;(53y4HiBs6q*2F!nR!ku zRbX$?Fn*fd*~VQjCBxh2IQacWs`i7mn!aD9z0|7%?8_}i?KrRB=Y1*K;`?TQB3EyI z*)Wyhza8&>-@Z2gsAqrb-m}k)6qnICD;!Ldm)LBLLrY&2CzN)4arB*l1b^M z@m~Jj80CQHHQUThc+l<2D$EhTJ+@Bkup!qa)WfrJqxs-STY%qVUU`z+?Av=IBNu(G zPAd3U)YUcL?Y?gI%9QXVd7;7f+ivN>HuBF-$|#S1H}+U7;wRjSxF^c3{giP$`|QU} zW{gBj8h6PVqn{}UM$R8Skx+E6!P@z>fmj5(&Ng3h-KwP@OCz1A_UCq5MN7GUk#n+Y zsyc0#b^me_O8k+Nc>O^PFL;}^&3fygDdpi#Tbr4j>y62X$Gv0B4)d=k{rY44di%U=&yZU4=q~Jg5APpE5lISDqh`X6Eqs zbWzW<$yu}4Z%lh5*0z$1rJZUFkDkp=8J^lKTE~nr-kdsjO(IY}zFP0h$wko;HF=DG z;Xx7il!t!Dt3`{;%070DKV;wTZmz|#vGKr<$oNC);_wI3mY;O?$7ztQv@ zp1gLxI-k($WKOQb-Z^D1dGd&##d6n%p&TZ?#+wshE1h;W%B(?7N?}DKr>=;3UX#p` z@!ETTL+Ay3cU*DT0ko@yNv!qeTy)z|`PL+E-Sf$c7}2Yr(ssS}Bf*(wgHJX@)>`(? z(~r9uk=npqZ}jG5dKf#@t==k?wqw!9y5AWojPbsBj=O7xadp^ zygACAxW>cO{o?ZClbx2wdgm}w`;$32uCnRBD-=>bZ(Meg`}tcV)3D#06YKtUcyZ5< z(ASeXw=8bM_-<fyst~V!hEZo9HWq7=v zvwz>-dSqw5g^51k%~{LUS|TzUS^jp>CCw8lzRAqUfn-j%!}^gHodVJP^bd_=X;uv5 z-@@fwwX?l+N%3jMqiOf^ixfB2GYu`toH`emtQBV~6-Ans+iPDSw=u@8T+UxFF(fQK zqi1MJ<2=iAmRp(h)?`i+SM_)a(a*|uDayMVSenO39prKzxG5I2y8Yssd8HT~tZQj& zi$2H?r_at78Fq?STIAmxq0Mj2En-Fvd2=E?(Uf&P3pj5YFKftY)*fb5+u}KXp62`e zop;Bi8tkdT_63{A21!Rc-!z zrzXa~!<#egIk;}{+N!jN*Y_pd$&Bx0Iy>Sys$L-%Lvplas&(l1)7Q?bV2nGxb*I?% zXAOLkpF6yT6KwNsNqvr2$#Q`3fR||&Wv@oa+W(#){mUD4X4=~c}g#C*w1u!d2_ryj9A_#!R{Fi z$9FINa&`=SHhrz)4rG<17&YTTn2@m{^a^doE?-6?*V44C!SO489Q|9>c3BA zSH2i8j`lpjB=&mi{;*q2oLbmXdByz4rq5A}Yxg?ovX$&##Vz@K^q1kv@Z2cJ)oI79 z9BhbvZMV9-z7{fLy}F#e&cZ7ObYA2QO<=5BB#iy zG;!6#7Y~n({8C_rHTE*9L!q1+mx#{rm+4Oe>|~EiuX09)gM^(A3?;(aCJ#rFE-XUUs#q4s$S0l|%TOgZ-J4Og4>)UEN!>pK(0SC(>@6__KtZ zhq@1zHmtgpSHd(LkLT>Q;{+-F43bN;O7=^=@U56p9r5M}yU)XhHTvEq47;VeC5RR< z=_B!+0k4C>N3oW}zak!+R;MoOWXKbtB0?^UnSDlCbqMmTBT-(0S#u(R!+1KBoNb%A z>UtBMAU>_Ri5WZL&582*Ui$Cf9rtxP*4L)HyvuL%Kgl=gxyzoUc@O$-Y(K_j3r}vZ zVH!?(b8=kPWvg?1-5;*lzPri7Ft3d~&CezW_XL-XA9NeU?bN31G~Hg#M4t)eO!wd{ zT-7+4n0T?M@ks~v!R?ikG95*%686rUn2JZ zX-R8t8#$|sa%On0uh)?E^OFxvlh3duOBnLJH)ogQ$fA9-KYxyE8(`c!`WPnqd^{)I zJ^FQt;=hHWVX0SMHEE|X&-o+6TmtkoqPO19o#%h{#nGYmHpdIC7^ls}-@nMTb9!D- zeShP(S#v=;|cA@TG4~l2gFC4H?N+{Xacze8&9TFW4t-$q(}#+|5K^ z;c|xDzOGe~-J6t*?EL#qmSoyGukfvVn&} zp2z2Y^-xyo*}ZIyrUkmM%ftUy*^1x2N8|2K5xS6(mgbVND|C@o#folok0Cv)t&H)F zP~G`9*Tuizn0@2QHrp9YT75;RWB!zD)T(WhqyGpkQ>QxjI`!VHpY(m{0dU zq3AYq@QeH9_af^5oNBwalNT?)YZc*|~~!7OYu&v)8ir-gXYo`uXC_3ct6wT;4%Cr=L5AXZx?a)w{O# z*9+se!nV#^Rj6X5OMps9=&x&~x^E5AysHoTdRp??;<&&2qu#OR>HUh@#5*X5>*9a$ z{$R@aP2sEr?67PBQO5CT&xetYzXRU2Go3fthOR)D)iu%cZwajGLh&}s7 z_AAFggRX=x28qAe!HchoBuBdkikR-~4^%aH(8qF>haUrhad!y2n2ZzTJ!*p^#NSqjb45%v7u^;A)xvW%{1l&i$98LfyFuaCr`u{uN@w<0 zGX4(~d8w|wk~=n=o!EFS+rQEEYwZHB-+p)MivPWeJ$7ym?OW#Iaox0KS<#5P&pS0~ zCFAV9u8dy$)2L-<@x<1de{FY&JBEn$CrqvSd+F%aHZ8T1JXco!sgKqz4Z9`G2TZ;< zn0TaeUeC>|qv!0x6wg)eS?DSr*l>Dl@r&2bB9nve@yhqv`TJ2exzevy0{mj#{xzyN zR!4WxHP08jY%NaWo~_BUnceQ`KmVNYit`c?f$DuqHcw9WT7Fc+8s0KP3#FTE>{hoQ zat;qVCYQq9%nc}dZTIU?>dJ@+yXpj$lW!6a9pPSaaldt&@ULjRv*8hWNZR@0i6-Bs z!SYTy4tr!Tcc0DTI(t*13f42EIIS(LHLxt1Mi>C-`4Kgh%OB* z-?%$fe8))Q&*mIY)59-LD9rgFGXL6(g}VE1*kqpMq{seque~lld*}`0@JLkG&1+u7 zx=C`*nQoSc+D?yUGj?_S2i+_eD193SiCRYdDU#Bb$|4U$47S+eSOi-G(7R<^gGWAJz#QsS9HMPnjPUU z@@mPaC{N#|ZT9*-AyuKx{3lccom;;{RvUrQ8-|Z8-m0n&w z5qqa^lH;&RoYIeH9^0tl{B26RT-+2cy)M(%PL@A($GLt|ySDAyD;%@T)h8^nF5mgP z;lOlf$IC-~w1ZT`p}W)kB&#=bG2>qz(>(Xjk9lUS5YMDN6V*-ixU3z$^0w4#g^DqH z{kx1h=an96Hc}^tdSXhx<-MtC^~!C{Y(1XrvHX53GS6~=8F{A58})j&|IN0Z;~!|5 ztIt}LlPO!D?47$4D$XiyHF`FAL+x6Z_|w z`*LNIbM}w&=SkW7J!GQY$>fVh8`MS4dd@BU)BkRy9mZ|LM(dY<+I2GJOVIY+-7VW(vyKe}ti5?+ z*24qWPl)Ta7kjpat~cUIQZZwv{gzq}{BsaFlw!RyM5j0m?GTBqew+O^(CH9k{92b2;{LpQ z(wKYu;`-FbN3<`NGl{Rcymc;CzL7q`$Wxv0(WSP1I|f~L*gk!|^4&-jb>)NRos1i9 z3w|rf4nJ=R*oBV%UR|T+Zgwj5I7`J*T5i|aovE2E?jJWYmbKqRW3qgCExC9_E*%(Q@@S|JyKfV-iub% zx~9b+N$v@IA8ny|Bj{TB3-^K0@2F4U;H*^v*;9@WZn4=j`XcDS?y_eVra}%sd(7;f zTlGh-lvjMJd%Q~W`@xmA`+P=EUwgX0d0+T-Px;PKx1SrA+iHx)nJJaUR4i`0Z2!qx zDreLTq~Bm57wqG@U&7-jqTqj>Q4H;oMTn0rQ0oa^-c9Y#`wLi;(nJV z)op}1J$06k)|u+u!uQVU=c@7=Hy}*|#-}7!FiiS;UCuWbbH?}fQXdF*(a=wlQBQBAX77ylnf}_==QVquW`EBl#bLB>*p2Z z%;a8+*rVIM(d?e8N9+0ehKnBREq|9iOvc{pUQn5S_24h=)C-sI|L%KR+abQ|&uEzt zzZSTu1(>NXyO-5!%w#EXMIIk}{KVX<_aEoM-C`!~gDCfm-I>_QPCbidIc|4+dFs2? zxw`V+&bD5gXK?b;g1^FfM_mGxDVsjy(@#E79p?e z${ln9|2QwV*|g!w=&I6>hnG2Qma;jMx^~{1=bq0VTD3TP`A;5NA^C3G&s#sK3+08z zP6=BV`CS-UZZPoK{#Hnrrt5I=lWzOBf6YFsEKWgq1%Ex1zlU!(swu7V7dbOHz3z)` zwUO*c^IiKFpHf-iVt>%e5wGs6ZBee2{Jm5^e|}kxQ+8;Z#nS|dO=~BAmkiyt)h;A4 zZOw>v#+v8iO37a;Ubr>SGL!ZZ-&yeKy5FUOeG0Cbrh1|W4*K+Ny0FvdQ>T~H@jHHJ zwY~A%*zHxpGlI6ycCVgcGmlB#Xeqi@oi$SJTUcDsa1h7`^)Qlp9-4O^?2 z;}K_0SJ%$a8fke`%{Y$QSlj)&Wn6YUmigNr+m*MnP}gaBrq=4s8eJbs9Nvd{q<(Xq z_erSo>WdGNSMm+JhxVj;d|91ab$*)I+`>DNO*$pa$f&NOr+xbGB3_J3aD>@E9l4*y zt+uu+re00kxr4ntbBF1c-ZrUEtt`b!UbD+DSD7jJO0}J`UwXUG)%M3i#(HQKh)eJxVew|_-zY3xoX1gsF{`j>|+O>WxNw#fqMrF8*bmb$Ro-zQ6kGS zsr;gU<;B8&%)@7|ll;l_VSSU3ZKRLeWC>7&>BPs+lPIoj@j&6e!-Os;=vm6rGQ$>BzKk(*gD%g46; z+;%2;bxt0W_)U?6bNi`vrJY*a=bS8g++JA6G<;K3_DBxl?G z{=+-Hr)ko%)|NH-4Dxrz~}t829*mek678Ll7o!ucU|ujt}D_{%~Z6pWf`@~ zT@y)vsn^opBja-8qb|g$%H!gJtj_WUARi4sModR5ndL zma~iUOm&b^)BoFCU}whpwzhGO-SJ1ermfV$JhtUpD4^9$^p8+pjce45X)-%=THn}u zT`$_ObI9%0skaTUFZ$vI;&O^<#XoFW+8rbF2kWvDJ3jrd?r=N$m?BYm$^z9q_mwCQP)I)yp=Xn3Mj#c(EJ}Ao_ zN_LI3{JmtQYPbIKbY5SLT!T(OHFT6oZ-)k;Sb8+UTRfZttuY=Tg#1wdTpYm!9-hDt~Qb=n6 zxvcn3LyCi%_L40zt5|)Xm2U9v@K5!>=X@!vMQx3*f3znbb@?ENG^+7c7kW#ll;cjUF);^u~dn-yqcp1)&90Lx|7o=N2) z2M*s9FCZO;<5KI2hN^9rP8kc**)ha@@w-jtI1-?h*lg%zx$}X`Kv?oW7c4dL?J*|5 ze*0$6^V1@))dv3CTy}>drtELETTmHvC2ZD5(b;Wr(;7v~mpff=y%G}r-FmCnqq_^= z?PiMqyIa%DT_;5z%E=L^&$JIhh2(ihM(|y@4=soFSYHN+TV$JzS z>ID~fE^ygXjPKqT{BO;n4=>a0d&E7jUcMvd7F+q!So5A=as5vZc3EWc<}E9_z8Wq( zXxZNB)vmQwtny0Jy~Hy|>YnFTdAuQW|5>{zur9Z47(K&lNORV-x##e`LsijiY=7FU z0x#~Qo#n)X_umZ?)$FW~HlK1#?CG(MrTpL5-m{4-8PssHvMM;>oR=@*;d*MxlbwI< zHL?^{&Rjj0?OJes`iZy90FZZ&(b=jZhS6ISP_-6Vqt>=cI$5l8Q?>l#Y&w_)9t zey<%7@brshS}b>0v|Eb$QVEkM%U2o`Wotej`0a6$8*{+t*()E7^gQ~l6Qob4sc3aYt(uIJR(`$ccv>mIMG@7OfF{(bxfp1s+gZ+5w19}amw z+3;4(B;>n6(HgH$$-irN|IByt9ifd}TNk)Hb+^Tc7b~N?uVw4v88$AryVLhYXti^; z47XMEm&-W3VR4pxxgBs^)2dwg5C5R5^eQIUdUu*I>3)@ET=L3}+?GkNd!uuy+4R+N zYFnO7yGDQWpySKYV0)fHgstP)YAsu*A>XrCYz~JtU3OhMD!Qps z=iVL8nRT4uJUg$TJ)h1MY8XWLTsd*|-i~)JUstT(`C`!ePRyp!M~Alyxpf}3d};F4 zgSF@QG~6n;(Q~rqxlQW|b_|v%qNp)P*JVc9;Q7?Sf~QNE6QpBJS2T*|p`1*IQX}p7 zt4H6I|BLr-6*|yGve1jDVx!lV?#r^juJ=AU-|BEbxG~lxM@d~F;wZHTv0JsKyQgam zM_aMb@9vtpmrD;BmBpKLj;u}XuXLKcV$Jbi=brY`<`*^=7D~8Zjl1SnJN?CLRpX17 z$Fe`z7FEm+3Bv=1bxI@{CwzvPBhdy?dmgcKyfR3a?nTrUNgF{jDA^ zuakPuJa<~0741eyJ-EVpy5jk!Ok_-*$h6 z)%HY3t0&uE8N5InHyUhsu28$xVYp6s|LCWLQz9!{EUxGGIT`L|#=hoDUw0hTKcikk z2%)09TkiD^-y8ZQODC^?t7p)@b2HaLyZkF}a%9w*;rxYva&uijRdtm#)?cai9euF0 zHZ9ZfPGjr&g>ODQkNWI?tR!Q=sd?w9dGfIp^0I}*)aJtnZDsX)mVUh(?e?j`-}+O- zX8Us1F_#O;CprU0!cFd`d~mq>d~NW%p@delWR0xFu@$lvQjx~ezL1LcBxOx$l?pA=@60vEc?lX4Kz_R_O&}z|y9e+r{jz?wd;2I|D zS4-#W@PNQ?z4KTXcEvvZKAUwCS{@Ita+rO!xoFRjF-JpP@``lU$)7e779H?T7} zlKqg@NR#W>U1YxT;(l{yyOX}T!O`MQ29b0|gO%k{%|}*?+ceU&*JPT`i^((YIHO$Z zze6IHR&U>OAiRE)-2vgE%-KD{`G$G1p*JsWwRjOrT<1_&lN;zXsvnW{)lx8|d;Rin zyVosMA8FK$cQK;#kf$@OCJ(DUh8-4%;s|T&AhzQcvH>74@A4Wg6%gH6-`FZt}`~?Qup~S&yZ5$ z^6i#6ZWmz_LWN&8?bePxeM+sVxBATpBQ`?Sx}h{@ zfqLxlmc$obW9zdW%to6OVWdgb(E7BUymFBw3`LL+w&4C6NdUMwuHz}_5F%=6MMb007Wm2-R*hTU&PgDFi z6KB`VY?G&o8CpjJm$ihLd<#99R7lGTIMebLoa-xit@-;!wihisES)b@rjr^Mt+|U> zLa=@9c=CGvWrHvy84;1KmqN`Y3Z8v6%zOShb|d9rII%d?$dfi|mM}o*zq4j5>HMi& z<5lJ3elp1(_T21A+eZMs49cl1vEHNC7)uAb$h+X%Bzc^p*j@_O9v}b1PyPqxi z`p7ftK;sHpxEqi(LLjgm}0t6a1MOZ0)K~v$DHN6dewBZ?2AUHwzrcNUEa7 z!bw`6Ft;>VDu4>7ZD%J*EDoy(oP$-|?orQaw!A?P-4^w1S&=98+u((S+txoWx+V?Q zs4R7gi+)pCw9WKg&!MN{;|Dv?&_kkz-3J-2@J)cfrd|pE#q9!Dw z-D>57#ii}`G2!_^^9{r=R>~XYtw{GU7k2I6wmQx_ojhL;48zre*qrb~mZg9B6ydEM zyOijKo;zxtjobQ6`v-Hvyx);LGh|QhG>J;`E_Y+h`Ff{M^@V#;jDo zcr>LXouY+{9;3}o+_ntdyy#;vV=NWRp?P>SV5=!u82@C3< zRm;94QeVms2S|P{I%74OEn9Z)_4~K23#2o{qI~Elt%o;XZ~O22_a(#6=YFgv&_Xt+ z)DPVJqbl@Eba(2B)pYA)->w3q3!^u*P0~~n;RPX7EO%Qe=?0Vk28dBDhyIRA6dbb2 zI&N22IFzXI#o8cD^U_yS-tl~4?v0imf&1ob94Rxh9*Icm(Rfk&1#`5s_rEY|`srel z*;fVE^5~|8PK1VRnk89H?VMqX=+5f<_MO#6b{RH_YD1+571TbOu8uwO&iYkPc3pnb z)qCf8)T=GSk8U#BDzo#ea=`qTKlrpN-sk=>Tl2!>bDmPfo2Bgg=sQ z9`08&8FkF&x4OMmW$nf5ha%l+cRnsY^VhPXN$c}Xv-b|UnVOGax|7XyxmA|d1u2gF z=^Z}%bFNxEaCziWX(BSxvo4@oqU@MSv3yFl*%3RR>s}HT!r?&|k04 zKN5Lxw=h~nN{y@Sdarc*7AggO(LNJehS}v>Hm`d5ZPuVbs03D66kt4_VyHil=AwAA z|KfX<95+j^b_M&f6)qQAyw3Uy)Q-?qGA3*)<_oCw{|)I?PzJ(JRCw8H_N@)?bdh+_EikH>cj^sYy!35M>VqiWVkp#tB_1+Ad2v^H z(JztfJnL*zJrgx82=du7o*98}+A^P07DYMIa~m@@-?kI_?IV@IFs|XVADzopxO4W) zHOFfmejhpHX&x^O%L}9)G&y@r=wS)U=G+IAtLM$zOVGI+8E&X?a)-_Cwh1rAO>uh_ zcCVMD6~Cux|C}Wg>oF=LA~yK$Ud~)ok4>U!ZWf1(`g-U1=QHjaNjsh8$_hMUt=p!b z%AHU`8|6B6hWvanzjW;uv!zvXw$_Oyg3X#C%Bsp{m6zj$O*E6q0>aOO7tTKUmvFIq z%yJ=hgu9NbajT|!__7uIV)e|tTXn7&SP+XkPQ`y6E*>=zK4*VTxA(woYVh4}(#Mxu zmywN*Uvy}@BYf@FuZH+BTItVT z>HTg`%KMBAqpkW>v2B6HHO;l9dG7T#G@U$~@2jl+j>zZ8Sc@0Gu=}IRqK8Xz2lvEt}nx^K7tV!JUxaLpHz z^+S1{+I-p@v934axuwqn7H(2|QPgE6*YK-$wXp+_VV2*Vz?c=r=PzzKbQSJ6|9$7u zI~^%}rVfMhe+dI$gI(M{r+m5a$!vq_X_0Tj7B_SJs4f*%2^Jgj30q(5JLz-3`{BZq zN-)xWsJH)X&IQG!@mEEM!jtw|+~yVU(=Zq6YMGW+RjubGvi(`d@FWDUzw0 zR@Fx`2G1PQ%*b|O)HyfsSW?X#1AHHEPkVdJ$ba-ax3#2R#DC>7|0ygTinZHuQOUZ& zv-?H@_w@t(+3Cr&!`tlN9zQCYF%Wf3`pfRfjc3o8scz}#0*W#39v&TJm?%{18tvMU z@}gaMZ~ol_vfykLm(jZwbG;t$o)0=T0{ZeQ+ilIBAJ=--^%nB?JM9jtW>}@S?t9cW zGB&s*J>ILT0ltwydE8~;EGWC_#e#*;=H6T7?Q<#2WJs;dHC+D$uj`(6hqm%rCYhgt zH^{CgahbW-{vL}=FfWUr<+8q^)2q+q)7#!MYuc?x-l{iKva+&|sa71Sq*(G=`aF5B z>%G-iE7qyv&`a}m`ZQ64zhU9yibVg&%J;9s014xIo}< z)0cBU?0+4epc^{s#+lxZD|iq7O4sK8q96PD=a!QuUB}42)1@wFrTv+EL1DCpd9zKs z+S-nn^Vr2agGNG2X5A81u9ojScF{I;dwvAiqgvRyV69ANjIHfK>BY_row*$nL2-rI z`DrFH_h$1Ax(WD>9xIw9@~Coy?bpFvi>u}@b;O*>i;h-8iP@M@ILY2}o!9$-9fR(2 z>$h0QCKl6m8e~aI-qPj2W3L?Bnr?3KaNU2qdyCsM{O!xjUe@iQ|9O63Y3ohfe8-bw zi4o`bnadSIgP(z7U1~ZaO0y##n`fR&8*+?)HgTg_V;NSo$adnf)cx8mZy(hS#=m}@ zwZeF5SfgE=a}IxVnyLDt@KZsii{FYHnB~_le)|Z^*i&`FM8Dl{&*BvyJmlNEtQ+e$ znzn7Pog>~_{<+7=+OXnyg~@s?rS3}MD2d<|AD$jREM%^(kX&$jrM}+1hu67n&u=sC zA>F*-c&Xss@HhV*9tU61d|j_@KQT5KB(5LhGnV$pdU(Ez=J|Wrfz|~p8^WDWG#V%8 zk?2QXHwD<}-&8e=th1vP*hs!N&v?*sAI1eH4AV322?cH_^Wk=xmF~4WD~A%bb^-$U0 zvae5zm^J8IV}G~M7C9%_Wxk6G*K|FjVgGVgL#H@bw9_WB+kfv~A<(~CkEO{y0xYyYi`=;1_u8pR601HyZDLatSxRIJ4XDzgmr}ccy)Ort;gW#_HAEV^NPM^ zRhpirnRb8e-wU^q%R-mi%I`ioVb}Lw@5b5u=U+^|EwMlzZ@p=LnIlh*k;nr zoy`|KZcWSDx$foJR7*RVXuA73w@mHus+3Oc$`<=-=bx^69ufVA?ej^+37f4~nVzdv zQ!y+SQJ=7@I@4!mwhB{ovzgzvc3+`~-=W2{U!%d4_bLmiPmB9r)KqYp``E5`iE{Hc zH<|d$D_bsXersdkJnbh1L${t#l4Hw;txkOxdVV%7`{BhM1l6W8Px`hSZ>72a+uRXO z_ucawK=b z?NHLzo2mX^buCqT4?0x|nuu}Rl0<^_!lfHVveRx}$}p4MP2=T$8)uXDu-I5C;w5c^ zXT*Kio8ATl{YafXC#}qs=F!JGzEYxROGEvHiv5yNp6w8 zHkj{0n*-jNR}9nh&vz^DT(;Ng_h9qUWtWs_9<4HoMJ*LO?RCc-_Z;IY6Jkv1Gx@xnM*K^Oo<~i5e zgD)o7SU$$mGjV#r#d1NDDVkrAWMd36FNbv8AUuO{(aG?L{;_#p_ z(&-fa%wpr!S+>jd^5cvel?40l#H83QZZWpfC!R9%2XQKn$KtK~v@?k6GFPrFvx+ud zUJftFq9v%yxZ}fF-ltjtj~+(}%sY`AX`PgBIozAmeWz(w< z5v`_t^o7yEoc`hQkw(7@c0MNV<@d~e_MZS0~n{-9P1Cyw*lI z;>o#6)3_4P(X2VN`I(l*=ikAfHVgGGO4=CFd7~_6CoBp-y3fA*n_|;_^ZK3c8)H6C zoYOYBRKO!>7En7}n6t34q^#8DhGV|ZYvr=VY7q~=-$;LMsh9Jy$!)f4nM+Ad-+`og zHqNfQJDzx)7(7#KJ9l$ZyhZGu6RulUxkO(d0c+gyXPb`Eqc&%{*!E|2-#fDUREKT4 z-(y!@u+@S8iDGN`iDQvQJmH@e^#7AnE}G-lb-9MmOmD+Z301Qy>YaXnweZqMW+`@G zzYe?mhFo^rO>BkZ7Q4ReBx9;)McVc>Uze!5Y+)MMHSjmaNyqha{nD07f^F=a#^G8o z-v)WJCkk&bx)`_BP(B-7J!H_}fAKqp&Y|aLG^+`$9Ns&l`X7Ga_anOXaMU0B>fI>|4epL~Nl&zOTI32@3bl~9hhEMK zdc0?y?zSr*ZRLaJ4eqTdtz7y$qW#K|{q$)4+Rr=Jx)WQL1!O&kx(eucQ=ax%M{U)~ z++fpW>zbvsvs;b%QUe-^QZcSEzDwlPYm1DGja#oIv=-A_@=m0IU)i{!)=VCOu^Zk<~>4p0P{B z)z2~%O_xlJl_#9r*1Y{gh41h1+A33@OsV?|M|DF*;@VtyM_CvvC;E=6j$GMvdx^q_-jA_Mjd+}%HeLuzF{Md;{Brd2A`8B2?;n}}3XPttwmmlF z3TAxoxiwuR`^ZPGYoms{ue`SQeRnoXH)YSypkD1K{>A+?es4($$LGt6)MpKKgy7-Gu0>d6-&)qRh|*iYfSGxeC|idfLq2%f15o?p>+Ma4=<}11^2Bj{(Da~+ubHd zwRvQuXt%+ysOawP$0cZCSzF#b$&eqs#^-OhA9BIdcUXOh9^wb`2FSQbiu`pX?n>4YE#_K-h$+w~} zaVc$7TPf&BP3_?Kt8(c#qXy^)M}Jb|&+RF`W%ps}qD)J=ilyFe#n(HtV?wT1e5kH6 zkL_4*SrX~rn4_bGl^iv-2s_xCf4y{T)io+@a3Va4n;tzrJ`r=e(J@tZM4{?zpUJI& zAJ1ED!rx~?E!*q=m=$}ODLCCEy7@57=wl&{t?lv)>=&uXt&NKDF?W5QJWJ%u zYcKsz8$v{K8Wv0F#sE3tRj{Q zmF8ntsjJgu_`J7Z1aHRBe5^=@IFf4xGfc2--jQ5u0`m(zZ-+}vvBMk!E%?9`OAuxw z+BXsi3IyyLTxp6a!W1*i7|}?<$7Wat(vreysCjKL$Q(=N5U4^v3!ImQ$PIu+7MMTr z`-%J`*NC&BswEcBiyF8-x7iAK*%HCo0@LGgwH2qpx&;VTY%|UjuOPCmhUJPsa>Ji6c2`Fna@*p@1$X-8sIJ z88fiOTN?=81R#Sho#CngOdM`>$F@yFj}_ujoBtIGJg`l?Y}UMIaHj_*hOu~ZJupk+ zh_DtM@W3GNh_C@pfw|v?ah}Y~O$jzEfO1|a2DV^*HZumW1}1r;fV;iWThd2__2B%C zoHRmjVDm;!8o>&^tOP=<;={61$h53;P zq!!8PdDCK;9mzB?70Rs`sBsY64p3GK4x$esn;P^vo?O@&jS4j7F83@!cp!$ue{PB0IEw~67mHX{#B$sY+~N(4idgIn zKoL1WjE^V^0}i3jvp(T~XO=I=2XZB#&+eLPXE(t-)D~j5`EY6*$eVzu-4gLqJHVnu z^jV!#m|Zr|^e~pfZUxa*q_9q=r|ijC37gQ+684&I20YO!G+faVZcN8=QSPkpcu5OnignY zhlPchJQ}$s@J1nL8UzI3))Slo@Na{Ekzm>~A9^DVy0LoU_7lj>t3`MfO(3}#uf$|5 zR>7QQRxq`4CYBg#0^Np5)p zB~P-_dFUjT!S<6}X~{G|5`>=R$bi!+j&zbw>p+omjtr42%AjjG*2B&a`Lr~&sNh7D z|Ar|Q962OceusN2Svkz92>mR_z(%EeM_E;`!*jMokqT;SFwVBUd0)} zj(Fx`NYZ2O73RUhGnnVJd)xaU|5;AP?YuZxXA<0c7Bj(%D{>BB+$XETr4fgNOeR6S z=QtR-)CZt#HQK674M#3@^ac%N-e?lcTZ0&xJ06D`=JLVX@sJ|L;7AP$l`V(}hKJ81 z$Jm1Kt9Yok@OKRg)wULe%A`3`i{=hC$fF)Exxh)|Aq5{G!8DD#KTfj_uDpO~(ik|6 z8Ej{8?7v7Wf5DJCEMb~=r85+&=cHK?jR&Rx1pbUEyRo?++he;qU;fVL-pDxChJN%d1#E@@*MDk@046!`N%ME=vGC zpzL+r1C}83Anri{JbVqg&~+Vm!4N9mzzwiKA>Q!P4Nk57*Kw^XID8Xnh22CGBHQNv zS@6S6mN%}q@O-dnJTGK6aXRBE24NGY9S=XK(acgUXvWLHQnmU4jc#-5TDidX+nl+`jJSi31QwavDJXuIlT7s~th|f)qPv6#O5MZqg{C$bm#XkM-$IX8 z6z8XVXyd@{;)Uy4u@pA+;uah_FbS1y!xJe5H@4v!nB1%L{xXEz_i@WC!Ovqb9|_Rd zW(j_L#A&`kf&0j!#{(u!&LAv(fDZ{4=w%h8J>;Z$DFAzsV49}WnMuP%fDR8aMaGFo z*gk-GenGjXcxG5UWy zp!F{}j8nf8Vap4&Ph^9?t--;DliT!6emy@y@eT*2Yf)@^E*z{q2 zLg=Ao-sC1@mn37!H|#OsDLH@($j?Ke#3*{}IlCPLFO8z@*HpX12(B5!^o`k@ALS-Y ziK%KiHBXbb_YwM7lF5A*+Vv3n|B;Z;9;$5&y{3&#y9}=Wfq7526`WSjHNXaHzVn5tj^RK_^F*U!-QghasEZv}$^*gUOo5BmXn84{as zF7zORjZWyHf>}cX-!2=BpLu~Q&XPFJ#?WfdDbd*UKSu=-O$VG9^gJR#0>x0n0wc*X z>qSA|%-8w}qHlubNUjd^Cwkcx5xyk>j`DEBEnFaK+Ce_}jSKh+O*!2D8);z}Kh#_Z z4F0Wr`(OB&45lm9{vKLUIC9bc1=dqI`#a%cZq9ZOEc&N?8_uSJ>0#P_A0|@47WTSK zDsh72RIrLIV4ldVMO>+0hR$&RF>U)%#bil z`k$gs_5FpelE8bK@7{OVD#>Z_-T*X|!Ux`z%6nKL^$+41{45PNaBy_ONa=qNO*0X9 zpo`2uh{leLMOJE=s!BV zrBN93BiWcYD9h4!BExweaKzX&eCkQ?oFec;p${^l1n_V!TreN(_z3?ff%QnBhBI>?D}@419kQ&c`S+Hi^lZ0dAJr+XM!!iVcRAx&w2*CRDk5P z(t}J4ova`To95vVhBj?XN#W$FB(d)XymksxgJ`lP!8NKtYC4j9IT)e}wsW{y3hi{j zI-zO5YbjsA5&#v{fi&Ew2AnvQ7ckn@fC}Ky&SBza!FlRHYud;E?}4EW5((OA0ko7% zl_*~c&euSrVLFaOldjch03%cc*5N)nx}VShlHu&^Azyz@W{(A-d=2=&l!eG#)=;5@ z)-rz*D8&YtHuJ*r>-cWwPXeXQ97D&^%(_e&N6*QclMBN*?R6 zBC(Ni-2|NEnwIRE&DdoHRM2EIg^2--a_fI2;rkigG%%M-*s6;_C4({ohLVX6eZa{y zO;JH2l|tpFGM594q76<$I|m>Y&I9lnpP6(}j8_GoB5MK)Z-^mc|is9 z8vD-tmjEhfKy+UbsC=Lj^+-$tPR{^%nGvY`;56RJB&eF|7hoB&)+0~_KowlM3dm~+ zQiZ6(2!>JQv6e}~Ge8P!L30_iHSLlu&8V0F47t zU3+6^o==APWqF@8v-?mNSz#z7y)ZV12UXQ4W{m* zGN&dYy2IX*-(amc0g-2h_G&%?bq^6e*|3HKk#{CQfk53$M2}EY46R3Y`DY@82-N*V{ON4c6@eLmC1V6?2oas@v%ZLeGXPHB1ZpTz5U-2^ zd2$;-APUVyWfQ0eh(d5xFqn&i$KaI>Xe(q9N}z@j(a^{4!fqtsG5<@Th7-}|1%rQ4 zn_@^MP$ST{ldEqluFhW*V6NPd}Bw@0m=X#-LwTGw<3JvD7$fJQK#OB)Na868N1A4P zz;9kjpdKRP+gPS=L@Ai&2}Fqr=z=+ z#wn9SaR$I5oj^TGoSa`aO+x0+fH=1js2Rlh?7}L|==ZE3P&0}6sS`j$%iaq}Xjv>L zP$5wn=?qMgE|{TY{)Rx!A}(NORvz}c0x@A~HiBamWg`C6Ng&EIvb;bjc_o_Fh|V)8 zmOuiviFt~F%L&BQQ~j*`diD^g&BWEHzlO2P2arTS3z-oT0%Qa!w+9G31*G{fA_S;1 zS`xs1j)ic47_>VK{v&z5FBD-^90nCcE`0+X4Fl+!3Zl@Zww@O3PX$NFTADigx|%RF z4V2>7I{J(S>EJktq;H_91@B}6PqLPdwuY_&)Px`wzecK;APAb0>t%s`Q#7?%ppdMk zZJ?#C%UGWcBuP^pA;*{sleWGe1EE}#m%EOmyfDSc?AUR%a6^p>Kmz(&P`Loa;tfH4 ztx$r6wT-#EiM6w(xgAU^0#fir0q|#IZ3{ufWJ6CMJ}v}DSq*LIe**Zj8d|XH1ju7I zB8ouaWCMk!T+CwQ)-{+k278NvD9kAWLhwd0IDjLeSqZp}U-3=B+}Aofz_Z0b0&10l z9c;d`QhrR8sEa}bDAd+=Ss{$#k%dRRAI2o3P7F=@%L@?!O zTy&lR+nJYW=-8bFgUm~94Y>3i*n$HzVd*&#!U7oSos7!{=9txX2ZKrffc;?6bQok&rs3* zUI7tk*@HS(cL7mG)iZFJ4Bx#1GLX9m5r(}2bKvDJzz4A|AP-k`0XeA9g}8jXfC$mw zGXM?`p;qQAAPgM_(BGwK^&pcT-9R7accHu`Jwy5@Um?hmZlD9-b^}@1+zk|p(e~%^_=C}Hh&k_o7 z(Kxch^Bc%w1i0Wga6?aDvA@AmB1RB`ZNGsceDNFbNjuQd=aJ*{8S|f=BhtYlXwG4N z>rJuD#Zc7a;G5W5A3vY%dljsm%oUt`{CD|z2JZ-jbDW9NP-ria%-Hw`P@>73Bbf)S F{}1qre!u_# delta 42870 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 L+8oNbMf!gLo?4}S diff --git a/GBZ80Core.v b/GBZ80Core.v index e125225..0697295 100644 --- a/GBZ80Core.v +++ b/GBZ80Core.v @@ -37,9 +37,11 @@ `define INSN_RST 8'b11xxx111 `define INSN_RET 8'b110x1001 // 1 = RETI, 0 = RET `define INSN_CALL 8'b11001101 +`define INSN_CALLCC 8'b110xx100 // Not that call/cc. `define INSN_JP_imm 8'b11000011 `define INSN_JPCC_imm 8'b110xx010 `define INSN_ALU_A 8'b00xxx111 +`define INSN_JP_HL 8'b11101001 `define INSN_cc_NZ 2'b00 `define INSN_cc_Z 2'b01 @@ -413,7 +415,7 @@ module GBZ80Core( end endcase end - `INSN_CALL: begin + `INSN_CALL,`INSN_CALLCC: begin case (cycle) 0: begin `EXEC_INC_PC; @@ -427,6 +429,14 @@ module GBZ80Core( end 2: begin `EXEC_INC_PC; + if (!opcode[0]) // i.e., is callcc + /* We need to check the condition code to bail out. */ + case (opcode[4:3]) + `INSN_cc_NZ: if (registers[`REG_F][7]) begin `EXEC_NEWCYCLE; end + `INSN_cc_Z: if (~registers[`REG_F][7]) begin `EXEC_NEWCYCLE; end + `INSN_cc_NC: if (registers[`REG_F][4]) begin `EXEC_NEWCYCLE; end + `INSN_cc_C: if (~registers[`REG_F][4]) begin `EXEC_NEWCYCLE; end + endcase end 3: begin address <= {registers[`REG_SPH],registers[`REG_SPL]} - 1; @@ -472,6 +482,9 @@ module GBZ80Core( end endcase end + `INSN_JP_HL: begin + `EXEC_NEWCYCLE; + end default: $stop; endcase @@ -752,7 +765,7 @@ module GBZ80Core( end endcase end - `INSN_CALL: begin + `INSN_CALL,`INSN_CALLCC: begin case (cycle) 0: begin /* type F */ end 1: tmp <= rdata; // tmp contains newpcl @@ -775,6 +788,10 @@ module GBZ80Core( {tmp2,tmp}; endcase end + `INSN_JP_HL: begin + {registers[`REG_PCH],registers[`REG_PCL]} <= + {registers[`REG_H],registers[`REG_L]}; + end default: $stop; endcase -- 2.39.2