From b8eea87ead9d53ec4306233b1c37d65b96ed87a1 Mon Sep 17 00:00:00 2001 From: A Date: Sun, 26 Apr 2026 20:00:47 +0100 Subject: [PATCH 1/3] Updated Mr Do image --- pages/consoles/gameboy/Mrdo.md | 3 ++- public/generated/placeholders/mrdo.jpg | Bin 0 -> 209359 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 public/generated/placeholders/mrdo.jpg diff --git a/pages/consoles/gameboy/Mrdo.md b/pages/consoles/gameboy/Mrdo.md index a9e191cf..753f50ce 100644 --- a/pages/consoles/gameboy/Mrdo.md +++ b/pages/consoles/gameboy/Mrdo.md @@ -8,7 +8,8 @@ title: Mr Do! Source Code (Game Boy) category: - gameboy - sourcecode -image: /public/games/MrDoGameboy.jpg +placeholderimages: +- /public/games/MrDoGameboy.jpg permalink: /mrdo breadcrumbs: - name: Home diff --git a/public/generated/placeholders/mrdo.jpg b/public/generated/placeholders/mrdo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e852bf84076c099f356b761aa1f1afdee2ff1618 GIT binary patch literal 209359 zcmeFYS6owFv@aT(NE47=gB0naNEIYD`UeO|7o#B3K|rb@5m0&&P!JFh5fA|*y%Ty7 z5$U}PNKZh+f+UN({LbC`-rqSd`<$o!a3)zRE37uhm}8FdA7!3Qo-D%H40QB$U{q8v zm>%>8J6VGLqaEb>2nI7Ug2}*Ou+uQAC|4LQbOc=j4d?dchXV)+y1=`+EG!{(9)fvKh40% z1YJ)uhY`sWMsb2|4>j^^s)F;MP*fWO>JF$LwiSOS9ecu-`C-h z(XsJ~$*Jk3<&~eSYwN!@HVOL&zyA;qfurNUbV2<5A7nxM|3TURL>D_m7d0&{4K4j& zx~QlF{}RqlOLy+lsk7Hj=^yxTh$@Di=Dd-dSKh`TcG(Qi<={KS$Stn4BtiH~+P{?j z*9Z&$KcehE3H$%(nt|Pf1nY03hCVdZ)X-4TK#dk60cv!o=>Bb|{@+IbZ)5n|82_`K zKo5a#{@ZAw4{0244R4KK3}Ghf(VNv;VvO zpYZ^3^5cJ-jk1TAi5E{`;dJ06vO4g&r`GwPc6XB~VF8?}#D~mI-)73UfAUgXN?%H| zt082K#GNAfEM7%otD9U;V5e$Ojw8PV>wr*#qwW|sO|+j5%(@!yDaFUI)}uVcXd+Pa zbfwy1^SXu#QmzsHb%$#YQ5Cg4K)@0WfTCc$-^zT{g{aTAGGEza`#A9}0VcG)HWD%T z$6t+4%RK)2Rg=GZ!QnW2d&3sdUFs@+e}8A+M32Y_38%Iy(9R8eN-av?~E&BCx_G>|Yq|uEv z4X5O>V428kooDp8D6Bvu$P!D*Bdac5HSe?y?6l`FulrJ!vnH$NvHLuomD6L3k)zf1 z^z`M~Vc+<``>9Xi-~2g&l@wQQ-aC!;RCkzDOs>(FVN62cWPTFqmRpEKPC+qQ|3|5p zmq?<%XU_2IG><=BzFZM)o`k-jp!utOcucs_Hs+#|)i6JNd#P*-SG}6M9m8Ef87jd!5p}=m3U?1H{A)0t(F{e0()Qd4znmU0Sx=a2RiCEC#}}R zf*)|p+$XRkBdu?Qy%sFEzmH}IpvV!+(;oLKAG+4l__TO6C|$q)A{qjRLVo~^SFO6G~I z^TUM@i&OCFh}L;{-Gml>(1kuv=@;)a{zpqF5!Dz@kZ^b>ErQD?!@K!TOL=MOsXRk4vl3G4VNX! zY#b}+V@PuM&|{d>WXyYjq#vhi6f!(wR9mNy^@wG#&s%ug&~8JnP(51!n+vo2nfCL; ze9xjhr`29|5}6ILJRU)k)Fs(MqY{=62pA@5gR?DPnrm_lv-E@lyEt}anD?cxiSl}1 zdX5RnO0k1P41LPf*fTHshTb48-sgD4E#`kHW$c2&4$ZQ{p7r}`M{q{ikkzp*G=&=V~}Mi7eHa|JeWEG=TL zl`hA-F@6%+f3n+mQuy9$*w~e?=h22=ye<-9pcvo6&7xf2V~Rwgd*EMsc7#X)sB2kE zC$McwK2wK7@%j9ZbBN>z4+Nioy4neNaEojwaQ(c``-!bAX(5{iWN`vs`@EO$iPgHe zkrtBHb)Lyy)cp-j>VZ_o?tR~Pz5-uqb1q(iX3rB3H~DRhG^f>8($3TgjP?QLGv9oVV+Z6Bo%*O(29{yTBWU%*bU#(FGE$mXjhuo{d8W zS451m-PH@~Kj~5=o3cf$?yH|O{2BILX2i(;?1=HVMHlP@0+2d^kA&{bQ7HQ}xXnE0yeYEqf2wQ8Qk3$@2u(qmY1R1*8k?bshazSiDV! z&egv*)Md_m@hzZV?9;vlb6B+CODQuWdzQlNjMXZu%|kM0D#)Nspa&W1^8gb<#MV z-dSv%WMep2dAN1_`5}i#3TuDn*5Vz98y5gcXEJ;GvNxI2aIvtMfNjfB8YZi|7i{_c zO7MK@tyH1;($4N~290j_@P!*;6EdNng7fCF=SV|`41#U44S6#bPxg>yyEi^>X0E(ow>QR56b2X|do(R4AmgYEh2EO=^b=ELyS~SLQz^pW;qG_BcivNvdDh z^s~=3Ds|+Od zM>Uo;6YTv8GYa=B>`PBzQqv=m>f5X#<^ww z2Vd72le?c)Ub_0M#LUd>yWZg6KCGy{usOO|sOO@GwtxPydCUgLQ4L<1i9ErcE5<&N_44j^rV$*Hrz`l<<~* z@n_EIL+rE-=h8}z-mt!;ljbFh$)d=|L1hB^_9>7-P5*86C-@_#tu&WyWhnmGs{85{ zPu;c7v%f~P&s-D0plZ!jCDkbt!bh!SSqfy@7qgL7hucicZ_#RB z3+K7|rc+*9>R)8oFSwHmR~fETX7ov|a8j$T$2W5k1Gjldd_h^n1IjySayjoYxLY>R zt#&00;2WC~R-@%BB4uk3S@JouhaCU2Xy<*u6yU*W_wUI4VkN$S80Cxcf=9G)HWG3> zO6K6pT+OdM<jr2=Vr?-n-WzH}NT2-FFI^|Db!nj|>zu*A9Kd3A`EcA6X-SNotJ?;U-seA-p z7aIdvUCfJVco!>wP|rUELH@N*N>$-s8QurYwuzG_``UQpkA>c)GCoXqkjS%Cd$^ zqMGP~A9)Qqtd~rf!_u441{1$8L+l?04sYUXcMeMcbE_wb-W)*&$KU&9n3_9zRB9h7 zd*GSbzHMu43%`CfbK8?gXy_QahmH)rE)V5J$t4GV0DBiIA65D+xfeg_9Q`wA+x0x~ zsh3dN^!T)s#-dDlRmznI(GMA0PqC1Xz^^#G1!hK-=mHEBkPYexYt73E(id)THfWW9 zoJHCp?YJqMoOQ|V26u8VSaitV{}~@~s7e-0#@BYvvr(FN(BeqDf0S~0T)2I0@7DZd zqMW$(H2P(V&ac*(Ih{*u(meyIJ0~!_31mi0$Y+Zd>9+$HPhih6Rp}iV=mh@;Vj4cJ z3SE)tIstm;e!M$-9Zc1X6Wa;b8(D*2P)UT9I;0eqes5=1b4`GZ_4o*o@j7IX znO(G)f#9d_kU^Hm!DZE1q{$qss`@04@d07$k>&r4%Vo9Qb037 z>>6OP_=e?s`LfZCnSUzcNF#FwQF?x6jI8uB9`^Sx~T_EN@^3Ug4z6otG@1d9C*f$@)}d2iCo0a2y~_K z&I-9fF+(2>MWMV85YKmh@)t11jX)Z|s33C9HH$X%CQMZSzFj zj#;dWSmucmOOxg-$^Ts9#b;xDS|pw=_!O=Z3&>b?p{OyIwk)G6npHs8$TH?bB zyl+Kn$E*y>129C#gU*~8zfmh~i{KB=EbQdvAUmRvHDa;Rl_YgFpGCO8hqXkG?lGb~ z?|UV`DsP9)i=?Xzn*P+dMg$|-u7Y6IgXATj`vN&I_~?yk<*tr1B|gQ~TfBqAyytvC z3aZ|b#Ir%f;mxy7U^6cqk>@cq+IgO8eWONGb836Z&ivXN;h`lf7(jdw>Z%K3dYxDY zWHZl)egNf1JUnIvBdbQ582Ptv3Fz? z5Oo4`YM42JnQ3FUCO{@WNJq#6Wf0C>#!o!^gL^T3CiQdQa$^>7fyaU)nYT)hj~RWd zTrgGoyWbCo21#_#JOhc6?uEe?*HV2yKURHs#{IAZ6pf%jFaMPrbaNkf0{i)i zd=A3@E(@IK@r5dQ48|pw-+FqZp(ti8Hh8DB_K5w>yF?hrH)j-AJV%;lsy(||%g3mG zPd>^tdK4OvmJ`@gZ>BT(G7k|#wUP*YbdUx~6=cU$W85*HM^GoQN=h6>47^HSxa>@> zoNHViz$hS?&p~E0?6a1LD?8xXqEvP`oxg8f<=-{ZvCB&`AtoJ5zNYLUe)iacmFV-} zXy)Oz9mKB}`1Kuyr39G;yB7S!b4}@08+#31PMn7dw^4oSnt-KmhfpiF-3Shzc?EQE z7jWi?07m(DZ6Yb#0mliQid@h*%&Xslf8zfcrJO5MUs@Jwb9hJ=j3Usq@guecmIkAQ zH8aPNyzaI;ufOMdMO-LzWzO}ej~BL7w$Ut`!-UZLA#)ITkM!-fB`iPLf`Hr6Uv9MC zEx@Bxjx7_`VDlDp_<*`>UFSqj>(OI_xg%@~VzFeQLbsK5=72~K$D1xhjbChPd)}jL{&GFvPHCY3W z?<`Cnp0%Ds&bO=BH+SN%e08)@?Myy(+9FUfP4h7Vua^tRn(S!c`-w&P^tQqH`HN$k z4;GX7-7Ke-@b0RL_xhc#t{ibsa39QG);}x$z3>i8d8*G$oiscbj=z%>dG9=64v91q zfO{A8e%dZrfoxvvM(nl_`&K=6L3p2mGi7G9N9w4uk6ukAtQBmuaF5&gk=9wj@n6O|fwek*5HtPY{v#&tati z53vS6))Y{C{IlX0|IoD(V$8X??-d#4{b~sk32)X{t$TPs{DozZ!p-aZ;ARfJlY8%3 zWsBlGpyN78r$3o-;rDjVh*QyXpMw}H@dn1@TJX$sLQVPu(s|TX!0$5E(@#Jn$v|T8 zyu4QX8lRqU7*=d>6mp1{Ot^xQTIVH4n%oyjQ%~mX^y*{xzwVxrmg8YlOOa-eI+r}k z7OL$`H)!y!a7Q+G5=@5VR&aP5u~<4lVA~kV4Yvdc9xC77brBB~`t!GcIT${BG;QTQ z)f)Zt?L^-K-UmtMya{q6l2VDhfO%-+O?=aa&vNj4g#7oy{3n)KVI30hG(Nx&CU-=X zEGRTV6U06s+Y@?8bUJZj#M^~J$$R{L#yR+De<99pbU9NB~lE(i5sdU z9zgP60CwUSFiu#mdmCC>KQxggTMbv|(q4b~RZEE7liV0#_!!Ece!9xg-eB1N1{+OqTCrl)M)+xseCCVS zkNHnvw{ig)c$>m>2eFd!y2>3f$<)LCtI|;ON_=?tQK=5LNT1fzd0E8V!U%pF=NZN$ib6qb-_vf`~-K#~_vg>*KIoI;CL@ysW-AR~s z-BfFoH?AZ)P~IaJKjQFuCeg=9(Fk`|8ep&!O`SPxtsv*^RnRcvP$yR?8?DSmvM)6| zMQ7)}G?sY%oF4fb#Kbq~X|1!A<`bA}6eUkndP!PS*y~B7p+IA>SK7|5Wc7vjiw!qV z-|cjamS*-54)o>1lnhSNgG`5b9I+QD&qsgH<XOrPD7K(`co+YTY5)z#w6!D3z1x$f9Eq>+dr4?!SG-GzZl|n3R`Kt~JNr93d!;|M zvlq3g#1btsRrV)dJnn>@rWU1~z=CZO$X6~O%Tscc7HA=GC5c%~^g&rf7$q9nc69gz z#hD2{IRt@~w9;EsMTx>(mrX)gT~sCMuX@f@x#@W3RguFYoKGK>zCsrHb3_ z+C`h@oIDx1>kZR)N1nG{^Tb_zD4!;tyZW?qq4H1qb~&U~14htP zu4jf_K|vtlLzlz%ncQvPg_%J&p~kxKTg*>uLY`n}yaDBsrKFe#CUF?P3(J}EqAMf? z-RhS=wXb&G3+-y9QIluX)LaQupif0+p1^7miN7%dm^PHRrlF%uXy!-{$UpKEwPf)d z_r=C2CB!p`S2gd{t0%?ck$+-6C=rk%&4*w@7+L-VRvr#bHGOT2d@kMudxY=~hZ7Ni z`w7fAZH!`!X&b5uG$CoCF5>hi+jycs=LgcPT0OmCq5tQ8{57K1YjQKDO-(7L8V5-6 zv>B=ixJxGdmJQb%JjIj0m0y>y^|C-;t`9V!X=ZxGz= zdk)3*dq^iRit>g<1W2t!a^4?VF_~Tm8Etda$4aXPV@_Zkw;Yb2#Hv-7IeRTAhktsJ z#oG;|##LbfF?b@vElB`uN8n$Av!3YbaJRtX2Y$=E->m$8xiib9+Gn%|o-%(-o3cMd zr!E_bPz3uB_{WePon|5?MiKpilEpq0l~z&6u~$ZMw!S};{^yQYvC;>gZa;#*QR}p- z&0lk%n$_F_&u|i~$efa`@KZ%&T0HJ5`dLNpM zg%mfrCiCt;h5SC*K{99M;slw~yGxjNqD2TebYU`_5({MmVmUthJizb__V5j>#i8209m)4?g3<+y9i=-`I zmftSUZIpcFkYMf0KI_cvzJCZZQbB{30<1!N7C^NS#SLUFg)-gxGW_R_f8F|US8qmP z`26yuSn!BmBjaqj8egyAiaG@fZAI9VEeh_T`%hqJHQ5)a%2CX zG8i5O{cKFpE110|Cy|h*Elz!t#uis$vMoU}M9-?C#Yb?EqpMt!%Vet^7%Z61ZW}J? zn|v$9xQ{23WdGV`;vDaKyk*mupOuqw{aH7iI|rArGdLnyuZ0VE0?2eM=f=t3kN8Lb z#biaO@v_>wk7&o)?E|5;X)z}L?4}oe;0R*z6C_Y>5Iz;c`yo$ce`=!8$1{>8c_j%zfaYS7_HWuS#0!RmTC@`TgBSrY}f+ZZE zOaCW3dpcG(i5%`TfVjt$XkQ)2D|NmV#4u#Y1R+nar!z;C@>WY2Wj+d^qz;LFt}H>!_=Pf-ZKIZ3Rb0fP zdgAwfpU_-OV6fXGi`UmQ#okONHzL+uk-wy&tJ(3Pdu<3nVl86@0goCfQ+_&U)%mnY zZR+9a1gDv27W^81qU-8ryn+{tEW}@>EipCokykNojWx9@2)wzhfNbX_qcbl`^7EOw zoV01#H(9y#2KW4{AeT|nUKK_}zE_lZD1okRw3Nx8k zh}qCy)woyNtJU^roy-OW((*`#WIamJ4({RJv{>gv%jFSGQ|G|*ss6=?++f$IPBe30 zR9P|}#_EZ_;!4h9<}9XpjDURFw$9v2=SVa?dX@k{zXJMP9SJ-JMvvB{S}pALB~qAb zECkWN#r-aU(n5n1y@` z*om#=d}Bc~LV@qwm}(q_WA8ND3X;{=HXWI}y|w)XgT1WNJBY=6E%>mK2`f08K7W-& z_j}~7tL6N~rqT0}`em=pT;*4qk|$8^S4tG)pDjL7#*d*hFm2kH#g7PX$bI~P!AD`* zNAO^B9;Tg-l1D^t=RMY3*nw9D=Q!ue;R3fyYQ3(!U5_OXe4d=2e!DyIL+X8O#f|?) z;qt$sd)AZT|0QHDyQMINB&q;yB%7dDt{{C4NjT0^%8>GCRj<0HmH7_)w@Obj5B))r z@;eeyzwIGk9b`a~1c96FmYJ;4B>kJy&R-9yBhqPxJbp^hjHXJ_Oa(Bas zLAf6)k^zbunmtIcUzh{R*k>#;VXE&^%T>)h?Vo6Bd@#|Uv?F#J5vzNSCoH?`I_M2b z0<|5&DujYH+~VMwX~5htx!kjG+E8hW`F?ieT6V_Imq{&9-b`}$Q@qrHUuk5auCgwB z^z%aSo1JHHW0%Cyk@aDndAy5{zqG>_wJTpf)Vv+N^N^%7;(1h6TJ~r!Z~eEaHj0mQ z+Ekkp_W$3kK9V_ro|V0+gXO^}P?>z8iF69LRMNZWvDUphAN4BPS5;RuCFPvjLx-Y> zd-mEeOaRCOkp=EM>WMAG9kCUlU zr;P>qr9LB_ykGqC9GruXCXu;IKqe-V3VIX=c}z>GxJPmB*hi{Ds#LD$a zbCsU`G;m)3C}UXp_Nlp}UQ#Z|kW9J(c0*8K0g$K!B5nf-OH6yh$c@7mIoy!QxQE2( z`Ibz!svTTAeG68)h zX7^#R%{c-To^!jKc8>i5_51iGi)*mQYEU%-AhJj1GO_wXIE)9`z?lWk!Yt!akLA(d zp^n|Q{YsDT+SR_k`e|VefFlmQ+~K0h3EakJb-x?~FDdI2ku^ri;m zc=o8>qFz)nOYyYkeXHdnvOpk7mka~M76;=@QGSHIDDpX(QDtgMPa(!pu+d_V&<6=xP_1U%3XdWD9r3qSZQ_00!CBT>M=gS>=qC|l<@8XtE zhwNo3Qx{q)1@a%;ePuh13v!aL^&WWZhn&*gd5>94f*it@j3tT~@j1}HNP2@(mhT+D z(bIM8S4(_6)uFc+WAvYc4NtF>|3RiOkX8j;Mf)zzHl4JX1TO3}*@oS-4Y)0l6i3Vwa z&oL%2o4q`1Bav{+Ky3cgi;OoaKQP(efFxpPZY2qj?AhUQg|faX3)2l2qw+;tA*P|> z``tR0_shc1y3ASX<ax`? ziuM#?zbW5E4&lamB$^y+#%L(yB=`2X%qSVGOHKOP!k;$;lG!yt2EGTMP&e^W@k&o~ z&l+-EJCrm_x;w#t@v-M(_+?q zY;;fBs_NtSv9dS*+MqKNOSPS>9H{d^%sa9f{!aUXHGV$d{gd@qoyByOl+vL~Lak5u zgt{<(A()+9NaYnl6R89Jof~=P1m-61ZHWKe=yfi~Q^Oi(bpF6()P_+h)AQ$c@~pJP zGe)HE%0TpESwP`^#VgKgd4rzA*LWtPKJ)}xOq)`Z3&O=kOMIg?WH*a5!O_2LYdmmd zhGA?hp`ajB=V3t1S7~-VQi!iUVt|LtEekTjKVaIf<6H&opDt}*wgV*FEfb1da4sen z+*8Gl(p7!W^(B43|0&w|mdl4{UC+oV?+Y(hu6b>HSy}4-5rDe>7XS{E5tJMdJ`MI_ zsz>*2gYFIMW4=`HCtb1muxnqsyQ1x?nXtVh_)cYDhWB)<6NQtIPUe6dMqR>srytoF zvbXV7Ml#(5aKgtkFDU2hjM2B!Q_K>%+pR6S>3s3BPB-H3W0*$Gp8RRDkA&zzK>k}2 zB+`E?FRnl}4dx_GXs{6vhn08G zWNuTNrx#*=ArVi|y_hyv#NzuF2%UvLL;q-an9F!;0Ur@0Gwv>b{^@g<4^5d%W4oWp zMIAaR!9H>>ty-hZt=uxWDoFmldUkY4isZADSWVL~mIq%RAGkJB=dp(mN++n!$;p?cddXwPc&$;M4tk<*;RYo%uH95dIFRTQV_de>D2V`;Hi?YhdWZ?(aW9Njl!93@x%#poWJ{8_}NR~4-xNTN_NGA)Q&uxQG z4T7hk00ZqH0jl_{(#cq%2(Q>xg?*@~AN?~EYPLJCemjyxmyI11(@RR|XHM}%NWpYCB)*p z97%|kf#A?3vT^vZ5whb-6MPC384d`kQTBwQ9!y-0C@`_ILEiD}JdQuko+-RhTG@;AxSwLF z)N4I~ka zvdRoT>YAtNUW&d2O1hLe(MdeIk*a$rTL5uN7P0vJ9s_|E!(FYww_$bVYE$8piWY)X zX(n>FCG^8loLp@4(3(f0fXH%-A;i!I=pJ{F$$f#&pLKGO$e*p?;V=83V6$QFtVx%lfzu}J0?R!rNq-zP9W zvK>J8kPhma)Ba~7g*@KL~ z$5l7J{3XiRvXYRKHVc5_tRNX#Rx<7+roe+UD3g;qB?1}zZF-dOJ>^x8Dy92 z-8&JLYt4l~RHtn`wKV1n))-feq#|`bvzJTqq;+~Gr`enOm@e$TEU-ie~*9FZ4IjW3!8a=iYHz@5OR zo~{&;IaZd_$!8~8F_rM1!MJ;DBlky}_=;RZx^oqxf0JY<4cfDo{ewG`^-Al`y<-0n zd!zvhL1}|iko6d{`+>kWj6l&*3Wi(B5Z|OGK)V0LG^QZ6m2cFEOKc%|ucx^#1m-n@?6_t-XXa9TpwvfdC$8wX; z6HDtIxk4ywf`3t%mY}QO7Jv1@^T_!*-=48IZ)HUPKshU2xodr84;V%>i;V1>Q|8`S zlo-5Fw=9$3EeM#Y(D#~oDi({KVx7c-4Cc!xu-E}-f-EsQF_fl5`}vm*R1XFfk&FY% z@*HPDLb}Ec>I$o0y4#RU)3)PvTg6-nVk>O51fKZ(2TJT=Ej`8$zP@?=?7-RlAo$zG zB4OL`#+lzM-8m}w^p0Gnd%#RjNIbt~YLV{RUHiLrdMkHd@JSXwI%lC{c!`lpoDuxE zG*9! z%Zj?>yojUOz`NR7=EBpx-95s@5`6Vrg{ER2Nv1jIi>J8nlZZ3WJbV`r(AHb_WaTvD<{GuJLBTm4wjOidYIb zFI_F{*n+#>Hm$3IF9+FB-N>dpmvxazoON-DOU4QcOO&+4P@Y#jTZi%)cUc$z*!~gA zCKSwgXP9|g&ewh-ANnjDRnG^N~~(zIrRKqb7L&&JK-0 zzf&?s;so{xF+F&X^17Ojd~-300eEULUMR<5KK8C5XYKS}k`qQRvOaz>_ewUnQzegLRneviE z(|~(J#c0LXjWPMd8o$6=g>Um_=}^G8$NT+upa!dt(H4TKn(Y)ng*-kTBEU6bFPsy# zc=sk)_qg!>e$zUa8AnA5WjoV#d&I=z$;2n;v=dmzS#&S%xA7A=nI?%WQ?|E#i3H!| zPO%xp@7=od^8TBh=O#(cN$%2zwESde!XcSkfcOrtn^=uKr4qJelbDS0b6N|{1iVO^ zWx{&^xL2!;=okd#u-&2xHMX8Vi)m(E%kPSR$>6(VaO>c%?5FtE8{r`l z-K^_F%NJPEBscw~buN%U{~k+it{%#*G7LkRM>3Ig5=G6D6ckrK?~Y;LH;m87gU+Sk z!~$N=o24jf7xk1R6H~Uk!&Q)eEypVRy!PGYVH+j`iA8W%=kZT`?===Opf8xLH)K#? zqfg5oetPpXb_-_;M685b)ZTMT7mR01bVPQUyHI40CMiu#EDsiO)7-~<#v-~{yPi*q zR0$Pd2L+47v%7vKe2`4EPMpFf5@;gu_4l~dzf;Rd_otcKxmOw%j=KihdZF7E7ow-q zo+cD`sE_HI8C7mV|I=(7 zHxl(JSS?X>Z_btUF5xqgEH{luQ6K+Yz4DmT{wALT^*7F@3yp8`KVOqvv!d}tj5%%{mL2BPYn}D{FjcCgrv}{gwP~Pu9w$nsdpQ$CN*Xl$q?L6Wu8#Ev)D< zVJJrOJZT96OvmD; zfVbqdhu6;Al9{`7GUAhHeJV4H*KJ=@!^5=t=bPkyDduQJk z8Dy=E0I$dk2ipDtLnwm@=by+OQ<4BwQJab~cya<0vWt;c-l_A|4UTdbsCvJuScOvwKGxAy2I@)r z=(f!D2-IJk$E)veB@f-!CQ?U>fqO)@L3{ zwfsz9ZdkBH&$S9GIZbUvns=6&Vk>ffWF3I|T7z@mkFrb=sxH{402fJ{d;?%8iyLGf zAZDvL&-oYq)6<(JLfy(*e;(EuHwe4v^fh-55eB(Kk{t_4S9pj?&x`i45AM!c|8uSG z**c$y;1&3if3JF5hm&si<3VO8lrAZ0ht=8cNKgTTZ}G<%O0IgEj0SBb9?U~23wN-G z2zVbI@z+%DsF5W5KY!m z3@^Q{Bxz+E2mJgwR~9gAE8FOjZi(R`tn)djt!vtJxyfYSz8!DAR%PyOV`D#WwB7gw z@#X}UF#RH@jF8`T{5e}BZGPQuR3fHFN4GxtRg%LQH$((TLqK$5q8qFtQPLiVmzz6H z&RIx2h_MgsKL^{nH7NP(ls+}C$UqifwDgaRW6p(^D;xb81x#Lh50B=WJq9=b{0=MD zm9ar{$W-Oi@%D|aRliPkpVFc1_-}Fn{t(;{!c{f`f1JHNMH{DojS~z$U6)#O{mIz+ zL_^4qzMQ@pT}wtnVM|Onnk%&vRBEv9v*aHCdOdSZ8}2Ky87$@(I`-W<7WC5+2S|26 z{z|iX4=5_O6Y{p((t`By9bKaGpoZhMkM-*`IqoH0nkx*)Ja z>+f(F;C-PcIu0@#J!!fAq%mZFmUagi;TqPC}TQT|NXipPTM{q2iXJQYBw|3Nf9+h+0+( z=N=7a!8ZK_cFw95j)%aG>LKwJ^dKj2@FF;b<3>3zWn&C;t!jq4YF>J?w5DyUf3VUD zZPNd8S`VS(tIGuzvG{wWOF!I~%G7qY?i0wk{qYe^F{91(s})zZF^UL$Koa@=1T?eC z*Y!?d!*-ho4{Uui|Ji!2_OT}E;2$VpIidC+89dhcT;Ti!S%5?`fXW{c&KXdp^z-@4 z`0rr_Z6&k6)@H0!!x#JA1r;wRiO%1dyw%E@rA{A9f|6w-1WFy|S5c4vcszDTYr6WE6u<$u?U{Pl-x$$#TnroV()2=v`1EbeHrxb9k>8e&O4lf#g5 z?2TO~(ybry7vFf!gLF^c22%9za^VPj%wh?Gwh7_4Y(%f~L+jj4m%N{G?bE47kF8pI72Z{( znKh3qKSH##V6?9w$--PD+Ww&8GDy)-n(OKP+D@fkj!3+i@bT6e6XYAmg#z?4*aj_G zK}=?Wj8_Zn`$>vHrS@A_JZ`vC=uKlvtL?1&Xui1zUta5ElBxQklpJ}#phNKXrd49a zwR~ec_)os&h0{Tmt-=z`cx2-5#%2!d5eXLsIfccP>9u(a(ojG1C#*o?=GW7o18^fy zy%NM!+9!C`oh_2q76Put_Unf&6ejggy*GV#MmwguU&Fdzzi{x&BYo!kl;lZn8|t3d zx(mqQ23TPTyH{`iBW-Ue_LvG@&sRIflv#T}|zTcpMdCVx2VTZs_C zExtqGy_|Qnp?(r5ZD}3e z+JI@{e76L5Ltff}m4(l11t+ifYJ*07@?Z7p+phW2Zy?G1*P*V10Hzo)?}FoR??nf& zZC;scDNu;glwW^``BHkZN8-=V`#%{T9i-6uMBcKwruK5;w>PAyp&P?%zyT!QU;(yq zPXrj`0;`u<&&Gx2{kmc+owGedd+;#DhOvv5y(&2>K%&JvSumVF*Q~U@UOL+}yjCe` zEe5mr&C_K=%MTp7&9w9UNUS~HVPP^DH%%%BC(?7>$SagG+~OEikXf{SxU_}iCyV6j z0o8@JvV9UY(a zH?-*9%?OF=S)ZoZ6uO80)7zzqr3|Oa{je+#UGj}>#mFAjMhfOb${GngwzX;B_rF_( z2TAHAS{Ee5He9*LTv~eCNrX*@#T2_s51xV0U3g%SSUVBT4;@95FN}zd?D^YY*F-Fj z*2K%)9S}FucfyF=Mg&LaFg!#&Jrw)64xq6*XU&ro)g^?j?n64t>~B)#zq~c~5JM@M zXf1Fom+c*3K~e_{%?OFO$Er+5DyLp`XTbU|69g|&>ufkVU7ve#lca`%0m-C0p1?3e~P-OvMcMLTq%_-rxd@99le{Zpbv5jax7^VAW|Nasi3_p83t9J z;eFes{au${kgsDkA9yQ2{b}CdYL`+jdpY_XZK>X4#jcEcx3N1D8CB=LVfYYG)_-wu zZ-%2g*i5a#%yY2gfr z*f=i3>q?)=Uz+j|y>RIZ--A&FUYhSFX?m^DteVCEQc+~VbP^lbeh<+C$S!3;`ZiWr zd3fRLsJxPmXq-vKtNT?vJp0_{itB57qUjI5_L{cY9w`u^WN<_S&QT#&SgjVHzC*Pb z>b+F(dNxvN?0H|QO-G7Kb#J(u7rTl2rH%_{)Y`;-{T%q$^nR^=s6r%p&#Zu_CrFUi zZBw_XUP#j7vfE=kiaQ&Wbv+qdm9qV~M7&WfZMJ+#``e}ehq3nzYU+#LMx&rKl_nrk z;!m1LQ;JB9f;5pT9U)4G2q-mZAOg~xfPkWaiU>-RUM13{D`{{HL?<3&8uMBWX?A6IU9 zIomE?k!hz~W|Uqo?({lA*2U|2pNC{akz?NWK%ih}j#b3PZ+d(`0%QKS>JVOwB^l$W zXAz+7N%YyPDzP#18#H4t(w@|21JU~|<*TJmzD(j2^6Z6Z--97+O-oy6Q z(%nH2&IO%h!yz~c4Y)fm%-Snyf*?5VCfl;q=G6aO4Gu7v-hr=>K{*@N53()T|NZAA z6^;3C(Ldfm>v)#}jMRMY#= zOKi2kI)ju1u^qV7%~1%xrl{-t7IT@j*HZ(!K-_7ybDd01YdLXY%v-^Mr#$|cpFMW| z5uy)E$)nPU3NrWD zahS#x51HRv)c->1JQ2Sk_Gp@^i8qlP=uK*Am*(3_@Y|Rjco_SnpvL=a-*>mBb4zn! zhUs67?^#ys2dn`Dz1d?cz!AxD2VKH-f6)B?Il6YV6% znVgps9f6?gI#8W+y3KtuOhikIb;T~h@(8KY-w?lEHQYudc?p#kyx=C=&5YM0QqyMf z5bFR91A44-X$g=9+QPq8(rr7lt64afW_--T$;oZ1s(E3t-krkd*2jNvG zM472o1bbPPQ)L*Vg-ULF-=O;-?k=mNlIUV~zy<|^#ApTEX9$GK?@+R2Mn_;e z!2juKe8%rj0NCS;H3OXOc0Gh2C#ZqjH4yG5fs|76ySUIrErf1kb;Cm;(AxAqzA+fm zZ~gPnm78Z=^E+@ahY%2_5F^{I_1bqJg7HBpAR;tzv&WW6Bt7>+*xnsyjHmN;vieK! za=}0Li)mD47KmN&odZV!2YT!C>B15hvQg;!Sv4^s9o}N~jIiNl^NV=R2+@ey0uqP? zv!M{%O3ADN%>pe+G#K4l+P+)&!ZUTpxGD3`}89l#ufV>%e)j zSYpA;dm$44+IApMdOJ&znE%cV+Jxk0*ZKSWy_f4TecDW=d~k%-^L(4D!BR!QW+I2} z?jhP03=@dGW^|EBh>4CGb(v^YS#&g#-I6PUJ*jxhcGiV0)oWN(T434WP$ctB%J(xH z791Ho&c7fjW!tZS?%S~b4^|5G7u4>j;XF11?uXtd($(%sN5u3twiR+q0oEYLoIXv+4 zEgC}I`EP16zT@xyklkD9<%;h!F>mGSPUCU_RBw-`o?Y3{1Dpz7EFoL;*kqf8xWmNj zqj`vEjJ1CNb7`Q~W0whJ?cobO+uz>g>-8Wo2G@zD(mJD#LhbstAiznUm)X^T*h^_A z=dtYwoF85^V(8=Bf~gSI0>7^kPqGzP_d7>w2J)R2Q(B)3wWfcHKu4z zdw1qd;yKv=_Q&+^`~Qpm{XYt22z{K#)@)~&C@aeUD8?l$*a?2ma0_C5|KJKo2R`OPANao+w@g&lZ-T&w_N6O|^wV=IZ20MZ0GHT32Y1%_#j=^z-;`?+{x}c+ z*|^REo{7nJl>j=#hSv zV|dBdKfecYVH!946oS2qi#4CWxk;B=wx+#}v8r4ZW=^V94&M$U+}pm6Pdh}KXdkMl9jthU8HoxvS>%sA`FRXu} zSAfWsJ9&&y&Uk4%F)#Ox-jwbX>fDhMD=27luRmNDW}u^l6o*EUz+ZV_Q?tjYaYkg1 zxVO|-2Ju_`e}5RLS!@^emoCL>TbvOZcilR|h78XmTnxHcFiXFfW?JkJP@pW?BJ)X0 z8QH%Wq1Q28!6c9)&qXYI{lT^trIRCf-5)iOts3%MMwQ+lI=02ouo&BW$QtYIua`*Az5@oXIp6d7O&B(wU0pw*-HNRnwIR7{l)zd zG2_H4=THSAq9bjFX)$fRa&aJyqgV5ETSi7&t-VCY2crfFww|S&mhWX1@rvg4{iHVh2)>I3 zPssI5_6yod@}T}U$7JMPowvXK{y)R?0e@Y(Y?)Q+)w8V-?zMli%|BT6WG|c(dk0PI z0tFtwN!<@y%D{cUt^n8Ym1w%*^v%fhC#(Rm{X{CG%aFOpWcTtAUHm-RmnNITyDa0Z zd;fm&W~OJRg&rUE8$*_F4x{i7mhpT6Ph*?GuKujxZ>fv{ zV>dT7HNXIdh8aWn>2W`7LvRED_}V3~UJ6vNv?<(;@0C(Jb#V6I>i8J{qXDk!mkPD& zsx#N_PRxOf+4`?NvUiIv#6;7n8|nE618LvQ@y!#mbmaZTPnUQC)9(jsWzi1JddCjl zpA5bHd1Sa`{y0TTe|;2@i=bW}qX39KHU#8*)pR}DaoqIoh)DR0?g``unExsM>k9ga zm5a@lYm?CN{}_3*3zc-<{VuHN-Z>p-j4@e!i1|@C17U!y>deIZerpviNJSBmR83Ec zKMH@GF2X3=eTdDUSlj7PfBK4NSYBXb<^lPubmIQntp|Y&EAW+?SWkCGCiV_423gbk zgab8l4DHv0H@`YY(>HuPxsf`%`7^6(SZRE(qG@>7C0R_!$}^5?K#2lf5E{h31G?+e z`(_10HPkTDh*=W=4=c?l_9V02dq0(bdg1wg#Pks2S;7B-*8S;(Sp8{Nv7I0YqyE9} z7NmSNqrA|%>0bA^X_$d9ZKEAYinvry77k#!kzcoqrHd2-0(jjRkPQnPMeJt(tuf9n zvwiJ5f4rbefzDk_@b4&?xe2kmlL`rOJq%GTY)9J}TuYMq*ix97(WsX8vfGh`peHWZ zZ2s5@to-FAY!)j7wp7@BnY$8lF@vP!Z;WK+{^ zOsBtZkVNc+gw$PQo>=xnA)y2CpT*FL7zRM{Z*NU25ceNxi$wH6?6o9pVsNKUyB+#8^`2_j`!W?d3VL~s$A|LN6G~F&?qe7HBJP?d`>R9Aytg5;YdP6 zpBa}->&(?omzqA4WR~!y0riyQMMBXP@n<6~%O2M3k>(MW(061Vwih{TOH|nc73GYE zJv2`?E%f(BX?=~A3BEY}`H4RNDZaBeKKR{EJQOgLoauP8*upsX#;|2dS^7@iNeidm zi%>R}Kp@?ooT|p#>wuk5XP>9%I zL&=tFa`nsYQxZ$Hk%n@@l=aolO0`pGPXAF%+{61KZFoddClkxLhjCLMP0rp$}Iu&i!KK9b5|a)rR56?F&t!!pc#C;RBJ;Eo!G0af4$(bOtEj zg2Uc}xt7iPT{K+dN|@l4BU9d&N(AHALOxWO-DbJ!YzilOZI+S>c(Cn?;8mW%Yo+LX z0>mI3d)qPApdl&4RE=_Mm%xXfksI~tl=uIIE9$v>Y}q1)K*FF%ZsA61sUd{putPDUfZ?4T?-igm?uMgR{+ zGJ(hCYT7*MT~s(drMvj)!4hmovgy04{X)uAFioXK4+hKXzX(TXQiVVoeGxqB*`^6* zt44r^5ED%joxRne=xuXpGD80Q?&L$?Ya{4{Kwnq?pk(o=i+9OGGF`feXT0~!*ETKl z?6J1;=N zfw3PSRJio5BjJkhZQHQ|lGjKIZUG$gs2p@=M~xw~^BIz8;o<+zcz7w)(qhEK#N&xi zZ;L+8|2}K+{+q8b`Bt4Q_8Qpl5Q7w<4m|1ls`7;;?1DJCBE6VP6*GTJHD~HF5poLL zx!+qML;otnV8Ri|ctNeSbsQ;lfrOBMzxZPATC!+8zy5#206tWRE0Ow|8VE%wmnh7o zR(1iHCq#JV?*WJTEnJi?NW@Mtbs-P=dZuXV68w2@jRd1w_G1UEQY7jdd-olz@&U29 zv9bY2sKb-=DgndA4kNTMy%gxza{@{Hv7h{=9}VTM4{p z+%^^JMv`uB&5l59;+n1`9ATqXRJ4gK*ZuNuURr!@Zx|ta$lXf%SdS8Sx_j4)rPB#!#i#mAPLb~Q z%`^&H^2W);i_6s?UC6hOLQQSJRkfeO60#8NyI+(mkJFEkf`5dNit)fX&m@R~POkM2@+d4=zHa=gmW zJ9S($vM509E{r7)?rq=jQ0)Eom`xQF1Fr=mIUqPNmoN%j<+L;1NsIW;r>l~S>dO~Y zebv2$sxA?OU$*Y;+;&ZkF&e@a?9=(;z%&W@H^k;h_BqbfGs?+Dg(EX=E^P5S_P8eg za$S1Wm?lSg*f<{bE&F`ua>}!#v$Q+_+!DZQfV|7A6a;lgLk57{d`3>=b_>t~1@U4Y{t@8C(|DU& z0rjlS7jm01XJCCtYuw(U1iA8UgFc+iWadwqQ;Jo&ezQp1UW<9$Q>c)hgL5-uL8BI> zHtvu*7r>Onh7HYN665&h*Z#zyy$uRgN_ELqG%tm%b{ko8YI30%*RYFlf2vpmgZsD= z8133KgKkvroMb#k{G>)4$4>1m;2CPOlQeDXMTv8D{e5pU0ph@A2LDBQV34}^Nyao; z&mV;iJZY$?^X7Vg;mdqjuL=zd7GeqNE2!z+cmYu5!=I?SG!v=^CqFtsfz8JuYWkM3 z<~jL0jkSh9=lsRZvh0OjL)3mD6L2RHKi{E~ppH=NU$x%{?k(CFyCm%p$B3W7L0NW_ zzWU=r`rOnJ(07)tq;nTSY|m)`;%rxnkfHli|0BKYyh65(TbGj<+heWRV-sb`G_Q|| zH>z+}dN!A{d~SZ`&zD34C?b)FJSW~&f`#+aQMNrkGe#l4sZQ5=h8A})10k)QE z#yaF8`W2A!7A!OuV({h>}RYsqh zL)N_+BOja)TyoQ5tjsN4H#~84!k04m1fEswHT~0fko~n4^4DS9Pz}TZLhg}qM*SXu z06Kf{tXL1T_y?7dnw+HH){S4~&U{^_$>xMUc=$}guRY1az(k;gimlGU?Vhv%O1E3|6L+8p_WTEphSu|2{WDWBsQd)DsfV^1sT z_0I)V1&-ZQ+!=OzK77#err1~oszL#sFO8DP0A-bLfe8ID$u=qYIOjrT=a9?q zPKtx`^LvzUPCx7}*0(k{dp$Sl%UBTKZpcUw{aPsTya`Af+0yxI7U6VWJaL6$uyJJ3 zDb$IoRW{=!UtARHt7Gi=Hs)@7S*H(Nmf%WeWH~#d){vSCC|>Zo z{#Zh6J^&Y^ZlQ9q-9Xc{Xfm;lhnl)RJu~n0CTT;SRH|-2U+Yu#MO@D#Hpq&zE-T&8 z67XMvkR&9C-XR(QefI^`4u)bls>}K8r#Q2*GT+Id%pa!h+$?wce!he$8o_vx(?B?W z1v=r&NX6a7PCNEut8=2Xxv6P(RpgMDlqWu?=Z5n0D8{w!*%RbDaT`lRt*e>L^D*@s zKc4^4EQXFBVPvPs7W+ybncXyYG=9Pn8_%|Zt9MMQi6vWg;-yY{!3s>V)&}q13d9C-;-j_Dmx9Bsyzi(3l=*sO0;H9%lD*tDqU^x;__15}F^g0A z>lGojIn0HwGCZzQ6i0AgqV%xs@_Tu#=#U)>mc--up_wIGr#cFA`ONa-sSKAeLQel4 zGndQ~o_d*=vPsPZ2l*ciJQli!<%W*^$U}6`%Y5I^R4DQ}a}*`$x0t`|_}Iqa=Gj?? z!K&=fw(fT`UYq@SNPS32KhTIGJ1eBli;{abpcf+dLexBQLtGGj%0G#uQu=Djf724lGD&&j!nZi z{j%Zapt0vtsjHwYuS|Y4F$J z@LTJqHxVa5|8!Njcy9%4Qe?!?3^EOY!p0ZW4!3wTaFA$M<4nhXrU(ASqXN{QzwsND zD=#Ap!<#OSSRf}y==`>n3Nq(9s92dNs72)2c3TDSMVWAQEhU3|v4lHq-#t@%q={Ng zvwwQ-7yMbl7hw@dl1F#N(*kDb@_eVXYBefX-I!mWU%bBY;)PSg_PJNWAkkM+r`sa8Q_0&1@N%lfUGeGVd|m>N|q5O+!5R^c*iDy^4J*>}Nw=O4YCV1St6a`b0+If@Mrz5>1@g6hkGpWV9Ak_g@ zRisVI3vm?U`E?T&AwgDISC7bZg$XS;=0$y2inq4-o)>RrZXa)Mf_+s$=N*HNn=-Q6 zxX`x7K%jA2xqwI0tKGA4RIWmz{;Mxs(C$&Z-u;j-VV>!us=s~`c<@}nofP1z>Lbg2 z5ZqY5Ek1|t;K0J+Htw&2UzHq(NktPyiu`c#SV7-6Ho7gY{l&2>e-94KCV0-I4m8Up zZPx)=fUUUWX99GF+C%l47eU2eBRRB<$qlVnRk1_Y&cuJOK2|BZLyU^2yxSNV8BrTHi7O$*6RJ$pV(t1jTJ~ht{s0=3rUs8M@h*G*vl0G9()4vie>+*zzjU4g^oiJJ$ zHLiCXbMt$f5_Oucvn{B%jhZC)KhB$Vl~#=Z8f5pC+2YYF*b(gOeY#L3*exeA7z2x= zgpygJA`rI>!pLF^trH*d_+Fk46&a52nd>>G36FW>V(pf>KUA_#9UPP(2QXe2_=*}rzb@`85tlhL*qTWJQB;R}5 zd1w$WfVf+k1_?4=w6WNQH(JBH(&9F}yVT?EgVFrwP z+pc#KG?>T@o#u20a?Q2!5}yZ~`&GP(hr~m2@7+24`NVa>Z2N~f!slp0#85ggCWy^~ zOzfzkI(7lJoyu!L*J+WJ*fQeR&4t@1rg=;>b(@~PT+|D`d*^!`-y)85kCT4Vpa&1G z!x9E=8!5D+&eTYBh!uq^2AUf95amxJH$IYv+{>V`g(Y6?KRYLQa5@wBA{T z1kgPl>zP@PxL|aR=;);L)93INT4#9i;7(v;=6>^}xR_-zZqQd+Uwb2M@1VTb07fgb z=TDU|q}Gsn2AoADNW}?zrE)i~v^`~R<^O%xB}3@TI5Y1xq7ZOkhPO{<>(OIDmI@%e zpEC#P@(@UU-@4$O5rilNm?%G}jr4H0QSbz$fK=-5o_W6S@|tQDx8A%(qH^ai`~BCv z{p5(Q+^4QPlt=IM!e5knLWOlc;Dg(tc4Q4Q zdR--L#?u6uG_U5K>e#f$pRILv{+9cjx{vzTvd^IL!OKd-dv@(p2v7(RhPS3&bzT@# zOKILHn|xooEf-b8DDNYf^iQQ(z_|Ad!k_)%gmHgMi6{miIS3eW1xdJ%lk2W;sE&ja z#q!aM_=E>s?&dMG$iKrf;QERzq`oxwu60>1Gj-Hxh4pas``#n$oKjV@e`U#$I3NHaGS6Umq> z_7c!4+!}`*Y(M0UdM)}4w5$Z?Ocg>7GQR&N}GIO*(EkLpAGm1VylypTL$U;F!^opsGuUxBg*rwxX4hlC(k6v$+f35+`Lrp*Hi}S9H4Ln-FM9k#QmtJz0 zIzmjQRQ?)+*unyf=CJK5SkGx?Z|3aZBx1*Ec~3yDb@j))ZhpsD@BGe%xBy;+YruAX zQ^wZ)$w$)9IGAPPE>BbDbTyQE=4j3LTeNm=1u@npJ$6R((&;$BXD>vwW2q{h5L*^; zE4q!BJl|A;o^t-}pc2FQoMc^Z*VS<8m(2Rnt|u+e2t4R5=a*~xaPGcSO?R=Ea8(U- z;pa3|L>IDJK8AJaw>q1Uy~}6$@3VDR zDglRi7Glq#xnbLlHg^RPJ}ChMmUX0-TWy)%?!^w%y*`uqc8xOP7JoLyxw=?0Y?yAJ zVamWZD^MTTKy1K`T!jPBi!eX=5B3BF#;!R)tA$yE0k{jf@G5+4n?}TNgR^*n7R>?gMQX*3mK}Oyf9NY-95zsvG8&k3$ZZ^+srggD$UwN8CBy4` zH#in>(**>Rr=j^`WaW*MlA+tLqRyokH9AZhRaN^3Lm;SwBaH7k73C#4&G+zR1*!qUtZ4!cV5P zes6O??3@QaH=+|)tJ=9??99m6&7xWpX=w56&UMTF8LjoTw{HbPGL)lE25$eUpJn&F zZv>md#^I+{D3ZW8RHA8%Ckn_?6g3h&)wk|h1<&HFb9Ex|Mx@7FlO2f39GHxN(4i={ z5$4Ii^K`{V@+W*JmeYxTqrupW$N1fhb}94SrMe~@Pdq<3zgDzJ{zqj-m zRTuLvw}2!eHIi)tbecMAM-3)EG#J|}Km3O>EKDzHi zc?vQWwFNbn`c|XM-UUw^Kx${UzCad(*pDoZBt%G#jXc(7{^kA7;5FLOu=(i^pPHm| zxqHh^8AcxU^#Vtp#`s^-ZShXfsey=Sf1nir-oBbt88g{&+7mQCjJ- zzYNXw4+I!Nl8WxQ_*^ImM_5M!4s|bQ)J#qk!UY-S{9g-cs3Ac)AsFakj1&*vZfdE^ zSlIBD!%UIS>Nw9Y6j|Sv_+wrDDw-+?_WUO_isx-(!?s&#i%=Chn}>dAi;_2ndQ!@N z4TuRn?9QEVW$NSCd49IhZqAL?e@JjSX7TV(r^TZFblL_;FkL}D;eZibY(c>j z!D@@BC~LVqq@kS5I&wl&82PswpBPB&m3NP|KKXN`wePiTzw5C(=KWQDf9+|k*!DUk z$qYG-{7ebN+$U``bmN7LPN~jhx28x$84kpyj+x5dwu_{dEA}ab_n-L2;K1V@yt9>j z93DrVlOuY&g{+o5%9ffs1p02Gfa{H=pELsyE&Zed<;g_EC5+jmg6Rv&FQLxASDt52 z8dV!0JQ7)-KDOt(xP1NSAGmC<e~}mfXGR_L0HgsT3P0wA4s@bk z1Srf2<9mqE@P&tNUpHTcw^$P|$((enbjr{tXAVd&A0S)o2VgCpjHmN5Q9j}r1+B&p zW+oECd__waHg5NvrG?}vDM|+&i847BPrlx?*79iPcfpn;bUc#r4muw(26(?k*revV zi3Tj_hTzf8GZcz`ZfJEwZFNh7L3)A*w;cZIi&UMnsZlsF;2U<3>>c8a{8oQopEvrV zQdLb&r+!?42D0ash7FkqJDHfIwDg>$ud8Uia2t|3;f58#Rj;h~lG7+X)QyF$=@Ekb zvtT4II)m8PkX--ejh^N9h~~4im+z!F7{OWCPaL|;!Z>|UEnY%EY#TI1s(!CIF!;jC zZg8>4`ti{4GC_eGsk-|alO_h-r+S%GwF5I0*`sSCLb2`n1=T%q#TXfC9?jE-@}kc7 zrllF{ubMU`k)pTe^YdY@f?cCSFxL#W$A^-I8SS8Lcm*)YpbMZaQr++v;>R$3_aN;j zXrBj-JmXS_#?-Z0ld-~tiix?n5#fwagVM|I*yY!`2H#p6^#^OcJXLtAWakURoSa7I z-htS>iRG-+PzUNE0$OfHj4d2tP(M~YbN@?YwV?-RFP^idQZpAa#t~}pq`SkBGz8}2 z1lDJSDn&#(t*Re0dsulba~G_j5q@Udf!el0c^4vb~Uy%pW@{6U_-4 z#ny24$RN@{LE!p+we4J8p6A2b#!#B6_HL-*&+;x)ZQE4y{>~^FMkLNnAqd6H`KPWy(B<}!5%w9p0?Um2T)86)@_;*xBJ65D z`T#IjEuj10W*oa9SyE+GP?)A3QOk79aBSgxW$;5q$Bv>e*2l$@Kd^}(%IvF@1CQo2 za&fD#sh+?COb5Bpyaf^KvU<}NO~8E(fL$7dy19OXVmM*i+BML7#o?-N?mxX>*(jpd|tYP`2p zj_cfh&-bbJ;oJPMmyZs=$qsd4u|%l?yE_>nh|%@t{VXary4T4nd9`@1Gr;PYXXw+7 zv{v=MX%6%Z;0r+5SI7Cl4~9s7t9Eh%b->y-&W0$-+?`I|*bKHDfbhSft2d&4#y4BHQ>vEwD5?p4?H&6GtB5%X>{`Y^K1RO zVz1Aw>Pnx#iooyFPaDvL&<_`S*Ao`uvk3dTL^E!T{a?~#!r^%J>8M6k7 z9&p8(>Cdj7dMsY3=i;*ZjH;jKp^6{CgvAg90PY{A`XHwPoUJow^xv3HwQ=fI;U8r> zf#XEQd-n{^*e>On5?A-gx_j7I`M>t7 zfy&kAb-FHf+Y23v0*wzu0SIK*aQ^;G^s8x$m9dZ#dQ^c+d_co_paN;SqgcOgDw#DA zB(-I5F6hpa&ry2!^!d)qhl&C1YD_(%ev5hztj!CWD&2$xqGuY8kiQPJ2E)q&01IME z{$2C8Jps7t(~KXjHPc^KG=v7du6C^J{mG&KgK3Ll)X5_q3ZlQ^9Bq=`p{J$dF^EvP z*upzOEs_n5k>FmiH1p09!X9%fig62!SRhH3CdLrEH;s21V^1Ex=!hnE=8Ud7OBkb* zZMNq+5@c;JR4jMga_kfOc#1>e*@we1BRe;Nvy6axodrl~X^=298*!rA*s+p73=$@D z^zdEVzjVKB2D8p0Cv$bBYaJVPs@G>U%Sf80mVUXrH&<%icAW(*X#ucmg@{>1RdHwK zOp*ar?5zyC!60^#a;|dEJ=aK23Orc7Xqa|^B5^-eVTye#9*m6T^BipXIHb4q$fVS&TH&rYrgDt z(;R%GXDlwdU-_VIE<;6v_2Gf~x1k9<$qE?*v9~lRtk|s?B$+s903lQ0=%2+u~IRc(Z*?~#dTY0Cvr_hU&^0;hl zK*`TI=ON}O6ZeTjLs(rb$&<5}M#Y$sGb#4CXP?Tu%i|Ku{_E=s&{^);``p9%OrnXL4Kl zf*DoDBjMGr!45bt8s#|V_sI8Ex3CQ6&?$|$7v6%s!URfpkX71du7^bgV+0&xs-`i; zZLAIvgJ;Lx)sh?&_-k5-cw8s_)jfY^TUz06^j~qss{toTswUBW4iLKx!wE-NOpBX< zgS?rLh7=$)HSqrM=Kt$ges|%j*V~%$4X3%lv3+fqi_mWs>{AmxmIoo{Kh#znut#1l z{Erz3mVXofllJ}pc{%lF8%XT>ZjiPZk2esz0k#}YlO6wHf28w4c>S1H45eN_+JKmC z#trsDtS-Wi0l4$SZr<#t_q^65#(2TFXIP0cy_Em$B0hNUQ#BEQ?@oj(d0dk#8 zoHI6i(yax?(v4h$*DA6zs?#@Fhp^e8WBq?Vl>v?6w|$Yow$|;x<91UW?9x(BznSq? zaPgSx2kI3WzL7H*C!QTP(7D?Cy7C7=7~pg+843azswcVu5@3nj+~X9c>(DeD4Jy_a zFOLpMIMr|n8ODCOQMz68W&4Z3`HByNLe`!{oK7R?Okz}uQ!h_ zk6YgR(=is=;xA!G0k0%OfG!|LjL4*21@YTX`w~XytGj*K?MeLvjzYhbN!|Lm>z>KU zQK^(NLh6b2)DvJ<96@NrlB|)yuG&=)?!Nj6PJFLIx0#^Bi0gurnh0h}RPSQj`}5m2 z95*&^rOg}HUu+LC+fK~3_slBJOKQm&91Jkh%rFZ;32Qpncw`}`5i`XUtI4|<3z`BL zUcZ#X)9G76bu?&>RXN5dmfJ62eJJSyj0+}SV2PrCKJYJ`)aXt;$qsNyzENZ5ZCaW} zD+pQ9cQ%$sWpmHOJo=J?4NiZ;&YhVEbpjF*4&-*g`+AQ|mEHg{Cl)0~sF9@9$#uyY zn?sws7ysi|y^yx(80232gtMuNt@l~oZ(s$EfV+W=!4lqQH`{in#pW(GJl2+`KA2qR za+=p4y7S&XEM{VU?~P5a5{FW)(%Cju#p(;^`;y_+AI4L}n-+qwIU?8(D|DgYg%PfU zihr7v%E_hVvHm+Wn|uio>aSh%fc)sH+6m5F1it;J?GEyQulNdACtpdvK7>R0i=adG zNKUo?V804GZ3R@D^Tv&aXR)=@oy=!VqwG0O{$5hmWy}d`b42w0gB|9&W$X%|NEjXQ zZS=zEh1fB(u^_5WiTJJ|@d``erir)nTeqh!dY5ZAM;3%2PQi(TiB1&!v9oZZxxcTb zL|~w7_=HT-A0A2V!LMIfXmx);&VO_oV>ku@kgol<_UX2|V3DlU8dUkOu_5KCbK}}s z!OC}%?uD8h^EqlDE=-QzR-p6cP*$6PrN%>Z&Pt5Jjce&%yw{sO<6b@WMb{?D_WCxN zUT?*#bR}ih8=Yc$B(s%9JtIKpas6LXHy^0DMZZYUkaiaT_L}6BpL5@BUZkm}!TU7D z`00}ye(PIIu>YJ|bcj-FL=hW{Lhn;^{YBsY+JcNJk#6}FNGNg=3?k`TSpRVTtYXyu z@Wi%w;%N%%)FTi5J1-qx9zLps*Tf10Gtk)fdmuPP0+f-?Ye2bBcW_@THK)g+zCkrX zHYg<8xpi!%Zd)FJ?o$#Kc_^u8$7E{%JZo2Di9$U2+kC4v;o42yrPpA-^=bkG4Jbt< zZ+tS=8yBg~0V?QV@}%*oa+;7=w)#?8$OGZYZ9P6l^)2xL|JFKD7lA3FCf7qUG674n z*`i7=*MQ`ukx_Bx1|ItYOK&rO`|_nN z1$^$&O0XmPtzzUFiUo4YwKwic?qPF`PY^7clwWc1ZVmUyxh!Bd}+42A-s&ES2<#DuVq1>5s&vwT8$3&bTQuHyo|S|YACNJJjwF~jF{k3Z-==>mhrNmH5q5V-THCvC|ca! zRQyFy(i!U?)*rQ9#zA0#&$uXX3;Bu>rDCNKYP*{KAczpI_(#I_d;)5mPN(Jl`g{?ql~P!nrvyv1|b%k`ew z?Epo68G2$VqpnSqeua9IW`u!{X`e;2Q^vZW6Xev~2L7=U9>=-qIfMS{3#d;^KUp0>Ip-3mt*SXWrw;Gwlo?g;wsR`UEXLt$@=yWEgbzBHzH|0K3k z?9|VmLpEnxOxSv)d-SZ5LcE}G93e$iWU>|X){a93aR{sESg5m~6o=AD9rZ)sK z+@q{Nc&FSbm3!;Bw(8M!kMTW08;*zQ8GE+?J_{~>4;M7-PzLG`I0{jKHjO)t1V_1h zA6e_!I~38|jptpd%kJp%MoCdTGX1rghnO>aPmYb8Pl>fjy-<~XrTD(<8iI6Rfqt^3 zy`YL^{bmJ5_^SdjbJ4cjSA9iq^lstZ0o0v~X5~|U z?Uj{)xW5?v7tYm~CSnU9U{bNwD1pCz62Vm~eJAG1;mdgI$Sl|`*h#Jnmn$i*m1G$z zADIjDA9ap^PdZ``BnAa0l{b(+kL(zU%W5R1dq&ee=t@c>3761{AR>=@&nuGhemcZv zl{)G^^bBV5OMDpi)#zkNXH-S9pxHgt4b#;`Co}RzYU#<37<00?lC*(|CE4EYc9hh; zt0M80zm%ZkBBOqF3RG$6Q<#5)dt4{OCM@7yhzj(AwfFtpSxB(b87y5aw!N~TA)=6G zPi^Q$R=d|{Ep9PWYph$ouh01Ea|o4dI^P%rbFrZ}UeMo#SY=3NJ~-#W-c^p(fs=I7 zsA4y;r0WPyp8_szEp(FUc$+jv&#<=r$ji9(`Vf+Ajz`ag(KY`-%_Q#J5LOr${m~oc zv`^Qc1kF9?e%!RD{R)^-ivzcbrD=oAeJt-2 zw%8L~?gGX|LaBH#8Z!WAsM}BeNq{=w+Ze=A+8Shn8 z!8D9FE`DY(lkvWSZdN+zF^3yebnfro56qh$emF_9o216m%@1b878Pi0bKs8El`_)Y z_0nn$&gmNSs!^<0C2XzvWddJaL;UW0_plS=R>qCbpQq}>U>Sj3 zNP_}UnegWH(b5I~*&QM_uC6gz)h1sHj6z8>2aRuD(0@>Rj8BX8OzLq=FBscL&n|i< z$!Z=U5e?eNM_WGhpQ#?Joeh)U+;sO#?_@r|ZMahXArrZ(0#4S!>fY5fruoyu#<3`~ zX_l^B=a|Jxu6R81TiryijLdsNf{Wt|$0W3;S5Z2*jbXl4Dqee6BC-&~34jnr--E;= zIf;`$bO9&inAVT3_zvrYMf2XESqK@_tf@FsJ{*_|Iirf;B#AbmMS5 z|MlmmLB`9bGVCEdw>G%6kE;6~kdeT>sBM)C5AlEYzn2wP=io@D@pEZD5Wv3(Lqocz znV{`GS)_ONMI%PHXy7cCE7j4+Mln1|pAddLVhGzFhVVr)Mf4y@re?zPD9d)K1kL-d z2mmCwN(wHuwk7xMv&U)LUmLn-mweR9xvU8SQqYrIv$Guq)$ol0EGcv`_EocgOxp$f z_P0XM?OmfpTt@Z7FD{2@iv4Ne?_@MRd3jEE_78y06g>Ohk&L0cq*XM0sp}$*DtPI@mGN)wxJ7)1&GH zTe-`l8T<3^Mgz^RVQp|^J}EknBNQzPT6gW@IC=ms9Z9_mxJ4odS*9Vv8_SGwU_9I0 zs@NUk1>vzpJ*IHFzovYni^$%!sgrq(>%mGSp5{t@2-1xm@Efui1ONja30vLBSaoFL zo(Pjk>Hi%*Y6cj9UgrM}URFM)D0fB=^m!c6tDG`t^ zH7Wwqr3(lsMS79mBOOFQI)vUkgcbrR-i4lX-gETax$n%}neUtLH-ChL{o8x5wVw6# z^_1~ZRq@CM%@C36U(!vj0=$oUlOa1`L<;9*&t^FqLJ{6%LU{1{XG4Uq+_^HQyQvMO z1u)9txW_qtU$lU;24XX#1)+rgr^%K#KtNEilofESGPD z6(I8CMbLNOR}W-opC52o&`@pTsE}=N?p8QMWuX7g|Bi+d=i5WD*YN@`+fs@EZN2^Z z3A6{~k3?HWe@aBbrWD_ABx4jeRNRI79Q{!9x4Wzb4c3*ST<#Qw4Id5VEF4ibVe(_| zJQkWqyOp;BG&wTQr_yzZQv!H>+ylHCD_@tu;LUw%-&KwR!xF96;V{+np${(CXW!1s z=YIT3Q5{yA27luwWd!;L90yJ?vVOb_p$7OsLH`EM4a3I$@#pxvQ}HUBcPUh#o-Zq4 z(mraaxJzf3ZP(JRey$@h`m`70b&+G@dz=8g;Q1F~?m&fkp>D~_T!xLDK6#|^ih3Yd zMZnGQTNdxDZB5xlWia+!>^fT}N1MgG1P-yqek0L4_5jUYXLFdd>Uwj%CnI{)KPhAs zb!YGnO3C}kn!<@w4R2UzwVe(lKZ6c9hzHmwspU~`C;jSz9h+*W&;D+QC*resdkLmTN8%F0gz$HnP=e&nlz|38VF``IA3vY zU{N+B3F@3%M8Q)6Njlk97&}Ms{4*ejwz3|z(^(IBR>NQF#B?_*BM)W7qfs<+SKfr< zXo=l1RhN8{+SXPEMtldrMIgW@lE$b&M|sPW_83EKeFlqkJ&gWjiowG#?E!99u0t_` zU7J?}?3u;PW&Bjs<6E>H3N|8uSh0#$8$l1;U%`#jAr;y6);P(Y-&}k?3Kq zdd-mx-BxbbvZU0>Tw!Y6(gdr_`_fKdeX9kW%DEE3*c0t}R8L<_Pp37F(|zhb$=7+U zJA3{%)Mou;n&@2?0E-66~iX9>k)*xaZma8c&I}b>=G07#~5HFQY~q z;4~=jtqbq(2PE$@&bH-{?cj2Vh4&C;c!3lMq9+3w`74$QI3@K}j(@G@I$h;b%| zm0TL)ouPg-8*PlEn||w6*V0HDuOsm(3C{*V8k$*D+6Pq}1zxo)>1N{!t4x@Mk(^PZ zM9hPaWa^W*yIPBpufm`{NKxp-atM~!%o{i;ZhS@Fr}jdRgnSeT{XhPsKyWK(pCxs z4w&$jd{cY|rYtS?qH>!`{<~IV{dDMkmE%#G6gIE$jF4 z44Rb}P#+iUJ(aKe>@wTiZCavdAF&zu`yqqeAZ42-1fwwkeI)Ehubvv$9E?-xdl0C` z6`x_~gOlxUQt>090&G5_%6f@W`2^J4gPC~p0N&wa?zdS__ltLu4Lx<_KD0B7ECW>n zLd&O$>5`nHEu>AJ_}{tTlI5F~tVux^&Xr<1>);8Ft`g*!`&OY3sQtzS%OZn-i5Gk_ z`x2z0z+kZ?g#UR$Hh19JkjbSdw)KeGX^{JFb)YRh0)|ibC0KVSh#q5eXD2*IJPJ8U zY=s;b@*E)dv2tIo^eYkUn{A&7lNl&X+N^QUVhcRyt$q5%b-gV$u)hFNKqV-qgGx{b zap*T2?VF7H_Cm9C(@Yj@uwtqjU)PWmF*Q8-J=&aoc@2WU-J=p&+qZtxf<5|{0rQT7 zN*k0)9s~&@AgA0JCj|PvY$HwppGy&bKeae9;88{C$7rvW z6()((dc>2$gesX!Xc*?@25d!t;{s8d8RFMQig_-uat68@N9*WzznMgKw$eQ=M3~|N zzT*(F966DPK>wCU0mPUl@}X1>#mLfW^LxBqxdS@ru^c|pW-HfMT}Aep?oDG;66P~a zD)9xRkFKU_`|DH_eCbAHdnTb+|8U}QaH@GNw99MRF1>LpntCK{)l_C4~h=n?2*h9a`b-K zyMmxE$RTGx5zLb!T z+-=xji$srOX3#m|qjwfww@$)NsWL@Lbg5n{>v?D=`sz!!k>Z^R@}~n?&tU;jw2c{_ z)=L#o^b^k>`UG-pyTb+ul?c9H)HhdaoI2LfV6bF(m80qTn6&r3-yTCwJkW+N#!SIZ z;MoW%a%V=K+BB4)%mVRer*I^!5}SDrgzKMYkFfI}?rLSupbAb24orKW%XlyHo=K`3 zsNm1hN8rYC6RAFc0b{Y`wXsUi#blwiTx|*krTL{Ii+Y0R{ZZn6lA-R0tTIKep2Oq~ zbfTh(Cw9>4ukdEJQ|f>Yr^2yt5VKUUkZ_^Mt?O~Nh%WPjsWJ;~nL^Z=VcQBtw(w?R zCvbY0os-zd8zinOZ-lR2d8~OpTpit%U=n3IQHHaczW8eXInf_)->kCi$kTdHk%E@4 zd4(L$JP$;W3?T(Nk%k}#rLWg9ue}ss;Oh3XuKdCWIbJsnoJ($Y@fkh zk6BwY6%^QfeW`qK6~gCzn+72a(w6g9CDGis!QJ#YE{gx-`wTpQPA!!9V#oZQR82_W`A`HBmJ4FhfqJ7iZG)$Y!^n5J3*w~J zX~qQ5_lm>=thnYJOMEqhCc?&U>Vit1=a#F))cN^LT*D+y;kvhUTsT%1rT1*fW^AwAig0b9fVo#UM>%LxqUoMUNJ@8Vt0%tNy}~wvLc$NdZ<+cx_4n%!r5e|@O0@VmTiaDq@884P*YB&p#LF5_ zS{*)ZWBkFe(ZcG?_D$ofq3IYM5?vjg%R^Voq-0GIVM=&FLwp56 z+ce|fk5Bj#yo8b4i!QMFj{ps)zB)ocp7~v()Z%{9<0v&3p$L0o?o!9t6nhJcNvQf} z%N+7+;;(^!AM(%-9#RJ-HiLt(#;j3Gklalm>zEK~hfWeBZRp6TnvlI8q;{lJZ0czb z{N_im0Q4=w1FyixSYZOKpl1l876sdk$bk|Ytk}PisN`jB`4W$T00dqO>}il$D+b%= zGgt^gdnyWJefNurT@~JQ;W*i+TRJ^&8*Sl}qndZ#-j8%Bij3F_t!11;Hf$nM!v`%d z!Y#4Bz_#wl0YR*G1K5-SIp#-jz4ycrDB7GHpRCmk!Dxv?38LnGn`wB~yWdDSIw!aZ zFY(~4C+RVK35gXuLe$8Z4#DxpCK6+cEcdj2t<*tDnBQM9B%a;{`lMU>f-?w^{!r4b zEr9V9=|5jBi4b0TUVt?}qz_IBxr^>m zsXe2ni4x}9>^2`h01F>0o#mMcs5 znEP^d#*U>q42c(i3K7P*MNqIr>W4<25&a>y^j9@ZvY zr;Zf|?FWOV)&nIHD6q*X3u9-{`DKCku-?Uns%15umAg4sR@UqG9PbYehBY!pv5E4u zLWUp>NG#ht{`5O{Vd@RZN!@^y#RTT=4g2h7H^&s2C#X7^w#uvk!vKdzI_e_ITrJ$3 z1;;ZZ%oT=hxiz+-&p^sPWYrCQ7PA1j`}1YcXmMrQ*28{s)kL*>!VFm|(M?F|9m(-Z<~sjWlC-EguGZYOF-l+4xbOx3!fhs z$&3B$xoA~>x&5hvYnQJ7%}MLENf>Gz&zKBqdht(>6TD=g2LXXu*p$3g8{&yB;3ta& zq5icA5KzHopf3o-m8pQZGCSn2wUF~L++fBDon!cri3zY8##fhbDT*f8`V$SIQzsz%<-+(vByQIz!t(m5qL}KNpKmP? z+3}ERVS2pmhHP|D)sf6GbJvbIo&;bMsVAtyvt0C&8^wOh4U`ti7bjN2&`L;@-jvO% z8z9GitOo8H-qb|cZ>L@4Y4P#T$J)P?(3jFdEqIVTl9bk5(pQaYt{x#lNFyi@EG&dK zldylzI`IcomESgbq#n|X-W$(cTTJ8#g$*jzL0%%MYL2)If0aAo z&e1*9B_lc+z~Hbd(R41tXN;7>%bw2JB(SoQ&WZC)6vvw!&9llk9Hx1eIwt^~fgb3S z5OU7}$VoX#bKO>}jHd(j0}>T+++;3dexVm)nxqh1lMhD2BZCylx)K)wU#b{zs0JsA zUFa9G65`(3h*Ckbpd%!lYIX#_Hb)_bo3^1*>?QozVjw~ykk$v@0TjsTQ+Ag{f7lR* zP`C@{%Q2T$y~?V0b}wudBs2(#RzNRBk=|Fy_jL`+K28Aq!Ak`(k>p8@jvyY`B#!PH zy`IgEx#M!kNwRp~Xz^NaO=7L`tf{HD(D`fi53GZp?cWk{pbzEEGw(bBo^EuPouafE zK0B%8zh-KZdJijMsOrEzOHWtva`V=;W{%Vbw!n?&Ju=@&*u;s|AgvUM zH{974W&oBghLu@gyFC*%GCuOfm^=Jrvc7!9Z7H73rkKU^>kgT<*SK2Wa<)5o0@SX3 zE5|Zmg?ywQ=qXV4I$mVA0V5H$SY&KgT(HG`f2dU;`qYa{O|tE-A$V5mJPQfHz|<3c z6BuGX)l^}9;f@p=;j|^;87V3DZ^;s5CQK6C^tO3%RKzCaF<_Psh14Sp>1%7*Etrnl z$qYmr%JsN8N;3)xKDs{xyT56mcjFd0=D2+ol>5NlJH_+mfMHSJl= zSp~;5L)a&Ic|_*u6@WMP z4bb)-3Y1wnLqI4rf#?6Aq>23I@v`7`4+f?&sn-YgA+^v`3XNG(h{$NW;H@Qk0lq{03s6Q>-JVHDv zLGZ?_qHi@%>#d&L&{C7QcRs){{1aU(TYWttggYiPUAAlOx6|{uuNSlPu+lipCssO8 zjCvPy9^Kbv*hxED>bFy*Sj*(`+*}~pHc&*}q5I~=r*PwC*kGbJs2Kx0GB{$9aH?mb zCueP4XooTE=rNAUn)o&AM~@v{9)*s!E~z2HV0gM{3=�fTszVQg2)pSr|2^qo2R_ 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⁡3J#SC}@VyDrYQc>#^D{B&9L#3DGZewc z*Q3FUsL9sV=^S@xZ+lNSn*}uEFlxs1uyZ`bVFj^TS>$`5@yHSe)H68EjQ5p{cpAd$P!gCoTNy$JAMAAf zan$y*yu|Ft3+hhK%LFe<{r#Rmje2CiYrPkuE>7OAZJQn!DUk~w(!b%jvKYiny7w00 z!F|{P2>Djh4}Whoo(+;1gZ`5OGdu! ztBi=TXhYa{yymH@yw{IQ?+(4Hghz6jlD4{>o8wr?KbRbwQ|NMeBtO-Hbl}`@Cuc?6 z3J<&3mxBW^r`up`x{99v2g@eHYzIA1zZ5P?W5dz!Gb|sBsX`&{a25RG`?_e2b+w%} z7rppHS0i~%*w1R+1Y3^i{0Nj#r%)|CB;J58<( zON95xOZj2|=n(QLq0-)=y4plFS?6N6fehG*nA$fU}n5(%wg@gB+j@w`gv{K-%^z9JC-Un z(qJ=~;JlHjGTz~ob9zfx_i}5eNM|Q;GCtPoPa!K`KijvB?Z*@<#S06qlEb!;HIBIZ{-AH3{D`N|L4`ve)0NWn*!VrJtF7CQ@3~J}FG@FYTem?t+S`z) zDmGOPw1*0{&hne7b9>W5wh7DlpCjU*)~e^sy!1|7G`{uj&nH4QhPszIx2?xKo2fZ_ z);~$~gY!jE*Fx4S#e`HH6TBAg?5z;SjTSlWl3p}dN3!NL2S_vk`2E}>CF>dR?Rs)1 zi*>Vi%7B6T3;mPj2W>;Cka0+>dDzwAzR0Y<#t)T}ry7+h={&wsU4QXcL z=Y8jo`Pbq6b7$H3^>xzJDb%rYx9%K0YRvPFHx)sV&Ow@~#-ru(Yk92(zrLO+t@J3m z;t*lr^iqGTZ48Q9+gQf&IIBPRNoh#}TOR!T!?s}6#6a10k zHqqS3_2={DD4K^<--(#!>@O<{T=f?ZH90%|+q$1s*Ijc*Xh@2ihyy8h<0D@^QKT>c z>4iNG5q$kcncEikbhGTh!*Gijst@B!=*A$qV?b0^c>kY?>Z9uq>i-VzwywmAWhqdaSWI zL|IzTEhIzqXaBIgY?!XfIUTe7X>5O+mojTcU7Kn|b*UYM9&kfrp+u4K&E|0I*7}Sy zY=~CsZK0~IRmPK_Hm#rhC)nx1YTL!x}wr}opEL~qUxb6XGo zI=X(4T zwUJ2S?HpOP?TgdxK?4p$)g5|9SfPg^-p)oOS?i%mW&wemgdkUPA8&}uw6bt)abjFj zG$Xl)Fw85JZwgI?6x>9A+G?kT*CgE-o7z^LQqREuRCRB?tLS>;`+~~WgH*N3V-bNv zVy0Ji)>fd8lHGFpZc(kAkA1XlP)+5oBW)9W)7It-v_#9f80l#z zRuZaZy0@p>{jl;GPfE_;26=UE?ko0neYG>ae78FRCpXokl)Xk}!}*Ymz_IT8Gng1M z>yM(-XU2tn{(dak+_ck~2y<4JJ)!(3I={}xXR8-kYmhpr<28YDVVqur=`e^grlJc0 z+^{&6zc}8sIC&^sT3k0-4TxLoAHdDJ!oAmxRLNc8_rz)4vF<({U#T5J>M2h)wCBVZ z(1yI3p)PozvKP3B;r$Hru1q{Bf9A=hcEx$?;Z>Q$3n5k@M!kje>mCL9Wr<(^{#@9f zU=W@XhS47#u)vOWC%{=&+Yg_cky6Vv0y)!&cSl8X=(a#8sTORzl}Jw-dJh& zp6-_y?yIp6uAh2$q;a`AoqTszmfIm~DVzRb9Fr)Qi6RqY4jF^AN;5NUK2uYf&5N+X?9yVKL03#kJ}@pQ&5f2ddWb^Q7+k-xZq z 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 Date: Sun, 26 Apr 2026 20:40:24 +0100 Subject: [PATCH 2/3] Refactor of the Games and Industry categories, added CEL Damage information to the Xbox Page --- categories/consoles/Xbox.md | 23 ++++++ categories/games/Games.md | 67 +++++++++++------ categories/misc/Industry.md | 143 +++++++++++++++++++++++++++--------- 3 files changed, 174 insertions(+), 59 deletions(-) diff --git a/categories/consoles/Xbox.md b/categories/consoles/Xbox.md index 07296820..c2fd941f 100644 --- a/categories/consoles/Xbox.md +++ b/categories/consoles/Xbox.md @@ -28,6 +28,25 @@ On this page, we've compiled a list of links to other pages that cover various t So grab your Xbox controller, and get ready to dive into the exciting world of Xbox reverse engineering! +--- +# Game Software Development for the Microsoft Xbox + +## How long did it take to develop games for the Xbox back in the day? +In the 2003 book *Postmortems from Game Developer*, the developers of *Cel Damage* describe a 2-year Xbox development cycle with 16 full-time developers and 12 contractors [^1]. +Given the November 1, 2001 release date, that puts the bulk of development roughly in the late-1999 to 2001 period [^1]. + +The postmortem also gives a useful snapshot of what an original Xbox production looked like at the time: +* **Team size** - 28 developers in total, split between 16 full-time staff and 12 contractors +* **Budget** - Approximately $2 million +* **Project scale** - Around 800,000 lines of code +* **Development hardware** - 600MHz Pentium III PCs with 256MB of RAM, 30GB hard drives, and Nvidia GeForce graphics cards +* **Software stack** - Microsoft Visual Studio, 3DS Max, Photoshop, Illustrator, Winamp, and SourceSafe +* **Performance and tooling** - `pitaSim`, `Vtune`, and Microsoft Visual C++ + +That is only one data point, but it is still a useful baseline. +For an early Xbox title, a 2-year schedule with a sub-30-person team and commodity PC workstations appears to have been enough to ship a retail game [^1]. + + --- # Games @@ -61,3 +80,7 @@ This section of our guide will provide you with detailed information and resourc {% include console.html %} + +--- +# References +[^1]: Postmortems from Game Developer (Austin Grossman, 2003) Page 66 diff --git a/categories/games/Games.md b/categories/games/Games.md index 8d421f2d..c6f98866 100644 --- a/categories/games/Games.md +++ b/categories/games/Games.md @@ -4,7 +4,7 @@ layout: post category: - games - introduction -title: Games specific posts +title: Game-specific reverse engineering posts breadcrumbs: - name: Home url: / @@ -14,11 +14,14 @@ redirect_from: - /games/all - /games/ editlink: ../categories/games/Games.md +updatedAt: '2026-04-26' tags: - games --- This page collects all the posts that are related to reverse engineering a specific game rather than an entire console or platform. +It starts with a curated set of notable game pages grouped by platform, then points to a few external deep dives that are worth studying, and finally ends with an automatically generated index of broader tagged pages. +This makes it easier to browse the highlights first without losing the wider archive. ## Decompiled Retail Console Games This page maintains a comprehensive, curated list of retail console games that have been successfully reverse engineered and decompiled back into compilable source code (C/C++). It tracks the progress of major community projects across platforms like the **Nintendo 64**, **GameCube**, and **PlayStation**, including high-profile achievements such as *Super Mario 64*, *The Legend of Zelda: Ocarina of Time*, and *Jak and Daxter*. We have a specific post all about it here: @@ -60,7 +63,11 @@ This post covers reverse engineering work on the original **Super Mario Bros** f This post covers the recovered **Home Alone 2** NES source code and explains what survives in the archive for researchers interested in late-era commercial NES development. {% include_cached link-to-other-post.html post="/home-alone-2-nes-source-code" %} -## The Final Fantasy Battle Engine: A Dissection of Physical Attacks +--- +## External Deep Dives +This section highlights external reverse engineering breakdowns for specific games that are useful companion material alongside the internal posts above: + +### The Final Fantasy Battle Engine: A Dissection of Physical Attacks [Displaced Gamers](https://www.youtube.com/watch?v=O_CLnBCgJks) has an excellent video dissecting the underlying code, hidden math, and bugs governing physical attacks in the original NES Final Fantasy. The video explores how battle stats like accuracy, critical hit rates, and elemental weaknesses are processed in Assembly, revealing several programming oversights that heavily impact gameplay. It provides a fascinating look into early RPG mechanics and console game reverse engineering. @@ -69,25 +76,6 @@ Core Architecture: * **System Scope:** Analysis of the physical attack mechanics within the Final Fantasy (NES/Famicom) battle engine. * **Code Footprint:** The execution logic for a single physical attack consists of 781 total bytes (excluding called subroutines), responsible for animation, damage calculation, and variable reporting. -Base Stat Formulas: -* **Attack Power:** Calculated as `(Character Strength / 2) + Weapon Power`. The decimal value is truncated. -* **Accuracy:** Calculated as `Base Character Accuracy + Equipped Weapon Accuracy`. -* **Hits per Attack:** Calculated as `(Accuracy / 32) + 1`. This value determines how many discrete damage rolls are executed per attack command. -* **Evade:** Calculated as `Base 48 + Agility Modifier - Armor Weight Penalty`. -* **Absorb (Defense):** Total numerical summation of all equipped armor mitigation values. - -The Black Belt / Master Class Exceptions: -* **Armed:** Attack power receives a hardcoded `+1` modifier in addition to standard formulas. -* **Unarmed:** Attack power and Critical Hit values bypass standard logic and are set to `Current Level * 2`. The hit count is calculated normally but then strictly doubled. -* **Unarmored:** Absorb value logic is bypassed and set equal to the character's `Current Level`. - -RNG, Hit Validation, and Damage Calculation: -* **Turn Order:** Agility does not govern turn priority. An array queue of players and enemies undergoes 16 RNG-based memory position swaps to randomize round sequence. -* **Hit Chance Formula:** `168 (Flat Base Constant) + Attacker Accuracy - Defender Evade`. The initial calculation before the evasion deduction is hard-capped at 255. -* **Battle RNG Validation:** A random value generated between `0` and `200`. A roll of `200` forces an automatic miss. If `Hit Chance >= Battle RNG`, the attack successfully lands. -* **Base Damage Roll:** Generates a random value bounded by `[Attack Power]` and `[Attack Power * 2]`. -* **Calculated Damage:** `Damage Roll - Defender Absorb`. Floor value is strictly clamped at a minimum of `1` damage. -* **Critical Hits:** If the same `Battle RNG <= Critical Hit Rate`, a critical strike occurs. A secondary raw damage roll is executed and added directly to the damage total, completely ignoring the defender's Absorb stat. Critical Engine Bugs & Logic Errors: * **Critical Hit Memory Fetch Error:** When querying the ROM table for a weapon's stored critical hit rate, the engine skips the instruction to load the stat. Instead, it writes the weapon's *index array ID* into RAM. Consequently, later-game weapons (higher index table values) yield artificially high crit rates regardless of intended design. @@ -156,6 +144,34 @@ This post covers the leaked **Yoshi's Island** source code and the implementatio This post covers the leaked **A Link to the Past** source code and its importance for understanding large-scale first-party Super Nintendo game development. {% include_cached link-to-other-post.html post="/zelda-a-link-to-the-past-source-code" %} +--- +# Development Art Archives +This section collects game-specific archive pages that focus more on art workspaces, asset pipelines, and development materials than on full source code releases: + +### Pilotwings 2D Art Workspace +This post covers a recovered **Pilotwings** 2D art workspace, which is useful for studying Nintendo's internal art production flow rather than the gameplay code itself. +{% include_cached link-to-other-post.html post="/pilotwings-2d-art-workspace" %} + +### SimCity SNES 2D Art Workspace +This post covers the **SimCity SNES** art workspace files, giving a narrower look at how project assets were organized during development. +{% include_cached link-to-other-post.html post="/simcity-snes-2d-art-workspace" %} + +### Star Fox 2 2D Art Workspace +This post covers a **Star Fox 2** art workspace archive that complements the source-code page by showing more of the project's asset-side workflow. +{% include_cached link-to-other-post.html post="/starfox2-2d-art-workspace" %} + +### Stunt Race FX 2D Art Workspace +This post covers a **Stunt Race FX / Wild Trax** art workspace archive, which helps document the content pipeline around a Super FX title. +{% include_cached link-to-other-post.html post="/stunt-race-fx-2d-art-workspace" %} + +### Super Mario Kart 2D Art Workspace +This post covers the **Super Mario Kart** art workspace files, which are useful for understanding track and sprite production outside the main game code. +{% include_cached link-to-other-post.html post="/super-mario-kart-2d-art-workspace" %} + +### Zelda Link's Awakening 2D Art Workspace +This post covers the **Link's Awakening** art workspace archive and adds asset-side context to the related Game Boy source code material. +{% include_cached link-to-other-post.html post="/zelda-links-awakening-art-workspace" %} + --- # GameCube Games This section collects our GameCube game-specific posts: @@ -220,13 +236,18 @@ This section collects our PC game-specific posts and source code investigations: This post covers **Planet X3**, a modern MS-DOS strategy game whose tooling and technical design make it relevant to retro PC development research. {% include_cached link-to-other-post.html post="/planet-x3-dos" %} -## Deponia Magnet Puzzle Soft-Lock Fix +--- +## External Deep Dives +This section highlights external reverse engineering breakdowns for specific PC games that are useful companion material alongside the internal posts above: + +### Deponia Magnet Puzzle Soft-Lock Fix [Nathan Baggs](https://www.youtube.com/watch?v=lT4McPl5kQU) has a detailed video breakdown about reverse engineering a persistent, game-breaking bug in the point-and-click adventure game **Deponia**. The investigation covers diagnosing a magnet puzzle soft-lock using tools like Ghidra, x64dbg, and RenderDoc to analyze memory and engine behavior. By discovering an embedded Lua debugger (**mobdebug**) and decompiling the game's bytecode (**LuaJit**), the root cause-a failure to initialize condition states upon reloading-is identified and resolved via custom Lua code injection. --- -# All Posts related to Specific Games +# Automatically Listed Game Pages +This final section is generated from site tags, so it acts as a wider catch-all index beyond the curated platform sections above: {% include console.html %} diff --git a/categories/misc/Industry.md b/categories/misc/Industry.md index 280fe14b..5a69d0d5 100644 --- a/categories/misc/Industry.md +++ b/categories/misc/Industry.md @@ -3,8 +3,8 @@ layout: post title: Life in the Games Industry permalink: /industry category: industry -image: https://github.com/user-attachments/assets/79fee58b-dd24-4b1b-9b9e-6de863927463 -twitterimage: https://github.com/user-attachments/assets/79fee58b-dd24-4b1b-9b9e-6de863927463 +placeholderimages: +- https://github.com/user-attachments/assets/79fee58b-dd24-4b1b-9b9e-6de863927463 redirect_from: - /documentary - /documentaries @@ -15,8 +15,10 @@ redirect_from: breadcrumbs: - name: Home url: / - - name: Games Industry Research Material - url: /# + - name: Introduction + url: /introduction + - name: Life in the Games Industry + url: # editlink: ../categories/misc/Industry.md recommend: - industry @@ -35,14 +37,17 @@ tags:
Have you ever wondered what it was like to be a developer in the games industry in the 80s/90s/00s? -This page will try to collect all the information we know about to help paint a picture of what it must have been like. +This page collects documentaries, interviews, magazines, conference history, and company pages that help reconstruct what day-to-day work in the games industry looked like. -If you know of any other footage or information that should be added to this page please get in touch, there must be more out there! +It is intended as a hub page rather than a complete chronology, so the goal is to point toward the best material we know about and split deeper topics into their own dedicated posts where needed. + +If you know of any other footage or information that should be added to this page please get in touch. There must be more out there.
--- -# Documentaries showing life in the industry +# Documentary Footage +This section collects documentaries and broadcast segments that show how studios were organized, how developers worked, and how the wider business looked at the time. ## 1984 - Life in Imagine & Ocean Software (The Battle for Santa's Software) @@ -50,16 +55,21 @@ If you know of any other footage or information that should be added to this pag On the **Imagine Software** side Mark Butler was 23 when the documentary was filmed and it shows his extravagant lifestyle with his fast cars and sponsored motorbike teams. He had 70 people working for them in May 1984 and John Gibson was the only programmer over 30 (Known as Granddad). -The documentary starts with Imagine Software looking great and antisipating the next big game, but sadly ends with bankruptcy. This documentary is great for showing the uncertainty in the early games industry, one minute you are on top and gone the next. +The documentary starts with Imagine Software looking great and anticipating the next big game, but sadly ends with bankruptcy. This documentary is great for showing the uncertainty in the early games industry, one minute you are on top and gone the next. Fortunately, former programmers at Imagine Software went on to establish **Psygnosis**, known for the Psy-Q development SDKs. On the other side was **Ocean Software** and David Ward who managed to survive the time it took to film the documentary and showed off some of their upcoming games for the festive period. You can find more information about this documentary over on **VHiStory**: -[Commercial Breaks – Film 84 – Tomorrow's World – Micro Live – tape 1 - VHiStory](https://vhistory.wordpress.com/2022/12/10/commercial-breaks-film-84-tomorrows-world-micro-live-tape-1/) +{% include link-to-other-site.html + url="https://vhistory.wordpress.com/2022/12/10/commercial-breaks-film-84-tomorrows-world-micro-live-tape-1/" + title="Commercial Breaks - Film 84 - Tomorrow's World - Micro Live - tape 1" + description="VHiStory provides additional background on the 1984 documentary episode that covered Imagine Software and Ocean Software." +%} ## 1993 - A Visit to id Software (November 1993) +This video captures **id Software** shortly before the release of **DOOM**, making it a useful snapshot of early 1990s PC game development culture. --- @@ -74,7 +84,7 @@ To find out more we have a separate post all about it here: From the BBC show **Working Lunch** the reporter **Rory Cellan Jones** visits the Dundee studios of **DMA Design** in 1996 as they are working on the Original Grand Theft Auto: -They interview people in the programming (David Kivlin), music (Craig Conner), sound effects, QA (Gordon Ross and Fiona Robertson) and there is a brief view of the motion capture (Darren?) departments for a desperate game. +They interview people in programming (David Kivlin), music (Craig Conner), sound effects, and QA (Gordon Ross and Fiona Robertson), and there is a brief view of the motion capture department during development. --- @@ -82,11 +92,11 @@ They interview people in the programming (David Kivlin), music (Craig Conner), s When researching a video game, for reverse engineering or otherwise it can be tricky to find all the relevant sources due to most development being done behind closed doors in a time before the internet was the force it is today. So it is important to keep track of the physical media such as magazines, books and conference proceedings as they contain many information that has never been released to the internet. ## Magazines -Before wide spread access to the internet was common, many game developers would buy magazines to keep up with the latest in the industry and development in general, we have a post covering the most relevant magazines: +Before widespread access to the internet was common, many game developers would buy magazines to keep up with the latest in the industry and development in general. We have a post covering the most relevant magazines: {% include_cached link-to-other-post.html post="/magazines" description="For more information on all the Game development magazines check out this post." %} ### Develop - UK Magazine dedicated to the games industry -**Develop** was a magazine published in the UK targetted at games industry professionals, similar to the US magazine Game Developer it provides a unique insight into game engines, SDKs and other middleware which was never published online. +**Develop** was a magazine published in the UK targeted at games industry professionals. Similar to the US magazine Game Developer, it provides a unique insight into game engines, SDKs, and middleware that was never published online. {% include_cached link-to-other-post.html post="/develop-magazine" description="For more information on the UK magazine Develop check out this post." %} --- @@ -108,43 +118,63 @@ Books were a must have for any game developers getting started in the industry, {% include_cached link-to-other-post.html post="/books" description="For more information on all the Game development Books check out this post." %} --- -## Virtual Experiences +## Museum and Preservation Projects +This section collects interactive preservation projects that try to recreate part of the material culture around video games rather than just documenting code or binaries. ### AUTO MUSEUM 64 Built in Unity **Auto Museum 64** is a virtual Museum of 3D Vehicles from a variety of Nintendo 64 games. It was built by **leoburke** and is available on Itch.io: -[Auto Museum 64 by leoburke](https://leoburke.itch.io/auto-museum-64) +{% include link-to-other-site.html + url="https://leoburke.itch.io/auto-museum-64" + title="Auto Museum 64 by leoburke" + description="A downloadable virtual museum built in Unity that lets you inspect 3D vehicles from a range of Nintendo 64 games." +%} -This kind of experience is very cool, but it would be much better if it was in the browser (e.g WebGL) as its not something you would go back to often but it is something that would be good to share links with friends. +This kind of experience is very cool, but it would be even better in the browser, for example via WebGL. It is the kind of thing people may only visit occasionally, but it would be much easier to share and preserve as a simple web link. Hopefully this will be the start of more Virtual museums that showcase 3d models or even maps from 3D video games. ### Virtual Game Shop -Sadly due to the pandemic and the move to online downloads many of the excellent Specialist Video Game Stores have closed down. Many of us who grew up with them have nostalgic memories of their rows and rows of brand new boxed video games for whatever the current Sega/Nintendo/Sony/Microsoft console was hot at the time. +Specialist game shops were an important part of games culture for decades, especially when boxed software, demo kiosks, strategy guides, and magazine racks all existed in the same physical space. -A VR experience to simulate a Video Game shop with customisable games/posters/shelves/magazines/consoles would be a pretty relaxing experience, probably not exactly a big seller but would have its niche. +A careful virtual reconstruction of that environment could be a useful preservation project in its own right, especially if it documented how games were displayed, marketed, and sold across different eras and regions.
--- -## Commercial Documentaries on game development +## Commercial Documentary Catalogues So far we have listed documentaries that are freely available on youtube, mostly from TV broadcasts, but for a list of video game industry documentaries that you can buy check out **IMDB**'s list: -[Video game documentaries](https://www.imdb.com/list/ls079153183/) +{% include link-to-other-site.html + url="https://www.imdb.com/list/ls079153183/" + title="Video Game Documentaries" + description="IMDb hosts a broad list of commercially released documentaries related to video game history and development." +%} -## Interviews +## Interviews and Oral Histories One of the best sources of information for how retro games were developed are direct interviews with the programmers themselves. This section lists interviews available online, but for even more interviews check out the magazines section above. ### The Untold History of Japanese Game Developers DVDs DVD produced for the Kickstarter for the book The Untold History of Japanese Game Developers back in 2013: -[The Untold History of Japanese Game Developers DVD 1 - YouTube](https://www.youtube.com/watch?v=PmelLhMEpo4&t=29s) + +{% include link-to-other-site.html + url="https://www.youtube.com/watch?v=PmelLhMEpo4&t=29s" + title="The Untold History of Japanese Game Developers DVD 1" + description="The first Kickstarter bonus DVD collects long-form interviews with Japanese game developers discussing their careers and production history." +%} + DVD 2: -[The Untold History of Japanese Game Developers DVD 2 - YouTube](https://www.youtube.com/watch?v=wKbHimftRIA) + +{% include link-to-other-site.html + url="https://www.youtube.com/watch?v=wKbHimftRIA" + title="The Untold History of Japanese Game Developers DVD 2" + description="The second DVD continues the interview collection and includes useful discussion of tools, reverse engineering, and day-to-day studio work." +%} Of particular note is in the second DVD: Enix programmer Toru Hidaka learned to program by reverse engineering the machine code of Cosmic Soldier, and went on to program games, create graphics, sound and compression utilities for Enix, write books on using machine code, and assist in teaching a new generation of programmers. -Also shows of a development utility created to help designers create levels for Gandhara on the PC-88 the numbers are where the enemies appear +It also shows a development utility created to help designers build levels for **Gandhara** on the **PC-88**, where the numbers indicate enemy placement. --- # Companies @@ -152,7 +182,7 @@ The games industry is made up of many companies, some as small as a single perso There are so many that have come and gone over the years that we can't write about them all. Instead we focus on companies that pushed the boundaries in terms of the underlying technology, companies that most gamers may never have heard of but that made considerable technical achievements. Companies that defined iconic game engines such as **Krome's Merkury**, others such as **SN Systems** or **Cross Products** that created the game development tools that were used by most of the industry. -Others who used their genius a little more on the unauthorized size by creating products that could allow unauthorized code to run on the hardware such as **Datel's Action Replay** line of cheat devices. +Others used their technical expertise on the unauthorized side by creating products that could run unofficial code on retail hardware, such as **Datel's Action Replay** line of cheat devices. ## Game Development Tooling Companies There are a bunch of notable companies related to retro game development, many of which specialized in creating the Software Development Kits for popular consoles such as the **Mega Drive** (Cross Products) or PlayStation 1 (SN Systems). @@ -169,7 +199,7 @@ SN Systems is a company that specialised in creating development tools for game --- ## Game Hacking Companies -There are a bunch of notable companies related to game hacking which not only worked on Cheat devices like the **Game genie** or **Action Replay** but also unlicenced products that allowed homebrew games consoles much to the annoyance of the console manufacturer. +There are a bunch of notable companies related to game hacking which not only worked on cheat devices like the **Game Genie** or **Action Replay** but also built unlicensed products that enabled homebrew on retail consoles, much to the annoyance of the console manufacturer. ### Datel **Datel** is most famous for their **Action Replay** line of products but also created homebrew enablers for the Gamecube and Nintendo DS along with tons of unlicensed games and applications for a wide range of home consoles and handhelds. @@ -178,9 +208,46 @@ There are a bunch of notable companies related to game hacking which not only wo ### Codemasters +**Codemasters** is best known for its unlicensed NES work, the **Game Genie**, and its broader role in shaping the home computer and console market in the UK. It is also a useful case study in how a commercial game studio could overlap with hardware add-ons, cartridge publishing, and unauthorized console development. {% include_cached link-to-other-post.html post="/companies/codemasters" description="For more information about Codemasters check out this post." %} +--- +# Game Development Postmortems +Over the years game developers have posted "Postmortems" of their games, listing the good and bad parts of the development process, these were often given as talks at GDC or published in the physical **Game Developer** magazine. + +## 2003 book Postmortems from Game Developer +It is a collection of 25 postmortem articles originally from **Game Developer** magazine. Based on the published table of contents, these are the included games and their primary original platforms. Most chapters are about Windows PC development, but I have listed the main release platforms relevant to the era if the game was ported [^1]. + +Game | Primary Platform(s) +------------------------------------ | ---------------------------------------- +System Shock 2 | PC (Windows) +Operation Flashpoint | PC (Windows) +Drakan: Order of the Flame | PC (Windows) +Cel Damage | Xbox (later ported to GameCube, PS2) +Vampire: The Masquerade - Redemption | PC (Windows) +Age of Empires | PC (Windows, Mac later) +Diablo II | PC (Windows, Mac) +Unreal Tournament | PC (Windows, Mac, Linux), Dreamcast, PS2 +Command & Conquer: Tiberian Sun | PC (Windows) +Age of Empires II: The Age of Kings | PC (Windows, Mac later) +Myst III: Exile | PC, Mac +Tropico | PC +Black & White | PC (Windows, Mac later) +Myth: The Fallen Lords | PC, Mac +Thief: The Dark Project | PC +Trespasser | PC +Deus Ex | PC, Mac, PS2 +Jak and Daxter: The Precursor Legacy | PlayStation 2 +Star Wars Starfighter | PS2, Xbox, PC +Star Trek: Voyager - Elite Force | PC, PS2, Mac +Rainbow Six | PC, Mac, N64, Dreamcast, PS1 +Soldier of Fortune | PC, Dreamcast, PS2 +Dark Age of Camelot | PC +FireTeam | PC (online multiplayer) +Asheron's Call | PC + + --- # Interviews with Game Developers (by platform) @@ -233,6 +300,7 @@ Retro Gamer issue 39 | Developers at Rare | **Jetpac Refuelled** | Discuss the m --- ## Recruitment in the games industry +This section collects smaller notes on how developers found work and how studios staffed projects in different periods. ### How did game programmers find work? Many Game Boy developers worked freelance and were contracted out by companies to work on a title with a harsh deadline of a couple of months or sometimes even just weeks! Others were hired full-time by companies and would work on a constant stream of new games. @@ -242,7 +310,7 @@ Many Game Boy developers worked freelance and were contracted out by companies t He heard about the job through his agent which was a common way for game programmers to find work in the late 80s to early 90s. But by the 2000s games had grown so much that they would require whole teams of developers and hiring freelances who worked from home became rarer. --- -## Games Industry Legends +## Industry Legends and Retrospectives ### Remembering Archer Maclean (1962-2022) [Mamemeister](https://www.youtube.com/watch?v=5yS_tmO_vSs) presents a retrospective on the life and work of Archer Maclean, a renowned programmer known for pushing the technical limits of 8-bit and 16-bit hardware. The video discusses his most famous works, such as *Dropzone* and *International Karate +*, and shares personal anecdotes about his passion for arcade hardware and game development. @@ -250,26 +318,28 @@ He heard about the job through his agent which was a common way for game program --- -# Indie Game Development +# Platform Holders and Independent Developers +This section covers how console manufacturers viewed outside developers, unlicensed publishing, and later indie support. -## Why Nintendo doesn't like 3rd party developers? -In 1986 the year in which many believed the video games industry was finished due to the Atari collapse (google for the ET situation..). Nintendo were doing well in Japan but they were worried about the collapsed video game market in the USA. They wanted to release their Famicom system in the US but due to what had just happened to Atari they were of course cautious. +## Why Nintendo restricted third-party developers in the 1980s +When Nintendo prepared to launch the Famicom in the United States, it was entering a market still shaped by the North American video game crash. The company wanted tighter control over software quality, publishing volume, and licensing than many earlier platform holders had exercised. -**Hiroshi Yamauchi** president of Nintendo at the time believed the failure was due to too many 3rd party rubbish games: +**Hiroshi Yamauchi**, Nintendo's president at the time, believed part of the collapse came from a flood of low-quality third-party software: ![image alt text]({{ site.url }}/public/kCxNlbEqQBTmGsgDrzeh4w_img_0.png) -Ever since Nintendo has been very wary of allowing 3rd party developers to release software for their consoles. +That attitude helps explain Nintendo's stricter licensing model, manufacturing control, and technical lockout measures in the NES era. -They have even put in place a number of security measures to stop unlicensed developers including both hardware and software methods. +Nintendo also deployed a range of hardware and software restrictions to limit unauthorized publishing and preserve control over the platform ecosystem. -This along with the threat of piracy has kept nintendo away from allowing 'homebrew development' on any of their consoles. +For many years this made Nintendo comparatively cautious about homebrew and unofficial development compared with the later PC and mobile ecosystems. -### A Change In Direction? -It wasn't until they saw the success of many indie games such as minecraft and the success of 'app stores for games' that they have started opening up their hardware to indie developers. +### Later Shift Toward Indies +That position softened much later, once downloadable storefronts and successful independent releases showed that smaller external teams could strengthen a platform rather than dilute it. --- -# All Games Industry Posts +# Automatically Listed Industry Pages +This final section is generated from site tags, so it works as a wider catch-all index beyond the curated sections above: {% include console.html %} @@ -277,3 +347,4 @@ It wasn't until they saw the success of many indie games such as minecraft and t --- # References [^1]: [Terminator 2, R-Type, Altered Beast with Jas Austin - The Retro Hour EP320 - YouTube](https://www.youtube.com/watch?v=5ilnsca4jYc) +[^2]: ["Postmortems from Game Developer: Insights from the ..."](https://www.routledge.com/Postmortems-from-Game-Developer-Insights-from-the-Developers-of-Unreal-Tournament-Black-amp-White-Age-of-Empire-and-Other-Top-Selling-Games/Grossman/p/book/9781578202140) From 84e762a3a3b2996888afed9b26b228020d02c9de Mon Sep 17 00:00:00 2001 From: A Date: Wed, 29 Apr 2026 09:31:22 +0100 Subject: [PATCH 3/3] Added page on Game and Watch Emulation in MAME --- categories/consoles/PS2.md | 16 + .../retroreversing-category-pages/SKILL.md | 4 +- .../SourceCode/mame/GameAndWatchEmulation.md | 1096 +++++++++++++++++ 3 files changed, 1115 insertions(+), 1 deletion(-) create mode 100644 pages/SourceCode/mame/GameAndWatchEmulation.md diff --git a/categories/consoles/PS2.md b/categories/consoles/PS2.md index 097c7dd6..aadb1e4d 100644 --- a/categories/consoles/PS2.md +++ b/categories/consoles/PS2.md @@ -30,6 +30,21 @@ On this page, we've compiled a list of links to other pages that cover various t So grab your DualShock controller, and get ready to dive into the exciting world of PS2 reverse engineering! +--- +# Game Software Development for the Sony Playstation 2 + +## How long did it take to develop PS2 games back in the day? +In *Postmortems from Game Developer*, one LucasArts PlayStation 2 production released in February 2001 is described as taking 30 months to complete [^5]. +At the height of production, the team had approximately 40 full-time developers [^5]. + +The postmortem also provides a useful snapshot of a relatively large early-PS2 production: +* **Schedule** - 30 months of development +* **Team size** - Approximately 40 full-time developers at peak production +* **Project scale** - 301,000 lines of code, including internal tools +* **Development hardware** - 700MHz Pentium III PCs with 256MB of RAM, GeForce 256 graphics cards, and dedicated PS2 tools +* **Software stack** - Windows 2000, Microsoft Visual C++, Metrowerks for PS2, 3D Studio Max, Softimage, Photoshop, Bryce, Visual SourceSafe, Perl, AfterEffects, and Premiere +* **Specialized technology** - The Eve level design tool, Miles Sound System, ObjectSpace STL, Macromedia/Secret Level Flash, and Planet Blue's Tulip for prerendered cut-scene lip-syncing + --- # Hardware Similar to the original PlayStation the PS2 used a MIPS processor but this time it was 64 bit and codenamed the **Emotion Engine**, along with 2 custom vector processors. Although the PS2 has a much more modern GPU design compared to the PS1, the actual transformation of the vertices were still being process by the CPU core rather than the GPU [^1]. @@ -215,3 +230,4 @@ If you are interested in learning more we have a specific post about the Merkury [^2]: Psi2 issue 18 [^3]: Psi2 issue 20 [^4]: [GDC 2004 Evolve](https://ia803200.us.archive.org/11/items/evolveeventprogr2004unse/evolveeventprogr2004unse.pdf) +[^5]: Postmortems from Game Developer (Austin Grossman, 2003) Page 299 diff --git a/codex/skills/retroreversing-category-pages/SKILL.md b/codex/skills/retroreversing-category-pages/SKILL.md index a7fb1622..1b00f3f4 100644 --- a/codex/skills/retroreversing-category-pages/SKILL.md +++ b/codex/skills/retroreversing-category-pages/SKILL.md @@ -116,6 +116,7 @@ Typical `# All Posts` section: Common optional H1 sections when the platform/topic needs them: +* `# Game Software Development for the ` * `# File Formats` * `# Emulation` * `# Development Kits (Hardware)` @@ -151,7 +152,8 @@ For hub-style pages, follow the newer pattern seen in `categories/consoles/WiiU. * `# Homebrew Development` * `# Reverse Engineering games` Only add these if you have enough links/content to avoid thin sections. -* **FAQ-style subheadings** - within an H1 section, use `###` question headings ("How long did it take…?", "What did the SDK look like?") to make the page skimmable; each answer should end in one or more links (internal or external). +* **Game development production snapshots** - for console hubs, `# Game Software Development for the ` is often a strong section to include when you have sourced postmortem or interview material. It works especially well for compact facts such as schedule length, team size, budget, workstation specs, software stack, tools, and codebase size. +* **FAQ-style subheadings** - within an H1 section, use `###` question headings ("How long did it take…?", "What did the SDK look like?") to make the page skimmable; a short "How long did it take to develop games back in the day?" subsection is a good fit when you have reliable production data. Each answer should end in one or more links (internal or external). * **Primary-source quote blocks** - short `>` quotes are useful for provenance and "why this matters", backed by a footnote when the quote is evidence. * **Embedded media (sparingly)** - a teardown / explanation video, tweet, or other primary-source embed can be worth keeping when it teaches a hardware concept or preserves development context; keep the surrounding text tight and technical. * **Preserve existing embeds** - when editing an existing category page, keep embedded videos, tweets, and similar source material unless the user explicitly asks to remove them. Reorganising is fine, deletion is not. diff --git a/pages/SourceCode/mame/GameAndWatchEmulation.md b/pages/SourceCode/mame/GameAndWatchEmulation.md new file mode 100644 index 00000000..014b2854 --- /dev/null +++ b/pages/SourceCode/mame/GameAndWatchEmulation.md @@ -0,0 +1,1096 @@ +--- +permalink: /game-and-watch-emulation +layout: post +title: "How MAME Emulates Game & Watch" +excerpt: A technical guide to how MAME emulates Nintendo Game and Watch hardware, from the Sharp SM5xx MCU family to LCD segment rendering and input scanning. +category: +- sourcecode +breadcrumbs: + - name: Home + url: / + - name: Source Code + url: /sourcecode + - name: "How MAME Emulates Game & Watch" + url: # +recommend: +- sourcecode +- emulation +- handhelds +tags: +- sourcecode +- emulation +- handhelds +editlink: ../pages/SourceCode/mame/GameAndWatchEmulation.md +updatedAt: '2026-04-28' +--- +# How MAME Emulates Game & Watch +Game & Watch emulation in MAME is hardware emulation, not game reimplementation. +The actual machine code dumped from original Nintendo microcontroller chips runs unmodified. +MAME replicates the Sharp SM5xx CPU, the LCD segment controller, multiplexed inputs, and piezo buzzer - the game logic follows automatically. + +## Glossary of Key Terms +If you are new to the hardware involved, this quick glossary explains the key terms used throughout: + +* **MCU** - Microcontroller Unit. A self-contained chip combining CPU, RAM, ROM, and I/O peripherals. Each Game & Watch unit contains one Sharp SM5xx MCU. +* **LCD** - Liquid Crystal Display. The segment-based screen used in G&W games. Individual segments switch on or off; they do not form pixels. +* **ROM** - Read-Only Memory. The game program, permanently baked into the MCU die. +* **ACL** - All Clear. The reset button found on every G&W unit, tied directly to the MCU reset line. +* **SVG** - Scalable Vector Graphics. The format MAME uses to describe LCD panel geometry, with each segment as a named vector shape. +* **LFSR** - Linear Feedback Shift Register. A shift register whose output feeds back as input, producing a pseudo-random sequence. The SM5xx uses a 6-bit LFSR as a program counter within each ROM page. +* **LUT** - Look-Up Table. A precomputed array used in the SM511 melody controller to translate tone commands into duty cycle counts. +* **BL/BM** - The lower and upper halves of the SM5xx RAM address register. Together they select the current 4-bit RAM nibble. + +--- +## The Sharp SM5xx CPU Family +
🧩
+Nintendo used a family of 4-bit Sharp microcontrollers across the Game & Watch product line. +Each variant differs in ROM capacity, RAM layout, and peripheral features. +All variants share a common instruction set and are emulated through a single inheritance hierarchy in `src/devices/cpu/sm510/`. + +The table below covers the main variants you will encounter when exploring MAME drivers: + +Name | ROM | RAM | Notes +--- | --- | --- | --- +SM5A | 1.8 KB | 5x13x4 nibbles | Oldest series, ~1980 +SM510 | 2.7 KB | 128x4 nibbles | Standard series, non-contiguous ROM map +SM511 | 4 KB | 128x4 nibbles | Adds dedicated melody controller +SM512 | 4 KB | 160x4 nibbles | SM511 with extended LCD RAM +SM530 | 2 KB | Varies | Later variant, used in select titles + +The Soviet Union manufactured licensed clones of these chips, renaming them to ΠšΠ‘1013Π’Πš1-2 (SM5A), ΠšΠ‘1013Π’Πš4-2 (SM510), and ΠšΠ‘1013Π’Πš7-2 (SM511). +MAME supports Soviet Elektronika G&W clones through the same driver. +MAME's shared SM5xx core source header also cites Sharp semiconductor data books as background documentation for the implementation [^9] [^10]. + +
+{% capture sm510base_h_items %} +- auto::read_k::() +- auto::write_segs::() +- auto::write_r::() +- virtual void::execute_one::() = 0 +- virtual bool::op_argument::() +- u16::get_lcd_row::(int column, u8* ram) +- virtual void::lcd_update::() +- virtual void::clock_melody::() +- virtual void::increment_pc::() +- virtual void::execute_run::() +- void::do_interrupt::() +- u16::m_pc +- u8::m_acc +- u8::m_bl +- u8::m_bm +- u8::m_c +- bool::m_skip +- bool::m_halt +- u16::m_div +- u8::m_gamma +{% endcapture %} + +{% include_cached source-code-card.html title="sm510base.h" items=sm510base_h_items functions="95" variables="55" lines="250" class="rr-file-card-aside" %} +
+The `sm510_base_device` class defines the complete SM5xx interface. +It declares 95 virtual methods - the majority being opcode handlers (`op_tl`, `op_add11`, `op_cend`, etc.) that subclasses override for variant-specific behaviour. +The 55 member variables cover CPU registers, LCD state, the divider, melody controller state, and I/O callbacks. +Relevant interface definition [^4]. +
+
+ +### CPU Architecture +
βš™οΈ
+All SM5xx variants are 4-bit processors with a Harvard architecture. +The core registers are: + +The following registers make up the CPU core state, accessed during every instruction: + +* **ACC** (`m_acc`) - 4-bit accumulator. All arithmetic and logic operations pass through here. +* **BL/BM** (`m_bl`, `m_bm`) - RAM address register. BL holds the lower 4 bits, BM the upper bits. Together they index into the 4-bit RAM array. +* **PC** (`m_pc`) - 12-bit program counter. Advances via LFSR rather than simple increment. +* **C** (`m_c`) - 1-bit carry flag. Set or cleared by arithmetic operations, testable by `TC` (skip-if-no-carry). +* **Skip** (`m_skip`) - When set, the next fetched instruction is discarded as a NOP. Used to implement conditional branches. +* **Halt** (`m_halt`) - Puts the MCU into low-power standby. The CPU stays halted until an external K input or the gamma timer wakes it. +* **W** (`m_w`) - 8-bit output shift register. The `WR`/`WS` opcodes shift 0 or 1 into this register. `PTW` latches the value to the S output port. +* **DIV** (`m_div`) - 15-bit free-running divider. Increments every crystal tick. Provides time references for the LCD refresh, melody controller, and the gamma interrupt. + +The execute loop is the heart of the emulation. +It runs until the instruction count budget (`m_icount`) is exhausted. + +```cpp +void sm510_base_device::execute_run() +{ + while (m_icount > 0) + { + // in halt mode, wake up after gamma signal or K input + if (m_halt) + { + if (m_ext_wakeup || m_gamma) + do_interrupt(); + else + { + debugger_wait_hook(); + m_icount = 0; + return; + } + } + + m_icount--; + + m_prev_op = m_op; + m_prev_pc = m_pc; + + if (!m_skip) + debugger_instruction_hook(m_pc); + m_op = m_program->read_byte(m_pc); + increment_pc(); + + // 2-byte opcodes + if (op_argument()) + { + m_icount--; + m_param = m_program->read_byte(m_pc); + increment_pc(); + } + + // handle opcode if it's not skipped + if (m_skip) + { + m_skip = false; + m_op = 0; // fake nop + } + else + execute_one(); + } +} +``` + +Relevant source [^3]. + +Two-byte opcodes (such as `TL xyz` long jump and `TML xyz` long call) consume an extra cycle and read a second byte as `m_param`. +If the skip flag is set, the fetched opcode is replaced with a fake `0x00` NOP rather than branching away - this means the 2-byte instruction is still consumed. + +--- +### Address Space and ROM Layout +The SM510 and SM511 differ in how they map their program ROM into the address space. + +The SM510 uses a **non-contiguous** map across a 12-bit address space. +The 704-byte pages are placed at specific offsets and the gaps in between are unmapped: + +```cpp +void sm510_device::program_2_7k(address_map &map) +{ + map(0x0000, 0x02bf).rom(); + map(0x0400, 0x06bf).rom(); + map(0x0800, 0x0abf).rom(); + map(0x0c00, 0x0ebf).rom(); +} +``` + +Relevant source [^6]. + +The SM511 uses a **contiguous** 4 KB region starting at address 0: + +```cpp +void sm511_device::program_4k(address_map &map) +{ + map(0x0000, 0x0fff).rom(); +} +``` + +Relevant source [^7]. + +The data address map is identical between SM510 and SM511. +The lower 96 bytes (`0x00-0x5F`) are general-purpose RAM. +The upper 32 bytes (`0x60-0x7F`) are shared with the LCD controller as `lcd_ram_a` and `lcd_ram_b`. +The SM512 adds a third shared region (`lcd_ram_c`) at `0x50-0x5F`. + +```cpp +void sm511_device::data_96_32x4(address_map &map) +{ + map(0x00, 0x5f).ram(); + map(0x60, 0x6f).ram().share("lcd_ram_a"); + map(0x70, 0x7f).ram().share("lcd_ram_b"); +} +``` + +Relevant source [^7]. + +The program counter advances within each 64-instruction page using a **6-bit LFSR** rather than a plain counter. +The LFSR produces a non-sequential order of addresses within the page - the game's ROM must be placed at exactly the addresses the hardware would visit. + +```cpp +void sm510_base_device::increment_pc() +{ + // PL(program counter low 6 bits) is a simple LFSR: newbit = (bit0==bit1) + int msb = m_pagemask >> 1 ^ m_pagemask; + int feed = ((m_pc >> 1 ^ m_pc) & 1) ? 0 : msb; + m_pc = feed | (m_pc >> 1 & m_pagemask >> 1) | (m_pc & ~m_pagemask); +} +``` + +Relevant source [^3]. + +The upper bits of `m_pc` (PM and PU) select the page, while PL (the lower 6 bits) steps through the LFSR sequence. + +--- +### The Instruction Set +
πŸ“„
+The SM510 instruction set is compact and purpose-built for the G&W use case. +Most opcodes are one byte. Long jumps and calls use two bytes. + +
+{% capture sm510op_items %} +- void::op_tl::() +- void::op_tml::() +- void::op_rtn0::() +- void::op_t::() +- void::op_kta::() +- void::op_atl::() +- void::op_atx::() +- void::op_wr::() +- void::op_ws::() +- void::op_ptw::() +- void::op_add11::() +- void::op_rot::() +- void::op_cend::() +- void::op_pre::() +- void::op_tmel::() +{% endcapture %} + +{% include_cached source-code-card.html title="sm510op.cpp" items=sm510op_items functions="64" lines="455" class="rr-file-card-aside" %} +
+All 64 opcode handlers are defined here as methods of `sm510_base_device`. +They cover five categories: RAM address manipulation, ROM address/control flow, data transfer and I/O, arithmetic and test, and melody control. +Each opcode handler is a tiny function, typically 2-5 lines. +
+
+ +The following examples show the key instruction categories, with their exact C++ implementations. + +#### Control Flow +`TL xyz` performs a long jump to an absolute 12-bit address. +The target is assembled from the 4-bit opcode low nibble and the full second byte: + +```cpp +void sm510_base_device::op_tl() +{ + // TL xyz: long jump + do_branch(m_param >> 6 & 3, m_op & 0xf, m_param & 0x3f); +} +``` + +`TML xyz` is the call variant - it pushes the return address onto the stack first: + +```cpp +void sm510_base_device::op_tml() +{ + // TML xyz: long call + push_stack(); + do_branch(m_param >> 6 & 3, m_op & 3, m_param & 0x3f); +} +``` + +`RTN0` returns from a subroutine by popping the stack: + +```cpp +void sm510_base_device::op_rtn0() +{ + // RTN0: return from subroutine + pop_stack(); +} +``` + +Relevant source [^5]. + +#### I/O and LCD Instructions +The game reads buttons via `KTA` (K-to-ACC). +This is the primary way the game logic checks which buttons are pressed: + +```cpp +void sm510_base_device::op_kta() +{ + // KTA: input K to ACC + m_acc = m_read_k() & 0xf; +} +``` + +The `WR`/`WS` opcodes build up the S strobe output one bit at a time. +`WR` shifts a 0 into the shift register W; `WS` shifts a 1. +After building the desired strobe pattern, `PTW` latches it to the output port: + +```cpp +void sm510_base_device::op_wr() +{ + // WR: shift 0 into W + m_w = m_w << 1 | 0; + update_w_latch(); +} + +void sm510_base_device::op_ws() +{ + // WS: shift 1 into W + m_w = m_w << 1 | 1; + update_w_latch(); +} +``` + +`ATL` and `ATX` write the accumulator into the LCD control registers L and X. +These affect which segments blink and which LCD common lines are active: + +```cpp +void sm510_base_device::op_atl() +{ + // ATL: output ACC to L + m_l = m_acc; +} + +void sm510_base_device::op_atx() +{ + // ATX: output ACC to X + m_x = m_acc; +} +``` + +Relevant source [^5]. + +#### Arithmetic +`ADD11` is the carry-propagating add instruction. +It adds RAM, ACC, and carry together, sets carry on overflow, and skips the next instruction if carry is set: + +```cpp +void sm510_base_device::op_add11() +{ + // ADD11: add RAM and carry to ACC and carry, skip next on carry + m_acc += ram_r() + m_c; + m_c = m_acc >> 4 & 1; + m_skip = (m_c == 1); + m_acc &= 0xf; +} +``` + +`ROT` rotates the 4-bit accumulator right through carry. +This provides a simple way to inspect individual bits: + +```cpp +void sm510_base_device::op_rot() +{ + // ROT: rotate ACC right through carry + u8 c = m_acc & 1; + m_acc = m_acc >> 1 | m_c << 3; + m_c = c; +} +``` + +Relevant source [^5]. + +#### Halt +`CEND` stops the CPU clock and enters low-power mode. +Games use this to idle between frames. +The CPU remains halted until an external K input or the divider gamma signal fires: + +```cpp +void sm510_base_device::op_cend() +{ + // CEND: stop clock (halt the cpu and go into low-power mode) + m_halt = true; +} +``` + +Relevant source [^5]. + +--- +## ROM Data +
πŸ’Ύ
+Each Game & Watch driver in `src/mame/handheld/hh_sm510.cpp` defines three categories of ROM data. + +The simplest example is Ball (AC-01), the very first Game & Watch game. +It uses the SM5A and has a single LCD screen: + +```cpp +ROM_START( gnw_ball ) + ROM_REGION( 0x800, "maincpu", 0 ) + ROM_LOAD( "ac-01", 0x0000, 0x0740, CRC(ac94e6e4) SHA1(8270cb61f9fbff252eafec411b4c67f0171f8687) ) + + ROM_REGION( 71748, "screen", 0) + ROM_LOAD( "gnw_ball.svg", 0, 71748, CRC(7c116eaf) SHA1(578882af492b8a9f1eb72e06a547c8b574255fb9) ) +ROM_END +``` + +Relevant source [^1]. + +The three ROM types are: + +* **Program ROM** - The machine code dump from the MCU, placed at the program address space. `ac-01` here is 0x0740 (1856) bytes of actual SM5A instructions. +* **SVG file** - A vector graphics description of the LCD panel. The `"screen"` region holds the entire SVG as raw binary data. MAME's SVG renderer reads this at startup. +* **Melody ROM** - Only present on SM511 and SM512 games. A 256-byte region tagged `"maincpu:melody"` containing tone commands for the melody controller. + +Donkey Kong (DK-52) uses the SM510 with a dual vertical screen layout. +It has 4 KB of program ROM and two separate SVG files: + +```cpp +ROM_START( gnw_dkong ) + ROM_REGION( 0x1000, "maincpu", 0 ) + ROM_LOAD( "dk-52", 0x0000, 0x1000, CRC(5180cbf8) SHA1(5174570a8d6a601226f51e972bac6735535fe11d) ) + + ROM_REGION( 176843, "screen_top", 0) + ROM_LOAD( "gnw_dkong_top.svg", 0, 176843, CRC(16c16b84) SHA1(fa2e54c04366a30b51de024296b9f94c1cb76d68) ) + + ROM_REGION( 145516, "screen_bottom", 0) + ROM_LOAD( "gnw_dkong_bottom.svg", 0, 145516, CRC(2b711e9d) SHA1(0e263020cbe0e8b88bb68e3176630639b518935e) ) +ROM_END +``` + +Relevant source [^1]. + +Notice that the SVG region sizes are exact byte counts, treated like any other ROM dump. +Checksums (CRC and SHA1) verify the SVG file integrity the same way they verify a program ROM. + +--- +## The LCD Driver +
πŸ“„
+The LCD controller lives inside the CPU device itself, not in the driver. +The CPU device exposes a `write_segs()` callback that fires once per LCD refresh cycle. +The driver connects this callback to its own display processing pipeline. + +
+{% capture sm510base_cpp_items %} +- void::device_start::() +- void::device_reset::() +- u16::get_lcd_row::(int column, u8* ram) +- void::lcd_update::() +- void::lcd_timer_cb::() +- void::init_lcd_driver::() +- TIMER_CB::div_timer_cb::() +- void::init_divider::() +- void::execute_set_input::(int line, int state) +- void::do_interrupt::() +- void::increment_pc::() +- void::execute_run::() +{% endcapture %} + +{% include_cached source-code-card.html title="sm510base.cpp" items=sm510base_cpp_items functions="14" lines="329" class="rr-file-card-aside" %} +
+`sm510base.cpp` implements the shared infrastructure: startup, reset, the LCD controller, the divider timer, interrupt handling, PC advancement, and the main execution loop. +Device-specific behaviour (opcode dispatch, ROM address maps) lives in the per-variant files. +
+
+ +The `init_lcd_driver()` function creates a timer that fires at approximately 1 kHz. +This matches the real hardware behaviour where the LCD is strobed once per 32 divider ticks: + +```cpp +void sm510_base_device::init_lcd_driver() +{ + // note: in reality, this timer runs at high frequency off the main divider, + // strobing one segment at a time + m_lcd_timer = timer_alloc(FUNC(sm510_base_device::lcd_timer_cb), this); + attotime period = attotime::from_ticks(0x20, unscaled_clock()); // default 1kHz + m_lcd_timer->adjust(period, 0, period); +} +``` + +Relevant source [^3]. + +Each timer tick calls `lcd_update()`. +This function reads four columns of LCD data out of `lcd_ram_a`, `lcd_ram_b`, and `lcd_ram_c`, then fires the `write_segs()` callback for each: + +```cpp +void sm510_base_device::lcd_update() +{ + // 4 columns + for (int h = 0; h < 4; h++) + { + // 16 segments per row from upper part of RAM + m_write_segs(h | SM510_PORT_SEGA, get_lcd_row(h, m_lcd_ram_a)); + m_write_segs(h | SM510_PORT_SEGB, get_lcd_row(h, m_lcd_ram_b)); + m_write_segs(h | SM510_PORT_SEGC, get_lcd_row(h, m_lcd_ram_c)); + + // bs output from L/X and Y regs + u8 blink = (m_div & 0x4000) ? m_y : 0; + u8 bs = ((m_l & ~blink) >> h & 1) | ((m_x*2) >> h & 2); + m_write_segs(h | SM510_PORT_SEGBS, (m_bc || !(m_bp & 1)) ? 0 : bs); + } +} +``` + +Relevant source [^3]. + +The helper `get_lcd_row()` assembles a 16-bit word from one column of LCD RAM. +It returns zero immediately if the LCD backplate (`m_bp`) or bleeder (`m_bc`) is in the off state: + +```cpp +inline u16 sm510_base_device::get_lcd_row(int column, u8* ram) +{ + if (ram == nullptr || m_bc || !(m_bp & 1)) + return 0; + + u16 rowdata = 0; + for (int i = 0; i < 0x10; i++) + rowdata |= (ram[i] >> column & 1) << i; + + return rowdata; +} +``` + +Relevant source [^3]. + +The BS (blinking segment) column deserves special mention. +The `m_div` bit 14 (the F1 divider flag) controls blink timing. +When this bit is set, the Y register masks specific L bits, making those segments blink at a low frequency without any CPU intervention. + +--- +## The Display System +
πŸ–ΌοΈ
+The LCD driver inside the CPU device fires the `write_segs()` callback, but that callback lands in `hh_sm510_state` inside `hh_sm510.cpp`. +This is where the CPU output is converted into named screen outputs that the SVG renderer can read. + +
+{% capture hh_sm510_h_items %} +- void::update_display::() +- void::sm510_lcd_segment_w::(offs_t offset, u16 data) +- void::sm500_lcd_segment_w::(offs_t offset, u16 data) +- void::set_display_size::(u8 x, u8 y, u8 z) +- TIMER_CB::display_decay_tick::() +- u8::read_inputs::(int columns, int fixed) +- void::update_k_line::() +- void::input_r::() +- void::input_w::(u8 data) +- void::piezo_r1_w::(u8 data) +- void::piezo_input_w::(u8 data) +- void::sm5a_common::(machine_config &config, u16 w, u16 h) +- void::sm510_common::(machine_config &config, u16 w, u16 h) +- void::sm511_common::(machine_config &config, u16 w, u16 h) +- void::sm510_dualh::(machine_config &config, ...) +- void::sm510_dualv::(machine_config &config, ...) +- int::m_decay_pivot +- int::m_decay_len +- u32::m_display_state[0x20] +- u8::m_display_decay[0x20][0x20] +{% endcapture %} + +{% include_cached source-code-card.html title="hh_sm510.h" items=hh_sm510_h_items functions="41" variables="20" lines="118" class="rr-file-card-aside" %} +
+`hh_sm510_state` is the base class for all ~200 Game & Watch drivers. +It bridges the CPU device output to MAME's screen and output systems. +The 20 member variables cover display geometry, decay simulation state, input multiplexer state, and audio output. +Relevant state definition [^2]. +
+
+ +### Segment Dimensions +The SM510 series and the SM500/SM5A series use different LCD geometries. +`set_display_size()` tells the display system which dimensions to use: + +```cpp +void hh_sm510_state::set_display_size(u8 x, u8 y, u8 z) +{ + // x = groups(in bits) + // y = number of segments per group + // z = commons(in bits) + m_display_x_len = x; + m_display_y_len = y; + m_display_z_len = z; +} +``` + +The segment write callbacks call this before storing the segment data: + +```cpp +void hh_sm510_state::sm510_lcd_segment_w(offs_t offset, u16 data) +{ + set_display_size(2, 16, 2); + m_display_state[offset] = data; +} + +void hh_sm510_state::sm500_lcd_segment_w(offs_t offset, u16 data) +{ + set_display_size(4, 4, 1); + m_display_state[offset] = data; +} +``` + +Relevant source [^1]. + +For the SM510 family, the segment space is organised as: + +* **x** - 2 bits = 4 groups (a, b, bs, c) +* **y** - 16 segments per group (bits 0-15 in the 16-bit data word) +* **z** - 2 bits = 4 commons (H1 to H4) + +For SM500/SM5A, the space is smaller: + +* **x** - 4 bits = up to 16 O groups +* **y** - 4 segments per group +* **z** - 1 bit = 2 commons (H1 and H2) + +The older SM500-family display and opcode behaviour is implemented in a separate source file from the SM510 family core [^8]. + +--- +### LCD Decay Simulation +
πŸ’‘
+A naive implementation would turn LCD segments on and off as the CPU writes to LCD RAM. +Real LCD panels do not behave this way. +Physical LCD cells take a few milliseconds to fully activate and deactivate. +MAME simulates this persistence using a per-segment decay counter. + +The decay system is driven by a second independent 1024 Hz timer, created in `machine_start()`: + +```cpp +m_display_decay_timer = timer_alloc(FUNC(hh_sm510_state::display_decay_tick), this); +m_display_decay_timer->adjust(attotime::from_hz(1024), 0, attotime::from_hz(1024)); +``` + +Relevant source [^1]. + +Each tick calls `update_display()`. +This is the full implementation: + +```cpp +void hh_sm510_state::update_display() +{ + u8 z_mask = (1 << m_display_z_len) - 1; + u8 zx_len = 1 << (m_display_x_len + m_display_z_len); + + for (int zx = 0; zx < zx_len; zx++) + { + for (int y = 0; y < m_display_y_len; y++) + { + // delay lcd segment on/off state + if (m_display_state[zx] >> y & 1) + { + if (m_display_decay[y][zx] < (m_decay_pivot + m_decay_len)) + m_display_decay[y][zx]++; + } + else if (m_display_decay[y][zx] > 0) + m_display_decay[y][zx]--; + u8 active_state = (m_display_decay[y][zx] < m_decay_pivot) ? 0 : 1; + + // SM510 series: output to x.y.z, where: + // x = group a/b/bs/c (0/1/2/3) + // y = segment 1-16 (0-15) + // z = common H1-H4 (0-3) + + // SM500/SM530 series: output to x.y.z, where: + // x = O group (0-*) + // y = O segment 1-4 (0-3) + // z = common H1/H2 (0/1) + m_out_x[zx >> m_display_z_len][y][zx & z_mask] = active_state; + } + } +} +``` + +Relevant source [^1]. + +The decay logic works as follows. +Each segment has a counter in `m_display_decay[y][zx]`. +When the segment data is 1 (on), the counter increments each tick up to a ceiling of `m_decay_pivot + m_decay_len`. +When the data is 0 (off), it decrements toward zero. +The output is set active only when the counter is at or above `m_decay_pivot`. + +This produces two distinct visual effects. + +##### On Delay +A segment that was off and turns on does not appear until the counter reaches `m_decay_pivot`. +With the default of 8 ticks at 1024 Hz, that is about 8 ms of activation lag. +This prevents very brief CPU writes from producing a visible flash. + +##### Persistence +A segment that turns off continues to appear until the counter drains below `m_decay_pivot`. +With the default `m_decay_len` of 17 ticks, that gives about 17 ms of afterglow. +This is what makes G&W segments look solid rather than flickering as the CPU scans through them. + +##### Per-Game Tuning +The defaults work well for most games. +Some games need different values. +Turtle Bridge (TL-28), for example, has segments that incorrectly activate at default settings. +Its constructor increases both parameters: + +```cpp +gnw_tbridge_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_sm510_state(mconfig, type, tag) +{ + // increase lcd decay: unwanted segments light up + m_decay_pivot = 25; + m_decay_len = 25; +} +``` + +Relevant source [^1]. + +The higher `m_decay_pivot` means a segment must receive a full 25 ticks of data before appearing. +Short spurious pulses from the real hardware (which on Turtle Bridge accidentally activate neighbouring segments) are filtered out because they never accumulate enough ticks to cross the threshold. + +--- +### Segment-to-Screen Mapping +The final line of `update_display()` writes to `m_out_x`: + +```cpp +m_out_x[zx >> m_display_z_len][y][zx & z_mask] = active_state; +``` + +`m_out_x` is declared as `output_finder<16, 16, 4>` with the format string `"%u.%u.%u"`. +MAME expands this into named output values like `"0.0.0"`, `"0.1.0"`, `"1.3.2"`, and so on. +The SVG file must use those exact strings as element IDs. +When `m_out_x[0][3][1]` is 1, MAME looks for an SVG element with ID `"0.3.1"` and makes it visible. + +This is the complete rendering pipeline: CPU writes nibbles to LCD RAM, the LCD driver assembles them into 16-bit words per column, the segment callback stores them into `m_display_state`, the decay timer updates the visibility state, and the named output system maps that state into SVG element visibility. + +--- +## SVG Rendering Pipeline +
πŸ–ΌοΈ
+MAME's SVG screen type renders vector artwork that changes dynamically based on named output values. +Each SVG element whose `id` matches an output name is shown when that output is 1 and hidden when it is 0. +The SVG describes the exact shape, position, and colour of every LCD segment on the physical panel. + +The `mcfg_svg_screen()` helper configures one screen device per display: + +```cpp +void hh_sm510_state::mcfg_svg_screen(machine_config &config, u16 width, u16 height, const char *tag) +{ + if (width == 0 || height == 0) + return; + + screen_device &screen(SCREEN(config, tag, SCREEN_TYPE_SVG)); + screen.set_refresh_hz(60); + screen.set_size(width, height); + screen.set_visarea_full(); + + config.set_default_layout(layout_hh_sm510_single); +} +``` + +Relevant source [^1]. + +The width and height values come from the individual game driver. +Ball, for example, passes `1671` and `1080`. +These are the pixel dimensions used for the SVG viewport. + +The layout file (`hh_sm510_single.lh`, or `hh_sm510_dualv.lh` etc.) is a compressed MAME artwork file included at compile time. +It positions the screen within the MAME window. +The four layout variants are included at the top of the driver file: + +```cpp +#include "hh_sm510_single.lh" +#include "hh_sm510_dualv.lh" +#include "hh_sm510_dualh.lh" +#include "hh_sm510_tripleh.lh" +``` + +Relevant source [^1]. + +### Multi-Screen Games +Dual-screen and triple-screen G&W games simply add more screen devices. +Each screen gets its own SVG ROM region and its own named output namespace. + +For a dual vertical layout (top/bottom, like Donkey Kong), `sm510_dualv()` creates two screens: + +```cpp +void hh_sm510_state::sm510_dualv(machine_config &config, + u16 topwidth, u16 topheight, u16 botwidth, u16 botheight) +{ + mcfg_cpu_sm510(config); + mcfg_sound_r1(config); + mcfg_svg_screen(config, topwidth, topheight, "screen_top"); + mcfg_svg_screen(config, botwidth, botheight, "screen_bottom"); + + config.set_default_layout(layout_hh_sm510_dualv); +} +``` + +The Donkey Kong driver calls it with the screen dimensions halved from the SVG file natural size: + +```cpp +void gnw_dkong_state::gnw_dkong(machine_config &config) +{ + sm510_dualv(config, 1920/2, 1266/2, 1920/2, 1266/2); +} +``` + +Relevant source [^1]. + +For a dual horizontal layout (left/right, like Mario Bros), `sm510_dualh()` creates `"screen_left"` and `"screen_right"`. +For triple horizontal (like Zelda), `sm511_tripleh()` creates left, middle, and right screens. +In each case, the CPU's LCD output is split between the screens based on which output names appear in which SVG file. + +--- +## Input Handling +
πŸ”§
+The SM5xx input system uses multiplexing. +The CPU writes a strobe pattern to the S output port using the W shift register. +The driver reads the K, BA, and B input pins in response to that strobe. +This allows more buttons than the CPU has input pins. + +### The Input Functions +`read_inputs()` scans the active input rows based on the current multiplexer mask `m_inp_mux`: + +```cpp +u8 hh_sm510_state::read_inputs(int columns, int fixed) +{ + u8 ret = 0; + + // read selected input rows + for (int i = 0; i < columns; i++) + if (BIT(m_inp_mux, i)) + ret |= m_inputs[i]->read(); + + if (fixed >= 0) + ret |= m_inputs[fixed]->read(); + + return ret; +} +``` + +`input_r()` is the callback the CPU calls when reading the K port. +It delegates to `read_inputs()` with the configured column count and fixed line: + +```cpp +u8 hh_sm510_state::input_r() +{ + return read_inputs(m_inp_lines, m_inp_fixed); +} +``` + +Relevant source [^1]. + +`update_k_line()` feeds the current input state directly to the MCU interrupt line. +This allows the CPU to wake from halt mode when a button is pressed: + +```cpp +void hh_sm510_state::update_k_line() +{ + // this is necessary because the MCU can wake up on K input activity + m_maincpu->set_input_line(0, input_r() ? ASSERT_LINE : CLEAR_LINE); +} +``` + +Relevant source [^1]. + +--- +### Input Port Definitions +Simple games like Ball use only the BA and B input pins directly. +The CPU reads them as single bits without any strobe: + +```cpp +static INPUT_PORTS_START( gnw_ball ) + PORT_START("IN.0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_CB(input_changed) PORT_NAME("Time") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Game B") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Game A") + PORT_CONFNAME( 0x08, 0x00, "Invincibility (Cheat)" ) + PORT_CONFSETTING( 0x00, DEF_STR( Off ) ) + PORT_CONFSETTING( 0x08, DEF_STR( On ) ) + + PORT_START("BA") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_CB(input_changed) PORT_16WAY + + PORT_START("B") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_CHANGED_CB(input_changed) PORT_16WAY + + PORT_START("ACL") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") +INPUT_PORTS_END +``` + +Donkey Kong uses three multiplexed strobe rows (S1, S2, S3), accessed by the CPU as `"IN.0"`, `"IN.1"`, `"IN.2"`: + +```cpp +static INPUT_PORTS_START( gnw_dkong ) + PORT_START("IN.0") // S1 + PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_CB(input_changed) // Jump + + PORT_START("IN.1") // S2 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_CB(input_changed) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_CB(input_changed) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_CB(input_changed) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_CB(input_changed) + + PORT_START("IN.2") // S3 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_CB(input_changed) PORT_NAME("Time") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Game B") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Game A") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Alarm") + + PORT_START("ACL") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") +INPUT_PORTS_END +``` + +Relevant source [^1]. + +The game code writes different values to the S port to select which row it wants to read, then reads K to get the button state for that row. +This is the same technique used in keyboard matrix scanning. + +--- +## Sound +
🎧
+Game & Watch sound is simple by modern standards. +A piezoelectric buzzer produces tones from a 1-bit or 2-bit digital output. +The SM511 and SM512 added a dedicated melody controller with a 256-byte tone ROM. + +### 1-bit Piezo (SM510 and SM5A) +The simplest configuration routes the R port directly to a `speaker_sound_device`. +`mcfg_sound_r1()` sets this up: + +```cpp +void hh_sm510_state::mcfg_sound_r1(machine_config &config) +{ + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); + + m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); +} +``` + +The callback simply writes the low bit of the R output to the speaker level: + +```cpp +void hh_sm510_state::piezo_r1_w(u8 data) +{ + // R1 to piezo (SM511 R pin is melody output) + m_speaker->level_w(data & 1); +} +``` + +Relevant source [^1]. + +The SM510 `clock_melody()` method controls tone frequency via a divider mask. +When `m_r_mask_option` is `RMASK_DIRECT`, the raw R register bits drive the speaker. +When set to a divider bit index, the divider free-runs and the CPU only gates the output on or off. +This is how the SM510 produces alarm tones without needing to toggle a bit at audio frequency. + +The SM5A complicates this slightly. +On the SM5A, the R port serves double duty for both sound and input multiplexing. +The `sm5a_common()` config overrides the default R callback with `piezo_input_w`, which handles both functions from a single write: + +```cpp +void hh_sm510_state::piezo_input_w(u8 data) +{ + // R1 to piezo, other to input mux + piezo_r1_w(data & 1); + input_w(data >> 1); +} +``` + +Relevant source [^1]. + +Bit 0 goes to the speaker, higher bits go to the input multiplexer. + +--- +### Melody ROM (SM511 and SM512) +
🎼
+The SM511 adds a dedicated 256-byte melody ROM and a hardware melody controller. +The CPU program does not need to toggle the R pin at audio frequency. +Instead, it writes a melody address via the `PRE` opcode and enables playback via `SME`. +The hardware automatically advances through the melody data and generates tones. + +##### Tone Command Format +The tone cycle table is a 64-entry [LUT](#glossary-lut) embedded in the emulator. +It maps each combination of tone command (0-15) and duty cycle index (0-3) to a tick count: + +```cpp +static const u8 lut_tone_cycles[4*16] = +{ + 0, 0, 7, 8, 8, 9, 9, 10, 11, 11, 12, 13, 14, 14, 0, 0, + 0, 0, 8, 8, 9, 9, 10, 11, 11, 12, 13, 13, 14, 15, 0, 0, + 0, 0, 8, 8, 9, 9, 10, 10, 11, 12, 12, 13, 14, 15, 0, 0, + 0, 0, 8, 9, 9, 10, 10, 11, 11, 12, 13, 14, 14, 15, 0, 0, +}; +``` + +Commands 0 and 1 are rest and stop respectively. +Commands 2-13 produce tones. +Commands 14-15 are illegal. +The OCT bit (bit 4 of the command byte) shifts the cycle count left by 1, halving the frequency - this is the octave selector. + +##### Playback and Note Advancement +The complete `clock_melody()` function runs on every divider tick: + +```cpp +void sm511_device::clock_melody() +{ + if (!m_melody_rom) + return; + + u8 cmd = m_melody_rom[m_melody_address] & 0x3f; + u8 out = 0; + + // clock duty cycle if tone is active + if ((cmd & 0xf) >= 2 && (cmd & 0xf) <= 13) + { + out = m_melody_duty_index & m_melody_rd & 1; + m_melody_duty_count++; + int index = m_melody_duty_index << 4 | (cmd & 0xf); + int shift = ~cmd >> 4 & 1; // OCT + + if (m_melody_duty_count >= (lut_tone_cycles[index] << shift)) + { + m_melody_duty_count = 0; + m_melody_duty_index = (m_melody_duty_index + 1) & 3; + } + } + else if ((cmd & 0xf) == 1) + { + // set melody stop flag + m_melody_rd |= 2; + } + + // clock time base on divider F7/F8 + if ((m_div & melody_step_mask()) == 0) + { + u8 mask = (cmd & 0x20) ? 0x1f : 0x0f; + m_melody_step_count = (m_melody_step_count + 1) & mask; + + if (m_melody_step_count == 0) + m_melody_address++; + } + + // output to R pin + if (out != m_r_out) + { + m_write_r(out); + m_r_out = out; + } +} +``` + +Relevant source [^7]. + +The duty cycle index cycles through 0-3. +The output bit is `m_melody_duty_index & m_melody_rd & 1`. +This means only when both the duty index is odd and melody is enabled does the output go high. +The result is a square-wave-like pattern whose frequency is set by how quickly the duty counter fills to the LUT threshold. + +The melody address advances whenever the lower divider bits (`melody_step_mask()`) wrap around to zero. +The duration field at bits 5-4 of the ROM byte doubles or quadruples the note length by widening the step counter mask. + +The SM511 also resets its clock divider to 4 rather than 2, halving the effective CPU instruction rate from 16384 Hz to 8192 Hz. +This is set in `device_reset()`: + +```cpp +void sm511_device::device_reset() +{ + sm510_base_device::device_reset(); + m_melody_rd &= ~1; + m_clk_div = 4; // 8kHz + notify_clock_changed(); +} +``` + +Relevant source [^7]. + +A melody ROM region in the driver provides the tune data. +The region tag `"maincpu:melody"` is how the CPU device locates it at runtime. +The verifier in `init_melody()` checks every byte and logs a warning if any byte has illegal bits set. + +--- +# References +[^1]: `src/mame/handheld/hh_sm510.cpp` - Main Game & Watch driver, ~200 games +[^2]: `src/mame/handheld/hh_sm510.h` - Driver state class definition +[^3]: `src/devices/cpu/sm510/sm510base.cpp` - SM5xx shared CPU implementation +[^4]: `src/devices/cpu/sm510/sm510base.h` - SM5xx base class and opcode declarations +[^5]: `src/devices/cpu/sm510/sm510op.cpp` - SM510 opcode handler implementations +[^6]: `src/devices/cpu/sm510/sm510.cpp` - SM510 device, ROM maps, buzzer controller +[^7]: `src/devices/cpu/sm510/sm511.cpp` - SM511/SM512 device, melody controller +[^8]: `src/devices/cpu/sm510/sm500op.cpp` - SM500 opcode handlers (shift-register display ops) +[^9]: 1986 Sharp Semiconductor Data Book (referenced in sm510base.cpp source header) +[^10]: 1990 Sharp Microcomputers Data Book (referenced in sm510base.cpp source header)

Found some more images & information on the Blockbuster Games concept; and it's companion store (in the next post), Blockbuster Music, in 'Stores of the Year 9' (1995)

It was located in Jacksonville, FL; designed by Fitch Inc. in 1994.
pic.twitter.com/TtUyUAw9r7

— Evan Collins | BLM πŸ³οΈβ€πŸŒˆ (@EvanCollins90) July 4, 2020