From 7dec0b2a3c4ad9c400c04403aebb6f01cf4fcac4 Mon Sep 17 00:00:00 2001 From: byuu Date: Sat, 12 Nov 2005 16:49:26 +0000 Subject: [PATCH] Update to bsnes v014 release. This version adds speed regulation, greatly improves PPU rendering, and increases speed by ~30% over the previous version. Changelog: - Rewrote offset-per-tile mode emulation, should be correct now. Fixes Chrono Trigger, Contra III, Tetris Attack, etc. - Fixed a bug with HDMA occuring during interrupts. Fixes Tales of Phantasia souond test screen - Updated compiler to Visual Studio 2005, and enabled profile guided optimizations - Added conditional compilation of debugging functions (faster without them) - Added conditional compilation of core classes as pointers (allowing polymorphism) or objects (allowing inlining). The latter results in a speed increase - Small fixes to BG and OAM rendering routines - Corrected sprite tile bounds wrapping - Corrected sprite rendering in hires video modes - Rewrote color add/sub routines, should be correct now. Fixes Illusion of Gaia menu, etc. - Optimized video blitting routines, will temporarilly break mixed video mode screenshots - Prevented selecting menu options via return key from being recognized as keypresses by the emulator - Added system speed regulation (60hz/NTSC or 50hz/PAL)! Many thanks to kode54, GIGO, and Richard Bannister for their assistance I disabled the debugger and polymorphism, and enabled profile guided optimizations for this build, to maximize speed. The debugger and polymorphism can be re-enabled via uncommenting the respective #defines in src/base.h and recompiling, or bsnes v0.013 can be used. I may start releasing two separate builds in the future... not sure yet. --- bsnes.cfg | 6 +- bsnes.exe | Bin 659456 -> 843776 bytes src/apu/bapu/bapu.cpp | 20 +- src/apu/bapu/bapu_exec.cpp | 20 +- src/apu/bapuskip/bapuskip.cpp | 171 ----------------- src/apu/bapuskip/bapuskip.h | 37 ---- src/base.h | 3 + src/chip/sdd1/sdd1.cpp | 4 +- src/chip/sdd1/sdd1emu.cpp | 2 +- src/chip/srtc/srtc.cpp | 6 +- src/cpu/bcpu/bcpu.cpp | 13 +- src/cpu/bcpu/bcpu_dma.cpp | 26 +-- src/cpu/bcpu/bcpu_exec.cpp | 23 ++- src/cpu/bcpu/bcpu_int.cpp | 4 +- src/cpu/bcpu/bcpu_mmio.cpp | 10 +- src/cpu/bcpu/bcpu_timing.cpp | 40 ++-- src/cpu/bcpu/bcpu_timing.h | 1 + src/cpu/cpuregs.h | 2 +- src/cpu/dcpu.cpp | 22 +-- src/dsp/bdsp/bdsp.cpp | 2 +- src/interface.h | 68 +++++-- src/lib/libconfig.cpp | 1 - src/memory/bmemory/bmemory.cpp | 8 +- src/memory/memory.cpp | 6 +- src/memory/memory.h | 6 +- src/ppu/bppu/Copy of bppu_render_addsub.cpp | 64 +++++++ src/ppu/bppu/Copy of bppu_render_line.cpp | 82 ++++++++ src/ppu/bppu/bppu.cpp | 33 +++- src/ppu/bppu/bppu.h | 1 + src/ppu/bppu/bppu_mmio.cpp | 44 ++--- src/ppu/bppu/bppu_render.cpp | 25 ++- src/ppu/bppu/bppu_render.h | 9 +- src/ppu/bppu/bppu_render_addsub.cpp | 111 +++-------- src/ppu/bppu/bppu_render_bg.cpp | 4 +- src/ppu/bppu/bppu_render_cache.cpp | 2 +- src/ppu/bppu/bppu_render_line.cpp | 94 ++++------ src/ppu/bppu/bppu_render_mode7.cpp | 40 ++-- src/ppu/bppu/bppu_render_oam.cpp | 196 ++++++++++++-------- src/ppu/ppu.cpp | 19 +- src/ppu/ppu.h | 6 +- src/sdl/Makefile | 5 +- src/sdl/Makefile.win32 | 7 +- src/sdl/bsnes.cpp | 48 +++-- src/sdl/bsnes.h | 14 +- src/sdl/clean.bat | 2 + src/sdl/render.cpp | 57 +----- src/sdl/rom.cpp | 14 +- src/sdl/sdlmain.cpp | 36 ++-- src/snes/snes.cpp | 60 +++--- src/snes/snes.h | 4 +- src/snes/snes_audio.cpp | 28 +-- src/snes/snes_audio.h | 12 +- src/snes/snes_video.cpp | 140 +++++++------- src/snes/snes_video.h | 22 +-- src/snes/snes_video_ex.cpp | 24 +-- src/win/Makefile | 10 +- src/win/bsnes.cpp | 108 ++++++----- src/win/bsnes.h | 12 +- src/win/bsnes.lnk | Bin 1267 -> 501 bytes src/win/config.cpp | 5 + src/win/dd_renderer.cpp | 59 +----- src/win/dd_renderer.h | 13 +- src/win/dd_renderer16.cpp | 79 -------- src/win/dd_renderer32.cpp | 123 ------------ src/win/ds_sound.cpp | 143 ++++++++------ src/win/ds_sound.h | 24 ++- src/win/rom.cpp | 12 +- src/win/ui.cpp | 1 - src/win/ui.h | 3 +- src/win/ui_console.cpp | 48 ++--- src/win/ui_main.cpp | 27 ++- src/win/ui_memory.cpp | 16 +- src/win/winmain.cpp | 56 +++--- 73 files changed, 1106 insertions(+), 1337 deletions(-) delete mode 100644 src/apu/bapuskip/bapuskip.cpp delete mode 100644 src/apu/bapuskip/bapuskip.h create mode 100644 src/ppu/bppu/Copy of bppu_render_addsub.cpp create mode 100644 src/ppu/bppu/Copy of bppu_render_line.cpp delete mode 100644 src/win/dd_renderer16.cpp delete mode 100644 src/win/dd_renderer32.cpp diff --git a/bsnes.cfg b/bsnes.cfg index 48be699b..78af5efa 100644 --- a/bsnes.cfg +++ b/bsnes.cfg @@ -14,7 +14,11 @@ snes.video_color_adjust_mode = 0 # Mutes SNES audio output when enabled # (default = true) -snes.mute = true +snes.mute = false + +# Regulate speed to 60hz (NTSC) / 50hz (PAL) +# (default = true) +system.regulate_speed = true # Video mode # 0 = 256x224w diff --git a/bsnes.exe b/bsnes.exe index 1fe6a58a3aca4f872b85e31736937b26368ee422..8514825d05380a4be37292cb85db80df60fb6851 100644 GIT binary patch literal 843776 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 z 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 px2$g*t+U(2hRHiY#u3}^*LE7jT* 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�RG#*+SC%z#pTue>u+Qro0s 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�T|iMgRF%uxKH{ zrlK7P_7>AAzEu=WREqd?U#;ka5Je%urlKNNL`VNtQIw|?@sYq<(E}lhLV`_2$*hRZ z3$CIlUn$~qgtek(A&NqRO+}}>P|@g+;VOy>lp;QSSS#8BrrG=Z5Ni!XCrGx z$8HD~EhN}f^euwD#dL5oDT=A^@)^n*#-X~(Nt>1<(C`$IYOV84M9Mzf6&FH#?hMlZ zAVTO47Ejyl81(}ECnuXf3Z6gkWCu(HL8d|GLOy^jhpd5Yft-L;`!xKT6aR3ph?XFp z_tWqw1gcNNe>)l6n&QEKs@roR-FH~JJ3_a(x*M)!o$sej!}nmz*rCo?`;>fm&F$hQ zm_h$w`$} zeCTd&c8A>8$4NwH?!(!wa-2)G#`@#}9RK+SZRT#z`3T{)s8xp+Ohce5*#+b-c?u z)E*$$a@_l2_~^X<&pZvOB~K5&8j`2M@LVKMjYINuHR$O+J|P8}x(+^>`nqXtx4=96 zqQ@0HJ(H5>{jIQ3IU;8m{^MfN0%b!J5egfcue>>R5H6ntR*}asIx6Iwe{ z$dJ64vd{;>V;}U^RCi0(na!q7aR}CSw~CrAb|>rA`?e&(bCKFPzJ_$D7Ha@{4w>drvat{6-0r6n)cvtVt`y98H1LOK|4av>r{Q$TC8hE*#P;vVK42K< zjO7iqh0tV6Y3TaFuQPx{Q2|6&9^c{z#b3xj&AEbg}?~L*Tpkt=99NM=@$#4!v9=JtAASbom>~ zmZl&Swq#dcWlPTj)3#L9yID13%3Wz1QyM9z!TNqqA+&S-_r^52w5Bn2W4+p#u7&3! z#&kRDP{tHMRs8>rDF%uC6Jt7vRB9O0W`GwStk+RAYp^aqh54J$0ja@Y16QCDdivF}x zc~yTZ1$Mr%xyuT(JIyA&)SVV`0{>fgy5-B7t)0z!btPrObCF6qy&~A!y+9APWdpo{ zkfZ*Owd(+ns_5FA1_6Q#2#OF9H7ItaC`b_yDIyR+h=5Wo5&7&AMMX$VLdhCHK(Nsi z+h+p{5mX=q0*Dj=8(1hRdqqDx&659p&&-{@d+%;`G5_-rcFsFz&Yd}P=1jeF0V%!R zkC4k^a|P<+=!Gyf7<(v^=4L&qG&c#c&|IM+mFDgN7S$8|x!hJ=9}1@Gh9D5i=4fmt zSaSfWY`!AG)Op)z<8aAfcsA#q3Rsi4bc zDI&rIahS>6UpMfU)M(SYOGSv95iLK6{GJ6s<+r0mh0UL?0K`QB>na3XSFbwejMqs@ zCG;i=CA$(j5+V0A3zJ{>9O}?`JP0#mYxsl+Gpr}_b!Q(XlgiK&IF3Ck#*L z>=JW>S&u9AK1cxdugHP{O)$T_8JMnrs|x@a(I7zKF67udn^Tv2TSrHct6RrKAY!zR zFPDW{MidJr5T(T`K~K0r$JVJ&C)u)$^F zIyv_Kp|+GqypD0J8yZvBS|{&;h@lgH``YdwioqV5p3DSgoqDpJ@n=E0bn;(;Tppw5 z3it#X$sMzmk(@ywF*rhz1!u0pmrUycvyJ2g05FmSK;a5Gb|d+##A_th`;@B{@&$+( z3VBCls1Ea0uzN=&12E9zK2qcl#xd_XrjyPUGm^y)dCZ-}(I8-cr9Q^0ZYw4SzDT4(7XZs$>HJupbe0L_lhh|u-#Uqz zQ9BMx5pKC_@_ddz)yyoxdIOjvXIvF;GoRmj)nC%Hm*ih&+GyW3o{C77oucJy$?I1tvi-LqI(RCP6S=Ks^N}L9o7nUDRxs1i>@`^%R%{!DIpT z6qp3TzxYunu@w6Qs@C5qMsDhbRxMPZX`}zfqW)guwf*M!B7(8~#vo!?)H0Ew?Ei(iYfH)<_qAX07QJaW8UUzxxH)%p3gE%xWv7GpXe{`s|84dQ$}@Ar@T`1OcX zMsh12Z;WIizL=qmWDY{cNJy}nrU|HxgapA!0%{{6L2!bA+DJ$cyiY)FBqRvlA)q!A z5(IA+P#Xyeg2VCaGLkl^3mQpx{Mt9OpYt*5JA7mD_Dx~CO;TkMKT&xz7$fLR?U`MP zNTst2xA76G9e=pP^SDLvK5lMhkIO}*vXJXP!X?za2>w-*gT)A$i{SerJF3>MK*(GJ zPl9^uAfT=_5(HZdsB4V`!Se*vwMK$qGXZt2ksx@ofV$R55Nsfzt~C+_YvVV3Ys;!F znb(~}Cw3B3y?X-O$6?p2KPc?l6TsJ9n!QHBBE@_hwXR6k9dI&;n76rq{VJuXmc9K$ zhE=tmww+-*XLGarNswnYge&{f-@ThFv7*6NfB%cMVUEkl(kn9Ql0_M2!4?{a=<@ z<@bKDtK2<<(6Gt#nZ2Rfyw~dTl{DlV*mbu-`$!heSJV@qt1&S>A z1o76-1M#&PNnn+08NUGvuQGe|9skx~Q^~$^0`^DVKNPvz39JMWLj_;F6jH%-uzTlr z@oo)1jnwh1Hjg2nd+TC2LEBo!egkW{1&FGT@d)X9P_<%B1Y)0S!AD`!wsH4PeF)7b zVdci|*g;&mG1*H>uxcUNG02QQen|#ngw9Y6fA@c6ZyXNV?${;#Hv_b5U-UM+pSDn_ zuEV_`V$@+nk)h1^O|ZMl?Asb=nU5fC)G~j8NL3$6P>l+uLb4e?eFRk~54uj2qPLky z(1)!QPfr2$AZOZvmWaZ(^0jaU_}U~c+C+qBm2sHOeIEi!F>A7`-nzRy z@3o98Z*n-e4j^J!#y`)6TK92a*R4BRkDI1?+(GC^n}NG{VuT)7^Mn?3{=5-QH;x6J z?c`JKp36FBLFZlKW*ceTZnXWSfRrLPBIK&KZGgBW!1dU04|?pK-dBsfI=;uLBGBqo5r!k=s*dXcg;&F|mmy1@AKsBYjW^{@8K!}VQHJ9kWf%eWP#Ml*872Ty zWtfGKs|-&83a#>{osTa2^9yYLrXa%$c`vIu}`XFnVJ#tY)x&%*KIrd6=W1+VU8_#i6(h3kU%5b~LP-U0~_W1qL^Wcup zAB_WNJpSlv@sI(0*s`(x@uJ*e>==fx zTb=#}hhQr*Fpl^c>zUElV2*>d2tzQn2J;JYqAc^#C6NyC4TRDvnI)@9vdpIsLsH=5 z@MC-@BDEaj!`nS|z>A}Nlhc}8o5-pv)l9cJ(SF-x<}-xMJbDpwrbdBJB4p;#BsdP6 zA)p=wk|0MNv1j-z zd<@P#>2K`J@Nuy-{G`ZG8U7j>4t1nSNNnxGSKyV=9uLx0hDP$Ns+FNpgfgUwT&?s9 zWGaTzKY5aRP-WN(_R!$rhmX;>{$%PQ*;|I{{|{vtB+m~Y0QoZ=hLZ>)Mj7fk%CNn! zvkc8yhF<}xdZ-Rru6j65o>jGanDKd&_XT$kn!V0*Dx8C=wZ}4Ev|s8Lp3n?!mun`f}{e_ml|P zJ;#~dCb6@-Yfi}Ye?oRcD*t60RL)vZDyJS?DnCP>RW-92D$fr${fc6T+58G3hRRQL zl%Wjlp)#DuGVBGU%5VrFR~h~RWX$Fmx54Mn_L|Epzc>bP^Fc(+yV?dHF6ou2i~*}z z0lW7jWP276mF<^Arq=T@=JC(Rym@T>vm=kqK~$2*cO|{bOzny!CPBVf(r1f64XbWR=i%rOP4(SyE2^_p-cxwo^GZVh)T+|e^$umSAaGA%>ieb zwjtJ(Y4;YCX%!GvrjHQ{FVp89q=q0}Fz&O@vE$^$l(TvGK#D%5Md;K;3Qk?*oEGK8 zMJvg&q%jAZ3Pp}C@>md+6#4g=p(6JNYxE+IL~N)5{jeEj?gL1b`38iJHS71wqr6&8TDT$D`s}I{yod5#}&z>HKSE zc;$h1AHUBwfowQ(moB+O+_B|OBw0T~uzkE_%|mFl;b#eM#0k*wIa%lNah7LOW#w5c zj}1Fs*8Kt2$wXBrcoX+^+>ANQ`(~!U4LTlmKo{FcAaF>x&+TdxsVT|C;AM&|_za|# zhX2adL0xMd!qHFT9w(g2Ue4VJd-?kky8}EyqQXw&jzFZpWVSY;K|vp~J3K;udtL0v zFJD?ie&^k$@_Q}fkl$%S;!yEbpmkpH9?!(f#s8_J$-$aaB@JFWZ7veUG58DGK%$xP z>l0`hG!geUxOAP^0zYjUTA6DL{5X-Q-AV$8h%W09{Wi2v0|^w`}{wS9DfKRMvnW53{@R- z$*$kK#||G;+dgcSgw+n;pgV|%?eJ|xbX;y~4H%=ksTUB5>sRCypLa`?*(olL{I;Y% ziLljr3rvC9a;Wv&ic@IF$!A&55Zn}g`n4%4MW23^RTnUxZQTz>@ss{(uOes{exZa_ z;g?7_tng%wtMJc*F>2wbAX3@ON_j+>cPsZoLvE#K(Ct_Zej<~!$6KzcF!c5~ODYDh zPqTQ=J)$uW40s#!pj;lr(2cn#h=`5Zv>8b8ixg!+4Ur)9O8&hQL$BngBw#ad;`wYD zWe?-jhrE-26rs3Q=sH4f)R*#4MWoW)!aRN6q>q96A>?$lbH?C;iR%D{vU#N=o1vQn z9?Q3L`5{7a<+3@%M$Kg{lclE+GD~;&P#JPa@)m^5(j5sdo{bbxFWr$KI9NcvbVq_< zKLPd99SMRx1=LG-BnWmEP%qt)AlOzwy>v%{;6?a#E!{Pqz+6_z?7o`pHM^x4X&bY9 z2}De@dt9U_vm1*9an;Z!Fh*#BYNdBEB9$HefhnS#Tl&&KyAkr2JgmnT{eyk)h8_I? z&|amUh3Rlyd02o!X4E|7BU0s|9;d0{tKJqO<9fv2${w-SJR%b_x{x6v|Jo1{3K=2@ zn!-o{Z9~-HU;%AI)L=gWZ9~*xPXTR1)L>@;Z9~*xTLEoD)Zj(sB7f;5!7`VUOJJL)D>8(j*#2R559;OyO0bc%(h?(*VeHQ zZI%~!wbfAMYHig55kp(|iVUT#FV5ovl|C3(yb^=Szkn$H)rF{V{hdVNC6jbx#~ppQ zLxKMf1GaC_lelf*`tFW7>Oc@NO0_^_s8XFl_RxThsqHaKPYH*OQ$_%CP0-5ja!=3} z_lk3Z)(X-hxG^>1JQ0z4Aa#ReM9qY=Lhuj-%}ltr5K(8s)_I7JYlL+<7^7y2+EO+C zO%FRX09c!8d}rTZ@NiF{?1}^Htp^b{htWwSt+&Pqrd=QjV7CdTJs=5S*@9^YNCMb! z!L4C4O9MDDQS7CkgJ?K zM6e!h{L5L=9r7@dVHWXriCpbUHiL+f;d2}ro)30CJ824I(TAuT&~DU@Z9=9AVS~oG6bN~UjQMO{$>EGsw=(#BR+S9^HHY4$AgHW zzXRh#72X%@aq91Ou*RXk?qG{Yf2WYot-qQ8mHyfxPY-$Z$443coev_0 z{$3Ut%IR0kj$40CAUO{G9fHJo^tXk4Zv8DMXigHgcn4i;86c(7&k%B{bQhqis`Tk` zUX|W9!=cg*r3tGMlhdnN)dArZ+d9Ts=vQoiGJAgYz~NHbNlbJoc%zS#knZ*UOS9?*rg3;u z+%+|!|B}RD&E;_K6%YZg6*!?jZ0PW^$@AGkOrD>O|It0n#j#p@IW4dh)wJn&dzF4K zLayPp1t>TMl7PH%Av>xKqxPAo!x9y?LieYM{G^`ed0zqw7F4j> z2G!LIx&7I7B?Zr4hO(_@5_gZ+5--(O)s`|J@Y>R2PdUb9lR?C=r8JSDY-upqmGLh? z$W@Ooh+t=bcI*?0`S*J>JV)f}{;UW@j0_JI87jj=!5(VBcfEybycUouLk>dj9ds^S za$t!qjI-wI7cpvPsY%1gC*(zpKL-g}Py_K+Z(wS@Fu^+fG&So~z_E`&=8g3#pd+4P z9O^|NVklsU$WRJM1bb*hwFxL|3bLsba6U*^CAKDiz_}sozERB=rqU*FLZv@GX-lkz zNS8$GafeopajSXyeO_&pE^}z(Ef5j4p|-;_CB4$b6tIRg@hT|m>*aR7-v{Z+_Zord zW$bAn{EY7%K3p3Jr^PY}x2{$O;zulIl{JG4 zS3%oEo^CH|K~$ok3naZ#(34=5vCEir8TXB8VBC0S@@U-Gx6N7smWX|Bmt=K(pKM#L zIbaL#b93t3Jp~Q{mM2&9S@)2~?r*z@{H@k7fZ^8X+&b^gB&IiBv>29mDIjIbeGzii z;2?oqHP~8eP&d*RsKGe5%Tsc^n*QV~hbe9VQHiG4j$wMG>3Lv{zFqzXVnfAz|8*2| zJ|I=hw-9m_vqboVi=IW#$O~KD9ZBskjm_pX7kh2nU)gI@#K2z9783Sa2efu(9(#T6 zZrfge_`+eY$DqNod%PO_Nn~kT-3y`;4dzRFrNI)ghII7AYtYeVKuSmZ5OV40dy3{J zv42|4lMp*m&DsBHXy63ExhwSU_3yxQS2*YFav4%W`9xwqYX{=(wb4%yb{*I4InurI z@V|7_cs$2--+{CUlYF&^`xGKo5kEr6tZqKj7%#ue+`iO$3SqOpNg}D#nkAT?+mirR zESR3#lK?hRFg>>?0c?U`dTvhw*jT~z+@1umy9Cp7dlJA#e5a-7oc07;dd(ykvmrCpD#%0Kf{BId>E zqqsIeWhNaQ#s(MCG--p@9I0act{w@luul_En;;2-lLXW@NP^%50ksj5Ab6jE+6qY! zyhA{3h9n5yETFbS5(J0i*JX(J^Y#OM27l~#n3II>M%)7^u8O-Aj8QADFCvw$g8MOn zvv-#MwcY34?zQ`U`zTr4{U;z|+I>5bqU`=TCJ5R6M<8vxUyE>DDhPrxstPtDQmJ4f zlu;GiW!~bn-RH>~!FHz-=PUb5Os?KS$Qbcj)|VLZy9gOKN`hwerhwXrNf3NlKyAb% z2tF&IHewP4pAt|TF$sb*1=L1Nf?z;EZNwx9=Hu68#C0X}RrRLl-0HQeDxD-=jjKPRC*2w|0!Z8EEz*@b+(Gu>+YjJmg z#rsZ+a+20Hh_qi>p)=&V23}b?&OGZvgp9q+LD`hO6eDEpg#>G?P(W=jBnUnvptcth z1akz`_CkW-Z31e0Awlpa0kyr5Ab6dC+FnQy9Ee|+y%bMkYri(5e!J~O=$`!3u0Uz* z_TCm@9eHd$9Yt9+M3Op2vb)Gr<<$@!SC#vwR8r;pAVpRA6tL+Doifc+|% zZWAPc9S}@62@=4*5lpuT62QI`Og9J;z&^o`t3BL;vV@P+JV(#YhLf=`QgYl4=sY*} z>5UXDJ+rw@=|PdKM{2i&h}ow;DpFLR+5rjd<>;5@!)UqyP)g5|sIcYe#oxJ0@o(l? zbt9DG=srr;rT7s<%u;N;fjL*Dcn=BUvbRRxRAO&`Ly9W;b`)K2QhtECRD(Y2Qv_9f zFNiU&xuykJhIc-Mj17{Yb37~-tBsHZ!Jh@xR!D+iP(W>lBna*nP}?C1f}aVf4Uq)F ztpaLGBtdXJeqE;cB8q7i2LI&-ai8lU)^#!`fXiUbdh&P>5f@#IIR|Ts3{`=B!5;En zP3OW8ZwI8bosW>KLns1N)iM-~^p;_a$kk?eGl&>v=q55$8QOq7REBGxMj5gIsWRM( zkgE*$gz=wC{uPG*Q-n+hVm>4AX-Cz8oVP+ckoAgGmv^58ELtaW*>JlP`Q!bnE3V%N zui}0bxmt0%LBvp8ZIPiAw*>4V#hv~X6tNbNQru32T#DNxkgLc2W~H6t)(;)yrj1+e zaZ@Qmrg4&B^H?UJZk!|tE)h^SP7(xP5>Piz5(F0ts2e8vj8z%{Zj|!+8CkcX6 z@at-v8#XeRdhYe_jwrt|j7>hgllV-;>gw4DBBp!2Rivm2dXfoNeumWgJmVnwiNDzEPKy4i)2(o0kE3|cxAUIAyZ5<>C zj=`_XI#M<`tm9v=_dI&7*FYXzN6FeiZU+(5KzfN3Wgs1pz#jYEw3*?s+RR6ET(vn4 zj8SWII3l$(g=V}naE_lMPP;tol{Z0Bq=lT`<_UKoWUQnn9E$GX#kFWF@qu7H9hSpSG$AP;8x+ZJ9rJQ$FIvuJ}l?lE83^=PFM$r zs=sho@)&$=3IL_oMhHbuc!wk5cqSZX65fN5^BWEqv{C)k(zVi0H5C#Qo##O-+epA+ z*znh_p1Q{FqaFrV^lYpV8Ev?k9y~M)*?1Fx%Kv(a>LODy^L>f?kvFp$=eV=545v0d z@34kOC$|nZot*VJSoxC8rJ-d2$Jv&iIBOVj_cHWFGOGo6^gA}+>33|7vziigT}UQp z;v6^3;~kq5tV1|^sqIxAl(Y5%37-qP_tU>-8ndgpc_tL~p*h022O(Fd8U$3;5mlRO zjLyul!R;bfJCXq^GAa7-i5xKfDZUzyfGHw%NL*9zp))^*(@ zx9};WD{bLL1C4^LVPLJiUcbB9nbYypk<;yfR8E5kxpMjwpsKc~;MFFFrag_98yj^M z-UT8?6)qAPstUV+z4B7_2S=zr9-oF%UIs{&@@j-!r5q}dt3H1Fe<=Eo1H46lhZic^ z@8Z7#2D;+NpHwO5^R1|m-AXVUH2)PQp3Q$$6wQhv6v1&}&T7!sD zwoU!1A62$$U=NjHUopyXG9Xok76`e@(3X&1sasg$8Ld4HD6Y}kV_=LrS{sWBS@eI9HfquLAW{{*3`)Sd ze|_C~o89i_c#h(@5+O6tJRh1;1I-N4nI348;6O87Kt0eTL9o7ndZ0;yV48q>ph<#Y zvVeM^NrK>C@9_D0ph<$@?*i(9CJBN+;MXlb^mHW6$!4YaMZxx}roC!$PM|*@^&E<084?czS_};5rkNqg-@sio=+0z@R-UW{c zwSEvW3cRIHsKC|0UU`8}kOJ5jbCgX%fs+8K0yjj+Rp3(q;Z2wk$Ra9!NlI`x4yg^B zJn1?BI0;ty!%ho(*dRX4ZyuK6eb_mGTCB1z!%yzbjsCW%imc#{O+Fu$4L$IwIydrO zP701|_kASFp|mE8s7OveanjZ-n=Lp;FPkA2`!0_vQZJhUD_46j-q#tcUuDlpet(u) zuI&4Z?I9>+R@Y5N!OsGuwA@ji683)j6@Y@>aH1Y}SooJtG}^}N;dkOt-|)#3S@L0J zgMueP8H$NWrjt2%ML+}u|9&u%pfke-U5(EnM-%i{kqCft-+-uL!;vS41$>1=a<&DO zWd-kqAjP6{6k>&dB@l(!@F|=<@{_wI@p3>Rx6Sl4^ukF{)))XvSyK=Sp34I99DU_t z{&a}3CPK{jMoa}ll_zeuHI#=}nD}e}Di4<-6n=4uy8wSXo_q%r|6rb+uth$Lb|rrB zz4u(JHv-|G4|EF~>Bz}x6qadna*IT%A(olcUV;t1$|X+amY>$|){J=1%QG9oQDs4(P1>x{bts+%hehrxF(Ib2!vRx0mEl&Yk<#oGV1gSNKnFS~o zpQa4sQ;7;w-dBLknr$a!^Ix4l{IiF5fYS(<#F|yP+8|;MaNZUvYJl^_JnrP~!m_QL z%BY3(_QGuiqU<5ykwpyCXPS?w)C6l>L%<|3MjZ!zhlePo{ko9l(5GNqAx&kcVCzdh z)za_@5)R8-T|jZ=jfIGsw;xU3-bUV3E>A)NGZssK*51{thmhGgAi>d4O#$^-j0C|% z0rgmn1i_=vFu5L!ks$c1fO;%Og5dW8>aiFJf_nwjV=)p0cjDL8ChtXos&0h$cB5c5 zI9VZ9{7n&Ao_Jb$Ax) z(7QAo|54T;B*l3g@O`pII1c!n$;>*0j6r2AunnpaLdKv-uuAI*s11q)!I}bUgCapN zQ9x}_BnTcA+tmg|g5a+LYJ(y{@OuHZL6IQ17r!op%8<;9DfkQiwO4D_)oW0_-f$RH zM-VX$>g&rXMHy6WNv(a!C(9_RgBtHu7Z28jgngoZDdKJGYrB-;FzY)DvRsGkzq!bL z$bNB2oF>X|*hMwb-H6o3YR<(|ZAaWx!phlQDB-XSo&zYZ=8*x$sL!sBNYy+#AY?3Z z-P^WBzK@WxND{P(w*}M|NrK?30&0sSLGU>NwMCL3I9EVzkt7H{CZM)R5(J9{)D}sC zU?F~87WpJpSalaSvoi&UySQ^+qh#&knt+IDk-bHVvdAA_W!0K~_9UdYtGBj)ms;gQLFcNJYQ9B8&q#qyx&nsiqrdTA!`KhS7I{rIYP$PK11Qv(#B?l zjIEJiZI=tEZH)xM6#{BoBSCPffZEnb5PVHQZEGY5J};oQH4+5p38-z21i{((b=lg* z%zPDJx;*PLh;<#3Idmf@sM^xL2N7eY|7}OgPRVs3I8Q%gCql^iTG8Tfp@-jXK4pYX1V^PL@AgYXy zBNSf71u^Bl;gt70^X24 zovpqPWt<5_mGMP{!gaP7h`*$7J$;=I-7Qeid6@2X@EH3b~C5}A!m(JlzgL-v832O|!A7E}g?z*YHP*7M*nO1|!1lzA2qrR0|o3NP~# zLAuDS%k2Bj|CMYmaNr45e`9~%rCyVJ_a=wQy#^wN$qf-1$`wrjyDC{ZLg6LbEONyq z{Oj*M{I9Jyzsp3fb}O%dh>_p_iVT(Chrn*?rgRMIW-bs_f;SKfFTrvkRdtN#Mkv8M zB3GB-We_n+5Ns1_^?q!>9kv5-+@VE@PEr~u8+e8YdT8T1MHPAuU-lcQ-c+EqXwG;Q8ma9 z%!L>K3Lx+W!|;PI=H*%=5g0Z!ux@z%nq+I_56qi56s@BE)DgVOp&ad1JQw0!*FZTC ze&7oZq>mz%19=cwGzYS_we3K%z!k3cW8XXY^kQ$bxLV|Dqv{SKhT3O}4Am?eg1vIJ zHwA}L`{cWz_TzvkwV#eqxZ2MFQq?m4*4kUfJ>POPrpvekM2s@NE;3XZp96dJLnP&h zjdh6Rb?|r&k<29+&modAlG=HQWH=GC=iKs6DD^*plu~mM(n?ihN4(GqsH$3>+sdoe zyG5?n>P;YGXmzm2P+Gkh?9sKFh1ghH?F1f=R?jCGk5*G8wNtA<<4nF%VFuz{Dm({J zRaH2orB{V#iCnG1bPzFAc!J1KD*O={)|0iSSh=X|QnWNkj-gN9o%SsxnyqI0va_v5 zFA0$1(n~6{tZr?@L>~T|; zQiNP(Sp#TTV2il;j^BA)yp#_<{`fn=hJj;v*^b>8_mX^tcY$~9c9iW#5HZSD-BGsI zVE4}5IfBIrg0wg;&T0z*k&d{W3S2det_Zo5)(epH7WGEju(Z0!ZEfYr~jwW0U`@@+ymZ!Fd z1LeV)xNT^-b;&vlRXp#@$nD6?nY|h8|3v1*5+?8jM z&tLEf7$Yn+sVhpCAyO3~6PN4h)y%&E+Bc~FB4L$_g!?_Y_zTgl+f;MX-OH`dO^7qA zTOloKR^LRV$||?mtJ>CwpU1L=RZL9EaJL=fJ zEh6`VY(ZMv2wKYZhhawWA);OCKiJ5v{@-9caaqa&NQ z^~xs+g0ltGE1x6?P8CqEe3BqI5x=e;;b$0QsAP}bgpw89XAk+GK*+_v01&#>aU3|{ z(1-cTR_a(xQHMWhr)&t)mGTrol`pB>3XV`-YA`Q@0jVmu-77ICro`1@5=(A`#Mh0) zHC~Aug+JKjHGJ6SxYv~uufx#y=b&f=X- zfxW<|iZ?=1gdG{WSs-QO6Ru~?h1vM}>*BQWQZPof@kNMKIrwcv$ekn&^E~dKcprDD zvd8T-k86g_1z*vIqJD&4{hx*we6@^Nmx}zwUHj} zY(#Wi4rdJ*qgKWXh*XuacDR~wwS%+sde+t8i|JYa3ntI-=5c`9-MUMs;WBWTYsZ%g z5#0^XM!ekxQMAiMX999{LHFQ_)9?>oeGNm1OLaFxT2$3tiAbfo+l-0b3(Pp?GH6se z=4A*O$4r8*afyK1F_R$pl7QMVlOVWIK<$`G5PU*F?U+drd{jW~m`M2)PL70O!X9(e}tBG_#W^=rnNKqD?Dq-bL zCaN)G5}>#?C;u8($zkZP5vi)7=LBX{F3USzo~H7DBElMOgrLcNZ6TuP{znKd58qBb z2q>-`|5RCyx0xIt9MAlSH>tuAh|^9-Rl24(+s0C|p5Ckl5pjBB-bTZi|BKToMR}!J zOhB*XpSBJ`+Y;Ut7-zj0@g4}H%h!d7uFGj6MOnh52)oWiY^~#NqJvSFacTMQ5gjDfU7F4kSkTR#Y5pt>GJ>d_2(n~5Syu8Q0uG?4g8eZO~@B~xdsUTvM zx0a*4!@*wpK2$%+zx@tN#UPZoBOq1YEQDg4)}MHb+xu=v!I8h@(@iz6l8wC_MXK}U z2a!SzV7cfiOKEmv4E~^w5a8QQ+eEG&CH%|#bpC1NHK27OR~yiB5HS?GTx2K%3V^+G z19}P^Ap?4CAQU)0U=KEctVkbyJpo@H4~`W{vsLE0 z>C9p5)D*JJdg(rXbm7b@e5kztN#45p=o>72+l_qF0oG70G`|{I zdk2uJg-r;#YGJGJ2mLtZkHr>`MjP(Ks=W^?f9;^M>Q)32gYy+xaNoChKvQ7as;z7Q z@Q{8$#wQ%(UGbMU^s1wp$kV2K1Z&%ss3S?zD|KuJt15c~$z<5-N4hhU|FWIUKGB=m zCbcl&vFolbh=`drWAR{rk)blYx277mM!p#$3BqD*+gU$Af@d3aCqdUXXige1_stMX zz^D|)oVbj|638`#crKNtiQKAr z!NU!_weug5t4(Pbh#0l=mdH@Ga{<`(T1it`HtEFA(#ZHrlcB&6pV^kG)SkDAo z_$LVbg}em8@fiZ#*ip@@sLooI=|t$WQ{NLb`~K}R(H4ILr0Opfl3n%Z2V`31zcl#g z>U&k%sfNSgTY`w8(vc!VsWchvp*7y-psXRr2HSvim7yJ=s+M8T@!m2_XyO=c+zlc| z8Rm)%RffyK9{udXjfjn53080Lcp7axg04o}>l9$_Mq3Yzs?wPgm%_RUR23WT46w!1X!&6QPoo_OP*oN`UEr!Le&N8=3D-Z_PBE?@jbC3@+U;t4 zhTR?^v)o96bKF(}>KQf(g69gTXV@eNW(cTf*dz$13)m$EzQ|udf?$0C^$eQ?!88H& z44VYOWc<3y_IYO2Tke^4ytYxN59MmxNCFYVHum{Lwy~o(*trB6zQygxSxN+ zV|IByM97pU<#D?_f6gJS%R_<^e-lubhXla`0_yURAh=IJT^5kKY`OYI>Q7 zR0j7r%J}b_-%!Yjr}?!cpL>|r1Ylf6c@T_Ii!uz6swlV5(&krepy>!1^Q%Ftl;%_c zPGf!~XaI)<)aFNm;7>-U!>H>}33rJ}!fRIaLGXP;hWifta$@xu1FH>}) z^&SFPpXqaPWV1Scr$oOVp!1!?g)B5eEU*nb|Idmny+~huGFGiegR!cOa7s0=u71Ga z)${>hgNUK4D@2CU)nc$mpI3c^*cgL#YdLs4^QspKy5?1mJ-qKK@a;djCUb(Mw)gP( zVZqTrR8`GG$W>L(k^NAx45!*7t);cc*xoFZWMLjB3u^=SDKqbdSeSV?MHXCwco>!7?s6g?q^_&r=ML+K6gL+ z6hKuuA0p(cob7!COHAja6>Kg$Bt;3V*x3N#WMX3TRxlxsOp>f1CvlE zuFd@8^3WmLoB0VKVs7U9MT)AGt-0u7^=*6=1q{=I%vCHWL0(+@zxBWvVKkz4+W){q zlxFtlM;%xd`*v4UiZi?Q^x=CoiT2lOwz9%~c!>K2@zDC0y`A3N`V7wt zRrtUPNnGYA=~>>Arc!pbKxTV~J72tOON5$WPm#}{~5RCTO0>bU=5 zYFr)DeyKfdXf1Qjk9qAfJYOMXHp<_I{?usgWrWN|ISG!Jo)u7!)<_V1Nf?z;EJz66{Fke7DS|dU5K>_t>jRe7a@ax(rZ^z76afxSy&+CXb?{J)|D+Lk5 z5v7X^W%4t?9=)S@6R|OTkM%ToJRL<5!FW1~k&@ckQCtN?wU1ncT)t=$*$)MuL?4Wf zqN>U~9v|#>?-dtpb13sZ5HXawT=25St>vXOTJTRdL9A^F^1Jqe)F zWGjSRnrsKCs`}ghw^x6iw>$LL3PcS3O%oYPe<@&(Q-2v?jYEHbQ!k(7;f}n2;4gi? z@p#E1hCQ2mLhxO{jMB#P?8d258y%Bk4ijj~n{h}@;^ ztC-;P4N$#O8sr4FN2{%UdUTm&eS=(wYD*{HBBjKc#`oE0`==cNZ5Q)LJMP#%jvZI{}uphk6K^-i!qMlbQnR-i!pnL;-bgMuOl` z$Pe9e27=(P0_xt31i|kG)V&!Af_nwjy%`CDJMru4%{npjRqV}X9Pv7k56@yRsfX1o zLBwz%eME+`^yy#^wb&b5p~b!qNa=kILar9O5l~gju=%jJ4E35j%8&vgMj47khAP7+ zXI8e4eF(8J{GPQNJf0qTGeK96eBIf=+*@MLfl(=pIdLiMOF&gs*xW;2h3#$TP}s*H zVkm5|$WRJ<9_-PFFzXN-OJR$_<5Ac=fJzTr5OV3^6F^nf!(#`%dYCEtwbw^L#Lz=O zk)iaE1$OG872KcK2aiQ;@oe$Id)2h!F-|M;zN7!Oy2D28jdOevRW{BCA%#-FB!pZF zmIO752u%uhPz|?EtbmexML>%&IcQX9*W_8RbIB(67is9DUvz(`EKDZDq^W;VL z36mBGx#YJ66l%#&l7Eunf7;9cEFi~b__N^u;(1$s8;~yfmjSALQhUiW&Kxvk4l)2K zjkHC`C9xAAvq)j?J6^m^EmCA6e^{hgs7SRI*ItStixl4bj!*ne65>$Xi7Z-R(izZj zcDqRzZWvwS8fVBYzdA{5FfOE~w!QYo*CFeeb{U!30>_DIT*-7jDB^&%Dt6G-6XrJ9s=QEF~C^3Llr$P8H?@Q7SA!$fd#+fGR)n zdz1prM5y*T@Gtv~L?1NeIq_T7D!KnBZagk}5HYHxwa8FaG8F9IKCu93tg5&T zJmL08SxTAH5OOJVHlV5&e%$}Oh3^7=n5gDrR)l6OWM#z=ns{sW+xEo&g z)SEd?l$XMuLeQQ&O$)&@5HxSu6bj)y4H5oI+f5Qb1-%1KH)eydrsFg8xhphsJ&^%G zTq~vVlF_Gh!kaj&ohB~UGj4TZOhsu zuzp=~GYDf_r9wovt%VY=E$JB$*3w&;TqE;{+y^ACY5NRtM>U%qMC#AbkHEM(P}a=1 zo1+e%0rff*ekHUxj)jifAXWSKefk@8wXACd6t|7Fe!Z%3IY8Yg??%v8U3Lh*1wo^@ zYlVoexb_mS)zkrmb+*`AS5bsHo>@C5;N8zez+zJR(7k{~!oK-~sO5S%8UZi6HUP7+YJ zK@tQf;Mdg#$DydUlcRm+kaNGmmV$m;) zWe57!^A3Y^`-#xpC_+ER5obJe&#lbl9FEz|J0nTK0M7NP9c|o^&}S7q$vKc#)o$$V z{oZbD_Zu))dvRwwh#1}2T_QtykwsvSKCD`c*jRn}YvAz=tDYtp&#>wqN$ng~4FeKm zX2vvT;cRCRG4y`qTgp&+uLt(%dT)u? zSb9$fk4Nt{3C5%MJxiF{srL_oRIc|8Ok?yuv?=ty6p+&UMuc2?-z*U4xb|CRm=iyT zo4(DAelW5t#}2+)t!DIZAr>?GEs88?i+F1RuyS>}#%d0rs#SUSH{Pn8D!I~CnFk_9 zRh}<0R8{r|d#uVTq3Yt;GRcH2T`lUp3hN=Htb9$S4bzxvSbJ44%ooH+%I5rzQjnD?!SRJs4_q^hr}cHZM{FjqHltSxs3 z5u?HUy*uRl8j?MQ8$9Ov!#=BN+k)t%5)tEBFG+PtVacMRQj8QfFU42`# z3D9hWqw;#~HwUp|9`Dor`KPg9b|Ei7Ses6BL>kj+EJRe(5lNO$1gTPfjfc2O`8VG^QSW*feY|iu+;K^z*`2a%ZOfLxz=k69z4<<cJ!lf>#Qt2a_ZScEPX9=UtBig_a;AjP%mqfh&5vcEknGWhGqj z{PTK>=!0A1W!=;)cs`rrSn!5JfuaAQU~@h%!fUR#JucBxLVs1c+bVli^MOOa~7tP3zbx(=*$-2oB&)E+%G5xII1>|egBd-OA}J)9tN^|-qR zh#2;;RAeZ7*ts}%jh{yS$1(2y46?$<-9ae2@^SYnrZH{ms^d|&uL4qayBZ-^-EJWN z`usiq+#@yoQ242Mt2v_HVpLlb)dwNZj$ZAaAyEb7AJWYhbq7Ko{yh+a0r^>PE3>K~nHX%O z$b!ot%{m~@k-@ulJ^;-8b_%4%*iHD9OOQ>at*e+}87Dhtiq@pcM(m#t3*~uhT}WFG zKuP-&p>W+f=Oe?0hZ4?V!rlN>!s{hUO<2u#XUcWq(~y>LsZuurj#6g`iD^hp(9xzL z^LN+{>APzy%Ues4p;Yu|9pvpa04i^nNR--fmUZL=tD``!?EVjhuWFB(`LVa9zV?X2 zb1wuDqot;a4AoNa277eRJrl99Joh;8cs%!Lg7J9n&XU^cxz7cn^g03|S3|uSP*qh} zdxuwrh4^l;>HNlmh@rv_+e4jSPq0T<;b_FhQsDsbcvRS#U_2^pD5;$)Oah`!6Csxh zI|8bz3P0H9RbijW4i$C=5krL&MTWA%dSKVP3r*o`EBhY7MPQAgPk9R(Y+=0y!9OP1 zdN~8pF1?%wNGa`cuhQld(r5MmPDAS-(a4@`<{)Ht(|$SGo_y^`$n2((;PmHf0rljI z1i?=Q)RQj~1h)vNCtoB8t`ksCzDN*UDWINwksw$ipq_k@Aox0dT`T$9I7zGW4%)k0 zDOiRex%Ls>gC|h39zIwgV(y^jh!kZI?;wHwX39%kFbID$CGo^KU&Z(naw1Hn)tf0_ zAyU=&eW*j{l0ZMmx3`|Ikg%H7*YIW~Gv2IR3C5^dIS-L4E5)c06&ei87}jdqo1B(? zN9;{+5s_fkE*4N5772nc3aAZ>1i=LYYQrKy@NogPVUZv>T|jMEBnVCxP#YErg1Pv0 z8P-zhHh9AT&L+)?sU)01s&nvYXd;<(4~8ROZ;mj)IO8dqW}hYkCUN@)&%rlBKKcX4 z@bt@w5A?-BzHwmm3{Ps#i~x3-1(AHa<`ygvD-GX@kkRlv*hWwqehnehbV;y`&kLwE zOoHG%0kwun5S%Tb)-VZzQw7u-CP8qbfLg;O2#yy}YnTMVd-3bi@P>WNr8K%KY<~MT zQE+(EeHjaars>WD5wqzo|BzBt)4h$$iTb6oZroN0Z@MLjj%y=zF&Lw^mzjuEb=VGd zsQZg@fFYlc4Q1;aAb1z^OZ?bbn#b*d@GLdMB5GV&It7eTvy_NPm8G7j8L_kr4AcT4 zV`&>{fYO#r#Q=3%Cc(O1CZM)75(JkBs4a~I!IuQomPUf$LIJgKNgT3;i-wTdV(K{xg=r;gTMIVchtLPI1auxkhHD*y}&Hh5Od{g?InsHWxwlL#- zLy>Cv=2xUBk9PGy^KyIIxe08QuV$PG;i3GGPelHc0jd0-B=r<_+_@>Bsv2mp+*?cj z4;&->L=Z7*X_3fKwX}UhWs{`e5gTJrZ+!_K&m?Ih!FVP~&q!+LB&nE)StDwm0Ifa& zNNM#ogj`nfHlXF=wbwCa_-awmvsxsJNWl?-^?7@Iek>v#@zvlW5^u>m&sPm6tFXG{ z!}1c|(!=tSe`*ngp643@FPe+c5)3%-gL@o0SuZhA#RcD!)_SY6#X3iIHUkl(IzL`R z8LB!DmRDAtCqh`P>hyufQ=R{V*tn{5Eg8ekNGt}T>h2qaTy=LqAXkfCF;UjOI!;1s z;fFdqBY?HA?)dSHD6;^DH&W+y-TMoj4fM-@4p&$^0IBR)2tn-6cp4s)X#IvjxO{vq zba=M?<=~t%<!lm0^L{+!K{aHiI#AVuBB}>Lbgl%*>B#u(a9v zFn<9Wy-)Ptdqac=nwwqm(0d&ZZ3^Z=@bkydB3|jjT;Oow8st4s zR;A6S*H$<`y|&^k7y~}Nb`}_;4s6p9X^)=oiC5wSl}Wq~kxGGIueC#u0BbXq2O@Dz z>N=owwSo24aR{5q7>T6yR&~Mj2$=*hpI~}`Oaj=Ea;DYeV-moA6-*D0NdP+_m>wOI z0QQYwdT>kv*q8WmRrl{@fF?OT3oQP!5w6z!#%=|5YCodE8EVT*{Hs(npsnmK%Fm0YBfZZ#YHct}3?hs6yCkbGq1k>h80@z5w zw0V*MHbgLOo+N+`z>mv32O!@b^K6DY>pkFFUP90NyZ?vR(zqkJTir_kwIU0aA(8bV zFlDdSOQ2!u?*Y++lemrZk@vjD`CpNvjdL!DN{sU=Nv{SXcZ1dRNH-ipk2C{_vX&PR z3OCo+fmD6XDH6aI3Z|PB31CkO zrkfNAU^DUKYEoU0?W)_*NWxlI8VH;Hf zv94vX3vlqjEQ6f}BBGBpW6EHL$WYet+v}B0*y=-AtO?uSkl>lH9U$nMe<$Oti077t z)nKfAmF7K)GV}4re}S)f36L_t6$rWJbZg09n!nrM-afKXS}pKV_>m2ngqMy8ls4lW zyn~v8WAg3GE0sAo*qw9m1rUjt5txKOh9G8b%#=*RS29q=I-T{lw@!P%>ZsFBAY#;M zrpQorS{LlmH=bJ{HddWB29KvsYY=qRX%iIRQ>VLMiB+dN!4ay{H9w(F*8x&>`UOI+ zI^8D{ug*x#F5Fh0;49Dl*_Yr;$X=KG4SsPQz?A9VA>c3hASY!RCN93>>E8hE-!E`g zMq0nj;AsF?r{W~!5DdWcg9-VEtNSNeSh%jpC|vQM?!MsB;}d)X1_p;MMh$-iJZJ$3 z-iA|C?eWs)N+5{sgxG<>7O#WnRr0I_Pi}`iTnd+vvwgt8$tN=yY$RO$wjHh*7~J>~ z3YJISC&>GLtJ4y}`vPSBPANAtW&&cC9li=FH+|0mR?g%=adYsstDW4t7j9{~x1xd% zFGGTX!3QYtLMH2hWP!)dCF5fk;(!0cCjkcIlfu}KjMd3_iafbBpX@K-ceR7F@pc}I z6~qPFNN@|Y@&&@9Bo{CH6MWXwAOq88_3P#P$g+MjaK0)3g z7ZJ#y9Io!rS`pQei}I99NtCA$^HG#lD3aQew(gltscjf8PiaR^>tRIab~u%gzwoSQ z&@}}bv;dWzzdFHc3i_R&A=kRQ_-Mttl=g^71i3Dy6GAMubsr+K^E#x1{@I7LXCvS* zY=o%X4owjTA>S&OM?k^t@w}EBvh$9fkm#RPTAWsV0t9AHsm*j&V?-|diDGYj2>R`s z(VRud?57le=uJeBCAY&6kzCLjtP5^IxP7X>AQeP=tk-afdEuP^TW(v%EFStLP((O^BG>4nvi+_j^fD)boDc0wOwnpnsbSiFPEWN!2;TUgppxRa!*MCf@P1J2YjyUBRa`Ae$ zw3Ui&fz~(TfyhD=KKDJtvQl#S8bGWU+yphhO9x>MMJTt!2MQ*UUzT7E5b!$%k|5Yi zz(h1<2p~c5asittkOaYY0$!>>5(MRIryT|M)=*W2k0T)S z{*shTV51WYfS;Qrb!S?6i{oL1i_}%?dx2EFh zp+)%tuExs)Shs>Bj86`TJX>MQyn$uZRDTVRjs{Sl|?^F~vjF7Lm}u#_QW>hl{A z%KPsWSbKjG^a|Sq)b&Y%;0FTg`XoVcwSc-lNf2Bvpsr661m6%)*Cz>r{}oWz=Xv)j zuo-^KQ`ER+(X~!(1*8>M*4)X@K}JO+w>=4w%587IosS3`4jnnhCmpElNt?}+s>_p9 zVR9ewJhjFRVday-P-W%&2X8h-SbR{Ufjx*+<=ZnRq{61&r(PBQ)RkPyxBdoZ`?h9Q;cqLeti;L}xkTJqv@34(9h>&qABxoDE1=L1Jg5YNY zY9k~;aI1jY2uToJFQ7I;5(HNXsEv>W!FL4IMo5C-V*I+C$|9)Ow#!3Bo~mq#vV|IU zAZArI2Y=M6tc6HbmA{61rCO#}DmNcg;x0CE)#&)oYuXyj0&0 zNxFxzV+B7%W8sJxXTF+%N7dn}2$>4%210p>_5y1!L4qo3C7`Y#5(Li`P*)HMf*Atp z3L-%;T|iwyBnZ|QP*)HMf@uQk3L-%;8NaRyO6ZKtr_{vUFd;W3jX&1!omif#4`$My zi!zu=>COk}!OY=qF$Xhci;N&Om|24~wpCRh=dr4WkRR_@r!IIa9qaszXQ_Iw@t@dZ zoh(>}jCH0(zLs}CuZ1L&jCIyU8SCuVSMr`{t;5qpW1XxBW1Z(5y7)!HVJ`XrpoKJ9 z+&Zu4I_l#2uO4-;$={OeY>Y8SO(l>Vt(ScYaY|{UF$0xJe0j=+aD55EGrl@p5k7vJ z0cPE*!XrXb=7GgDu>y?k)xhcj8S?8UMuJ0|y9Lxuj0C~a0_rA4g5dQ6>Lx~l;1B_I z6C**ezks@lksx@bfVzp1AlL=Jt|s=|6{dXF(?e{<%ty!+X+G9Al-GC+A>-Cbu-z65 zsEb5`V4;AzNF)e8B%m%534%ES>LQUKc$F42odqF5%0-Ms8rwxImT*|Jco|T07<@OKML9g-&5Iak4VbHF@R7*gizA$FoUYC(5YFFTV4nadRLLsFq~8i8do5c9r!dmX{*2FS8F_|TzheFx)4zp2dz6L z{$aW>weE?fS|JK=M2uan*F@#IO1Q#ouq~ius1H=s=O(HSmX%bh6A?nHGw`DXUT30iR8jZfN7l{%K>+LKUt!&Rlzb6o zT32Ks2vm_}mxKJ=kPnmmz>u9uzH3My$yW@ysSC)th8#_DD#+0ZO7;_Ee+U5VU#+H* zct@%u2cf{#84Zj3{Mm1GLVuOuk2bPSj4N+fS+8Thj78U`nf(zz+K0Dc|E!Az9>j2g zVqMpahR~!BzjY`NoDIp8sRX?OL16WltVcxs>_GiK*;DG|uS%Q(O8T}0@SlaWIpx+E zh~xeX*KfUdwHZ9!XFW^dbAgf{is!gT4YbPO#`K1-7mlmbh zvEG1~7Q3vM@q<<9hSu!}Ak&3Bi24r3JigN1ewCqGW#{>Fq4!(Knw6ISeZuKmlRgTp zwr(NNy=md9F-!3bFjrLg@(%cXcjBd-iqk(UN0yqc$9l@*Ld|$_{MTo?`+i<2fD` zBD&|eOX4GWj$099dk*FBB5@5Bt}xHh1CYaW(W86n(C)m~$psJx2Tn6$1LtakuKZZ;sd95K!u|sF|Hsn;2 z9SwO7$qPUlZ$UzNi!%|jy^1`eIsoN5bcR}_5dvFl&uglT|Nm8XwMZ;cljg;W(cUed=doH1=L+W34-+n)LlLaf@uQkE}sO! zWC3-TPlDiIn4Y=1{7aGf;-0=qPjvPT?$g~j8h=yqw;X>v@K>vEcV8>~J$h4jU&|$( zeGBmWI{sGRZxjB$z~2GBHh-E4A%Mv!JIVf`jz-?K&XGPZ3}ov75&3L6@59Q*XLU|<{vrT zKdA+%ij3lFcXsy$I;2y~)wt@;Y7BTG$=r8*P2n!FZvbRe(^)-y!QbA<~?*svGE1 z|3HIL7ZUy=46c*ECb?p3p!E+K5P8>|NP(QKU4cipZo{VxV{TM1|1h3KP>S~oibvij z$Xi>ouuNxRBA^2^mZft$d0Z2pPlZ~&NJddlzvP3THC~m!J2i9kE&VGRoO^c@-I zaimgJ)FXLR9#W&Cf|069efw%v{r+DGa+~xE-kW_GMpG}$?$&}P70pM z@H~c-gN+%Uf$*}$Eb-C{@lXkMiSW?T_uEe#ffRuT$tZF0*opn8bePT@uf+8hfs>h| zz`8@Cqr>^DQZwx=kA9$E#dfWmbvQ!cUKUpQ>sa&_8%$5?EdU%k=u^b@k=l3V(sW<8SNk zI}dbo{O*kNZ^|9recyxkApR0>@9sMee~s{WmFw?I&?ka-DEOYkUr&Sw;%_AW9>d=Y z_}h;>OgWiN(DGHox=nf`sIOCUFmVfR@A@*lxtq3L_&UyJ{Fs7naI5tLegd@{LO^z2 z9?!5;U;|hJ*-%!s$$32J;xBoW=Un_HtBVR!zkw=ocp-a=U}gT2t1^=POS@*I1{zRI zUTH;1MMeIRYWIzT(|Y=@?!Nrp)k}BRpYreyB*Y;YoBS-C{34v(t;j(wH~5$SES=5v z-KUq+=ns81xu9kc*~u?W$Ul-gZtpM%4OHBXC(Y4+7vuK|{9TQ|8}R2Z>6($ON}2K( zb9XrDzRNKNXm~eVY98}d8my0etxg8Xd^t$w%R%mTk_*^NBGC>!V;}y0#a{wt@^R}+ ztvb0!R^FG=auwx@a!Re_{5?s{pkrTBL6Il~QQ%(I6mp9fW#E5bIsSD*@m3{b)SB}P z5*I2H7 znYl;P9_r;^v2F5IiPdsDB`4&LO-{?Xw7gS2A1UzX9!<tFbLzF+Fr`Pe zDLraV>2ciT9`z^^qLbta@)V{h$5Hn({FhL+I?b0qE+f@9C@>}?HK%s|ie$7ybVlEy zB!P(}24sy+#55+jy7Au?fvH6L1xp(tJey&RRg(J$J_{~ltngCx2w!Apn;M_@~4>5)49g3XACl>Vg^4YPs`3oy4=chSL7>en`fEXyFK7 zPhZP5QwlO*p3q2ZdM2%rF{z_{gMuHyU1qhcn4VSKH6v|Q@~7zGg7c8;;;S<1kNRd| z52&VP8lO|>+yo&wsL!pO{Uz%4D1Tx%T{5sTLe04_hs0-)x zz_8+nS`?FNi}4psLwx4wWQ;lM{at(cXmC)sIO(Ai-LCOZ=Nf)9`~S-BMy3Ke)H zgUx1G%MXLSfaI+qRfaW`eK{RgvV|2t z1sdM{tn9!m|83Zm2i=-GD0ol+^rNMT`9CG(e4-B59yo6$CrSsZYk%uV5yrkB>=+jW zmS^D6`Q?fE2NH@4#`-WA_ZN=EQp50J*A0a$letidbHr|%u&)?gr=IWZIlP9)8 z{4iY)MU(e~D%gzq8wms_1nkimLG*kIGj%8ELtmf@sr^5o7m;9U0nwDB=Xxfdq*mtt_2 zfZosvr$&aG{u6;aE!WBIVBsTjQ|lD@Rt1wYWW-_~Tst?l6Y*-m@#Ll}Lqs4i9qqR` zxl_`rq*d#LfQ9&yR+VwQnjDzY2GRMulQ5{Ij~Au=QZ%t4P;4G0Lq!bYD1R_9r|#&4 z;%+sAMVRoF3+x+KHYgC8J0T}MYqYO;e9f%j)$kLeeObZU@C`cM@L^>|dFmNk@eBzD zR`VIPv-3J9S5%Y>N)+&zyY zEyFYO%aN!&*aU0^yCh9{@RucrD~1)74aIOURQsr#WL8I_uA4s{gtG!ui6?2MLm@({ zNmbC*s0mb1QQjj6lm+r`#m_qVpH&Kt@`d5D>_FZb5?^ZVUT_#&fSi_~J1I_EOSW^? z7Znse4Tj?SMgFBlFCdhEr22j5Vxp2U9t%9djD&2|JicppplL=Df~&CHexQNIg-E5F zK9I<1$-^%qeNt&NXw~tUP4J2dn^P_Jr>pR=n#+dw8vz}c$K`Rxt$8P|691OQ{hU9$?5GFjw+olHIX&{TBWj!5~8B@ z?N4zRw3)hpyB~~r z9%nwE6Y)G=Kd+r`6(+%am}7mIXg(Zneb~%=*vtB`x%sez^xR(Ax=|5(T#OTPdksC-F#dYvM`L zTNAJK9g&HrJVZ%6{k(4C>F0G5Pd~4lc=~zW#M95~CZ2j8nRxnPMB?d(5s9ZCMkJno z7?F7Tp-w!ZiNq5_C!Smd6VD&mN?Pm(DRV|Tx`UzMB5*yJ3myW?!TaDF@LLq90-oph zq~y(=H<8e#MlJJnG#-1AO4*;0lGkjZJPtMLrJj@`n?o-SOEXdu?arcvI3^h4zKwau z*MtkhuK*9U!2LA#j3l323c6*r{z z_+2%3re?P)L7ouJLhaoEymIrXYB>iYqeTa;cOHt<(soqrsP>fr=&(s7*tOKpbBrtZ z$@G~mB~kAS)Kfv8T3PMCOIB&55tyIizpDe+^D|xkySk{0MF0FWxfqp9?JsWpDf6=u z{h6-$S;_v)#Q9k%{-Me9hozdf%p(OHF<+EQd{Ou zpedoRisdGQfAEe^*RdE^+E393s@KVw#v2eD_nSU%+XE}Ta&$>Cz zcW`z=9Ba5k9fL=v+!XK6Ni6AA%XEmnyqc)OV*PxlWK zk+1ZRPBtapr^GFFwN%WO-MGkiq(#AT{;brwoAS?8u_!Tps{>tE`?HcuT?hehQ3V~A za#NCjbRvT?YJBfl&8=q<9)&>GPZN`!|s4U4HN*g-0TEUIJ zZL@s``{qdMcu3lUVRcfcPuXzEQ10UUMKO=kae-WBB>Pr>Qnjr`>{pUX8%kZxbt>Ju z$QO`Q%8>kYr9V4aX{QrP?F%qd>HkWzZSJHE{?(#c(a&h+k;Kf1Ow5pek>y3yGfRst z?}bXswfC|;tia#rH@ah|r z{Wm20esgyHJ@!w3jem4%C^>>N%ZQ!qGw7b>`2TPh@q(U%HJuCdFXq>KK3(|^4DBeW zR1rDyT1z~0|NdGA`@0j%#ygpkz{8xMnA3M;C4DhY-eUK+V_n2o9aFU@h5Zs(=OleU zUMwa_K1g<`Fx#mxhfA2^VVs1yrtCZ!BI2dWNF+?Y`JD7grW#br@G=}GF3d1Dg~Lo$ za;Dhi6e+V1Gb|TEK2N4A7sj)+3FKJ9LFRb z&JofWEKFizWpdItxqikz6eFQ7MSV08F=?&v zga@XOl^@C?2_5N9ha|f1lEgK=4RvKDeWg+;=qr>S`8`Fl$s*ZUB~^+_20d*0S}`d} zq2;>B#*B=z{4wr|18mY$sV&?j9moq(ktfobtcWf!N-Bx3U;?=-NJk|nNtd)Hluna# zlfKE*Y2mxU<@678`CDcBhbIO$R1>C*-sHiwD_Ak^&f1_^^Z9P+?{pW}NPZeM(03r& zUHlH$3=3acz$UW|kI6Lsd$hK+1ygsZyXEHHzv^z8d6&9GT;5~e^;CCr&ASomuE4yT zsP3*d@2*#O6U@6Jb$7mb_kg-P%e;G0-JN3IRjRwL=H2J&uC2aXwAVk<;X?e@pbO{? z(!sglB9I62!5v@`cnmD-DT_?EG-Eok@T~`(GKy$kQz#dFn!Z}PFErt=ItMbs^mZz| zrN6`5XKMEcMmb7G_4hlbd0DMDNgX(|9fIf-2Lih*_?a_<32VN;#e%emZcN!ho?zJhi<-Gj zAt+Z)rqOEOzp|i{oMk)_$E^2Szw^OW&7p8#;H|6j^74G|CzfQ#`&;e%x$0nye|42{ zZ0zb1PXbx>LDNM^cA`JaWw&qUAC?%lZ%+GRw@>m9OAgy7)8(<-wu5jCV-=={Vaw+rowav_Vct2g|bh_*--qut3 z1Fg4eE`K2F&RlRZB|*&C=)X&5=F5sQWlp}|rvJ_VoEis{F}wd2iNY%b>DhVykUXK- znZ}>7-Hd&)j=fU!LtszX{UEj@`Buj;`;YS-{yAFM;UcUV*_}jIv^n2x2Ib1+IU|a~ zndGoR{WdMK5|B5)Q9iWq+T-7m7_~fShQ%2ObFzx@v(vk)XtV!qEsk2x@HQ)R-J*T_ zK8W#6PfMkB9m`T>aEar;O6Ll+Q|as-D~ebpu_mL1NMh_)$&5%nJW8VPsLfF6d|#7; z)9ErV>^_t(D!g#I5W7y7+MDW0ly@ZGd5fsgtP+xmg6bG(4#1mgs;#Y==pYuy6 zVq6xg(>icRr(i`|cP{4BF814-O{J4I^~o=#;kjU^s(5;uE6KZmm3mIbO{tm2sz11? zQESLYWDR*%&732$a_lZ^DY@l>v@Yht@$2~V|4spCNL=(M@%R(`nQ7xMq(1kc&?Ab~R@7r>8V9u^BT+LY{zy3Au;-Bq0^k2oi(AbIL|AM^*+2f3F<@$rF{V9mHUami>I?w^pR*Tad z<6U|5m3F$EYgxQpqg^i*t53D-#p0R`O$(IiFp89!V$3k_^D%wz_kFhmL`eY^y)ISH z5?NjJ{_YDn{cA|q)EPI_#!?XG{yJ--e}C1kr1{g+Qn+U>yMzA@sbJj|u7U3I4Kh?~ z?%O8IXjR*qpCD^&NgpLKgI(pW_!`DzCE}{u#PP;~Z4z|~Jz&ariqrcBEm$gjH{X7z zY$2byINNw+k2rBnnm{Yqg@m6h3$w4`Z_fLY4XN-$6YB1Y1*<#tWAfuT+Bvy7#=J>! zmoG@UL{^jz#HvZjRJEL0Z~>jEZ|-G-<>uP+{XgXS7p(3mK0d3>tE!F5tJ?L0P*WyZX!U4*bNFLtlHVtwq|*mFC%D?VdKY%A$xrZ~<kzHRW_>1|drM=lCK8d^H6`*?Tx#cd0>yDPW4 znzPFEpjx%t-lchU^VKDD52H&7Q&jWk$;x8h zGC6;N8(FoinWv)7t;Qqo2uUC%&ZTk`Ovx}=8LMwmD#m-sUQctUtQY0S7tV@*@aE(~ zPyA9@oVuM}4AWF+J}JllunPa$gv}>MFrw-YojkiQwK|GddOKj1qD_LEZTfabN#~N zD^#QI2-ylT7K`1qdiEaFBZFR7X| zmMKN+H0%Dwb*5S8-Y4^kl9SA7e~$`0xOf$um2@*k3QbsEW{E1cGI~^Hb))JSippIs z+cN0*vyt>*Yj<%xtwwer?cPogGi*pog;XX=CU<$97IS0O))XB$ zkK&c&AIhT$SMG`yBEE7Q#ZEM_+v%Vzp=*j`s~|}16qO;0WTJ*4ypA;J5+?yOdD^xV z$;zR@l4goO9wM7q$5u_#p=O#T?b$E~!5HK8E1m=PJzy`1f zbbN@_5ik+>!E+|w#9RZu1HHg4AWKG9Y@h2dqtRK-oZdFZMn0M6k7s}>o6mDEChyPp z^k<4>jb|WjsUzPl(-1xVEvNQh$|kznM1Q-fDO@qkm;K|}HJ)^*(Haem5&|+_|M1^{ z3Pd8(h3M4H19Q{eMMKEe{*3;<-E3i$-WEG7-E*6%hk9b5IoGshCqFjQk-6*<1Y~0V zZ83RY^EW(XF56)~6qASFsD~?fhe}+E$;0>6!w1w`)`@S6$;0L9;m4+TF?slqdic5N zT}&R%RS&0|F2&^G_3Gh7_F_v!V)Af;dbq&!E+!8>>fu^5b}@N)ihB6UeC=IK9!k5P zxom_PrkFfT;GsW5({Tv$p(9t(;W9%M6L-=b%v|=1=~+x3exx2gX+9K_hi|HfTTSm` z@^GnkX^Q@&7TvEN_N2-dCB+PEs=bw1OlM;9*PqeTn8uqK z(poK3J5`x5%QQ~kwm-n$lL2bK@vJz9H?1_oRrKM^&g8_KONJdixgsPVW0Vz0I$P`qScn@hFO?zu0JcxA5g(#6B}(vvCLR8}-h zHnVx#u*o>ipOu#9Z_P`MHACYawej*2Yo?2x%tf2L8Eim~%k$s$Espc%XU5c?owtUd z3U7&bczd|ZGhKx%ns30)k>9y+MavGS$WTsK?BW(z#oDrza*1uRiC-wXG_&|MVq>IwM6B6~!PiP@iAhmHP z$bK{A?$Bes@FHiSiZdQ?J1{?S&WFlfyxy2bU?Ujx443(J_wsfA4esTi`F^bQZL8!} z&@s@ud`wz*9#s957`rj{3$kBd2cy(Zg!73R&QB5{76VnRbs~_2T|Panr+ay|L@+UJ zly7S#A;wnueyWW9plWAgYz>m7_p9VLg?X(m!YtPvxbC#K8OrGFp60Gd9_B8uxI-wa z62SKkmfF5=dS3VA$h-W#Til*on8-j{R>x|)KU)bluW!}-~lWKk4YOb^JI59Mu~nR zY88H1$emP1dGp^GD0NXy(ZKx}l0zg+DbP;uaPIn|f(n-x%N*Xm67E4PRk(cYK!+<& z!r{t3TnYDYOrgOC0nOirAcvDed=i<~XEgWi-;2(j+;^@zOeHmG@&x7wsA?8Xc$_zX zz`fvEz#Ow|gr?f*R9gIw#B=8=eqVQ$;Jai@S{vg?F4X|@IQ>49sfE%a_um89wBm9X z-9(gYQ=NdQn}8J#LtM_45ZFr(uiuAXmsI29V9lSr|#a!&$AS-L^Ad*M5 z&GOdFlM6_6m*2-w-jV0LuMneDZIot(&)hdGvYbT}S`J2E$RQr<$T8^unH==W2c*#D z$}zsAS4HuWjzlWWxjJlQnxo{g2hd~wJlS3`f8kPojYGWj#zN%6#oYK){NpmGwaUt5 zisU}A#UgQ9$~gah;$d8-f7k_q4b!HV%_7JgqhBx9Y2sNEnxD(d(`C7d?<9r1oq1`B*QTwEjLA0sJes>^Xo*I~KW#+I zM2C8yBL7URbwGIiK<*S-;TFHdYI3vX7&MTOWZ||VvNu3x4Eq1QSKRw z7tTuHv6shX=N$3vXF2;4uHEH@7rZ!<4#(V~7<)ZVnuaW%^FEDx?kFxOU>(lLIOLu? zn49ra3m@X$>}FhQrza|>jD|alQzoL%$i``ka=KKU{y^lV9_OC5~?K_+(*UtR3+DX2{ z&E+~Kze8=7?{KnQ$L1&3p5r^*(mRxRyn~6Oc`y!duklmABYflGTlWWio>*2<5^IXp z`na)wfqZ91UGp-<5*e3+{Z z839uF$>1lzNKlr_wZ*th<7r;{%{FS76H}EvJn1P>+Jo$7)NX9|ppE%RTCH(`4TYX& zsvzLZRXD7fvvgQ9e=D3;wh#w&TU`Fufo=88I6GzQN^JgMnVF$G>~Upg8-BWuytd_}%)!TN%JKf{}nZOG1v5>N9` zNOqCJPTAz+X^t4YWf6QmA~M|YOCRJ;M9&{C@?V@c=V=jX6;ohJHeRGj<~}p)6{ml_ zQTntcM&|vmb9xBoAaDb)t7>g!&f(p|{BhFCTwAIb_J3(Su4|F(#JpJ5bV;UVc$sBN zs#~&8c*QO#NVO4|72-v=die3+UvZ;(St0MA5DX2YZr|-fDgMn?-Cca2=D%4vpT~KE zuuVdB*g?wu8%~gO>GG<6Zh>fGmw9TXe?4iF%C&KxjxgMzC|xMe@h$PIk0yV%O_s#x zZjiTba*W|01OgaWV@wXKmZnvcV085R-efu-l!Dcu33_Z4JvPt$@AUBThKjA;Xh4s9 zMUUIwS9&bNu;?+7=*?iX9;*;)C>RGyK|^}nqtoNT3iN36U+VELZ^CHNP41O6{Z^aV zN;-V@GA@Z}T=|$apWQzrLJ2z7MF^D$I)ckVLwcC`>aw@c<2=IpZ}Qb&^8S#u6Vq6F ze70JpN2_XEdVG9)C>Wg{V-act@^2GexVGzIEwr~%Ufo4^kS205cRm-PGO^Yy6T4gF zP|_sBTg!%V8p3ONEh?z=V3qx|ZI;q-o|bw7h9wuZ(^5+XsHHYsJh9RE|3vOtyqVRg z+$#6qQ>EB`0>dJA?rn-~i`-*)(tzCd`e?4s|MTCG{I7$mr-%Oq-EouJ){rl`TGe-@ z^W-**>a`mG!A5{xT<-GKdLRL%;>5V=VQY?miczN}sdB3q-HZ^4pd%Ov?0nnho~Pv= z_AYWy&>__$cjtQKrWI0x(|Y|1rRHcxBr=->vDHn&I}cd}|K*kl!TTUYCGu_pzekrl z)c!uHfC>HpjLu2|Som{!f@NNpQxuS0cA`9hI9Gb`I@ue8!_aX+ADT&UAx&U-eQ zf2HRgO=e4ed2bcteO*z8gw952C5B3$amKs{EbLl@UZ{f)3+)d~K>!!%0?r2Y%dAcx zJ8Gp(-XT%s6{)gHRq>=;UUP%eD9mvv)h%-ErN_;!RjxzG@&?!d{%lw-N&64&ay_L3 z4EIv%r2S1zNc*$G8{<^o2&VnWNO4K~=Mi8Gm|vrOvZ6Usp-wE#H4F<>ZYNSC{HKEAjzLYJf&r%mmlbtn|hc^u#-}1`!{diZ&&5> zn<7*hi9k8vW90uCBy-)69`|ZJPN)(+EOSc}Oc97bm?oi-hOQybz(v1JrN8Gj3#Xbm zRo!OeXzhP3g1gH%j`M$M_SB8mkZ((kR$7IOMA0}ew#w{b&^9$ksN=z6ba)MX-iR({ zf9#J)UG8Lbp#ra0m;d0ReqF|D|16VhWirWHs+=3$-;KyxBW_et)m7#zgxUix1+&0X z&``RVW#zrq5$RIBq%mEV;i7(BeAt@BWUVDtR!ombmD_dwRaX(p%2I@S3-ko%g6W_k zUCcZ-zdAyfee}i~PM0rmQNJz~+JD_Vwva4k%VRHHUr(|ux)!14f&J*v4s#%|>tgLI zGr)Dq05`@v3Bf(oK*2HTsg*|e`ouXFE^Xo*qs5U5&+PXm^Q3|PV*@f+#>L3+xm~xpjHyV#-jrxE!d6C@yX52od{V3t=bX;YTzP zb%n@}6k^e}kxb0uNfVhkTbRfcCMMKnq8&m+DQsh}j!27^btL%rKTVdP!92N`?mu$X z%@5Z^=7&;Z#HA%a-11+`U{8va`efKeTHEqud>tA7re11dO33O)eg;3@i_QLnZi((< zAR!dg%?Z=qjL44jh|SJHe$(SWQ{q2Q;%Bp6cmm02Mf|F_f((`#_uQ*QdCu^W1H9;i z8_nuOzVDhQD_>vai|NJ_xwNg;$Un)G$P>enFCZ$r=C?IH@}ZLb&%=AfBwc$Vmx$~1 z0a~J}E#X_}=)==u^;f|pbBuRP-N>G&?=O+nO=jQg5y`w{ns!PnuB+erW2;ZKbThU( zs%c4%RhE^>da^S8hk29HT;_uzdMgi1 z>6k{#b{Pe{^FNLE8;!X){cD+5n)*X9p6~BfNgL+hA83mpFClYpOu<^NzX01B)T5vP z4tL@_I7h@n!Ksz9E^r%Bm|ZK)AJWGmeZQdeE+juOEV+%>sgeRee&~}ZGS~20Q8bxnZ_)H;h|D)~6D==HU2T_nb-=h;UQ^O@ z3Yr6CzKMuW0QXujlIsgVBQj^Kk0NvHdSqVrgGJ_*+(ec6eY?!>2aMJC)Rnm#5r2bx zqcMXx#C;<7jmRAHX%v}ri6a`%?X5C5uTSP0yUaBKqh%DCHzQjaIBdaku2+CYWG;^; z^YeE{mwC$f7M`=YiOTa@yUc3?#wCOonK$kv;$h%b3#M>=J!nMcX&a*Oy!Wo?GB5wm zBJ<z|9c~dl*7ZOLb{5;Ys^Pu`FqeZV*~ip(z% z@g(qx1+%$c02<+W-lix#e|u+ineX}5!t*?CqVl}KF7t+fQA&7`d1EpWw*qr4=*RU? z(1^@~K8qsriS@|5^PUPHvUg54H8%=NRN5uP9aJPOY%%c9F%Aa5tp4N>jj zG;X5u{H0yyF9XK4gcq4NZYSbi;86?4ay=0=B6Ic^QDkmjkIdCyS!6EfCaTO|+hzVb zV7#-SuFQRi_($Z+!VDso>lDz4%+0@yB6BuzM9Uj)tIRR=$^5Nd=5GT=d=#0tBip?o z4grFw;Qsx_WnLLg=EwcfWuEY*h35=zqVoKmUFPos#yG-@%p3O;@o4b21=nzW3uuJr z8^4Oe^KYfmWq#%hi_8yk6IJG5ui5O2{tz%8BfLnN&m-c)$oC)2Adcm_Cx{|*oE`@h zTucAC#=nv0QLr3*0$fDC1+x(upBEXwy||&Yexx`=hn2^aMtStOYW$e6Ji8Bc3a#{Ki6%9z+Fk6SJZdDLm0PGmnJ(>~Ca>oK4kXhg<8abn!9 z1FI*kFQ`YxMtK|@DdScmn-3laZ-d{#I?#xW_kD+qzvVQP*00PB(P2$%SED@MuY(Pz zbrF&E0%w6qU@^E3G$P}m?~(D`24zgHN5)2Z{3|=8oKEZRM79x`wgV^E13??mh>Snr z#CTc?_Eeb_tD(*RYqr{ zGQMzONIA{p^+a|Q=mAE9LNEc?WwcHrc9fadfiz=kelpML3D2_`V|4Iq`LacDZS<&# z>cztF40j_TpB_ErKQB;%TSHzoL7nqsPSr)ec46PM^rD`|>%0|epCKsQVnT4AK_h!V z$KGMxE@tjGlp~PL#rgcCr0^u{zD-@jH^CX#;42<#5^<~7vP;Eit@R5RLVutc!sc&b zT@vg9cH)$N!S2Z{*#m-e*6t-g=&e&r=0v15lYe3>yM*=B@l0Hp9b26n)U3Hp%0V_M zr;k@bT9<=${##DuYd|Kr*1TSXX_wiWjZWfK9&djd`3#m%)dW0|Cz`vJ-_N&lvv-_| zHM}NOf2gA+b6!BGYEf2X<6YKF^|?Re&O(`vmT#OeA1i0BzkI$N1Qq(k$!u;dyZZ`t ztWry89qqA(-vK(Olm!o2a;W&w<;)?5EEOMVw<;%49zQjnWZI*C57iJ z!+0J`UOP1HpS>5WOx`9>4%(M$`v}Ek)4I87y5M#)*74gZG&g3|DKvVUh|0_T!&}C6 zuUPNp0%Fz+dQtAX8$$%J^wp9$a2+lK%)_=I^5?dVbi50`0S(AH z6Is`btTmYp$yzci6pK|>k}G4hvZ+_v-Zp73B^H~si{2&j3&B-jF0jjL&HOAE$H;QA z(>vW{s`bB$sfPE*zjT9@t}SDg0O4YRG!aX0kLdl`;g+s`k?L;RUvCTH1rSP9L(6SzTGjUa!murH9@bSgN))jxT*olG%9mdhOYs z6~(1~2_g&o387J%afgme@}kZq){{nZ|2+Bpp!}!^!pdwbr8W`Itz( zMk3&Q=<+G}6(n&VMXz8zCv``2!?wBe(%V8|n)QS&KV60ZP`P#j+KX7`7D;ofDhHgC ztqj?}5z14lcdz1wpIZc6oL&(g2WqH3&}PM)_emK$%L8=^;NRDU23fo=xBB7YKQFVK)4 z@}&*($nc+4Crd)n1#A!!*h-XTg;jU5I*1-oHb{=wP2hoopb99UtE%`q3jD2GCTqV- zE3&8?0-XikME=jfKaJ>NZYXS78==RIh|#bfnYf6ihgRcMY)K#4ce{36=|(cPs_ zINOrqZmz@V8`C1Q#N)bY z3pbwiN5rO@81HCnL^__ch$o85`x)cfR6bot74Fv5AJuWvB{+>79c;A@T^%8~5<|zo zimtiPZE_ts0J3tW!-cB&VEsBSLP`P(ZYa4*hZ}Bk)X8hAcPb~Yc6Q{a@+qj~ynY-~ zmiL?^kRNC47;%vPYO+qPsT2;xlFuE=rF`zt>7AHkob}KF=Ie1OVesvv{0<1zy2R7Y zJPvm9Q0b1hbJTX`i$|Q>=4od=wsaV_c|NSoZwhW4CRM9Mz_G&m(}qzazAVS6d60;Q z5iya{?ax_!P>#Bh*xQwOTAQ)|c$UQ8TF2gw*jrm;uf~?xTL)tw-^AF@%rQnu?A2!< zq@DJ3Al#H-xaLQ(rs|+mfLQipTtJl90WP0`dLlaME#Qp3t8kpEt*oYze{m0?V3tV(Dx^ko;pLyc3LW z65iu@i410;3g${341*YbvV?hh=(1%8SO?(PD^3ncO{*;7o!5*QcGbwSditmfPPR(P zd0QREn~&qPN_|rjZ(J$2eM>yfew8&IK9A*b&G#hE_au`z?(%pJ0nKmYGlu53=f~S_ za*Zc8R!(n`3#VLQCUDvX-?Eg5lKm}9JuZFfFGpvk7zucf6=4$U9N zm?t?%rdkf!Kx^J!ugWg#uRlcjd*O=Lo)D(WT(5aYWsNhk%H+kWN|UXdh)X1PS1fuN zSMKtXSH!6JQ$858o)e0-{CV@0wK2kUUij9NICFUEhAnzc`+Kn-e`0MUoBmV+aQa8) zDEXueCysR1U%*O__YRRS(S5$?U|{dpxkp#}D&;%y)F!5!>y{j#PF-6%=Yh7P9qDo2 z_2PQo!UMQgj^#ipIaN#@9L#}Ezod<3OP22-b5PCr_B-EPkpo^hMY!#stY@?7OAf8& z+rsLbn!f#Kxhpo_oan18hzH#=Zr%ryPy$Z?SmXd5%&SJ1Ip959BVqcBP_P@c07G%m}g*t9sawBL}GBK?+W*c%{ zD%Wi}+^rq=?Q1wbE`f(fanUgjo1?kt6pwXhE{>6d;Ev^@i<_V068Jej3D;e@NNd5* z332?K*bIN&xai)JpOfPGIk`C@^x&drGC#ds{Pa#FtUg@yl>kqX08f?Z`$?$%CE5W= z{G28tp3cQU5#S7oWKdgv21`uoBIb~0{G2HooyEn_WB3^+5f5+2&)E|Dh>rZ6)0`jL zmN97~xfs=npV1=BxvBh|ClZb6z|Z-K{A376W4XwbAhSfkaU$w?k@5nO=0XuQTa?TZ zc`q8w&&4A2C8Fg7k$hr5ekQfyC$}p)Oy=U!A^cn>id^1{pDCiv6$ALWQdG)2fuE~H zuc>G7bG0Zp?IeD#5e=uG!q0zN@pJ8Q=z1L&*PqGH4WjUkz4^IGw9Y?`AFrr>^NIWv zi2k<>;^$T&;kJ|cxm}o;aVkGETk|vPcsQ9|QjnTA=6>B5wKkpnU1J>d?RrI_6@V%%zyOV=luSjQKd`1k5KekH&lw^BT;jFneG= zjd>pCGnh%3a(dKFn9pJM!+aidJf<8-+XhqSo2OvDgxMAIWz4fn7N;%8p z4Z(a3a}wt3n4K}-!2A#9o0z>Y%Q4T#lrNyPzhn#k>LY zL(Ee!HN~VYbBl8uMn%Z!k~8{1!7Cb2DZ;%aP zQsj2huP#zmf2Qy*r)TA3Ix(fx#$aB68H*{U*M)fnCWC8LisLaya4!dMOKDETyaiJZ zXOmJbUsSpXGYL~lcQWQwO!?}#l=7CCqcBAdDeZD-+x3{OFs0PD#>~WQgDIt7TBS=d z<-5*ZFxz1cHQwWt!lKGskLKu8r3#zaeSai;_H)T3K9!l8Qj$=cRH|(@Z7(^NZ-_`V z@&zHjA~JoJ`kEFG=&eg=kCsFb* z^X-pu7cC_Wj!ktJNmljk=fFIn!nZ%pU38(kh7f;AV zEEf;Sg^P>3xOgj$z-sSSpWB)G%cC4CH*}tScqP%lpMrnAW08CnrUtT^A>?afLuX_;bGcQVYFWK1kR1eh!1%FX8N;Ylg#TfjHmsj!+o?&IpG=A4`St za-A?-e9O*w!x~16ab_rtx1xkGtxgyz62|r6F!Wb$VvW831ogSz63($Cqv&&dop3rx zINihHWKVM$uZ6|5e;k_KW8Ti?#R}| znnxev8zUA6^6hpN2Bk#4y*WNx_gMe=nIWasLU&l*6*YVx)Mg>!lku~4w{_C-hwT2u z8g@+UWA2Tx_6LqfvWVAIK3STXY-x4kuhGkf2=FhU7nDg znPqffI?ePW6GzwtYFo z(to!q{RiV^m`DxaDj3QjV98-tB(q4I`A5`37}ri?X6QP`xFK{MYg`$+b{QAz>nZqu z#Kd)&w}WDE4^Uq=beAuB2tFjjs%;z^A0zz@r>xa^<8~k0b$?*@L&xtAFmfxL#ki$N zdIxgga&p;7eTt@ZUpPgx{D?Y5^KlHdbm*MdlVL>3y#D<9Te$dk21oGc7#`|@Y-1E5 zQcjaO)OY~)oax&(nPCY>H0Bs-%Ei+`7lkX;ki$CwR#Fi%C6iDbxKaL1TgialWEn+| z0#RLvv0uLZX6}AZIma1qGt!+ZA2~AS>QA$%Pn(oi#>NSA3~<#aNs_AO z&+CqV@vE6rm&;TreCq5bLNU^h<&-Sii$o%k4-Lw(j)C3fXZ#yjbO#Fkgz{GW!2NFX zSpoKPYImYk{-qa;a*i+UG%7o%EPWJ*kTWD;W?}KomsWCg=7>c@`Se+8R;Iz1umT)A zo$AOxi3zDrd#jIlU4;csXX%2QFUKVlY$+v_0mbky+*aCiibk!O-p6Brf?~yR6u;3^Gd!E@c>7G%Bi5nJt`;(z<8FR z{QHa>pt5G9%gN-No+e>tWk@C7b6$5Aj3Cqh>>MSP+?N=Ab7N~y;b*TWW_GD3)_a00 zMrJ-@YdcvUru2`IN6ktzVmRKtBqJ7=Oj>e^+lJ$-`8<~IK;N<%*)nKNDd4MF^H;}6 z_+>9+6}zqe?17KDxHJSZ0vQ`WLehsOOlzWm?Kt z)q@oxvEl1QWvR+bQgx4wdb+5r=l#ZmWt?xESaOcTI5uz~kYoIM8y&RG10R!#tNgQB zjnVT~W|;E5BeuUJaX^@|FsGd^AQ0ISG%bkV42SS=^Lwal|Tyeil`SAsm`@P+>soE#qYMt|&eK!-liAJId@Jp<8t^byq(i@-c zWt!bSsV9Up11N;m9vwMTXj+OkGH1BXtjjwR$pm6~{IKwKeJ~dF88yCYqMQA)WF>YF z-pXBk=d*+m%W2PL{qHotC;pM+IL1%9OY@QcK!DPgDlJxKX|?|=*+rR&>{qr&IiD`*^W};u9>~$$Yg|liM`4`Fo+L?v3oR0k7tit@^E`Rp@cJgt` zH69siJ8tffGu~*oTh3e?Z~RLm>GSM#o^kEY8;w%Wk)G7}e55kr+1VwYBPAJ5Zvu{< zCW-h!fv={MFOWFnA@eh{r&g+oXucrik|L8b|I89kixN-E5>H!}ok~2NOFYMvcupws zoLJ)NRpRMg;u%olIjzJqq{M^Eb4om(GS8Syw$Jxdt9%ma~KDj|DOOcgUTNBrvUuQ|@Q!q+8pRRs~ zsNde|x4-%wq<;IT-vR1(u=?$*eos@s>HHdl2mBk*ef?oabEOtba!#W!ARlYuBT9ji zi{h4bkY;@uPyIEy6LuS?sUB^qT4+-1e8HVBvhq}LIc@I1W{i`5|A&%1?_!>@wX3>2 z%RByg7jc&t%i7_5^-V!_kliGnWf{k>r{`5|96d|s|L>D;7LGGo@+`ETWh_s zJ&0g)B9Q-V{|@sQiu13J6++J;&w1?VALL?*p~E$!Oo}?;p!)G^#QI*=1E53sCRM8g6FJ` zIW?Y^Y<0{?Ha6eDYzTec{g`3W>9H(D*SA3p_zY|Xzk-(N))Wq|NQQ%Me>KFx)$1%A zObp%#2V;Xb!ohHTW7Dof+)mMMS7$2+N8KL5L5H|q;;IT)4RP?*^_qjfF>M??iLUQ~ zkHA-82lxZDMz<&&m}SOYyo!84Hn^e%6r}wrdGIooN~Nl-xGOSPx@YQ6J*8KblT;;X zYaC_O#wG`b-r4ZZ~jWa;c4ygq~=z?CG$#b zFK-RFH5|9GOnf`eX=_txYs)e@>_0n2uRb3R>WssJKSWqv#K{8}pujWe`UcnvoZR;S zcHOOe6&Z5}FSGu4)%u=!`x3&a5peRF(3o6N>g8 zZB6j*#Kq<(@g(((IQRkw!L-&NUuAJRoT%%O{yXq9h$UXTY!*%Od$PiwFNgkn2N{*O zpwr;4svedyB=xWvCc6@nA?{2BE-@=+;}mrxWiE0FUnw7|E@Y`e2q<<#z`uJG0Xm}? z>yJlIsVh_-c{Lu*4s}$jYlch<(OT@bXgkf9-m0nry{Z zy&7vge+pAzYm6z{;VF|t31)045MIf6np<}2v??2s=p2V9FP_45`U9Ur;`iVuaKyas zh&~g5om{)_vQ8noKb(T@4z0VTX*n`Zgbp_?M~<>9FHVC^%QkHn%q$_X^J3R#8TTe1 z5+XGxw_Im(vghVV1^FthsCQpq#mQLh(8|e*I$lDYT!tqrC+pDt8?X%=0`1YUH@FTo z#EJCug_9+%;N+KIRerE=@^cos@J(q)$r#ijCO@R5G``<;urYL>c$CdRWg}vA3;eEj zV9g^_uQmDD;uX3x$RnySWx>RPK8lHRw3D8e-0_-noZZTFJWkRf)|iO7G;+TT-UR!i>yQvk2U%c~yqJ?pUc8i`CI{OE)%D9Ai%us= z4u+)^&KE+IzT*jx72-4aOs+&bS;E#B8&1rl@bEw+4Yg8_E8>2h0&n(oB z$~I0Yk|6_?|uoCx1=ES!A?FF%5x!JnWz`i}-Tf_p$yIQy$ToV~v*lC#z4!C6_ydN_NdwUx8HsZHf< z2L8gF^(J`X>_p{1pU*zsdkquvp~7i&PBr`X^_9(@Cn*7qD`;x#<17(37S0mTw=FmZ zoCqd@nc!)#1~i4UZb!k{qMebPEj$;_Ed2Ijd=}Ia{gx=eOeP zjj?yzIPL%hkR z6XEUtqv0)WhvLl~*tFAkx)Wv?(%zZm>7JK#%<0Uz-B$9du85l9D(;g&Lw!8)_f<

HpX~N*YkS2udZw*n3kRqh&{(7R1Wny4n&2RH=9s{2Kx2(5xCvAD4BWg4 zs=+$ogoES3d0;wd3U8lwg129`S$X?G-W8m$L zAFaGSt?x|UZjru1wEVUt*~(ki#?@B%H@bmU{6p$mRiw8U_`vJnQ?MVTqHj}p8GjtSjQPRJ%bEJFE-&Xav+}Ypw+Z>BHD1EJ zyia>5ysS`O;pOZkdu4QNLH)d}IacSF0L^DzUY^6&%FAr@F9Q#Qbzm1rLD!z3DZE^B zJiPS(-pb2~`mQc7y%MdwY?;&qUJfQ$d3lj0Qh0e%d4-pC5xh*lxqe=j>yfLmih|#e+s+~wu1oZj;

Q+V-pg_lm>S$S!x@9Of>7A3<&=QR_Xz{|FHD=&-b z0thb)lvj9}(%hb39-Lf1FZas~H1+SNw0w1WxfNS0FU!&YJ+KZO0`1XrD3}PE!pp;H z@Z#ERaH#?hvTfgET7N>UOvK0xE#%(i5Fh-l~-w;w&&XF-D?ue#wkj@J6n(1 zjS5<}y1ZP5t(BKG=>G-S4%(n&A8--K2MzHed%2}Odf^0k`Q;nMggGC)QW{#-D98gf z=UeMi>P4Lo{#4s(8poIAcJx;pw_hThF(LdXjh1D0*X(jWf)}0fa64AHosd7A{&w|w z@M5Y*)_6nt4t70L)l7?YJtr#vG7*EHW8Y+ZqpG{*4Z|(y{VVtfv_v<#J{hwBG=-0M zPlS)}zP9r5vb3poJ~qeJ&&MilXXE1sY7W73w|`B)cIKOf7r zosEwP7nyu)q6MzY#|*rL_~@hDYCgJlK#(vWia`j$93Ay#>df0N7|RWX<_T~k&c%TAA80J`B-msebiQ7E>OPf^6~Fs z@o(~R*5%gna#oK~j`P8V;9B##6!R+(g%5M_*r4ta+VFoLzs=51%w#=%-6aQKgCR@3hkS{v?yxNv9?}q&ab(pHW znrTuyz*=V8AkT5&Byc@wiVjnHqr=}DtUA<4!yVG$EmlC44t>J1==JYI79H+ZuCxwM zud?Z|k9Nz{J*dNz%B!iv{kK@t;Vb0+3H%EBBU@8+=+*}v`r34evFY$PtAR>~Yr?W9 z9geo@uwJ9kw1k5UxAVe%zW44h1$F48yqf8-g|nB!_5Wn#`48}d z6(GldptM*m7t2u@=Dq^`pjh5B%%%^Wa0-jB`;4d8^YVU4u`CQuuFmzZnY{bSQ$=L; zgw?;N4=8)7^d~drq8^JxamE5|BUPNmCI*`uwaq2UW<0awl>K8^4<%I-i1HrVK6k~) z)YxJPmF+siabHqwRuccP2q-PVFqX2f=D3R78YMV!;PoQYtN%{%D$BZfk5%3kF>8#P z=g6SiNABcm=Bc~(W$p{4gYn=$pcrffP2s7}sfwprpG5LB;}k1Tv-a1=(-qn#3Qy;1 z8yio1&kyl*4eh6mr;fM}@$`vusCl|-dU>FJvy^3zS^2On4fo&fKGufTEW-xQu^_g6gi zUKhzz&puY3dLu-1o>H|<6rK+Lqx{%-dYZLPlc%F;er-H`g!@o_nyDNLPoEl>y&X~R zw$kc}R~t`$y!$`ZIm-C$k%;{CFnqiK-T>>sPaptBqkmI)dS-y)DgL8Ko?N}HJjH9B zqvWSw{#HJt@U%(W*m#=7`liX#Uo?+4o*u`2h^GscL!F;4o)W>6w7+$Dnxed$`RPPX zi?WrwYWVmJdo%TI%qcax`CIT7Wq7CsIE7y2Fz27s~P zLC_FS@_xRwceST0p32um^7KXzD^KNr*2mK$+9nE5cW4_MPrXNlczS}S&mU~-vT+;Y zsF`v!AwQkAZsr*gd1-pco3ytvMknRdq-V?HR(jf?TUXE%oDC*{0`MMa3O5O7C~h9A ziR9*ildar5^hbT%6l$9&+~jE+8#k>-hPWxFwGVMK2)7|_e)WhW&5e`UGF$%140+Ss zIFwJ5o4@{J<)+U-wxxqnU^2KB+ylM=P2r~NAjQqB40G6oUJ~t6&{yh0aakWz=|@W*;%4Ws7H%F?jHWI;rk`j>`Hd(+&! zsC=5-?8&m0DIXl%10DgdgHOON&m4*kM*CycJvRX|CF09gICOTu~EebVS48j_r!wOD$uOlrxz+Pfwf$^EvhQfnED@=}hxjj2{uNI(#z^LB!sD_f@bMBT2cLpk5QFYx zK~s2o;Y@gPRYmd?bAp|x7$m5Vr=7LRE;>&S{$S?VZ3h^{nxz#*v zf7LdH@P_go+GHN$X`=FP^0Xz5vKCtZSOXtlfFHm<&<4Fv1_hugJbiW+Jbkw+lBaLG z+Ijl+=lXeCsqLckbi?;np2iO~dHRTUtS(RagcRbbn{ump8vL@2rv=J)U7q?Y|0Yk} zuCnH*J@9cD#G~)AU@#a5mVl=4bZ96%y|FTqr`L|R^Yq&8`gyuf+ePPT^mkUCdYonQ z^f*mT5oKB(N^xRP`>N(l#Kt-eE4;Xtof-udY%A!gOOkgxDBiU zP2s8QaClnqUL;SY$Ju!*HR|W-T5T7dr{gwTd5TrKGkJO&&3av)(g-QU(^o@+Jk=PR z`HY8U$|zm=uFKPoUE<%&PtVXIhRfYq!+=npT^O|*X8Noofe*!E4OBTnrka}smganOTCQpHL zt>x}2@`D%50{4U0!AGDy`ZvUr9K}9M{X1i}un0n*O94 zAPw9T%Bx9C-hEbLm|wdS4ju(hgO|Z4;5RS;otwgq?;N=4@=hc-#~cGUyQN`^#!U($ zHOS4L9m;`?n}-LP+_Vnss1#g{<4_6nDp#7DW-r)s&bKsr5!@6juO>ImIRhnJxZvgm zICvYZ1|NalpgHa=!p&#efsLElXPDgVrNOf1 zo2PLc;^t!IN^^7m0b9OV8TJ>PJOGQd(ZKOXiM z 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

2wLML0e!5NR-<$GV=2q`8te+E5#>t_d6AXtXYB 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

j!v2%=0X5H*s3^rXy` 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 literal 659456 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%0A>N*az-a1};5JUnEx~vjkLN(Vh5g`24{#e; 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�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.dsp_addr & 0x7f); + r = r_dsp->read(status.dsp_addr & 0x7f); break; case 0xf4: //CPUIO0 case 0xf5: //CPUIO1 case 0xf6: //CPUIO2 case 0xf7: //CPUIO3 - r = cpu->port_read(addr & 3); + r = r_cpu->port_read(addr & 3); break; case 0xf8: //??? case 0xf9: //??? -- Mapped to SPCRAM @@ -63,7 +63,10 @@ uint8 r; r = spcram[addr]; } } + +#ifdef DEBUGGER snes->notify(SNES::SPCRAM_READ, addr, r); +#endif return r; } @@ -78,12 +81,12 @@ void bAPU::spcram_write(uint16 addr, uint8 value) { //one-time clearing of APU port read registers, //emulated by simulating CPU writes of 0x00 if(value & 0x20) { - cpu->port_write(2, 0x00); - cpu->port_write(3, 0x00); + r_cpu->port_write(2, 0x00); + r_cpu->port_write(3, 0x00); } if(value & 0x10) { - cpu->port_write(0, 0x00); - cpu->port_write(1, 0x00); + r_cpu->port_write(0, 0x00); + r_cpu->port_write(1, 0x00); } //0->1 transistion resets timers @@ -111,7 +114,7 @@ void bAPU::spcram_write(uint16 addr, uint8 value) { case 0xf3: //DSPDATA //0x80-0xff is a read-only mirror of 0x00-0x7f if(status.dsp_addr < 0x80) { - dsp->write(status.dsp_addr & 0x7f, value); + r_dsp->write(status.dsp_addr & 0x7f, value); } break; case 0xf4: //CPUIO0 @@ -143,7 +146,10 @@ void bAPU::spcram_write(uint16 addr, uint8 value) { //even if the iplrom is enabled. spcram[addr] = value; } + +#ifdef DEBUGGER snes->notify(SNES::SPCRAM_WRITE, addr, value); +#endif } uint8 bAPU::port_read(uint8 port) { diff --git a/src/apu/bapu/bapu_exec.cpp b/src/apu/bapu/bapu_exec.cpp index 37235466..25c92029 100644 --- a/src/apu/bapu/bapu_exec.cpp +++ b/src/apu/bapu/bapu_exec.cpp @@ -1,18 +1,22 @@ void bAPU::exec_cycle() { -uint8 op; - if(status.cycle_pos == 0) { - op = spcram_read(regs.pc); - snes->notify(SNES::APU_EXEC_OPCODE_BEGIN); - status.opcode = op_read(); - status.cycle_pos = 1; - add_cycles(1); - } else { + if(status.cycle_pos) { (this->*optbl[status.opcode])(); add_cycles(1); if(status.cycle_pos == 0) { + #ifdef DEBUGGER snes->notify(SNES::APU_EXEC_OPCODE_END); + #endif } + return; } + +//on first cycle? +#ifdef DEBUGGER + snes->notify(SNES::APU_EXEC_OPCODE_BEGIN); +#endif + status.opcode = op_read(); + status.cycle_pos = 1; + add_cycles(1); } //only return true when we are on an opcode edge diff --git a/src/apu/bapuskip/bapuskip.cpp b/src/apu/bapuskip/bapuskip.cpp deleted file mode 100644 index 597a93bd..00000000 --- a/src/apu/bapuskip/bapuskip.cpp +++ /dev/null @@ -1,171 +0,0 @@ -#include "../../base.h" - -uint8 bAPUSkip::spcram_read (uint16 addr) { return 0xff; } -void bAPUSkip::spcram_write(uint16 addr, uint8 value) {} - -/* - This routine is very serious. It will eat holes through - the ROM to skip APU test conditions. Or in other words, - it will disable and/or force branches when neccesary. - - It can very easily break or corrupt a game and prevent it - from being playable until the ROM is reloaded (ROM writes - are only performed in memory, of course). - - However, this kind of brute force approach is required to - get many games playable without proper SPC700 emulation. -*/ -uint8 bAPUSkip::port_read(uint8 port) { - port &= 3; -_apu_port *p = &apu_port[port]; -int i, x, y, z, t; -uint32 addr; - - addr = cpu->regs.pc.d; - p->read_addr[p->read_pos & 31] = addr; - -//- lda $214x -// cmp $214x -// bne - -// cmp ??? -// beq/bne - -__test1: -//look for an lda/cmp read pattern - if(addr == p->read_addr[(p->read_pos - 1) & 31])goto __test2; - if(addr != p->read_addr[(p->read_pos - 2) & 31])goto __test2; - if(addr == p->read_addr[(p->read_pos - 3) & 31])goto __test2; - if(addr != p->read_addr[(p->read_pos - 4) & 31])goto __test2; - if(p->read_addr[(p->read_pos - 1) & 31] != p->read_addr[(p->read_pos - 3) & 31])goto __test2; -//try and find compare opcode - for(i=0;i<24;i++) { - x = mem_bus->read(addr + i); - if(x == OP_CMP_CONST || x == OP_CPX_CONST || x == OP_CPY_CONST)break; - if(x == OP_CMP_ADDR || x == OP_CPX_ADDR || x == OP_CPY_ADDR) break; - if(x == OP_CMP_LONG)break; - } - if(i == 24)goto __test2; -//seek to next opcode - if(x == OP_CMP_CONST) { - i += (cpu->regs.p.m)?2:3; - } else if(x == OP_CPX_CONST || x == OP_CPY_CONST) { - i += (cpu->regs.p.x)?2:3; - } else if(x == OP_CMP_ADDR || x == OP_CPX_ADDR || x == OP_CPY_ADDR) { - i += 3; - } else { //(x == OP_CMP_LONG) { - i += 4; - } - x = mem_bus->read(addr + i); - if(x == OP_BNE) { - mem_bus->cart->write_protect(false); - mem_bus->write(addr + i, OP_NOP); - mem_bus->write(addr + i + 1, OP_NOP); - mem_bus->cart->write_protect(true); - } else if(x == OP_BEQ) { - mem_bus->cart->write_protect(false); - mem_bus->write(addr + i, OP_BRA); - mem_bus->cart->write_protect(true); - } else goto __test2; - goto __pass; - -//- lda $214x -// cmp ??? -// beq/bne - -__test2: -//look for a repeated read pattern - if(addr != p->read_addr[(p->read_pos - 1) & 31])goto __test3; - if(addr != p->read_addr[(p->read_pos - 2) & 31])goto __test3; - if(addr != p->read_addr[(p->read_pos - 3) & 31])goto __test3; - if(addr != p->read_addr[(p->read_pos - 4) & 31])goto __test3; - if(addr != p->read_addr[(p->read_pos - 5) & 31])goto __test3; - if(addr != p->read_addr[(p->read_pos - 6) & 31])goto __test3; - if(addr != p->read_addr[(p->read_pos - 7) & 31])goto __test3; - if(addr != p->read_addr[(p->read_pos - 8) & 31])goto __test3; -//try and find compare opcode - for(i=0;i<24;i++) { - x = mem_bus->read(addr + i); - if(x == OP_CMP_CONST || x == OP_CPX_CONST || x == OP_CPY_CONST)break; - if(x == OP_CMP_ADDR || x == OP_CPX_ADDR || x == OP_CPY_ADDR) break; - if(x == OP_CMP_LONG)break; - } - if(i == 24)goto __test3; -//seek to next opcode - if(x == OP_CMP_CONST) { - i += (cpu->regs.p.m)?2:3; - } else if(x == OP_CPX_CONST || x == OP_CPY_CONST) { - i += (cpu->regs.p.x)?2:3; - } else if(x == OP_CMP_ADDR || x == OP_CPX_ADDR || x == OP_CPY_ADDR) { - i += 3; - } else if(x == OP_CMP_LONG) { - i += 4; - } - x = mem_bus->read(addr + i); - if(x == OP_BNE) { - mem_bus->cart->write_protect(false); - mem_bus->write(addr + i, OP_NOP); - mem_bus->write(addr + i + 1, OP_NOP); - mem_bus->cart->write_protect(true); - } else if(x == OP_BEQ) { - mem_bus->cart->write_protect(false); - mem_bus->write(addr + i, OP_BRA); - mem_bus->cart->write_protect(true); - } else goto __test3; - goto __pass; - -//fallback -__test3: - if(p->pos < 4) { - if(!(port & 1)) { - p->value = cpu->regs.a.l; - } else { - p->value = cpu->regs.a.h; - } - } else if(p->pos < 8) { - if(!(port & 1)) { - p->value = cpu->regs.x.l; - } else { - p->value = cpu->regs.x.h; - } - } else if(p->pos < 12) { - if(!(port & 1)) { - p->value = cpu->regs.y.l; - } else { - p->value = cpu->regs.y.h; - } - } else if(p->pos < 16) { - p->value = rand(); - } - if(++p->pos == 16)p->pos = 0; - -__pass: - p->read_pos++; - p->read_pos &= 31; - return p->value; -} - -void bAPUSkip::port_write(uint8 port, uint8 value) { - port &= 3; - apu_port[port].value = value; -} - -void bAPUSkip::run() { - snes->notify(SNES::APU_EXEC_OPCODE_BEGIN); - snes->notify(SNES::APU_EXEC_OPCODE_END); -} - -void bAPUSkip::power() { - reset(); -} - -void bAPUSkip::reset() { - regs.a = 0x00; - regs.x = 0x00; - regs.y = 0x00; - regs.sp = 0x00; - regs.p = 0x02; - regs.pc = 0xffc0; - - memset(&apu_port[0], 0, sizeof(_apu_port)); - memset(&apu_port[1], 0, sizeof(_apu_port)); - memset(&apu_port[2], 0, sizeof(_apu_port)); - memset(&apu_port[3], 0, sizeof(_apu_port)); -} diff --git a/src/apu/bapuskip/bapuskip.h b/src/apu/bapuskip/bapuskip.h deleted file mode 100644 index 63b1da50..00000000 --- a/src/apu/bapuskip/bapuskip.h +++ /dev/null @@ -1,37 +0,0 @@ -class bAPUSkip : public APU { -private: -uint8 spcram[65536]; - -public: - -struct _apu_port { - uint8 value; - uint8 step, pos; - uint32 read_addr[32], read_pos; -}apu_port[4]; - -enum { - OP_CMP_CONST = 0xc9, - OP_CPX_CONST = 0xe0, - OP_CPY_CONST = 0xc0, - OP_CMP_ADDR = 0xcd, - OP_CPX_ADDR = 0xec, - OP_CPY_ADDR = 0xcc, - OP_CMP_LONG = 0xcf, - OP_BNE = 0xd0, - OP_BEQ = 0xf0, - OP_BRA = 0x80, - OP_NOP = 0xea -}; - - uint8 spcram_read (uint16 addr); - void spcram_write(uint16 addr, uint8 value); - uint8 port_read (uint8 port); - void port_write (uint8 port, uint8 value); - - uint8 *get_spcram_handle() { return spcram; } - void run(); - uint32 cycles_executed() { return 12 * 24; } - void power(); - void reset(); -}; diff --git a/src/base.h b/src/base.h index 3141c3a0..7e00bb59 100644 --- a/src/base.h +++ b/src/base.h @@ -1,3 +1,6 @@ +//#define DEBUGGER +//#define POLYMORPHISM + //this should be declared in the port-specific makefiles //#define ARCH_LSB //#define ARCH_MSB diff --git a/src/chip/sdd1/sdd1.cpp b/src/chip/sdd1/sdd1.cpp index c26694bb..e7e16098 100644 --- a/src/chip/sdd1/sdd1.cpp +++ b/src/chip/sdd1/sdd1.cpp @@ -6,7 +6,7 @@ void SDD1::init() { void SDD1::enable() { for(int i=0x4800;i<=0x4807;i++) { - mem_bus->set_mmio_mapper(i, mmio); + r_mem->set_mmio_mapper(i, mmio); } } @@ -47,7 +47,7 @@ uint8 SDD1::mmio_read(uint16 addr) { case 0x4807:return (sdd1.index[3] >> 20) & 7; } - return cpu->regs.mdr; + return r_cpu->regs.mdr; } void SDD1::mmio_write(uint16 addr, uint8 data) { diff --git a/src/chip/sdd1/sdd1emu.cpp b/src/chip/sdd1/sdd1emu.cpp index c98506ee..fdb6aaca 100644 --- a/src/chip/sdd1/sdd1emu.cpp +++ b/src/chip/sdd1/sdd1emu.cpp @@ -28,7 +28,7 @@ understood. ************************************************************************/ -#define SDD1_read(__addr) (mem_bus->read(__addr)) +#define SDD1_read(__addr) (r_mem->read(__addr)) //////////////////////////////////////////////////// diff --git a/src/chip/srtc/srtc.cpp b/src/chip/srtc/srtc.cpp index 590037ab..aa59e006 100644 --- a/src/chip/srtc/srtc.cpp +++ b/src/chip/srtc/srtc.cpp @@ -78,8 +78,8 @@ void SRTC::init() { } void SRTC::enable() { - mem_bus->set_mmio_mapper(0x2800, mmio); - mem_bus->set_mmio_mapper(0x2801, mmio); + r_mem->set_mmio_mapper(0x2800, mmio); + r_mem->set_mmio_mapper(0x2801, mmio); } void SRTC::power() { @@ -176,7 +176,7 @@ uint8 SRTCMMIO::read(uint32 addr) { case 0x2800:return srtc->read(); } - return cpu->regs.mdr; + return r_cpu->regs.mdr; } void SRTCMMIO::write(uint32 addr, uint8 value) { diff --git a/src/cpu/bcpu/bcpu.cpp b/src/cpu/bcpu/bcpu.cpp index 3d92c2aa..f6706b49 100644 --- a/src/cpu/bcpu/bcpu.cpp +++ b/src/cpu/bcpu/bcpu.cpp @@ -85,7 +85,7 @@ void bCPU::power() { void bCPU::reset() { //reset vector location - regs.pc = mem_bus->read(0xfffc) | (mem_bus->read(0xfffd) << 8); + regs.pc = r_mem->read(0xfffc) | (r_mem->read(0xfffd) << 8); //registers are not fully reset by SNES regs.x.h = 0x00; @@ -161,22 +161,25 @@ void bCPU::cpu_io() { status.cycle_count = 6; pre_exec_cycle(); add_cycles(6); + cycle_edge(); } uint8 bCPU::mem_read(uint32 addr) { - status.cycle_count = mem_bus->speed(addr); + status.cycle_count = r_mem->speed(addr); pre_exec_cycle(); add_cycles(status.cycle_count - 4); - regs.mdr = mem_bus->read(addr); + regs.mdr = r_mem->read(addr); add_cycles(4); + cycle_edge(); return regs.mdr; } void bCPU::mem_write(uint32 addr, uint8 value) { - status.cycle_count = mem_bus->speed(addr); + status.cycle_count = r_mem->speed(addr); pre_exec_cycle(); add_cycles(status.cycle_count); - mem_bus->write(addr, value); + r_mem->write(addr, value); + cycle_edge(); } uint32 bCPU::op_addr(uint8 mode, uint32 addr) { diff --git a/src/cpu/bcpu/bcpu_dma.cpp b/src/cpu/bcpu/bcpu_dma.cpp index dc9ccbc0..2fad96eb 100644 --- a/src/cpu/bcpu/bcpu_dma.cpp +++ b/src/cpu/bcpu/bcpu_dma.cpp @@ -25,10 +25,10 @@ uint8 x; if(sdd1->dma_active() == true) { x = sdd1->dma_read(); } else { - x = mem_bus->read(dma_addr(i)); + x = r_mem->read(dma_addr(i)); } - mem_bus->write(0x2100 | ((channel[i].destaddr + index) & 0xff), x); + r_mem->write(0x2100 | ((channel[i].destaddr + index) & 0xff), x); add_cycles(8); channel[i].xfersize--; @@ -36,8 +36,8 @@ uint8 x; void bCPU::dma_mmiotocpu(uint8 i, uint8 index) { uint8 x; - x = mem_bus->read(0x2100 | ((channel[i].destaddr + index) & 0xff)); - mem_bus->write(dma_addr(i), x); + x = r_mem->read(0x2100 | ((channel[i].destaddr + index) & 0xff)); + r_mem->write(dma_addr(i), x); add_cycles(8); channel[i].xfersize--; @@ -113,21 +113,21 @@ uint16 index; uint8 bCPU::hdma_read(uint8 i) { if(channel[i].direction == DMA_MMIOTOCPU) { - return mem_bus->read(hdma_mmio(i)); + return r_mem->read(hdma_mmio(i)); } else if(!channel[i].hdma_indirect) { - return mem_bus->read(hdma_addr(i)); + return r_mem->read(hdma_addr(i)); } else { - return mem_bus->read(hdma_iaddr(i)); + return r_mem->read(hdma_iaddr(i)); } } void bCPU::hdma_write(uint8 i, uint8 x) { if(channel[i].direction == DMA_CPUTOMMIO) { - mem_bus->write(hdma_mmio(i), x); + r_mem->write(hdma_mmio(i), x); } else if(!channel[i].hdma_indirect) { - mem_bus->write(hdma_addr(i), x); + r_mem->write(hdma_addr(i), x); } else { - mem_bus->write(hdma_iaddr(i), x); + r_mem->write(hdma_iaddr(i), x); } add_cycles(8); @@ -135,12 +135,12 @@ void bCPU::hdma_write(uint8 i, uint8 x) { } void bCPU::hdma_update(uint8 i) { - channel[i].hdma_line_counter = mem_bus->read(hdma_addr(i)); + channel[i].hdma_line_counter = r_mem->read(hdma_addr(i)); add_cycles(8); hdma_add_cycles(8); if(channel[i].hdma_indirect) { - channel[i].hdma_iaddr = mem_bus->read(hdma_addr(i)) << 8; + channel[i].hdma_iaddr = r_mem->read(hdma_addr(i)) << 8; add_cycles(8); hdma_add_cycles(8); } @@ -155,7 +155,7 @@ void bCPU::hdma_update(uint8 i) { if(channel[i].hdma_indirect) { channel[i].hdma_iaddr >>= 8; - channel[i].hdma_iaddr |= mem_bus->read(hdma_addr(i)) << 8; + channel[i].hdma_iaddr |= r_mem->read(hdma_addr(i)) << 8; add_cycles(8); hdma_add_cycles(8); } diff --git a/src/cpu/bcpu/bcpu_exec.cpp b/src/cpu/bcpu/bcpu_exec.cpp index e0eb9b40..6a961442 100644 --- a/src/cpu/bcpu/bcpu_exec.cpp +++ b/src/cpu/bcpu/bcpu_exec.cpp @@ -133,6 +133,7 @@ static int z; break; case DMASTATE_RUN: dma_run(); //updates status.dma_cycle_count + cycle_edge(); break; case DMASTATE_CPUSYNC: exec_cycle(); @@ -147,18 +148,22 @@ void bCPU::exec_cycle() { return; } -//on first cycle? - if(status.cycle_pos == 0) { - snes->notify(SNES::CPU_EXEC_OPCODE_BEGIN); - status.opcode = op_read(); - status.cycle_pos = 1; + if(status.cycle_pos) { + (this->*optbl[status.opcode])(); + #ifdef DEBUGGER + if(status.cycle_pos == 0) { + snes->notify(SNES::CPU_EXEC_OPCODE_END); + } + #endif return; } - (this->*optbl[status.opcode])(); - if(status.cycle_pos == 0) { - snes->notify(SNES::CPU_EXEC_OPCODE_END); - } +//on first cycle? +#ifdef DEBUGGER + snes->notify(SNES::CPU_EXEC_OPCODE_BEGIN); +#endif + status.opcode = op_read(); + status.cycle_pos = 1; } //only return true when we are on an opcode edge diff --git a/src/cpu/bcpu/bcpu_int.cpp b/src/cpu/bcpu/bcpu_int.cpp index 9f47c88d..88336745 100644 --- a/src/cpu/bcpu/bcpu_int.cpp +++ b/src/cpu/bcpu/bcpu_int.cpp @@ -13,7 +13,7 @@ void bCPU::irq_run() { //WDC documentation is incorrect, first cycle //is a memory read fetch from PBR:PC switch(status.cycle_pos++) { - case 0: add_cycles(mem_bus->speed(regs.pc.d)); break; + case 0: add_cycles(r_mem->speed(regs.pc.d)); break; case 1: add_cycles(6); break; case 2: stack_write(regs.pc.b); break; case 3: stack_write(regs.pc.h); break; @@ -25,8 +25,10 @@ void bCPU::irq_run() { regs.pc.w = rd.w; regs.p.i = 1; regs.p.d = 0; + #ifdef DEBUGGER //let debugger know the new IRQ opcode address snes->notify(SNES::CPU_EXEC_OPCODE_END); + #endif status.cycle_pos = 0; run_state.irq = false; break; diff --git a/src/cpu/bcpu/bcpu_mmio.cpp b/src/cpu/bcpu/bcpu_mmio.cpp index fbcb0349..8d833cbe 100644 --- a/src/cpu/bcpu/bcpu_mmio.cpp +++ b/src/cpu/bcpu/bcpu_mmio.cpp @@ -37,7 +37,7 @@ void bCPU::mmio_reset() { //WMDATA uint8 bCPU::mmio_r2180() { uint8 r; - r = mem_bus->read(0x7e0000 | status.wram_addr); + r = r_mem->read(0x7e0000 | status.wram_addr); status.wram_addr++; status.wram_addr &= 0x01ffff; return r; @@ -324,7 +324,7 @@ uint8 bCPUMMIO::read(uint32 addr) { uint i; //APU if(addr >= 0x2140 && addr <= 0x217f) { - return apu->port_read(addr & 3); + return r_apu->port_read(addr & 3); } //HDMA @@ -374,7 +374,7 @@ uint i; //WMDATA void bCPU::mmio_w2180(uint8 value) { - mem_bus->write(0x7e0000 | status.wram_addr, value); + r_mem->write(0x7e0000 | status.wram_addr, value); status.wram_addr++; status.wram_addr &= 0x01ffff; } @@ -441,7 +441,7 @@ void bCPU::mmio_w4200(uint8 value) { //WRIO void bCPU::mmio_w4201(uint8 value) { if((status.pio & 0x80) && !(value & 0x80)) { - ppu->latch_counters(); + r_ppu->latch_counters(); } status.pio = value; } @@ -525,7 +525,7 @@ void bCPU::mmio_w420c(uint8 value) { //MEMSEL void bCPU::mmio_w420d(uint8 value) { - mem_bus->set_speed(value & 1); + r_mem->set_speed(value & 1); } //DMAPx diff --git a/src/cpu/bcpu/bcpu_timing.cpp b/src/cpu/bcpu/bcpu_timing.cpp index 93eed40e..2ca28391 100644 --- a/src/cpu/bcpu/bcpu_timing.cpp +++ b/src/cpu/bcpu/bcpu_timing.cpp @@ -239,6 +239,24 @@ uint32 r = status.cycles_executed; return r; } +void bCPU::cycle_edge() { + if(time.hdmainit_triggered == false) { + if(time.hc >= time.hdmainit_trigger_pos || time.v) { + time.hdmainit_triggered = true; + hdmainit_activate(); + } + } + + if(time.hdma_triggered == false) { + if(time.v <= (overscan() ? 239 : 224)) { + if(time.hc >= 1106) { + time.hdma_triggered = true; + hdma_activate(); + } + } + } +} + void bCPU::add_cycles(int cycles) { status.cycles_executed += cycles; @@ -253,23 +271,16 @@ void bCPU::add_cycles(int cycles) { if(time.v == 0) { frame(); - ppu->frame(); + r_ppu->frame(); snes->frame(); } scanline(); - ppu->scanline(); + r_ppu->scanline(); snes->scanline(); time.line_rendered = false; } - if(time.hdmainit_triggered == false) { - if(time.hc + cycles >= time.hdmainit_trigger_pos || time.v) { - time.hdmainit_triggered = true; - hdmainit_activate(); - } - } - if(time.dram_refreshed == false) { if(time.hc + cycles >= time.dram_refresh_pos) { time.dram_refreshed = true; @@ -296,16 +307,7 @@ void bCPU::add_cycles(int cycles) { //therefore, wait a few dots before rendering the scanline if(time.hc + cycles >= (48 * 4)) { time.line_rendered = true; - ppu->render_scanline(); - } - } - - if(time.hdma_triggered == false) { - if(time.v <= (overscan() ? 239 : 224)) { - if(time.hc + cycles >= 1106) { - time.hdma_triggered = true; - hdma_activate(); - } + r_ppu->render_scanline(); } } diff --git a/src/cpu/bcpu/bcpu_timing.h b/src/cpu/bcpu/bcpu_timing.h index bb70a3de..71a5e677 100644 --- a/src/cpu/bcpu/bcpu_timing.h +++ b/src/cpu/bcpu/bcpu_timing.h @@ -69,5 +69,6 @@ inline uint8 dma_counter(); inline void inc_vcounter(); inline uint16 get_hcounter(); +inline void cycle_edge(); inline void add_cycles(int cycles); inline void time_reset(); diff --git a/src/cpu/cpuregs.h b/src/cpu/cpuregs.h index 8d6447bd..bf5207cb 100644 --- a/src/cpu/cpuregs.h +++ b/src/cpu/cpuregs.h @@ -41,7 +41,7 @@ union { struct { uint8 l, h; }; #else struct { uint8 h, l; }; -#endif; +#endif }; CPUReg16() { w = 0; } diff --git a/src/cpu/dcpu.cpp b/src/cpu/dcpu.cpp index be6896d0..8a3952ae 100644 --- a/src/cpu/dcpu.cpp +++ b/src/cpu/dcpu.cpp @@ -38,23 +38,23 @@ uint32 r = 0; break; case OPTYPE_IDP: addr = (regs.d + (addr & 0xffff)) & 0xffff; - r = (regs.db << 16) + mem_bus->read_word(addr); + r = (regs.db << 16) + r_mem->read_word(addr); break; case OPTYPE_IDPX: addr = (regs.d + regs.x + (addr & 0xffff)) & 0xffff; - r = (regs.db << 16) + mem_bus->read_word(addr); + r = (regs.db << 16) + r_mem->read_word(addr); break; case OPTYPE_IDPY: addr = (regs.d + (addr & 0xffff)) & 0xffff; - r = (regs.db << 16) + mem_bus->read_word(addr) + regs.y; + r = (regs.db << 16) + r_mem->read_word(addr) + regs.y; break; case OPTYPE_ILDP: addr = (regs.d + (addr & 0xffff)) & 0xffff; - r = mem_bus->read_long(addr); + r = r_mem->read_long(addr); break; case OPTYPE_ILDPY: addr = (regs.d + (addr & 0xffff)) & 0xffff; - r = mem_bus->read_long(addr) + regs.y; + r = r_mem->read_long(addr) + regs.y; break; case OPTYPE_ADDR: r = (regs.db << 16) + (addr & 0xffff); @@ -88,7 +88,7 @@ uint32 r = 0; break; case OPTYPE_ISRY: addr = (regs.s + (addr & 0xff)) & 0xffff; - r = (regs.db << 16) + mem_bus->read_word(addr) + regs.y; + r = (regs.db << 16) + r_mem->read_word(addr) + regs.y; break; } return r; @@ -109,10 +109,10 @@ static CPUReg24 pc; pc.d = regs.pc.d; sprintf(s, "%0.6x ", pc.d); - op = mem_bus->read(pc.d); pc.w++; - op0 = mem_bus->read(pc.d); pc.w++; - op1 = mem_bus->read(pc.d); pc.w++; - op2 = mem_bus->read(pc.d); + op = r_mem->read(pc.d); pc.w++; + op0 = r_mem->read(pc.d); pc.w++; + op1 = r_mem->read(pc.d); pc.w++; + op2 = r_mem->read(pc.d); switch(op) { case 0x00:sprintf(t, "brk #$%0.2x ", op0);break; @@ -457,7 +457,7 @@ static uint8 op_len_tbl[256] = { return 0; } - op = mem_bus->read(regs.pc.d); + op = r_mem->read(regs.pc.d); len = op_len_tbl[op]; if(len == 5)return (regs.p.m)?2:3; if(len == 6)return (regs.p.x)?2:3; diff --git a/src/dsp/bdsp/bdsp.cpp b/src/dsp/bdsp/bdsp.cpp index d973ce81..18a91872 100644 --- a/src/dsp/bdsp/bdsp.cpp +++ b/src/dsp/bdsp/bdsp.cpp @@ -183,7 +183,7 @@ int i, v, n; void bDSP::power() { int v; - spcram = apu->get_spcram_handle(); + spcram = r_apu->get_spcram_handle(); memset(dspram, 0x00, 128); for(v=0;v<8;v++) { diff --git a/src/interface.h b/src/interface.h index b8729189..28fc434a 100644 --- a/src/interface.h +++ b/src/interface.h @@ -1,49 +1,81 @@ -#define BSNES_VERSION "0.013 wip2" +#define BSNES_VERSION "0.014" #define BSNES_TITLE "bsnes v" BSNES_VERSION +#ifdef POLYMORPHISM + #define ref(x) x +#else + #define ref(x) (&x) +#endif +#define deref(x) __##x + +#define r_mem ref(deref(mem)) +#define r_cpu ref(deref(cpu)) +#define r_apu ref(deref(apu)) +#define r_dsp ref(deref(dsp)) +#define r_ppu ref(deref(ppu)) + #include "reader/reader.h" #include "memory/memory.h" #include "memory/bmemory/bmemory.h" -extern MMIO mmio_unmapped; -extern MemBus *mem_bus; #include "cpu/cpu.h" #include "cpu/bcpu/bcpu.h" -extern CPU *cpu; #include "apu/apu.h" #include "apu/bapu/bapu.h" -#include "apu/bapuskip/bapuskip.h" -extern APU *apu; #include "dsp/dsp.h" #include "dsp/bdsp/bdsp.h" -extern DSP *dsp; #include "ppu/ppu.h" #include "ppu/bppu/bppu.h" -extern PPU *ppu; #include "snes/snes.h" -extern SNES *snes; #include "chip/srtc/srtc.h" #include "chip/sdd1/sdd1.h" + +extern MMIO mmio_unmapped; +#ifdef POLYMORPHISM + extern MemBus *deref(mem); + extern CPU *deref(cpu); + extern APU *deref(apu); + extern DSP *deref(dsp); + extern PPU *deref(ppu); +#else + extern bMemBus deref(mem); + extern bCPU deref(cpu); + extern bAPU deref(apu); + extern bDSP deref(dsp); + extern bPPU deref(ppu); + #endif +extern SNES *snes; + extern SRTC *srtc; extern SDD1 *sdd1; #include "config/config.h" #ifdef INTERFACE_MAIN -#include "config/config.cpp" - MemBus *mem_bus; - CPU *cpu; - APU *apu; - DSP *dsp; - PPU *ppu; - SNES *snes; - SRTC *srtc; - SDD1 *sdd1; +#include "config/config.cpp" +#ifdef POLYMORPHISM + MemBus *deref(mem); + CPU *deref(cpu); + APU *deref(apu); + DSP *deref(dsp); + PPU *deref(ppu); +#else + bMemBus deref(mem); + bCPU deref(cpu); + bAPU deref(apu); + bDSP deref(dsp); + bPPU deref(ppu); +#endif +SNES *snes; + +SRTC *srtc; +SDD1 *sdd1; + #endif diff --git a/src/lib/libconfig.cpp b/src/lib/libconfig.cpp index 949e7c47..f772619e 100644 --- a/src/lib/libconfig.cpp +++ b/src/lib/libconfig.cpp @@ -11,7 +11,6 @@ uint Setting::get() { } void Setting::set(uint _data) { -printf("%s %d\n", name, _data); data = _data; if(type != DEC && type != HEX) { diff --git a/src/memory/bmemory/bmemory.cpp b/src/memory/bmemory/bmemory.cpp index 010459a3..de003674 100644 --- a/src/memory/bmemory/bmemory.cpp +++ b/src/memory/bmemory/bmemory.cpp @@ -15,7 +15,7 @@ uint8 mapper, region; rom_size = rf->size(); if(rom_size < 32768) { - free(rom_image); + zerofree(rom_image); return false; } @@ -77,7 +77,7 @@ end: region = rom[index + 0x19]; dprintf("* Image Name : \"%s\"", cart_title); - dprintf("* Region : %s", (region <= 1)?"NTSC":"PAL"); + dprintf("* Region : %s", (region <= 1) ? "NTSC" : "PAL"); dprintf("* MAD : %0.2x", mapper); dprintf("* SRAM Size : %dkb", sram_size / 1024); dprintf("* Reset:%0.4x NMI:%0.4x IRQ:%0.4x BRK[n]:%0.4x COP[n]:%0.4x BRK[e]:%0.4x COP[e]:%0.4x", @@ -206,7 +206,9 @@ static uint32 r; break; } +#ifdef DEBUGGER snes->notify(SNES::MEM_READ, addr, r); +#endif return r; } @@ -245,7 +247,9 @@ void bMemBus::write(uint32 addr, uint8 value) { break; } +#ifdef DEBUGGER snes->notify(SNES::MEM_WRITE, addr, value); +#endif } void bMemBus::power() { diff --git a/src/memory/memory.cpp b/src/memory/memory.cpp index ed894abd..c305ac2d 100644 --- a/src/memory/memory.cpp +++ b/src/memory/memory.cpp @@ -79,7 +79,7 @@ void Memory::write_long(uint32 addr, uint32 data, uint wrap) { } MMIO mmio_unmapped; -uint8 MMIO::read (uint32 addr) { return cpu->regs.mdr; } +uint8 MMIO::read (uint32 addr) { return r_cpu->regs.mdr; } void MMIO::write(uint32 addr, uint8 value) {} uint8 MemBus::calc_speed(uint32 addr, bool fast) { @@ -92,10 +92,6 @@ uint8 MemBus::calc_speed(uint32 addr, bool fast) { return 8; } -uint8 MemBus::speed(uint32 addr) { - return speed_table[addr >> 9]; -} - void MemBus::set_speed(bool fast) { fastROM = fast; diff --git a/src/memory/memory.h b/src/memory/memory.h index 01424c13..7c195169 100644 --- a/src/memory/memory.h +++ b/src/memory/memory.h @@ -43,8 +43,10 @@ uint8 *speed_table, speed_table_fastrom[32768]; inline uint8 calc_speed(uint32 addr, bool fast); public: - uint8 speed(uint32 addr); - void set_speed(bool fast); + inline uint8 speed(uint32 addr) { + return speed_table[addr >> 9]; + } + void set_speed(bool fast); virtual bool load_cart(Reader *rf) = 0; virtual bool load_sram(Reader *rf) = 0; diff --git a/src/ppu/bppu/Copy of bppu_render_addsub.cpp b/src/ppu/bppu/Copy of bppu_render_addsub.cpp new file mode 100644 index 00000000..2a216632 --- /dev/null +++ b/src/ppu/bppu/Copy of bppu_render_addsub.cpp @@ -0,0 +1,64 @@ +inline uint16 bPPU::addsub_pixels(uint32 cdest, uint32 csrc) { + if(!regs.color_mode) { + //add + cdest = ((cdest << 16) | cdest) & 0x03e07c1f; + csrc = ((csrc << 16) | csrc) & 0x03e07c1f; + cdest += csrc; + + if(regs.color_halve) { + cdest >>= 1; + } else { + if(cdest & 0x04000000)cdest |= 0x03e00000; + if(cdest & 0x00008000)cdest |= 0x00007c00; + if(cdest & 0x00000020)cdest |= 0x0000001f; + } + + cdest &= 0x03e07c1f; + return (cdest >> 16) | cdest; + } else { + //subtract + if((cdest & 0x7c00) < (csrc & 0x7c00))cdest &= ~0x7c00; + else cdest -= (csrc & 0x7c00); + if((cdest & 0x03e0) < (csrc & 0x03e0))cdest &= ~0x03e0; + else cdest -= (csrc & 0x03e0); + if((cdest & 0x001f) < (csrc & 0x001f))cdest &= ~0x001f; + else cdest -= (csrc & 0x001f); + + return (!regs.color_halve) ? cdest : ((cdest & 0x7bde) >> 1); + } +} + +inline uint16 bPPU::addsub_pixel(uint32 cdest) { +uint32 csrc = regs.color_rgb; + if(!regs.color_mode) { + //add + cdest = ((cdest << 16) | cdest) & 0x03e07c1f; + csrc = ((csrc << 16) | csrc) & 0x03e07c1f; + cdest += csrc; + + if(regs.color_halve && !regs.addsub_mode) { + cdest >>= 1; + } else { + if(cdest & 0x04000000)cdest |= 0x03e00000; + if(cdest & 0x00008000)cdest |= 0x00007c00; + if(cdest & 0x00000020)cdest |= 0x0000001f; + } + + cdest &= 0x03e07c1f; + return (cdest >> 16) | cdest; + } else { + //subtract + if((cdest & 0x7c00) < (csrc & 0x7c00))cdest &= ~0x7c00; + else cdest -= (csrc & 0x7c00); + if((cdest & 0x03e0) < (csrc & 0x03e0))cdest &= ~0x03e0; + else cdest -= (csrc & 0x03e0); + if((cdest & 0x001f) < (csrc & 0x001f))cdest &= ~0x001f; + else cdest -= (csrc & 0x001f); + + if(regs.color_halve && !regs.addsub_mode) { + return (cdest & 0x7bde) >> 1; + } + + return cdest; + } +} diff --git a/src/ppu/bppu/Copy of bppu_render_line.cpp b/src/ppu/bppu/Copy of bppu_render_line.cpp new file mode 100644 index 00000000..58ac93f8 --- /dev/null +++ b/src/ppu/bppu/Copy of bppu_render_line.cpp @@ -0,0 +1,82 @@ +inline uint16 bPPU::get_palette(uint8 index) { + return read16(cgram, index << 1); +} + +inline uint16 bPPU::get_direct_color(uint8 p, uint8 t) { +//p = 00000bgr +//t = BBGGGRRR +//r = 0BBb00GGGg0RRRr0 + return ((t & 7) << 2) | ((p & 1) << 1) | + (((t >> 3) & 7) << 7) | (((p >> 1) & 1) << 6) | + ((t >> 6) << 13) | ((p >> 2) << 12); +} + +inline uint16 bPPU::get_pixel(int x) { +_pixel *p = &pixel_cache[x]; +uint16 r, src_back = get_palette(0); + if(p->bg_main && p->bg_sub) { + if(!p->color_exempt && regs.color_enabled[p->bg_main & 0x7f] && window_cache[COL].sub[x]) { + if(regs.addsub_mode) { + r = addsub_pixels(p->src_main, p->src_sub); + } else { + r = addsub_pixel(p->src_main); + } + } else { + r = p->src_main; + } + } else if(p->bg_main) { + if(!p->color_exempt && regs.color_enabled[p->bg_main & 0x7f] && window_cache[COL].sub[x]) { + r = addsub_pixel(p->src_main); + } else { + r = p->src_main; + } + } else if(p->bg_sub) { + if(regs.color_enabled[BACK]) { + if(window_cache[COL].sub[x]) { + if(regs.addsub_mode) { + r = addsub_pixels(src_back, p->src_sub); + } else { + r = addsub_pixel(src_back); + } + } else { + r = src_back; + } + } else { + r = src_back; //was 0x0000 -- possibly another condition here? + } + } else { + if(window_cache[COL].main[x]) { + if(regs.color_enabled[BACK] && window_cache[COL].sub[x]) { + r = addsub_pixel(src_back); + } else { + r = src_back; + } + } else { + if(regs.color_enabled[BACK] && window_cache[COL].sub[x]) { + r = (!regs.color_mode) ? regs.color_rgb : 0x0000; + } else { + r = 0x0000; + } + } + } + return r; +} + +inline void bPPU::render_line_output() { +uint16 r, x; +uint16 *ptr = (uint16*)output + (line.y * 1024) + + ((line.interlace && line.interlace_field) ? 512 : 0); +uint16 *ltable = (uint16*)light_table + (regs.display_brightness << 15); + + if(line.width == 256) { + for(x=0;x<256;x++) { + r = get_pixel(x); + *ptr++ = *(ltable + r); + } + } else { + for(x=0;x<512;x++) { + r = get_pixel(x); + *ptr++ = *(ltable + r); + } + } +} diff --git a/src/ppu/bppu/bppu.cpp b/src/ppu/bppu/bppu.cpp index e67a663f..b0d1af9b 100644 --- a/src/ppu/bppu/bppu.cpp +++ b/src/ppu/bppu/bppu.cpp @@ -5,11 +5,11 @@ void bPPU::run() {} void bPPU::scanline() { - line.y = cpu->vcounter(); + line.y = r_cpu->vcounter(); line.width = (regs.bg_mode == 5 || regs.bg_mode == 6) ? 512 : 256; line.hires = (regs.bg_mode == 5 || regs.bg_mode == 6); - line.interlace = cpu->interlace(); - line.interlace_field = cpu->interlace_field(); + line.interlace = r_cpu->interlace(); + line.interlace_field = r_cpu->interlace_field(); if(line.y == 0) { //RTO flag reset @@ -26,7 +26,7 @@ void bPPU::scanline() { } } - if(line.y == (cpu->overscan() ? 239 : 224) && regs.display_disabled == false) { + if(line.y == (r_cpu->overscan() ? 239 : 224) && regs.display_disabled == false) { //OAM address reset regs.oam_addr = ((regs.oam_addrh << 8) | regs.oam_addrl) << 1; } @@ -35,17 +35,18 @@ void bPPU::scanline() { void bPPU::render_scanline() { if(status.render_output == false)return; - if(line.y > 0 && line.y < (cpu->overscan() ? 239 : 224)) { + if(line.y > 0 && line.y < (r_cpu->overscan() ? 239 : 224)) { render_line(); } } void bPPU::frame() { PPU::frame(); - snes->notify(SNES::RENDER_FRAME); } void bPPU::power() { + PPU::power(); + memset(vram, 0, 65536); memset(oam, 0, 544); memset(cgram, 0, 512); @@ -56,6 +57,7 @@ void bPPU::power() { } void bPPU::reset() { + PPU::reset(); frame(); memset(sprite_list, 0, sizeof(sprite_list)); @@ -228,9 +230,10 @@ void bPPU::reset() { regs.color_enabled[BG1] = false; //$2132 - regs.color_r = 0x00; - regs.color_g = 0x00; - regs.color_b = 0x00; + regs.color_r = 0x00; + regs.color_g = 0x00; + regs.color_b = 0x00; + regs.color_rgb = 0x0000; //$2133 regs.mode7_extbg = false; @@ -262,20 +265,26 @@ void bPPU::reset() { uint8 bPPU::vram_read(uint16 addr) { uint8 r; r = vram[addr]; +#ifdef DEBUGGER snes->notify(SNES::VRAM_READ, addr, r); +#endif return r; } void bPPU::vram_write(uint16 addr, uint8 value) { vram[addr] = value; +#ifdef DEBUGGER snes->notify(SNES::VRAM_WRITE, addr, value); +#endif } uint8 bPPU::oam_read(uint16 addr) { uint8 r; if(addr >= 0x0200)addr = 0x0200 | (addr & 31); r = oam[addr]; +#ifdef DEBUGGER snes->notify(SNES::OAM_READ, addr, r); +#endif return r; } @@ -283,7 +292,9 @@ void bPPU::oam_write(uint16 addr, uint8 value) { if(addr >= 0x0200)addr = 0x0200 | (addr & 31); oam[addr] = value; update_sprite_list(addr); +#ifdef DEBUGGER snes->notify(SNES::OAM_WRITE, addr, value); +#endif } uint8 bPPU::cgram_read(uint16 addr) { @@ -293,7 +304,9 @@ uint8 r; if(addr & 1) { r &= 0x7f; } +#ifdef DEBUGGER snes->notify(SNES::CGRAM_READ, addr, r); +#endif return r; } @@ -303,7 +316,9 @@ void bPPU::cgram_write(uint16 addr, uint8 value) { value &= 0x7f; } cgram[addr] = value; +#ifdef DEBUGGER snes->notify(SNES::CGRAM_WRITE, addr, value); +#endif } bPPU::bPPU() { diff --git a/src/ppu/bppu/bppu.h b/src/ppu/bppu/bppu.h index ce4956c3..6223b8db 100644 --- a/src/ppu/bppu/bppu.h +++ b/src/ppu/bppu/bppu.h @@ -127,6 +127,7 @@ struct { //$2132 uint8 color_r, color_g, color_b; + uint16 color_rgb; //$2133 bool mode7_extbg; diff --git a/src/ppu/bppu/bppu_mmio.cpp b/src/ppu/bppu/bppu_mmio.cpp index 0bb916bd..fcd3ddbb 100644 --- a/src/ppu/bppu/bppu_mmio.cpp +++ b/src/ppu/bppu/bppu_mmio.cpp @@ -1,6 +1,6 @@ void bPPU::latch_counters() { - regs.hcounter = cpu->hcounter(); - regs.vcounter = cpu->vcounter(); + regs.hcounter = r_cpu->hcounter(); + regs.vcounter = r_cpu->vcounter(); regs.counters_latched = true; } @@ -21,20 +21,20 @@ bool bPPU::vram_can_read() { return true; } -uint16 v = cpu->vcounter(); -uint16 hc = cpu->hcycles(); +uint16 v = r_cpu->vcounter(); +uint16 hc = r_cpu->hcycles(); uint16 ls; - if(cpu->interlace() && !cpu->interlace_field()) { - ls = cpu->region_scanlines(); + if(r_cpu->interlace() && !r_cpu->interlace_field()) { + ls = r_cpu->region_scanlines(); } else { - ls = cpu->region_scanlines() - 1; + ls = r_cpu->region_scanlines() - 1; } if(v == ls && hc == 1362)return false; - if(v < (cpu->overscan() ? 239 : 224))return false; + if(v < (r_cpu->overscan() ? 239 : 224))return false; - if(v == (cpu->overscan() ? 239 : 224)) { + if(v == (r_cpu->overscan() ? 239 : 224)) { if(hc == 1362)return true; return false; } @@ -47,17 +47,17 @@ bool bPPU::vram_can_write(uint8 &value) { return true; } -uint16 v = cpu->vcounter(); -uint16 hc = cpu->hcycles(); +uint16 v = r_cpu->vcounter(); +uint16 hc = r_cpu->hcycles(); if(v == 0) { if(hc <= 4)return true; - if(hc == 6) { value = cpu->regs.mdr; return true; } + if(hc == 6) { value = r_cpu->regs.mdr; return true; } return false; } - if(v < (cpu->overscan() ? 240 : 225))return false; + if(v < (r_cpu->overscan() ? 240 : 225))return false; - if(v == (cpu->overscan() ? 240 : 225)) { + if(v == (r_cpu->overscan() ? 240 : 225)) { if(hc <= 4)return false; return true; } @@ -542,6 +542,8 @@ void bPPU::mmio_w2132(uint8 value) { if(value & 0x80)regs.color_b = value & 0x1f; if(value & 0x40)regs.color_g = value & 0x1f; if(value & 0x20)regs.color_r = value & 0x1f; + + regs.color_rgb = (regs.color_r) | (regs.color_g << 5) | (regs.color_b << 10); } //SETINI @@ -552,8 +554,8 @@ void bPPU::mmio_w2133(uint8 value) { regs.oam_halve = !!(value & 0x02); regs.interlace = !!(value & 0x01); - cpu->set_overscan(regs.overscan); - cpu->set_interlace(regs.interlace); + r_cpu->set_overscan(regs.overscan); + r_cpu->set_interlace(regs.interlace); } //MPYL @@ -582,10 +584,10 @@ uint32 r; //SLHV uint8 bPPU::mmio_r2137() { - if(cpu->pio_status() & 0x80) { + if(r_cpu->pio_status() & 0x80) { latch_counters(); } - return cpu->regs.mdr; + return r_cpu->regs.mdr; } //OAMDATAREAD @@ -689,8 +691,8 @@ uint8 r = 0x00; regs.latch_hcounter = 0; regs.latch_vcounter = 0; - r |= cpu->interlace_field() << 7; - if(!(cpu->pio_status() & 0x80)) { + r |= r_cpu->interlace_field() << 7; + if(!(r_cpu->pio_status() & 0x80)) { r |= 0x40; } else if(regs.counters_latched == true) { r |= 0x40; @@ -738,7 +740,7 @@ uint8 bPPUMMIO::read(uint32 addr) { case 0x213f:return ppu->mmio_r213f(); //STAT78 } - return cpu->regs.mdr; + return r_cpu->regs.mdr; } void bPPUMMIO::write(uint32 addr, uint8 value) { diff --git a/src/ppu/bppu/bppu_render.cpp b/src/ppu/bppu/bppu_render.cpp index 05618f3f..8edac47c 100644 --- a/src/ppu/bppu/bppu_render.cpp +++ b/src/ppu/bppu/bppu_render.cpp @@ -20,28 +20,25 @@ inline void bPPU::render_line_mode0() { } /* -Mode 1 (pri=0): -> - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - BG3B, OAM0, BG3A, OAM1, BG2B, BG1B, OAM2, BG2A, BG1A, OAM3 - Mode 1 (pri=1): -> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 BG3B, OAM0, OAM1, BG2B, BG1B, OAM2, BG2A, BG1A, OAM3, BG3A + +Mode 1 (pri=0): -> + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 + BG3B, OAM0, BG3A, OAM1, BG2B, BG1B, OAM2, BG2A, BG1A, OAM3 */ inline void bPPU::render_line_mode1() { - switch(regs.bg3_priority) { - case 0: - render_line_bg(BG1, COLORDEPTH_16, 6, 9); - render_line_bg(BG2, COLORDEPTH_16, 5, 8); - render_line_bg(BG3, COLORDEPTH_4, 1, 3); - render_line_oam(2, 4, 7, 10); - break; - case 1: + if(regs.bg3_priority) { render_line_bg(BG1, COLORDEPTH_16, 5, 8); render_line_bg(BG2, COLORDEPTH_16, 4, 7); render_line_bg(BG3, COLORDEPTH_4, 1, 10); render_line_oam(2, 3, 6, 9); - break; + } else { + render_line_bg(BG1, COLORDEPTH_16, 6, 9); + render_line_bg(BG2, COLORDEPTH_16, 5, 8); + render_line_bg(BG3, COLORDEPTH_4, 1, 3); + render_line_oam(2, 4, 7, 10); } } @@ -121,7 +118,7 @@ inline void bPPU::render_line_mode7() { void bPPU::render_line() { if(regs.display_disabled == true) { - memset(snes->get_ppu_output_handle(), 0, 1024); + memset(output + (line.y * 1024), 0, 1024); return; } diff --git a/src/ppu/bppu/bppu_render.h b/src/ppu/bppu/bppu_render.h index 5143f21d..0e9b3c24 100644 --- a/src/ppu/bppu/bppu_render.h +++ b/src/ppu/bppu/bppu_render.h @@ -64,24 +64,25 @@ struct oam_tileitem { } oam_tilelist[34]; enum { OAM_PRI_NONE = 4 }; -uint8 oam_line_pal[512], oam_line_pri[512]; +uint8 oam_line_pal[256], oam_line_pri[256]; bool is_sprite_on_scanline(); void load_oam_tiles(); void render_oam_tile(int tile_num); void render_line_oam(uint8 pri0_pos, uint8 pri1_pos, uint8 pri2_pos, uint8 pri3_pos); +void render_line_oam_lores(uint8 pri0_pos, uint8 pri1_pos, uint8 pri2_pos, uint8 pri3_pos); +void render_line_oam_hires(uint8 pri0_pos, uint8 pri1_pos, uint8 pri2_pos, uint8 pri3_pos); //bppu_render_mode7.cpp void render_line_mode7(uint8 bg, uint8 pri0_pos, uint8 pri1_pos); //bppu_render_addsub.cpp -inline uint16 addsub_pixels(uint32 cdest, uint32 csrc); -inline uint16 addsub_pixel (uint32 cdest); +inline uint16 addsub_pixels(uint32 x); //bppu_render_line.cpp enum { BLENDTYPE_BACK = 0, BLENDTYPE_MAIN = 1, BLENDTYPE_SUB = 2, BLENDTYPE_COMBINE = 3 }; inline uint16 get_palette(uint8 index); inline uint16 get_direct_color(uint8 p, uint8 t); -inline uint16 get_pixel(int x); +inline uint16 get_pixel(uint32 x); inline void render_line_output(); diff --git a/src/ppu/bppu/bppu_render_addsub.cpp b/src/ppu/bppu/bppu_render_addsub.cpp index 43bea198..835d4d8a 100644 --- a/src/ppu/bppu/bppu_render_addsub.cpp +++ b/src/ppu/bppu/bppu_render_addsub.cpp @@ -1,92 +1,39 @@ -inline uint16 bPPU::addsub_pixels(uint32 cdest, uint32 csrc) { -int r, g, b; -uint16 res; - switch(regs.color_mode) { - case 0: //COLORMODE_ADD: - if(regs.color_halve == true) { - cdest = ((cdest << 16) | cdest) & 0x03e07c1f; - csrc = ((csrc << 16) | csrc) & 0x03e07c1f; - cdest += csrc; - cdest >>= 1; - cdest &= 0x03e07c1f; - return (cdest >> 16) | cdest; - } else { - cdest = ((cdest << 16) | cdest) & 0x03e07c1f; - csrc = ((csrc << 16) | csrc) & 0x03e07c1f; - cdest += csrc; - if(cdest & 0x04000000)cdest |= 0x03e00000; - if(cdest & 0x00008000)cdest |= 0x00007c00; - if(cdest & 0x00000020)cdest |= 0x0000001f; - cdest &= 0x03e07c1f; - return (cdest >> 16) | cdest; +inline uint16 bPPU::addsub_pixels(uint32 x) { +uint32 cdest = pixel_cache[x].src_main, + csrc = pixel_cache[x].src_sub; +bool halve = false; + if(regs.color_halve && window_cache[COL].main[x]) { + if(regs.addsub_mode && pixel_cache[x].bg_sub == BACK); + else { + halve = true; } - break; - case 1: //COLORMODE_SUB: - if(regs.color_halve == true) { - if((cdest & 0x7c00) < (csrc & 0x7c00))cdest &= ~0x7c00; - else cdest -= (csrc & 0x7c00); - if((cdest & 0x03e0) < (csrc & 0x03e0))cdest &= ~0x03e0; - else cdest -= (csrc & 0x03e0); - if((cdest & 0x001f) < (csrc & 0x001f))cdest &= ~0x001f; - else cdest -= (csrc & 0x001f); - return (cdest & 0x7bde) >> 1; - } else { - if((cdest & 0x7c00) < (csrc & 0x7c00))cdest &= ~0x7c00; - else cdest -= (csrc & 0x7c00); - if((cdest & 0x03e0) < (csrc & 0x03e0))cdest &= ~0x03e0; - else cdest -= (csrc & 0x03e0); - if((cdest & 0x001f) < (csrc & 0x001f))cdest &= ~0x001f; - else cdest -= (csrc & 0x001f); - return cdest; - } - break; } - return 0x0000; //prevent annoying warning message -} -inline uint16 bPPU::addsub_pixel(uint32 cdest) { -int r, g, b; -uint32 csrc = (regs.color_r) | (regs.color_g << 5) | (regs.color_b << 10); -uint16 res; - switch(regs.color_mode) { - case 0: //COLORMODE_ADD: - if(regs.color_halve == true && regs.addsub_mode == 0) { - cdest = ((cdest << 16) | cdest) & 0x03e07c1f; - csrc = ((csrc << 16) | csrc) & 0x03e07c1f; - cdest += csrc; - cdest >>= 1; - cdest &= 0x03e07c1f; - return (cdest >> 16) | cdest; - } else { - cdest = ((cdest << 16) | cdest) & 0x03e07c1f; - csrc = ((csrc << 16) | csrc) & 0x03e07c1f; - cdest += csrc; + if(!regs.color_mode) { + //add + cdest = ((cdest << 16) | cdest) & 0x03e07c1f; + csrc = ((csrc << 16) | csrc) & 0x03e07c1f; + cdest += csrc; + + if(!halve) { if(cdest & 0x04000000)cdest |= 0x03e00000; if(cdest & 0x00008000)cdest |= 0x00007c00; if(cdest & 0x00000020)cdest |= 0x0000001f; - cdest &= 0x03e07c1f; - return (cdest >> 16) | cdest; - } - break; - case 1: //COLORMODE_SUB: - if(regs.color_halve == true && regs.addsub_mode == 0) { - if((cdest & 0x7c00) < (csrc & 0x7c00))cdest &= ~0x7c00; - else cdest -= (csrc & 0x7c00); - if((cdest & 0x03e0) < (csrc & 0x03e0))cdest &= ~0x03e0; - else cdest -= (csrc & 0x03e0); - if((cdest & 0x001f) < (csrc & 0x001f))cdest &= ~0x001f; - else cdest -= (csrc & 0x001f); - return (cdest & 0x7bde) >> 1; } else { - if((cdest & 0x7c00) < (csrc & 0x7c00))cdest &= ~0x7c00; - else cdest -= (csrc & 0x7c00); - if((cdest & 0x03e0) < (csrc & 0x03e0))cdest &= ~0x03e0; - else cdest -= (csrc & 0x03e0); - if((cdest & 0x001f) < (csrc & 0x001f))cdest &= ~0x001f; - else cdest -= (csrc & 0x001f); - return cdest; + cdest >>= 1; } - break; + + cdest &= 0x03e07c1f; + return (cdest >> 16) | cdest; + } else { + //subtract + if((cdest & 0x7c00) < (csrc & 0x7c00))cdest &= ~0x7c00; + else cdest -= (csrc & 0x7c00); + if((cdest & 0x03e0) < (csrc & 0x03e0))cdest &= ~0x03e0; + else cdest -= (csrc & 0x03e0); + if((cdest & 0x001f) < (csrc & 0x001f))cdest &= ~0x001f; + else cdest -= (csrc & 0x001f); + + return (!halve) ? cdest : ((cdest & 0x7bde) >> 1); } - return 0x0000; //prevent annoying warning message } diff --git a/src/ppu/bppu/bppu_render_bg.cpp b/src/ppu/bppu/bppu_render_bg.cpp index 87c54b5c..9b0bd8d6 100644 --- a/src/ppu/bppu/bppu_render_bg.cpp +++ b/src/ppu/bppu/bppu_render_bg.cpp @@ -43,6 +43,7 @@ uint16 opt_valid_bit = (bg == BG1) ? 0x2000 : ((bg == BG2) ? 0x4000 : 0x0000); uint8 bgpal_index = (regs.bg_mode == 0) ? (bg << 5) : 0; uint8 pal_size = (color_depth == 2) ? 256 : ((color_depth == 1) ? 16 : 4); +uint16 tile_mask = (color_depth == 2) ? 0x03ff : ((color_depth == 1) ? 0x07ff : 0x0fff); //4 + color_depth = >>(4-6) -- / {16, 32, 64 } bytes/tile //index is a tile number count to add to base tile number uint tiledata_index = regs.bg_tdaddr[bg] >> (4 + color_depth); @@ -145,6 +146,7 @@ int32 prev_x = -1, prev_y = -1; tile_num &= 0x03ff; tile_num += tiledata_index; + tile_num &= tile_mask; if(bg_td_state[tile_num] == 1) { render_bg_tile(color_depth, tile_num); @@ -162,7 +164,7 @@ int32 prev_x = -1, prev_y = -1; xpos = mosaic_x & 7; if(mirror_x)xpos ^= 7; //invert x tile pos col = *(tile_ptr + xpos); - if(col && window_cache[COL].main[x]) { + if(col) { if(regs.direct_color == true && bg == BG1 && (regs.bg_mode == 3 || regs.bg_mode == 4)) { col = get_direct_color(pal_num, col); } else { diff --git a/src/ppu/bppu/bppu_render_cache.cpp b/src/ppu/bppu/bppu_render_cache.cpp index aa57f3cf..0557f711 100644 --- a/src/ppu/bppu/bppu_render_cache.cpp +++ b/src/ppu/bppu/bppu_render_cache.cpp @@ -118,7 +118,7 @@ void bPPU::init_tiledata_cache() { void bPPU::clear_tiledata_cache() { memset(bg_tiledata[TILE_2BIT], 0, 262144); memset(bg_tiledata[TILE_4BIT], 0, 131072); - memset(bg_tiledata[TILE_4BIT], 0, 65536); + memset(bg_tiledata[TILE_8BIT], 0, 65536); memset(bg_tiledata_state[TILE_2BIT], 0, 4096); memset(bg_tiledata_state[TILE_4BIT], 0, 2048); memset(bg_tiledata_state[TILE_8BIT], 0, 1024); diff --git a/src/ppu/bppu/bppu_render_line.cpp b/src/ppu/bppu/bppu_render_line.cpp index 6293c76c..3e254660 100644 --- a/src/ppu/bppu/bppu_render_line.cpp +++ b/src/ppu/bppu/bppu_render_line.cpp @@ -11,71 +11,59 @@ inline uint16 bPPU::get_direct_color(uint8 p, uint8 t) { ((t >> 6) << 13) | ((p >> 2) << 12); } -inline uint16 bPPU::get_pixel(int x) { +inline uint16 bPPU::get_pixel(uint32 x) { _pixel *p = &pixel_cache[x]; -uint16 _r, src_back = get_palette(0); - if(p->bg_main && p->bg_sub) { - if(p->color_exempt == false && regs.color_enabled[p->bg_main & 0x7f] && window_cache[COL].sub[x]) { - if(regs.addsub_mode) { - _r = addsub_pixels(p->src_main, p->src_sub); - } else { - _r = addsub_pixel(p->src_main); - } - } else { - _r = p->src_main; - } - } else if(p->bg_main) { - if(p->color_exempt == false && regs.color_enabled[p->bg_main & 0x7f] && window_cache[COL].sub[x]) { - _r = addsub_pixel(p->src_main); - } else { - _r = p->src_main; - } - } else if(p->bg_sub) { - if(regs.color_enabled[BACK]) { - if(window_cache[COL].sub[x]) { - if(regs.addsub_mode) { - _r = addsub_pixels(src_back, p->src_sub); - } else { - _r = addsub_pixel(src_back); - } - } else { - _r = src_back; - } - } else { - _r = src_back; //was 0x0000 -- possibly another condition here? - } + if(!p->bg_main) { + p->bg_main = BACK; + p->src_main = get_palette(0); + p->color_exempt = false; } else { - if(window_cache[COL].main[x]) { - if(regs.color_enabled[BACK] && window_cache[COL].sub[x]) { - _r = addsub_pixel(src_back); - } else { - _r = src_back; - } - } else { - _r = 0x0000; - } + p->bg_main &= 0x7f; } - return _r; + + if(!p->bg_sub) { + p->bg_sub = BACK; + p->src_sub = regs.color_rgb; + } else { + p->bg_sub &= 0x7f; + } + + if(!regs.addsub_mode) { + p->bg_sub = BACK; + p->src_sub = regs.color_rgb; + } + + if(!window_cache[COL].main[x]) { + if(!window_cache[COL].sub[x]) { + return 0x0000; + } + //p->bg_main remains the same, even when the main color window + //masks out the color. this is needed for regs.color_enabled[p->bg_main] + //test below. illusion of gaia relies on this behavior for its load menu. + p->src_main = 0x0000; + } + + if(!p->color_exempt && regs.color_enabled[p->bg_main] && window_cache[COL].sub[x]) { + return addsub_pixels(x); + } + return p->src_main; } inline void bPPU::render_line_output() { -int x; -uint16 _r; -uint16 *ptr; - ptr = (uint16*)snes->get_ppu_output_handle(); - -uint16 *ltable; - ltable = (uint16*)light_table + (regs.display_brightness << 15); +uint16 r, x; +uint16 *ptr = (uint16*)output + (line.y * 1024) + + ((line.interlace && line.interlace_field) ? 512 : 0); +uint16 *ltable = (uint16*)light_table + (regs.display_brightness << 15); if(line.width == 256) { for(x=0;x<256;x++) { - _r = get_pixel(x); - *ptr++ = *(ltable + _r); + r = get_pixel(x); + *ptr++ = *(ltable + r); } } else { for(x=0;x<512;x++) { - _r = get_pixel(x); - *ptr++ = *(ltable + _r); + r = get_pixel(x); + *ptr++ = *(ltable + r); } } } diff --git a/src/ppu/bppu/bppu_render_mode7.cpp b/src/ppu/bppu/bppu_render_mode7.cpp index 4c9f7d2a..6e0797eb 100644 --- a/src/ppu/bppu/bppu_render_mode7.cpp +++ b/src/ppu/bppu/bppu_render_mode7.cpp @@ -120,29 +120,27 @@ int32 psy = ((c * CLIP(hofs - cx)) & ~63) + ((d * CLIP(vofs - cy)) & ~63) + ((d _x = x; } - if(window_cache[COL].main[_x]) { - uint32 col; - if(regs.direct_color == true && bg == BG1) { - //direct color mode does not apply to bg2, as it is only 128 colors... - col = get_direct_color(0, palette); - } else { - col = get_palette(palette); - } + uint32 col; + if(regs.direct_color == true && bg == BG1) { + //direct color mode does not apply to bg2, as it is only 128 colors... + col = get_direct_color(0, palette); + } else { + col = get_palette(palette); + } - if(regs.bg_enabled[bg] == true && !wt_main[_x]) { - if(pixel_cache[_x].pri_main < _pri) { - pixel_cache[_x].pri_main = _pri; - pixel_cache[_x].bg_main = 0x80 | bg; - pixel_cache[_x].src_main = col; - pixel_cache[_x].color_exempt = false; - } + if(regs.bg_enabled[bg] == true && !wt_main[_x]) { + if(pixel_cache[_x].pri_main < _pri) { + pixel_cache[_x].pri_main = _pri; + pixel_cache[_x].bg_main = 0x80 | bg; + pixel_cache[_x].src_main = col; + pixel_cache[_x].color_exempt = false; } - if(regs.bgsub_enabled[bg] == true && !wt_sub[_x]) { - if(pixel_cache[_x].pri_sub < _pri) { - pixel_cache[_x].pri_sub = _pri; - pixel_cache[_x].bg_sub = 0x80 | bg; - pixel_cache[_x].src_sub = col; - } + } + if(regs.bgsub_enabled[bg] == true && !wt_sub[_x]) { + if(pixel_cache[_x].pri_sub < _pri) { + pixel_cache[_x].pri_sub = _pri; + pixel_cache[_x].bg_sub = 0x80 | bg; + pixel_cache[_x].src_sub = col; } } } diff --git a/src/ppu/bppu/bppu_render_oam.cpp b/src/ppu/bppu/bppu_render_oam.cpp index e6a3b0db..a1177b40 100644 --- a/src/ppu/bppu/bppu_render_oam.cpp +++ b/src/ppu/bppu/bppu_render_oam.cpp @@ -63,10 +63,10 @@ uint16 width, height; addr &= 0x001f; z = oam[0x0200 + addr]; i = addr << 2; - sprite_list[i ].x = ((z & 0x01)?0x0100:0x0000) + (sprite_list[i ].x & 0xff); - sprite_list[i + 1].x = ((z & 0x04)?0x0100:0x0000) + (sprite_list[i + 1].x & 0xff); - sprite_list[i + 2].x = ((z & 0x10)?0x0100:0x0000) + (sprite_list[i + 2].x & 0xff); - sprite_list[i + 3].x = ((z & 0x40)?0x0100:0x0000) + (sprite_list[i + 3].x & 0xff); + sprite_list[i ].x = ((z & 0x01) ? 256 : 0) + (sprite_list[i ].x & 255); + sprite_list[i + 1].x = ((z & 0x04) ? 256 : 0) + (sprite_list[i + 1].x & 255); + sprite_list[i + 2].x = ((z & 0x10) ? 256 : 0) + (sprite_list[i + 2].x & 255); + sprite_list[i + 3].x = ((z & 0x40) ? 256 : 0) + (sprite_list[i + 3].x & 255); get_sprite_size(i, !!(z & 0x02)); get_sprite_size(i + 1, !!(z & 0x08)); get_sprite_size(i + 2, !!(z & 0x20)); @@ -90,7 +90,7 @@ uint16 addr = 0x0200; bool bPPU::is_sprite_on_scanline() { //if sprite is entirely offscreen and doesn't wrap around to the left side of the screen, //then it is not counted. 256 is correct, and not 255 -- as one might first expect - if(spr->x > 256 && (spr->x + spr->width) < 512 && line.width != 512)return false; + if(spr->x > 256 && (spr->x + spr->width) < 512)return false; if(regs.oam_halve == false) { if(line.y >= spr->y && line.y < (spr->y + spr->height)) { @@ -110,19 +110,10 @@ bool bPPU::is_sprite_on_scanline() { } void bPPU::load_oam_tiles() { -uint16 tile_width; - tile_width = spr->width >> 3; +uint16 tile_width = spr->width >> 3; +int x = spr->x; +int y = (spr->vflip) ? ((spr->height - 1) - (line.y - spr->y)) : (line.y - spr->y); -int x, y, chr, nameselect_index; - x = spr->x; - if(line.width == 512)x <<= 1; - x &= 511; - - if(spr->vflip) { - y = ((spr->height - 1) - (line.y - spr->y)); - } else { - y = (line.y - spr->y); - } //todo: double-check code below. seems that interlace_field //should be added to hires 512x448 sprites as well, and not //just when oam_halve is enabled... @@ -132,40 +123,40 @@ int x, y, chr, nameselect_index; y += line.interlace_field; } } + + x &= 511; y &= 255; - chr = spr->character; +uint16 tdaddr = regs.oam_tdaddr; +uint16 chrx = (spr->character ) & 15; +uint16 chry = (spr->character >> 4) & 15; if(spr->use_nameselect == true) { - chr += 256; - nameselect_index = regs.oam_nameselect << 13; - } else { - nameselect_index = 0x0000; + tdaddr += (256 * 32) + (regs.oam_nameselect << 13); } - chr += (y >> 3) << 4; + chry += (y >> 3); + chry &= 15; + chry <<= 4; -int i, n, mx, pos, z; +int i, n, sx, mx, pos; for(i=0;i= 257 && (z + 7) < 512 && line.width != 512)continue; + if(sx >= 257 && (sx + 7) < 512)continue; if(regs.oam_tilecount++ > 34)break; n = regs.oam_tilecount - 1; - oam_tilelist[n].x = z; + oam_tilelist[n].x = sx; oam_tilelist[n].y = y; oam_tilelist[n].pri = spr->priority; oam_tilelist[n].pal = (spr->palette << 4) + 128; oam_tilelist[n].hflip = spr->hflip; - if(oam_tilelist[n].hflip) { - mx = (tile_width - 1) - i; - } else { - mx = i; - } - pos = regs.oam_tdaddr + ((chr + mx) << 5) + ((y & 7) << 1) + nameselect_index; + mx = (oam_tilelist[n].hflip) ? ((tile_width - 1) - i) : i; + pos = tdaddr + ((chry + ((chrx + mx) & 15)) << 5); oam_tilelist[n].tile = (pos >> 5) & 0x07ff; } } @@ -182,38 +173,26 @@ oam_tileitem *t = &oam_tilelist[tile_num]; int x, sx, col; sx = t->x; -//tile_ptr = tiledata + (tile * (8_width * 8_height)) + ((y & 7_height_mask) * 8_width); tile_ptr = (uint8*)oam_td + (t->tile << 6) + ((t->y & 7) << 3); for(x=0;x<8;x++) { sx &= 511; - if(sx < line.width) { - col = *(tile_ptr + ((t->hflip)?7-x:x)); + if(sx < 256) { + col = *(tile_ptr + ((t->hflip) ? (7 - x) : x)); if(col) { col += t->pal; oam_line_pal[sx] = col; oam_line_pri[sx] = t->pri; - if(line.width == 512) { - oam_line_pal[sx + 1] = col; - oam_line_pri[sx + 1] = t->pri; - } } } - sx += (line.width == 512) ? 2 : 1; + sx++; } } void bPPU::render_line_oam(uint8 pri0_pos, uint8 pri1_pos, uint8 pri2_pos, uint8 pri3_pos) { -int s, x; -bool _bg_enabled = regs.bg_enabled[OAM]; -bool _bgsub_enabled = regs.bgsub_enabled[OAM]; - - build_window_tables(OAM); -uint8 *wt_main = window_cache[OAM].main; -uint8 *wt_sub = window_cache[OAM].sub; - +int s; regs.oam_itemcount = 0; regs.oam_tilecount = 0; - memset(oam_line_pri, OAM_PRI_NONE, 512); + memset(oam_line_pri, OAM_PRI_NONE, 256); memset(oam_itemlist, 0xff, 32); for(s=0;s<128;s++) { @@ -239,34 +218,105 @@ uint8 *wt_sub = window_cache[OAM].sub; regs.time_over |= (regs.oam_tilecount > 34); regs.range_over |= (regs.oam_itemcount > 32); - if(_bg_enabled == false && _bgsub_enabled == false)return; + if(regs.bg_enabled[OAM] == false && regs.bgsub_enabled[OAM] == false)return; -int _pri; - for(x=0;xhires = scanline_is_hires(); - info->interlace = cpu->interlace(); + info->interlace = r_cpu->interlace(); } void PPU::enable_renderer(bool r) { status.render_output = r; } bool PPU::renderer_enabled() { return status.render_output; } void PPU::frame() { -static fr = 0, fe = 0; + status.frame_executed = true; + +static int32 fr = 0, fe = 0; static time_t prev, curr; fe++; if(status.render_output)fr++; @@ -24,7 +26,16 @@ static time_t prev, curr; prev = curr; } +void PPU::power() {} + +void PPU::reset() { + memset(output, 0, 512 * 480 * sizeof(uint16)); +} + PPU::PPU() { + output = (uint16*)malloc(512 * 480 * sizeof(uint16)); + memset(output, 0, 512 * 480 * sizeof(uint16)); + status.render_output = true; status.frames_updated = false; status.frames_rendered = 0; @@ -35,4 +46,6 @@ PPU::PPU() { mmio = &mmio_unmapped; } -PPU::~PPU() {} +PPU::~PPU() { + zerofree(output); +} diff --git a/src/ppu/ppu.h b/src/ppu/ppu.h index 7065473d..6def0e52 100644 --- a/src/ppu/ppu.h +++ b/src/ppu/ppu.h @@ -1,11 +1,13 @@ class PPU { public: +uint16 *output; //this struct should be read-only to //functions outside of this class struct { bool render_output; + bool frame_executed; bool frames_updated; uint32 frames_rendered; uint32 frames_executed; @@ -43,8 +45,8 @@ struct scanline_info { virtual void scanline() = 0; virtual void render_scanline() = 0; virtual void frame(); - virtual void power() = 0; - virtual void reset() = 0; + virtual void power(); + virtual void reset(); virtual void enable_renderer(bool r); virtual bool renderer_enabled(); diff --git a/src/sdl/Makefile b/src/sdl/Makefile index 16b9d601..c80c0168 100644 --- a/src/sdl/Makefile +++ b/src/sdl/Makefile @@ -5,7 +5,7 @@ OBJS = sdlmain.o \ reader.o \ memory.o bmemory.o \ cpu.o bcpu.o \ - apu.o bapu.o bapuskip.o \ + apu.o bapu.o \ bdsp.o \ ppu.o bppu.o \ snes.o \ @@ -58,9 +58,6 @@ apu.o: ../apu/* bapu.o: ../apu/bapu/* $(CC) $(CFLAGS) -c ../apu/bapu/bapu.cpp -bapuskip.o: ../apu/bapuskip/* - $(CC) $(CFLAGS) -c ../apu/bapuskip/bapuskip.cpp - ########### ### dsp ### ########### diff --git a/src/sdl/Makefile.win32 b/src/sdl/Makefile.win32 index 1bc07ca4..3f83052b 100644 --- a/src/sdl/Makefile.win32 +++ b/src/sdl/Makefile.win32 @@ -1,11 +1,11 @@ CC = cl -CFLAGS = /nologo /O2 /Ogityb2 /Gr /Gs /DARCH_LSB +CFLAGS = /nologo /O2 /wd4996 OBJS = sdlmain.obj \ libstring.obj libconfig.obj \ reader.obj \ memory.obj bmemory.obj \ cpu.obj bcpu.obj \ - apu.obj bapu.obj bapuskip.obj \ + apu.obj bapu.obj \ bdsp.obj \ ppu.obj bppu.obj \ snes.obj \ @@ -59,9 +59,6 @@ apu.obj: ../apu/* bapu.obj: ../apu/bapu/* $(CC) $(CFLAGS) /c ../apu/bapu/bapu.cpp -bapuskip.obj: ../apu/bapuskip/* - $(CC) $(CFLAGS) /c ../apu/bapuskip/bapuskip.cpp - ########### ### dsp ### ########### diff --git a/src/sdl/bsnes.cpp b/src/sdl/bsnes.cpp index 1c2482b0..11188844 100644 --- a/src/sdl/bsnes.cpp +++ b/src/sdl/bsnes.cpp @@ -6,11 +6,7 @@ void bSNES::run() { switch(run_status) { case RUN: - while(update_frame == false) { - SNES::run(); - } - update_frame = false; - render(); + SNES::runtoframe(); return; case STOP: break; @@ -18,13 +14,13 @@ void bSNES::run() { } void bSNES::video_run() { - if(ppu->status.frames_updated) { + if(r_ppu->status.frames_updated) { char s[512], t[512]; - ppu->status.frames_updated = false; + r_ppu->status.frames_updated = false; // if((bool)config::gui.show_fps == true) { - sprintf(s, "%s : %d fps", BSNES_TITLE, ppu->status.frames_executed); + sprintf(s, "%s : %d fps", BSNES_TITLE, r_ppu->status.frames_executed); // if(w_main->frameskip != 0) { -// sprintf(t, " (%d frames)", ppu->status.frames_rendered); +// sprintf(t, " (%d frames)", r_ppu->status.frames_rendered); // strcat(s, t); // } SDL_WM_SetCaption(s, 0); @@ -34,7 +30,28 @@ void bSNES::video_run() { render(); } -void bSNES::sound_run() {} +void bSNES::sound_run(uint32 data) {} + +uint16 *bSNES::video_lock(uint32 &pitch) { + if(SDL_MUSTLOCK(screen)) { + SDL_LockSurface(screen); + } + if(SDL_MUSTLOCK(backbuffer)) { + SDL_LockSurface(backbuffer); + } + + pitch = backbuffer->pitch; + return (uint16*)backbuffer->pixels; +} + +void bSNES::video_unlock() { + if(SDL_MUSTLOCK(backbuffer)) { + SDL_UnlockSurface(backbuffer); + } + if(SDL_MUSTLOCK(screen)) { + SDL_UnlockSurface(screen); + } +} /*********************** *** Input functions *** @@ -93,15 +110,8 @@ bJoypad::bJoypad() { l = r = select = start = false; } -void bSNES::notify(uint32 message, uint32 param1, uint32 param2) { - switch(message) { - case RENDER_FRAME: - update_frame = true; - break; - } -} +void bSNES::notify(uint32 message, uint32 param1, uint32 param2) {} bSNES::bSNES() { - run_status = STOP; - update_frame = false; + run_status = STOP; } diff --git a/src/sdl/bsnes.h b/src/sdl/bsnes.h index de5af083..74a08e18 100644 --- a/src/sdl/bsnes.h +++ b/src/sdl/bsnes.h @@ -9,17 +9,19 @@ bool l, r, select, start; class bSNES : public SNES { private: uint32 run_status; -bool update_frame; bJoypad joypad1, joypad2; public: enum { STOP = 0, RUN }; - void run(); - void video_run(); - void sound_run(); + void run(); + void video_run(); + void sound_run(uint32 data); - void set_status(uint32 new_status); - uint32 get_status(); + uint16 *video_lock(uint32 &data); + void video_unlock(); + + void set_status(uint32 new_status); + uint32 get_status(); //input functions void poll_input(uint8 type); diff --git a/src/sdl/clean.bat b/src/sdl/clean.bat index 81715981..74d64470 100644 --- a/src/sdl/clean.bat +++ b/src/sdl/clean.bat @@ -1 +1,3 @@ @nmake /NOLOGO /f Makefile.win32 clean +@del output.wav +@del bsnes_sdl.exe diff --git a/src/sdl/render.cpp b/src/sdl/render.cpp index 38d4da84..9848f18a 100644 --- a/src/sdl/render.cpp +++ b/src/sdl/render.cpp @@ -1,59 +1,11 @@ -void render16() { -uint16 *dest, *src; -uint32 pitch; -int x, y; - +void render() { SNES::video_info vi; snes->get_video_info(&vi); - pitch = (backbuffer->pitch >> 1); - dest = (uint16*)backbuffer->pixels; - src = (uint16*)vi.data; - - if(vi.width == 256 && vi.height == 224) { - for(y=0;y<224;y++) { - memcpy(dest, src, 512); - dest += pitch; - src += 256; - } - } else if(vi.width == 512 && vi.height == 224) { - for(y=0;y<224;y++) { - memcpy(dest, src, 1024); - dest += pitch; - src += 512; - } - } else if(vi.width == 256 && vi.height == 448) { - for(y=0;y<448;y++) { - memcpy(dest, src, 512); - dest += pitch; - src += 256; - } - } else if(vi.width == 512 && vi.height == 448) { - for(y=0;y<448;y++) { - memcpy(dest, src, 1024); - dest += pitch; - src += 512; - } - } - - screen_info.rs.x = 0; screen_info.rs.y = (vi.height == 224) ? 1 : 2; screen_info.rs.w = vi.width; screen_info.rs.h = (vi.height == 224) ? 223 : 446; -} - -void render32() {} - -void render() { - if(SDL_MUSTLOCK(screen)) { - SDL_LockSurface(screen); - } - if(SDL_MUSTLOCK(backbuffer)) { - SDL_LockSurface(backbuffer); - } - - render16(); //documentation says not to use this, but it's rather ridiculous that a graphics //library wouldn't support simple image scaling... so let's use it anyway and see @@ -61,12 +13,5 @@ void render() { SDL_SoftStretch(backbuffer, &screen_info.rs, screen, &screen_info.rd); //SDL_BlitSurface(backbuffer, &screen_info.rs, screen, &screen_info.rd); - if(SDL_MUSTLOCK(backbuffer)) { - SDL_UnlockSurface(backbuffer); - } - if(SDL_MUSTLOCK(screen)) { - SDL_UnlockSurface(screen); - } - SDL_UpdateRect(screen, screen_info.rd.x, screen_info.rd.y, screen_info.rd.w, screen_info.rd.h); } diff --git a/src/sdl/rom.cpp b/src/sdl/rom.cpp index f5beae7a..46897fcb 100644 --- a/src/sdl/rom.cpp +++ b/src/sdl/rom.cpp @@ -27,14 +27,14 @@ FileReader *rf = new FileReader(); alert("Error loading image file [%s]!", rom_fn); return false; } - mem_bus->load_cart(static_cast(rf)); + r_mem->load_cart(static_cast(rf)); rf->close(); CartInfo ci; - mem_bus->get_cartinfo(&ci); + r_mem->get_cartinfo(&ci); if(ci.sram_size != 0) { rf->open(sram_fn); - mem_bus->load_sram(static_cast(rf)); + r_mem->load_sram(static_cast(rf)); rf->close(); } @@ -49,25 +49,25 @@ void ROMImage::unload() { FileWriter *wf; CartInfo ci; - mem_bus->get_cartinfo(&ci); + r_mem->get_cartinfo(&ci); if(ci.sram_size != 0) { wf = new FileWriter(); wf->open(sram_fn); - mem_bus->save_sram(static_cast(wf)); + r_mem->save_sram(static_cast(wf)); wf->close(); delete(wf); } file_loaded = false; - mem_bus->unload_cart(); + r_mem->unload_cart(); } void ROMImage::select(char *fn) { int i; if(file_loaded == true)return; -/* Remove quotes */ +//remove quotes if(fn[0] == '\"') { strcpy(rom_fn, fn + 1); rom_fn[strlen(rom_fn) - 1] = 0; diff --git a/src/sdl/sdlmain.cpp b/src/sdl/sdlmain.cpp index 76d69354..d371da97 100644 --- a/src/sdl/sdlmain.cpp +++ b/src/sdl/sdlmain.cpp @@ -44,13 +44,15 @@ va_list args; } void init_snes() { - mem_bus = new bMemBus(); - cpu = new bCPU(); - apu = new bAPU(); - dsp = new bDSP(); - ppu = new bPPU(); - snes = new bSNES(); - bsnes = static_cast(snes); +#ifdef POLYMORPHISM + deref(mem) = new bMemBus(); + deref(cpu) = new bCPU(); + deref(apu) = new bAPU(); + deref(dsp) = new bDSP(); + deref(ppu) = new bPPU(); +#endif + snes = new bSNES(); + bsnes = static_cast(snes); snes->init(); @@ -59,18 +61,18 @@ void init_snes() { //play audio in real-time while sound output //isn't available. snes->log_audio_enable("output.wav"); - - snes->set_playback_buffer_size(2000); } void term_snes() { snes->term(); - - if(mem_bus) { delete(static_cast(mem_bus)); mem_bus = 0; } - if(cpu) { delete(static_cast (cpu)); cpu = 0; } - if(apu) { delete(static_cast (apu)); apu = 0; } - if(ppu) { delete(static_cast (ppu)); ppu = 0; } - if(snes) { delete(static_cast (snes)); snes = 0; } +#ifdef POLYMORPHISM + if(deref(mem)) { delete static_cast(deref(mem)); deref(mem) = 0; } + if(deref(cpu)) { delete static_cast (deref(cpu)); deref(cpu) = 0; } + if(deref(apu)) { delete static_cast (deref(apu)); deref(apu) = 0; } + if(deref(dsp)) { delete static_cast (deref(dsp)); deref(dsp) = 0; } + if(deref(ppu)) { delete static_cast (deref(ppu)); deref(ppu) = 0; } +#endif + if(snes) { delete(static_cast(snes)); snes = 0; } } void center_window() { @@ -133,7 +135,7 @@ SDL_Event event; atexit(SDL_Quit); set_window_info(); screen = SDL_SetVideoMode(config::video.display_width, config::video.display_height, 16, - SDL_SWSURFACE | ((config::video.fullscreen)?SDL_FULLSCREEN:0)); + SDL_SWSURFACE | ((config::video.fullscreen) ? SDL_FULLSCREEN : 0)); if(!screen) { alert("Failed to initialize SDL"); goto _end; } backbuffer = SDL_CreateRGBSurface(SDL_SWSURFACE, 512, 448, 16, 0xf800, 0x07e0, 0x001f, 0x0000); if(!backbuffer) { alert("Failed to initialize SDL"); goto _end; } @@ -160,7 +162,7 @@ int cursor_status; snes->capture_screenshot(); break; case SDLK_F10: //toggle cursor display - cursor_status = (SDL_ShowCursor(SDL_QUERY) == SDL_ENABLE)?SDL_DISABLE:SDL_ENABLE; + cursor_status = (SDL_ShowCursor(SDL_QUERY) == SDL_ENABLE) ? SDL_DISABLE : SDL_ENABLE; SDL_ShowCursor(cursor_status); break; case SDLK_F11: //only supported on X11 diff --git a/src/snes/snes.cpp b/src/snes/snes.cpp index 9370b905..04ca776e 100644 --- a/src/snes/snes.cpp +++ b/src/snes/snes.cpp @@ -5,13 +5,12 @@ #include "snes_input.cpp" void SNES::run() { -uint32 cycles, r; if(apusync.cycles < 0) { - cpu->run(); - apusync.cycles += apusync.apu_multbl[cpu->cycles_executed()]; + r_cpu->run(); + apusync.cycles += apusync.apu_multbl[r_cpu->cycles_executed()]; } else { - apu->run(); - cycles = apu->cycles_executed(); + r_apu->run(); + uint32 cycles = r_apu->cycles_executed(); apusync.dsp += cycles; apusync.cycles -= apusync.cpu_multbl[cycles]; @@ -19,11 +18,18 @@ uint32 cycles, r; //24576000(Sound clock crystal) / 32000(DSP) = 768crystal/dsp ticks while(apusync.dsp >= 768) { apusync.dsp -= 768; - audio_update(dsp->run()); + audio_update(r_dsp->run()); } } } +void SNES::runtoframe() { + while(r_ppu->status.frame_executed == false) { + SNES::run(); + } + r_ppu->status.frame_executed = false; +} + void SNES::init() { srtc = new SRTC(); sdd1 = new SDD1(); @@ -40,48 +46,44 @@ void SNES::term() { } void SNES::power() { - cpu->power(); - apu->power(); - dsp->power(); - ppu->power(); - mem_bus->power(); + r_cpu->power(); + r_apu->power(); + r_dsp->power(); + r_ppu->power(); + r_mem->power(); srtc->power(); sdd1->power(); int i; - mem_bus->flush_mmio_mappers(); - for(i=0x2100;i<=0x213f;i++)mem_bus->set_mmio_mapper(i, ppu->mmio); - for(i=0x2140;i<=0x217f;i++)mem_bus->set_mmio_mapper(i, cpu->mmio); - for(i=0x2180;i<=0x2183;i++)mem_bus->set_mmio_mapper(i, cpu->mmio); + r_mem->flush_mmio_mappers(); + for(i=0x2100;i<=0x213f;i++)r_mem->set_mmio_mapper(i, r_ppu->mmio); + for(i=0x2140;i<=0x217f;i++)r_mem->set_mmio_mapper(i, r_cpu->mmio); + for(i=0x2180;i<=0x2183;i++)r_mem->set_mmio_mapper(i, r_cpu->mmio); //input - mem_bus->set_mmio_mapper(0x4016, cpu->mmio); - mem_bus->set_mmio_mapper(0x4017, cpu->mmio); - for(i=0x4200;i<=0x421f;i++)mem_bus->set_mmio_mapper(i, cpu->mmio); - for(i=0x4300;i<=0x437f;i++)mem_bus->set_mmio_mapper(i, cpu->mmio); + r_mem->set_mmio_mapper(0x4016, r_cpu->mmio); + r_mem->set_mmio_mapper(0x4017, r_cpu->mmio); + for(i=0x4200;i<=0x421f;i++)r_mem->set_mmio_mapper(i, r_cpu->mmio); + for(i=0x4300;i<=0x437f;i++)r_mem->set_mmio_mapper(i, r_cpu->mmio); srtc->enable(); sdd1->enable(); - memset(video.data, 0, 512 * 448 * sizeof(uint32)); - memset(video.ppu_data, 0, 512 * 480 * sizeof(uint16)); video_update(); } void SNES::reset() { apusync.cycles = -apusync.cpu_multbl[32]; - cpu->reset(); - apu->reset(); - dsp->reset(); - ppu->reset(); - mem_bus->reset(); + r_cpu->reset(); + r_apu->reset(); + r_dsp->reset(); + r_ppu->reset(); + r_mem->reset(); srtc->reset(); sdd1->reset(); - memset(video.data, 0, 512 * 448 * sizeof(uint32)); - memset(video.ppu_data, 0, 512 * 480 * sizeof(uint16)); video_update(); } @@ -154,6 +156,4 @@ SNES::SNES() { snes_region = NTSC; update_timing(); - - dsp_buffer.data = 0; } diff --git a/src/snes/snes.h b/src/snes/snes.h index 4524c304..db2a31f5 100644 --- a/src/snes/snes.h +++ b/src/snes/snes.h @@ -19,7 +19,8 @@ public: enum { NTSC = 0, PAL = 1 }; //system functions - virtual void run(); + virtual inline void run(); + virtual inline void runtoframe(); virtual void init(); virtual void term(); virtual void power(); @@ -39,7 +40,6 @@ enum { NTSC = 0, PAL = 1 }; //debugging functions enum { NO_ACTION = 0, - RENDER_FRAME, CPU_EXEC_OPCODE_BEGIN, CPU_EXEC_OPCODE_END, APU_EXEC_OPCODE_BEGIN, APU_EXEC_OPCODE_END, MEM_READ, MEM_WRITE, diff --git a/src/snes/snes_audio.cpp b/src/snes/snes_audio.cpp index 5f10e603..eb2787e2 100644 --- a/src/snes/snes_audio.cpp +++ b/src/snes/snes_audio.cpp @@ -1,25 +1,3 @@ -void SNES::set_playback_buffer_size(uint32 buffer_size) { - if(dsp_buffer.data) { - free(dsp_buffer.data); - dsp_buffer.data = 0; - } - -//* 2 is for left/right channel data - dsp_buffer.data = (uint16*)malloc(buffer_size * sizeof(uint16) * 2); - memset(dsp_buffer.data, 0, buffer_size * sizeof(uint16) * 2); - - dsp_buffer.size = buffer_size; - dsp_buffer.pos = 0; -} - -uint32 SNES::get_playback_buffer_pos() { - return dsp_buffer.pos; -} - -uint16 *SNES::get_playback_buffer() { - return dsp_buffer.data; -} - void SNES::audio_update(uint32 data) { if(pcmfp) { fputc(data, pcmfp); @@ -30,11 +8,7 @@ void SNES::audio_update(uint32 data) { if((bool)config::snes.mute == true)data = 0x0000; - dsp_buffer.data[dsp_buffer.pos++] = (data) & 0xffff; - dsp_buffer.data[dsp_buffer.pos++] = (data >> 16) & 0xffff; - dsp_buffer.pos %= dsp_buffer.size; - - sound_run(); + sound_run(data); } void SNES::log_audio_enable(const char *fn) { diff --git a/src/snes/snes_audio.h b/src/snes/snes_audio.h index 4ba04c88..1442e57c 100644 --- a/src/snes/snes_audio.h +++ b/src/snes/snes_audio.h @@ -1,15 +1,5 @@ -struct { - uint16 *data; - uint32 size, pos; -} dsp_buffer; - FILE *pcmfp; -//buffer_size is in samples - void set_playback_buffer_size(uint32 buffer_size); - uint32 get_playback_buffer_pos(); - uint16 *get_playback_buffer(); - //if a filename is not specified, one will be generated //automatically ("audio%0.3d.wav") void log_audio_enable(const char *fn = 0); @@ -19,4 +9,4 @@ FILE *pcmfp; void audio_init(); void audio_term(); - virtual void sound_run() = 0; + virtual void sound_run(uint32 data) = 0; diff --git a/src/snes/snes_video.cpp b/src/snes/snes_video.cpp index eb79e5f6..dbdd1bc7 100644 --- a/src/snes/snes_video.cpp +++ b/src/snes/snes_video.cpp @@ -8,7 +8,7 @@ const uint8 SNES::color_curve_table[32] = { }; void SNES::update_color_lookup_table() { -int i, l, r, g, b; +int32 i, l, r, g, b; double lr = 0.2126, lg = 0.7152, lb = 0.0722; //luminance uint32 col; @@ -29,7 +29,7 @@ uint32 col; } if((int)config::snes.video_color_adjust_mode == VCA_GRAYSCALE) { - l = int((double)r * lr) + ((double)g * lg) + ((double)b * lb); + l = int32(((double)r * lr) + ((double)g * lg) + ((double)b * lb)); if(l < 0)l = 0; if(l > 255)l = 255; r = g = b = l; @@ -92,7 +92,6 @@ void SNES::update_video_format() { } void SNES::get_video_info(video_info *info) { - info->data = video.data; info->mode = video.mode; switch(video.mode) { @@ -129,10 +128,10 @@ void SNES::get_video_info(video_info *info) { } } -void SNES::video_update_256x224(uint16 *src) { +void SNES::video_update_256x224() { int x, y; -uint16 *dest; - dest = video.data; +uint16 *src = video.ppu_data; +uint16 *dest = video.data; for(y=0;y<224;y++) { if(video_frame[y].hires == false) { @@ -147,13 +146,14 @@ uint16 *dest; } src += 512; } + dest += video.pitch - 256; } } -void SNES::video_update_512x224(uint16 *src) { +void SNES::video_update_512x224() { int x, y; -uint16 *dest; - dest = video.data; +uint16 *src = video.ppu_data; +uint16 *dest = video.data; for(y=0;y<224;y++) { if(video_frame[y].hires == false) { @@ -168,31 +168,41 @@ uint16 *dest; } src += 512; } + dest += video.pitch - 512; } } -void SNES::video_update_256x448(uint16 *src) { +void SNES::video_update_256x448() { int x, y; -uint16 *dest; -bool field = !cpu->interlace_field(); - dest = video.data; +uint16 *src = video.ppu_data; +uint16 *dest = video.data; +bool field = !r_cpu->interlace_field(); for(y=0;y<224;y++) { if(video_frame[y].interlace == false) { if(video_frame[y].hires == false) { - for(x=0;x<512;x++) { - *dest++ = color_lookup_table[*(src + (uint8)x)]; + for(x=0;x<256;x++) { + *dest++ = color_lookup_table[*(src + x)]; } - src += 1024; + dest += video.pitch - 256; + for(x=0;x<256;x++) { + *dest++ = color_lookup_table[*(src + x)]; + } + dest += video.pitch - 256; } else { - for(x=0;x<512;x++) { - *dest++ = color_lookup_table[*(src + ((x & 255) << 1))]; + for(x=0;x<256;x++) { + *dest++ = color_lookup_table[*(src + (x << 1))]; } - src += 1024; + dest += video.pitch - 256; + for(x=0;x<256;x++) { + *dest++ = color_lookup_table[*(src + (x << 1))]; + } + dest += video.pitch - 256; } + src += 1024; } else { if(field) { - dest += 256; + dest += video.pitch; src += 512; } @@ -207,38 +217,49 @@ bool field = !cpu->interlace_field(); src += 2; } } + dest += video.pitch - 256; if(!field) { - dest += 256; + dest += video.pitch; src += 512; } } } } -void SNES::video_update_512x448(uint16 *src) { +void SNES::video_update_512x448() { int x, y; -uint16 *dest; -bool field = !cpu->interlace_field(); - dest = video.data; +uint16 *src = video.ppu_data; +uint16 *dest = video.data; +bool field = !r_cpu->interlace_field(); for(y=0;y<224;y++) { if(video_frame[y].interlace == false) { if(video_frame[y].hires == false) { - for(x=0;x<512;x++) { - *dest++ = color_lookup_table[*(src + (uint8)x)]; - *dest++ = color_lookup_table[*(src + (uint8)x)]; + for(x=0;x<256;x++) { + *dest++ = color_lookup_table[*(src + x)]; + *dest++ = color_lookup_table[*(src + x)]; } - src += 1024; + dest += video.pitch - 512; + for(x=0;x<256;x++) { + *dest++ = color_lookup_table[*(src + x)]; + *dest++ = color_lookup_table[*(src + x)]; + } + dest += video.pitch - 512; } else { - for(x=0;x<1024;x++) { - *dest++ = color_lookup_table[*(src + (x & 511))]; + for(x=0;x<512;x++) { + *dest++ = color_lookup_table[*(src + x)]; } - src += 1024; + dest += video.pitch - 512; + for(x=0;x<512;x++) { + *dest++ = color_lookup_table[*(src + x)]; + } + dest += video.pitch - 512; } + src += 1024; } else { if(field) { - dest += 512; + dest += video.pitch; src += 512; } @@ -253,9 +274,10 @@ bool field = !cpu->interlace_field(); *dest++ = color_lookup_table[*src++]; } } + dest += video.pitch - 512; if(!field) { - dest += 512; + dest += video.pitch; src += 512; } } @@ -263,25 +285,30 @@ bool field = !cpu->interlace_field(); } void SNES::video_update() { - if(ppu->renderer_enabled()) { + if(r_ppu->renderer_enabled()) { if(video.format_changed == true) { update_video_format(); } - uint16 *src = (uint16*)video.ppu_data + ((int(cpu->overscan()) << 3) * 1024); - switch(video.mode) { - case VM_256x224:video_update_256x224(src);break; - case VM_512x224:video_update_512x224(src);break; - case VM_256x448:video_update_256x448(src);break; - case VM_512x448:video_update_512x448(src);break; - case VM_VARIABLE: - switch(int(video.frame_hires) | (int(video.frame_interlace) << 1)) { - case 0:video_update_256x224(src);break; - case 1:video_update_512x224(src);break; - case 2:video_update_256x448(src);break; - case 3:video_update_512x448(src);break; + video.data = (uint16*)video_lock(video.pitch); + video.ppu_data = (uint16*)r_ppu->output + (int(r_cpu->overscan()) << 13); + video.pitch >>= 1; + if(video.data) { + switch(video.mode) { + case VM_256x224:video_update_256x224();break; + case VM_512x224:video_update_512x224();break; + case VM_256x448:video_update_256x448();break; + case VM_512x448:video_update_512x448();break; + case VM_VARIABLE: + switch(int(video.frame_hires) | (int(video.frame_interlace) << 1)) { + case 0:video_update_256x224();break; + case 1:video_update_512x224();break; + case 2:video_update_256x448();break; + case 3:video_update_512x448();break; + } + break; } - break; + video_unlock(); } //SNES::capture_screenshot() was called by emulation interface @@ -298,13 +325,13 @@ void SNES::video_update() { } void SNES::video_scanline() { -int y = cpu->vcounter(); -int o = int(cpu->overscan()) << 3; +int y = r_cpu->vcounter(); +int o = int(r_cpu->overscan()) << 3; if(y <= (0 + o) || y >= (224 + o))return; y -= o; PPU::scanline_info si; - ppu->get_scanline_info(&si); + r_ppu->get_scanline_info(&si); video_frame[y].hires = si.hires; video_frame[y].interlace = si.interlace; @@ -313,21 +340,10 @@ PPU::scanline_info si; video.frame_interlace |= si.interlace; } -uint16 *SNES::get_ppu_output_handle() { - return (uint16*)(video.ppu_data + - (cpu->vcounter() * 1024) + - ((cpu->interlace() && cpu->interlace_field())?512:0)); -} - void SNES::video_init() { int i, c; video.format_changed = false; - video.data = (uint16*)malloc(512 * 448 * sizeof(uint32)); - video.ppu_data = (uint16*)malloc(512 * 480 * sizeof(uint16)); - memset(video.data, 0, 512 * 448 * sizeof(uint32)); - memset(video.ppu_data, 0, 512 * 480 * sizeof(uint16)); - for(i=0;i<224;i++) { video_frame[i].hires = false; video_frame[i].interlace = false; diff --git a/src/snes/snes_video.h b/src/snes/snes_video.h index df89b25d..02c1eb73 100644 --- a/src/snes/snes_video.h +++ b/src/snes/snes_video.h @@ -29,6 +29,7 @@ struct { uint16 *data, *ppu_data; uint8 mode; uint8 depth; + uint32 pitch; bool frame_hires, frame_interlace; @@ -40,21 +41,20 @@ struct { } video_frame[224]; struct video_info { - uint16 *data; - uint8 mode; - uint32 width, height; + uint32 mode, width, height; }; //public functions void capture_screenshot(); void update_color_lookup_table(); - virtual void set_video_format(uint8 mode, uint8 depth); - virtual void get_video_info(video_info *info); - virtual void video_run() = 0; + virtual void set_video_format(uint8 mode, uint8 depth); + virtual void get_video_info(video_info *info); + virtual void video_run() = 0; + virtual uint16 *video_lock(uint32 &pitch) = 0; + virtual void video_unlock() = 0; //private functions - uint16 *get_ppu_output_handle(); //used by PPU only private: //when a screenshot is requested, wait until the frame //has finished rendering, so we can tell the image size @@ -62,10 +62,10 @@ bool flag_output_screenshot; uint16 to_rgb555(uint32 color); void output_screenshot(); void update_video_format(); - void video_update_256x224(uint16 *src); - void video_update_512x224(uint16 *src); - void video_update_256x448(uint16 *src); - void video_update_512x448(uint16 *src); + void video_update_256x224(); + void video_update_512x224(); + void video_update_256x448(); + void video_update_512x448(); void video_update(); void video_scanline(); void video_init(); diff --git a/src/snes/snes_video_ex.cpp b/src/snes/snes_video_ex.cpp index 7a899f72..4de1eada 100644 --- a/src/snes/snes_video_ex.cpp +++ b/src/snes/snes_video_ex.cpp @@ -5,25 +5,13 @@ void SNES::capture_screenshot() { //used to convert pixel data to write to rgb555 format //bitmap image via SNES::output_screenshot() function uint16 SNES::to_rgb555(uint32 color) { - if(video.depth == 15) { - //rgb555 - return color & 0x7fff; - } - - if(video.depth == 16) { - //rgb565->rgb555 - return ((color >> 1) & 0x7fe0) | (color & 0x001f); - } - - if(video.depth == 24 || video.depth == 32) { - //rgb888->rgb555 - return ((color >> 9) & 0x7c00) | ((color >> 6) & 0x03e0) | ((color >> 3) & 0x001f); - } - -//unsupported color depth - return color; +//bgr555->rgb555 + return ((color & 0x7c00) >> 10) | (color & 0x03e0) | ((color & 0x001f) << 10); } +//this routine isn't perfect... it will fail if the video frame +//mixes resolutions (e.g. the top half is 256x224, and the bottom +//half is 512x224, etc.) void SNES::output_screenshot() { FILE *fp; char fn[256]; @@ -95,7 +83,7 @@ int x, y; uint16 c; for(y=height;y>=1;y--) { for(x=0;x> 8, fp); } diff --git a/src/win/Makefile b/src/win/Makefile index e4e01a22..ec12082c 100644 --- a/src/win/Makefile +++ b/src/win/Makefile @@ -1,11 +1,11 @@ CC = cl -CFLAGS = /nologo /O2 /Ogityb2 /Gr /Gs /DARCH_LSB +CFLAGS = /nologo /O2 /wd4996 OBJS = winmain.obj \ libstring.obj libconfig.obj \ reader.obj \ memory.obj bmemory.obj \ cpu.obj bcpu.obj \ - apu.obj bapu.obj bapuskip.obj \ + apu.obj bapu.obj \ bdsp.obj \ ppu.obj bppu.obj \ snes.obj \ @@ -15,9 +15,12 @@ LIBS = kernel32.lib user32.lib gdi32.lib comdlg32.lib ddraw.lib dsound.lib dxgui all: $(OBJS) rc /r /fobsnes.res bsnes.rc $(CC) /Febsnes.exe $(CFLAGS) $(OBJS) bsnes.res $(LIBS) +#/link /PGD:bsnes.pgd /LTCG:PGOPTIMIZE clean: del *.obj + del *.pgd + del *.pgc ###################### ### win32-specific ### @@ -60,9 +63,6 @@ apu.obj: ../apu/* bapu.obj: ../apu/bapu/* $(CC) $(CFLAGS) /c ../apu/bapu/bapu.cpp -bapuskip.obj: ../apu/bapuskip/* - $(CC) $(CFLAGS) /c ../apu/bapuskip/bapuskip.cpp - ########### ### dsp ### ########### diff --git a/src/win/bsnes.cpp b/src/win/bsnes.cpp index 18c54999..826e1128 100644 --- a/src/win/bsnes.cpp +++ b/src/win/bsnes.cpp @@ -1,3 +1,12 @@ +void bSNES::power() { + ds_sound->init(); + SNES::power(); +} + +void bSNES::reset() { + SNES::reset(); +} + void bSNES::set_status(uint32 new_status) { uint8 cpu_op; run_status = new_status; @@ -12,7 +21,7 @@ uint8 cpu_op; status.cpu_ran = false; break; case RUNTOCPUPROCEED: - cpu_op = mem_bus->read(cpu->regs.pc.d); + cpu_op = r_mem->read(r_cpu->regs.pc.d); if(cpu_op == 0x10 || //bpl rel cpu_op == 0x30 || //bmi rel @@ -27,7 +36,7 @@ uint8 cpu_op; cpu_op == 0xfc //jsr (addr,x) ) { w_console->is_running(true); - status.cpu_stop_pos = (cpu->regs.pc.b << 16) | ((cpu->regs.pc.d + cpu->opcode_length()) & 0xffff); + status.cpu_stop_pos = (r_cpu->regs.pc.b << 16) | ((r_cpu->regs.pc.d + r_cpu->opcode_length()) & 0xffff); } else { status.cpu_ran = false; run_status = RUNTOCPUSTEP; @@ -48,10 +57,7 @@ void bSNES::run() { switch(run_status) { case RUN: - while(update_frame == false) { - SNES::run(); - } - update_frame = false; + SNES::runtoframe(); return; case STOP: break; @@ -68,8 +74,8 @@ void bSNES::run() { break; case RUNTOFRAME: SNES::run(); - if(update_frame == true) { - update_frame = false; + if(r_ppu->status.frame_executed == true) { + r_ppu->status.frame_executed = false; set_status(STOP); disassemble_apu_op(); disassemble_cpu_op(); @@ -89,7 +95,7 @@ void bSNES::run() { break; case RUNTOCPUPROCEED: SNES::run(); - if(cpu->in_opcode() == false && status.cpu_stop_pos == cpu->regs.pc.d) { + if(r_cpu->in_opcode() == false && status.cpu_stop_pos == r_cpu->regs.pc.d) { set_status(STOP); disassemble_cpu_op(); } else if(w_bp->hit() == true) { @@ -114,13 +120,13 @@ void bSNES::run() { } void bSNES::video_run() { - if(ppu->status.frames_updated) { + if(r_ppu->status.frames_updated) { char s[512], t[512]; - ppu->status.frames_updated = false; + r_ppu->status.frames_updated = false; if((bool)config::gui.show_fps == true) { - sprintf(s, "%s : %d fps", BSNES_TITLE, ppu->status.frames_executed); + sprintf(s, "%s : %d fps", BSNES_TITLE, r_ppu->status.frames_executed); if(w_main->frameskip != 0) { - sprintf(t, " (%d frames)", ppu->status.frames_rendered); + sprintf(t, " (%d frames)", r_ppu->status.frames_rendered); strcat(s, t); } SetWindowText(w_main->hwnd, s); @@ -129,17 +135,43 @@ void bSNES::video_run() { w_main->frameskip_pos++; w_main->frameskip_pos %= (w_main->frameskip + 1); - if(ppu->renderer_enabled())dd_renderer->update(); - ppu->enable_renderer(w_main->frameskip_pos == 0); + if(r_ppu->renderer_enabled())dd_renderer->update(); + r_ppu->enable_renderer(w_main->frameskip_pos == 0); } -void bSNES::sound_run() { - ds_sound->run(); +void bSNES::sound_run(uint32 data) { + ds_sound->run(data); +} + +/*********************** + *** Video functions *** + ***********************/ +uint16 *bSNES::video_lock(uint32 &pitch) { + return dd_renderer->lock(pitch); +} + +void bSNES::video_unlock() { + dd_renderer->unlock(); } /*********************** *** Input functions *** ***********************/ +void bSNES::clear_input() { + joypad1.up = joypad2.up = + joypad1.down = joypad2.down = + joypad1.left = joypad2.left = + joypad1.right = joypad2.right = + joypad1.a = joypad2.a = + joypad1.b = joypad2.b = + joypad1.x = joypad2.x = + joypad1.y = joypad2.y = + joypad1.l = joypad2.l = + joypad1.r = joypad2.r = + joypad1.select = joypad2.select = + joypad1.start = joypad2.start = 0; +} + void bSNES::poll_input(uint8 type) { //only capture input when main window has focus if(GetForegroundWindow() == w_main->hwnd) { @@ -279,27 +311,27 @@ uint8 r = 0x00; if(a >= 0x2000 && a <= 0x5fff) { r = 0x00; } else { - r = mem_bus->read(addr); + r = r_mem->read(addr); } } else { - r = mem_bus->read(addr); + r = r_mem->read(addr); } break; case SPCRAM: addr &= 0xffff; - r = apu->spcram_read(addr); + r = r_apu->spcram_read(addr); break; case VRAM: addr &= 0xffff; - r = ppu->vram_read(addr); + r = r_ppu->vram_read(addr); break; case OAM: addr &= 0x03ff; - r = ppu->oam_read(addr); + r = r_ppu->oam_read(addr); break; case CGRAM: addr &= 0x01ff; - r = ppu->cgram_read(addr); + r = r_ppu->cgram_read(addr); break; } debug_command = false; @@ -311,38 +343,31 @@ void bSNES::write(uint8 type, uint32 addr, uint8 value) { switch(type) { case DRAM: addr &= 0xffffff; - mem_bus->cart->write_protect(false); - mem_bus->write(addr, value); - mem_bus->cart->write_protect(true); + r_mem->cart->write_protect(false); + r_mem->write(addr, value); + r_mem->cart->write_protect(true); break; case SPCRAM: addr &= 0xffff; - apu->spcram_write(addr, value); + r_apu->spcram_write(addr, value); break; case VRAM: addr &= 0xffff; - ppu->vram_write(addr, value); + r_ppu->vram_write(addr, value); break; case OAM: addr &= 0x03ff; - ppu->oam_write(addr, value); + r_ppu->oam_write(addr, value); break; case CGRAM: addr &= 0x01ff; - ppu->cgram_write(addr, value); + r_ppu->cgram_write(addr, value); break; } debug_command = false; } void bSNES::notify(uint32 message, uint32 param1, uint32 param2) { -//system messages - switch(message) { - case RENDER_FRAME: - update_frame = true; - break; - } - //debugging messages if(is_debugger_enabled == false)return; @@ -353,14 +378,14 @@ void bSNES::notify(uint32 message, uint32 param1, uint32 param2) { status.cpu_ran = true; status.cpu_trace_pos++; //test next opcode for breakpoint - w_bp->test(message, cpu->regs.pc.d, 0); + w_bp->test(message, r_cpu->regs.pc.d, 0); disassemble_cpu_op(); break; case APU_EXEC_OPCODE_BEGIN: break; case APU_EXEC_OPCODE_END: status.apu_ran = true; - w_bp->test(message, apu->regs.pc, 0); + w_bp->test(message, r_apu->regs.pc, 0); disassemble_apu_op(); break; case MEM_READ: @@ -395,7 +420,7 @@ char t[512]; //don't disassemble opcodes that won't be printed to console/traced to log anyway if(!w_console->can_write(Console::CPU_MESSAGE) && !w_console->tracing_enabled)return; - cpu->disassemble_opcode(t); + r_cpu->disassemble_opcode(t); w_console->write(t, Console::CPU_MESSAGE); } @@ -405,7 +430,7 @@ char t[512]; if(!w_console->can_write(Console::APU_MESSAGE) && !w_console->tracing_enabled)return; - apu->disassemble_opcode(t); + r_apu->disassemble_opcode(t); w_console->write(t, Console::APU_MESSAGE); } @@ -540,7 +565,6 @@ uint32 i, style; bSNES::bSNES() { run_status = STOP; debug_command = false; - update_frame = false; debugger_disable(); } diff --git a/src/win/bsnes.h b/src/win/bsnes.h index d0f3340a..054246ca 100644 --- a/src/win/bsnes.h +++ b/src/win/bsnes.h @@ -18,8 +18,6 @@ bool is_debugger_activated; bool debug_command; uint32 run_status; -bool update_frame; - bJoypad joypad1, joypad2; public: @@ -35,14 +33,22 @@ enum { RUNTOAPUSTEP }; enum { DRAM = 0, SPCRAM = 1, VRAM = 2, OAM = 3, CGRAM = 4 }; + void power(); + void reset(); + void run(); void video_run(); - void sound_run(); + void sound_run(uint32 data); void set_status(uint32 new_status); uint32 get_status(); +//video functions + uint16 *video_lock(uint32 &pitch); + void video_unlock(); + //input functions + void clear_input(); void poll_input(uint8 type); bool get_input_status(uint8 device, uint8 button); diff --git a/src/win/bsnes.lnk b/src/win/bsnes.lnk index ce73821edf28a2decde76ca9652d3ef48295ff8d..b3f084ab280f782f4613c3931e819121152b727e 100644 GIT binary patch delta 153 zcmey&`IUKss3HRcg8~SDh`B2I;3y-5$2YgE`#@Um;w>;=V4_)oq@@5uQGR|2NGUS| z3&Z<;(~W{HlZ+WOCeD{OUnjtjRGgPu%%B97oM9BP4kRf8G&hN%m?4iL6-Y8Lh%h)Y m7%?yia55wtw{cJWD8i9!+{6u1IhmJn9;4FaXH4!)3=9Bf&M0~S literal 1267 zcmds1y-yQi82|MPj|Afx8$Sxsi=mN-mQsj;3yDOKI5cR|L5EJn8;XINw&|5cy11i* zx|rY%>VKeNFh*kH$YL~Maq=h*5MzZ!@b|oTXN{tpi|^(4JkLGf&wKBCSpcDUm=t)a zC?-}%0fX}5&T{9~SFb}b8q1T4cXz4x&35G(QnW=@5yy!uA1<#L>t;cB-fQShrym|e z-HhVG`L>~G$BcIkh}bvc8kT9#bd4cC_Zvg(nx`OdriEi7hl-Md3>chuFp zvU048CON`jR1Es#&!TLock(0, &ddsd, DDLOCK_WAIT, 0); - if(hr != DD_OK)return; - - set_source_window(); - - if (vi.width == 256 && vi.height == 224) { - update16_256x224(); - } else if(vi.width == 512 && vi.height == 224) { - update16_512x224(); - } else if(vi.width == 256 && vi.height == 448) { - update16_256x448(); - } else if(vi.width == 512 && vi.height == 448) { - update16_512x448(); - } - - lpddsb->Unlock(0); +uint16 *DDRenderer::lock(uint32 &pitch) { + if(lpddsb->Lock(0, &ddsd, DDLOCK_WAIT, 0) != DD_OK)return 0; + pitch = ddsd.lPitch; + return (uint16*)ddsd.lpSurface; } -//#include "dd_renderer32.cpp" -/* -void DDRenderer::update32() { -HRESULT hr; - hr = lpddsb->Lock(0, &ddsd, DDLOCK_WAIT, 0); - if(hr != DD_OK)return; - - set_source_window(); - if(ppu->output->hires == false) { - if(ppu->output->interlace == false) { - update32_256x224(); - } else { - update32_256x448(); - } - } else { - if(ppu->output->interlace == false) { - update32_512x224(); - } else { - update32_512x448(); - } - } - +void DDRenderer::unlock() { lpddsb->Unlock(0); } -*/ void DDRenderer::update() { snes->get_video_info(&vi); - - switch(color_depth) { - case 15: - case 16: - update16(); - break; - case 32: - //update32(); - break; - } - + set_source_window(); redraw(); } diff --git a/src/win/dd_renderer.h b/src/win/dd_renderer.h index b98127ec..626dc373 100644 --- a/src/win/dd_renderer.h +++ b/src/win/dd_renderer.h @@ -14,22 +14,15 @@ bool fullscreen; int width, height; //used for fullscreen mode clipping only uint8 color_depth; SNES::video_info vi; //initialized each frame at start of update() + uint16 *lock(uint32 &pitch); + void unlock(); + void set_window(HWND hwnd_handle); void create_backbuffer(); void to_windowed(); void to_fullscreen(int _width, int _height); void set_source_window(); void redraw(); - inline void update16_256x224(); - inline void update16_512x224(); - inline void update16_256x448(); - inline void update16_512x448(); - void update16(); -//inline void update32_256x224(); -//inline void update32_512x224(); -//inline void update32_256x448(); -//inline void update32_512x448(); -//void update32(); void update(); void destroy(); diff --git a/src/win/dd_renderer16.cpp b/src/win/dd_renderer16.cpp deleted file mode 100644 index 6a4fef80..00000000 --- a/src/win/dd_renderer16.cpp +++ /dev/null @@ -1,79 +0,0 @@ -inline void DDRenderer::update16_256x224() { -uint16 *src, *dest; -uint32 pitch; -int x, y; - dest = (uint16*)ddsd.lpSurface; - src = (uint16*)vi.data; - -#ifdef USE_X86_ASM - pitch = (ddsd.lPitch) - 512; - __asm { - mov edi,dest - mov esi,src - mov edx,224 - ly: - mov ecx,32 - lx: - movsd - movsd - movsd - movsd - loopnz lx - add edi,pitch - dec edx - jnz ly - } -#else - pitch = (ddsd.lPitch >> 1); - for(y=0;y<224;y++) { - memcpy(dest, src, 512); - dest += pitch; - src += 256; - } -#endif -} - -inline void DDRenderer::update16_512x224() { -uint16 *src, *dest; -uint32 pitch; -int x, y; - pitch = (ddsd.lPitch >> 1); - dest = (uint16*)ddsd.lpSurface; - src = (uint16*)vi.data; - - for(y=0;y<224;y++) { - memcpy(dest, src, 1024); - dest += pitch; - src += 512; - } -} - -inline void DDRenderer::update16_256x448() { -uint16 *src, *dest; -uint32 pitch; -int x, y; - pitch = (ddsd.lPitch >> 1); - dest = (uint16*)ddsd.lpSurface; - src = (uint16*)vi.data; - - for(y=0;y<448;y++) { - memcpy(dest, src, 512); - dest += pitch; - src += 256; - } -} - -inline void DDRenderer::update16_512x448() { -uint16 *src, *dest; -uint32 pitch; -int x, y; - pitch = (ddsd.lPitch >> 1); - dest = (uint16*)ddsd.lpSurface; - src = (uint16*)vi.data; - - for(y=0;y<448;y++) { - memcpy(dest, src, 1024); - dest += pitch; - src += 512; - } -} diff --git a/src/win/dd_renderer32.cpp b/src/win/dd_renderer32.cpp deleted file mode 100644 index 6b4893ea..00000000 --- a/src/win/dd_renderer32.cpp +++ /dev/null @@ -1,123 +0,0 @@ -inline void DDRenderer::update32_256x224() { -uint16 *src; -uint32 *dest; -uint32 pitch; -int x, y; - src = (uint16*)ppu->output->buffer + (1 << 10); - dest = (uint32*)ddsd.lpSurface; - pitch = (ddsd.lPitch >> 2) - 256; - -int overscan_adjust = 0; - if(cpu->overscan() == true) { - src += 7 << 10; - overscan_adjust = 7; - } - - for(y=1+overscan_adjust;y<224+overscan_adjust;y++) { - x = 256; - while(x--) { - *dest++ = color_lookup_table[*src]; - src += 2; - } - dest += pitch; - src += 512; - } -} - -inline void DDRenderer::update32_256x448() { -uint16 *src; -uint32 *dest; -uint32 pitch; -int x, y; - src = (uint16*)ppu->output->buffer + (1 << 10); - dest = (uint32*)ddsd.lpSurface; - pitch = (ddsd.lPitch >> 2) - 256; - -int overscan_adjust = 0; - if(cpu->overscan() == true) { - src += 7 << 10; - overscan_adjust = 14; - } - - for(y=2+overscan_adjust;y<448+overscan_adjust;y++) { - x = 256; - while(x--) { - *dest++ = color_lookup_table[*src]; - src += 2; - } - dest += pitch; - if(ppu->output->line[y >> 1].interlace == false) { - src += (y & 1)?512:-512; - } - } -} - -inline void DDRenderer::update32_512x224() { -uint16 *src; -uint32 *dest; -uint32 pitch; -int x, y; - src = (uint16*)ppu->output->buffer + (1 << 10); - dest = (uint32*)ddsd.lpSurface; - pitch = (ddsd.lPitch >> 2) - 512; - -int overscan_adjust = 0; - if(cpu->overscan() == true) { - src += 7 << 10; - overscan_adjust = 7; - } - - for(y=1+overscan_adjust;y<224+overscan_adjust;y++) { - if(ppu->output->line[y].hires == true) { - x = 512; - while(x--) { - *dest++ = color_lookup_table[*src++]; - } - } else { - x = 256; - while(x--) { - *dest++ = color_lookup_table[*src]; - *dest++ = color_lookup_table[*src]; - src += 2; - } - } - dest += pitch; - src += 512; - } -} - -inline void DDRenderer::update32_512x448() { -uint16 *src; -uint32 *dest; -uint32 pitch; -int x, y; - src = (uint16*)ppu->output->buffer + (1 << 10); - dest = (uint32*)ddsd.lpSurface; - pitch = (ddsd.lPitch >> 2) - 512; - -int overscan_adjust = 0; - if(cpu->overscan() == true) { - src += 7 << 10; - overscan_adjust = 14; - } - - for(y=2+overscan_adjust;y<448+overscan_adjust;y++) { - if(ppu->output->line[y >> 1].hires == true) { - x = 512; - while(x--) { - *dest++ = color_lookup_table[*src++]; - } - } else { - x = 256; - while(x--) { - *dest++ = color_lookup_table[*src]; - *dest++ = color_lookup_table[*src]; - src += 2; - } - } - dest += pitch; - if(ppu->output->line[y >> 1].interlace == false) { - src += (y & 1)?512:-512; - } - } -} diff --git a/src/win/ds_sound.cpp b/src/win/ds_sound.cpp index ab6862e8..25af846e 100644 --- a/src/win/ds_sound.cpp +++ b/src/win/ds_sound.cpp @@ -1,77 +1,116 @@ -DSSound::DSSound() { - data.buffer = 0; - data.lpos = data.lsample = data.lbuffer = 0; -} +void DSSound::run(uint32 sample) { + data.buffer[data.buffer_pos++] = sample; -void DSSound::run() { - if(snes->get_playback_buffer_pos() != 0)return; + if(data.buffer_pos >= data.samples_per_frame) { + uint32 pos, size; + void *buffer; + if((bool)config::system.regulate_speed == true) { + do { + dsb_b->GetCurrentPosition(&pos, 0); + data.read_buffer = pos / data.buffer_size; + } while(data.read_buffer == data.prev_buffer); + } -uint32 pos, status; + data.prev_buffer = data.read_buffer; + data.read_buffer++; + data.read_buffer &= 7; -//dsb_b[0]->SetFrequency(22050); + pos = (data.read_buffer + 1) & 7; -//do { -// dsb_b[0]->GetStatus(&status); -//} while(status & DSBSTATUS_PLAYING); + if(dsb_b->Lock(pos * data.buffer_size, + data.buffer_size, &buffer, &size, 0, 0, 0) == DS_OK) { + memcpy(buffer, data.buffer, data.buffer_size); + dsb_b->Unlock(buffer, size, 0, 0); + } - dsb_b[0]->Lock(0, DSP_BUFFER_SIZE * 4, &dslb, &dslbs, 0, 0, 0); - memcpy(dslb, snes->get_playback_buffer(), DSP_BUFFER_SIZE * 4); - dsb_b[0]->Unlock(dslb, dslbs, 0, 0); - - dsb_b[0]->SetCurrentPosition(0); - -//has the buffer stopped (possibly due to running too fast)? - dsb_b[0]->GetStatus(&status); - if(!(status & DSBSTATUS_PLAYING)) { - dsb_b[0]->Play(0, 0, 0); + data.buffer_pos = 0; } } +void DSSound::clear() { + data.read_buffer = 0; + data.prev_buffer = 0; + data.buffer_pos = 0; + memset(data.buffer, 0, 2048 * 4); + + if(!dsb_b)return; + + dsb_b->Stop(); + dsb_b->SetCurrentPosition(0); + +uint32 size; +void *buffer; + dsb_b->Lock(0, data.buffer_size * 8, &buffer, &size, 0, 0, 0); + memset(buffer, 0, data.buffer_size * 8); + dsb_b->Unlock(buffer, size, 0, 0); + + dsb_b->Play(0, 0, DSBPLAY_LOOPING); +} + void DSSound::init() { + clear(); + term(); + + data.read_buffer = 0; + data.prev_buffer = 0; + data.buffer_pos = 0; + data.samples_per_frame = DSP_FREQ / ((snes->region() == SNES::NTSC) ? 60 : 50); + data.buffer_size = data.samples_per_frame * 4; + DirectSoundCreate(0, &ds, 0); ds->SetCooperativeLevel(w_main->hwnd, DSSCL_PRIORITY); memset(&dsbd, 0, sizeof(dsbd)); - dsbd.dwSize = sizeof(dsbd); - dsbd.dwFlags = DSBCAPS_PRIMARYBUFFER; + dsbd.dwSize = sizeof(dsbd); + dsbd.dwFlags = DSBCAPS_PRIMARYBUFFER; dsbd.dwBufferBytes = 0; - dsbd.lpwfxFormat = 0; + dsbd.lpwfxFormat = 0; ds->CreateSoundBuffer(&dsbd, &dsb_p, 0); memset(&wfx, 0, sizeof(wfx)); - wfx.wFormatTag = WAVE_FORMAT_PCM; - wfx.nChannels = 2; - wfx.nSamplesPerSec = 32000; - wfx.wBitsPerSample = 16; - wfx.nBlockAlign = wfx.wBitsPerSample / 8 * wfx.nChannels; + wfx.wFormatTag = WAVE_FORMAT_PCM; + wfx.nChannels = 2; + wfx.nSamplesPerSec = DSP_FREQ; + wfx.wBitsPerSample = 16; + wfx.nBlockAlign = wfx.wBitsPerSample / 8 * wfx.nChannels; wfx.nAvgBytesPerSec = wfx.nSamplesPerSec * wfx.nBlockAlign; dsb_p->SetFormat(&wfx); - sample_size = (16 / 8) * 2; - buffer_size = DSP_BUFFER_SIZE * sample_size; - buffer_pos = 0; - - dsb_b = new LPDIRECTSOUNDBUFFER[1]; memset(&dsbd, 0, sizeof(dsbd)); - dsbd.dwSize = sizeof(dsbd); - dsbd.dwFlags = DSBCAPS_CTRLFREQUENCY | DSBCAPS_GLOBALFOCUS; - dsbd.dwBufferBytes = buffer_size; + dsbd.dwSize = sizeof(dsbd); + dsbd.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRLFREQUENCY | + DSBCAPS_GLOBALFOCUS | DSBCAPS_LOCSOFTWARE; + dsbd.dwBufferBytes = data.buffer_size * 8; dsbd.guid3DAlgorithm = GUID_NULL; - dsbd.lpwfxFormat = &wfx; - ds->CreateSoundBuffer(&dsbd, &dsb_b[0], 0); - ds->CreateSoundBuffer(&dsbd, &dsb_b[1], 0); - dsb_b[0]->SetFrequency(32000); - dsb_b[1]->SetFrequency(32000); + dsbd.lpwfxFormat = &wfx; + ds->CreateSoundBuffer(&dsbd, &dsb_b, 0); + dsb_b->SetFrequency(DSP_FREQ); + dsb_b->SetCurrentPosition(0); - dsb_b[0]->Lock(0, buffer_size, &dslb, &dslbs, 0, 0, 0); - memset(dslb, 0, buffer_size); - dsb_b[0]->Unlock(dslb, dslbs, 0, 0); +uint32 size; +void *buffer; + dsb_b->Lock(0, data.buffer_size * 8, &buffer, &size, 0, 0, 0); + memset(buffer, 0, data.buffer_size * 8); + dsb_b->Unlock(buffer, size, 0, 0); - dsb_b[1]->Lock(0, buffer_size, &dslb, &dslbs, 0, 0, 0); - memset(dslb, 0, buffer_size); - dsb_b[1]->Unlock(dslb, dslbs, 0, 0); - - dsb_b[0]->Play(0, 0, 0); - - buffer_pos = 0; + data.read_buffer = 0; + dsb_b->Play(0, 0, DSBPLAY_LOOPING); +} + +void DSSound::term() { + if(dsb_b) { + dsb_b->Stop(); + dsb_b->Release(); + dsb_b = 0; + } + + if(dsb_p) { + dsb_p->Release(); + dsb_p = 0; + } + + if(ds) { + ds->Release(); + ds = 0; + } } diff --git a/src/win/ds_sound.h b/src/win/ds_sound.h index d580facb..4e2f9f5d 100644 --- a/src/win/ds_sound.h +++ b/src/win/ds_sound.h @@ -1,30 +1,28 @@ #include +#define DSP_FREQ 32000 + class DSSound { public: LPDIRECTSOUND ds; -LPDIRECTSOUNDBUFFER dsb_p, *dsb_b; +LPDIRECTSOUNDBUFFER dsb_p, dsb_b; DSBUFFERDESC dsbd; WAVEFORMATEX wfx; -uint32 sample_size; uint32 buffer_size; -uint32 buffer_pos; - -void *dslb; -uint32 dslbs; public: - void run(); + void run(uint32 sample); + void clear(); void init(); - - DSSound(); + void term(); }; struct { - uint32 *buffer; - uint32 lpos; - uint32 lsample; - bool lbuffer; + uint32 buffer[2048]; + uint8 read_buffer, prev_buffer; + uint32 buffer_pos, buffer_size; + + uint32 samples_per_frame; } data; DSSound *ds_sound; diff --git a/src/win/rom.cpp b/src/win/rom.cpp index e2a33fb5..7057affd 100644 --- a/src/win/rom.cpp +++ b/src/win/rom.cpp @@ -27,14 +27,14 @@ FileReader *rf = new FileReader(); alert("Error loading image file [%s]!", rom_fn); return false; } - mem_bus->load_cart(static_cast(rf)); + r_mem->load_cart(static_cast(rf)); rf->close(); CartInfo ci; - mem_bus->get_cartinfo(&ci); + r_mem->get_cartinfo(&ci); if(ci.sram_size != 0) { rf->open(sram_fn); - mem_bus->load_sram(static_cast(rf)); + r_mem->load_sram(static_cast(rf)); rf->close(); } @@ -50,11 +50,11 @@ void ROMImage::unload() { FileWriter *wf; CartInfo ci; - mem_bus->get_cartinfo(&ci); + r_mem->get_cartinfo(&ci); if(ci.sram_size != 0) { wf = new FileWriter(); wf->open(sram_fn); - mem_bus->save_sram(static_cast(wf)); + r_mem->save_sram(static_cast(wf)); wf->close(); delete(wf); } @@ -62,7 +62,7 @@ CartInfo ci; file_loaded = false; bsnes->debugger_deactivate(); - mem_bus->unload_cart(); + r_mem->unload_cart(); } void ROMImage::select(char *fn) { diff --git a/src/win/ui.cpp b/src/win/ui.cpp index 46ae9c34..d48ca202 100644 --- a/src/win/ui.cpp +++ b/src/win/ui.cpp @@ -54,7 +54,6 @@ void init_ui1() { SetFocus(w_main->hwnd); dd_renderer->set_window(w_main->hwnd); dd_renderer->to_windowed(); - ds_sound->init(); w_main->show_menu(); w_main->set_video_mode(config::video.mode); diff --git a/src/win/ui.h b/src/win/ui.h index 9619a420..8ca69fc5 100644 --- a/src/win/ui.h +++ b/src/win/ui.h @@ -14,6 +14,7 @@ enum { MENU_FILE_RESET, MENU_FILE_POWER, MENU_FILE_EXIT, + MENU_SETTINGS_REGULATE_SPEED, MENU_SETTINGS_FRAMESKIP_OFF, MENU_SETTINGS_FRAMESKIP_1, MENU_SETTINGS_FRAMESKIP_2, @@ -251,7 +252,7 @@ bool auto_update; //update memory window whenever visible value is written to uint8 read_byte(uint32 addr); void write_byte(uint32 addr, uint8 value); void refresh(uint32 type = null, uint32 addr = 0); - void export(uint32 type); + void export_data(uint32 type); }*w_memory = 0; class InputConfig : public Window { diff --git a/src/win/ui_console.cpp b/src/win/ui_console.cpp index 52cf61fc..09b01dd0 100644 --- a/src/win/ui_console.cpp +++ b/src/win/ui_console.cpp @@ -29,7 +29,7 @@ HDC hdc; break; case CONSOLE_CPUPROCEED: if(bsnes->get_status() == bSNES::STOP) { - if(cpu->in_opcode() == true) { + if(r_cpu->in_opcode() == true) { dprintf("* CPU within opcode, proceed aborted"); } else { bsnes->set_status(bSNES::RUNTOCPUPROCEED); @@ -38,10 +38,10 @@ HDC hdc; break; case CONSOLE_CPUSKIP: if(bsnes->get_status() == bSNES::STOP) { - if(cpu->in_opcode() == true) { + if(r_cpu->in_opcode() == true) { dprintf("* CPU within opcode, skip aborted"); } else { - cpu->regs.pc.w += cpu->opcode_length(); + r_cpu->regs.pc.w += r_cpu->opcode_length(); bsnes->disassemble_cpu_op(); } } @@ -57,15 +57,15 @@ HDC hdc; break; case CONSOLE_CPUDISABLE: if(bsnes->get_status() == bSNES::STOP) { - if(cpu->in_opcode() == true) { + if(r_cpu->in_opcode() == true) { dprintf("* CPU within opcode, disable aborted"); } else { - addr = cpu->regs.pc.d; - len = cpu->opcode_length(); + addr = r_cpu->regs.pc.d; + len = r_cpu->opcode_length(); for(i=0;iwrite(bSNES::DRAM, (addr & 0xff0000) | ((addr + i) & 0xffff), 0xea); } - //cpu->regs.pc.w += len; + //r_cpu->regs.pc.w += len; bsnes->disassemble_cpu_op(); } } @@ -123,23 +123,23 @@ HDC hdc; value = strhex(t); pos = SendDlgItemMessage(hwnd, CONSOLE_CFGREGTYPE, CB_GETCURSEL, 0, 0); if(pos == 0) { //Set CPU register - if(cpu->in_opcode() == true) { + if(r_cpu->in_opcode() == true) { dprintf("* CPU within opcode, register set aborted"); } else { pos = SendDlgItemMessage(hwnd, CONSOLE_CFGREGNUM, CB_GETCURSEL, 0, 0); switch(pos) { - case 0:cpu->regs.a.w = value;break; - case 1:cpu->regs.x.w = value;break; - case 2:cpu->regs.y.w = value;break; - case 3:cpu->regs.s.w = value;break; - case 4:cpu->regs.d.w = value;break; - case 5:cpu->regs.db = value;break; - case 6:cpu->regs.p = value;break; - case 7:cpu->regs.e = value;break; - case 8:cpu->regs.pc.d = value;break; + case 0:r_cpu->regs.a.w = value;break; + case 1:r_cpu->regs.x.w = value;break; + case 2:r_cpu->regs.y.w = value;break; + case 3:r_cpu->regs.s.w = value;break; + case 4:r_cpu->regs.d.w = value;break; + case 5:r_cpu->regs.db = value;break; + case 6:r_cpu->regs.p = value;break; + case 7:r_cpu->regs.e = value;break; + case 8:r_cpu->regs.pc.d = value;break; } //these bits can never be clear in emulation mode - if(cpu->regs.e)cpu->regs.p |= 0x30; + if(r_cpu->regs.e)r_cpu->regs.p |= 0x30; bsnes->disassemble_cpu_op(); } } else { //Set APU register @@ -229,10 +229,12 @@ int sl = strlen(s); memset(t + sl, 0x20, 80 - sl); } t[80] = 0; + //only allow ascii characters. other characters will force the //font to change to one that supports non-ascii characters, //which will break the line highlighting and alignment of text - for(int i=0;i<80;i++) { +int i; + for(i=0;i<80;i++) { if(t[i] & 0x80)t[i] = '?'; } @@ -281,13 +283,13 @@ static uint8 linecol[4] = { 1, 2, 3 }; strcpy(s, ""); sprintf(t, "V:%3d H:%3d HC:%4d I:%d IF:%d O:%d", - cpu->vcounter(), cpu->hcounter(), cpu->hcycles(), - cpu->interlace(), cpu->interlace_field(), cpu->overscan()); + r_cpu->vcounter(), r_cpu->hcounter(), r_cpu->hcycles(), + r_cpu->interlace(), r_cpu->interlace_field(), r_cpu->overscan()); strcat(s, t); if(1) { //config::apu.enabled sprintf(t, " -- CPU[$%0.2x,$%0.2x,$%0.2x,$%0.2x]<>APU[$%0.2x,$%0.2x,$%0.2x,$%0.2x]", - cpu->port_read(0), cpu->port_read(1), cpu->port_read(2), cpu->port_read(3), - apu->port_read(0), apu->port_read(1), apu->port_read(2), apu->port_read(3) + r_cpu->port_read(0), r_cpu->port_read(1), r_cpu->port_read(2), r_cpu->port_read(3), + r_apu->port_read(0), r_apu->port_read(1), r_apu->port_read(2), r_apu->port_read(3) ); strcat(s, t); } diff --git a/src/win/ui_main.cpp b/src/win/ui_main.cpp index 0ad3aca6..142aa3cd 100644 --- a/src/win/ui_main.cpp +++ b/src/win/ui_main.cpp @@ -135,6 +135,16 @@ long __stdcall wndproc_main(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { time_t timeout; int i; switch(msg) { + case WM_ENTERMENULOOP: + ds_sound->clear(); + break; + case WM_EXITMENULOOP: + timeout = time(0); + while(difftime(time(0), timeout) < 3) { + if(!KeyDown(VK_RETURN))break; + } + bsnes->clear_input(); + break; case WM_KEYDOWN: if(wparam == VK_ESCAPE) { if(GetMenu(w_main->hwnd) == NULL) { @@ -146,13 +156,6 @@ int i; } break; case WM_COMMAND: -//below code fails because it is triggered after snes->poll_input()... -//unsure how to fix this... -// timeout = time(NULL); -// while(difftime(time(NULL), timeout) < 5) { -// if(!KeyDown(VK_RETURN))break; -// } - switch(LOWORD(wparam)) { case MENU_FILE_LOAD: w_main->menu_load(); @@ -175,6 +178,11 @@ int i; case MENU_FILE_EXIT: PostQuitMessage(0); break; + case MENU_SETTINGS_REGULATE_SPEED: + config::system.regulate_speed.toggle(); + CheckMenuItem(w_main->hmenu, MENU_SETTINGS_REGULATE_SPEED, + (config::system.regulate_speed)?MF_CHECKED:MF_UNCHECKED); + break; case MENU_SETTINGS_FRAMESKIP_OFF: case MENU_SETTINGS_FRAMESKIP_1: case MENU_SETTINGS_FRAMESKIP_2: @@ -314,6 +322,7 @@ HMENU hsubmenu, hbranchmenu; AppendMenu(hmenu, MF_STRING | MF_POPUP, (unsigned int)hsubmenu, "&File"); hsubmenu = CreatePopupMenu(); + AppendMenu(hsubmenu, MF_STRING, MENU_SETTINGS_REGULATE_SPEED, "&Regulate Speed"); hbranchmenu = CreatePopupMenu(); AppendMenu(hbranchmenu, MF_STRING, MENU_SETTINGS_FRAMESKIP_OFF, "Off"); @@ -356,8 +365,11 @@ HMENU hsubmenu, hbranchmenu; AppendMenu(hbranchmenu, MF_STRING, MENU_SETTINGS_INPUTCFG_JOYPAD2, "Joypad 2"); AppendMenu(hsubmenu, MF_STRING | MF_POPUP, (unsigned int)hbranchmenu, "&Configure Input Devices"); +#ifdef DEBUGGER AppendMenu(hsubmenu, MF_SEPARATOR, 0, ""); AppendMenu(hsubmenu, MF_STRING, MENU_SETTINGS_DEBUGGER, "&Debugger"); +#endif + AppendMenu(hmenu, MF_STRING | MF_POPUP, (unsigned int)hsubmenu, "&Settings"); hsubmenu = CreatePopupMenu(); @@ -367,6 +379,7 @@ HMENU hsubmenu, hbranchmenu; AppendMenu(hsubmenu, MF_STRING, MENU_MISC_ABOUT, "&About..."); AppendMenu(hmenu, MF_STRING | MF_POPUP, (unsigned int)hsubmenu, "&Misc"); + CheckMenuItem(hmenu, MENU_SETTINGS_REGULATE_SPEED, (config::system.regulate_speed)?MF_CHECKED:MF_UNCHECKED); CheckMenuItem(hmenu, MENU_SETTINGS_USEVRAM, (config::video.use_vram)?MF_CHECKED:MF_UNCHECKED); CheckMenuItem(hmenu, MENU_SETTINGS_VBLANK, (config::video.vblank)?MF_CHECKED:MF_UNCHECKED); CheckMenuItem(hmenu, MENU_SETTINGS_COLORADJUST_COLORCURVE, (config::snes.video_color_curve)?MF_CHECKED:MF_UNCHECKED); diff --git a/src/win/ui_memory.cpp b/src/win/ui_memory.cpp index 380d9fef..a877778b 100644 --- a/src/win/ui_memory.cpp +++ b/src/win/ui_memory.cpp @@ -154,7 +154,7 @@ HDC hdc; break; case MEMORYEDITOR_FEXPORT: pos = SendDlgItemMessage(hwnd, MEMORYEDITOR_FSOURCE, CB_GETCURSEL, 0, 0); - w_memory->export(pos); + w_memory->export_data(pos); break; case MEMORYEDITOR_AUTOUPDATE: if(w_memory->auto_update == false) { @@ -186,7 +186,7 @@ HDC hdc; return DefWindowProc(hwnd, msg, wparam, lparam); } -void MemoryEditor::export(uint32 type) { +void MemoryEditor::export_data(uint32 type) { FILE *fp; int i, x; if(type == 0) { //DRAM @@ -233,12 +233,12 @@ int i, x; } fclose(fp); } else if(type == 6) { //All - export(0); - export(1); - export(2); - export(3); - export(4); - export(5); + export_data(0); + export_data(1); + export_data(2); + export_data(3); + export_data(4); + export_data(5); } } diff --git a/src/win/winmain.cpp b/src/win/winmain.cpp index 7778e009..45d8f349 100644 --- a/src/win/winmain.cpp +++ b/src/win/winmain.cpp @@ -1,15 +1,10 @@ #define INTERFACE_MAIN -//requires visual c++ -#define USE_X86_ASM - #include "winmain.h" #include "../base.h" #include "config.cpp" -#define DSP_BUFFER_SIZE 8000 - #include "bsnes.h" #include "ui.h" #include "dd_renderer.h" @@ -22,44 +17,47 @@ #include "ui.cpp" void init_snes() { - mem_bus = new bMemBus(); - cpu = new bCPU(); - apu = new bAPU(); - dsp = new bDSP(); - ppu = new bPPU(); - snes = new bSNES(); - bsnes = static_cast(snes); +#ifdef POLYMORPHISM + deref(mem) = new bMemBus(); + deref(cpu) = new bCPU(); + deref(apu) = new bAPU(); + deref(dsp) = new bDSP(); + deref(ppu) = new bPPU(); +#endif + snes = new bSNES(); + bsnes = static_cast(snes); snes->init(); - snes->set_playback_buffer_size(DSP_BUFFER_SIZE); } void term_snes() { snes->term(); +#ifdef POLYMORPHISM //static casting is neccesary to call derived class deconstructor... - if(mem_bus) { - delete(static_cast(mem_bus)); - mem_bus = 0; + if(deref(mem)) { + delete static_cast(deref(mem)); + deref(mem) = 0; } - if(cpu) { - delete(static_cast(cpu)); - cpu = 0; + if(deref(cpu)) { + delete static_cast(deref(cpu)); + deref(cpu) = 0; } - if(apu) { - delete(static_cast(apu)); - apu = 0; + if(deref(apu)) { + delete static_cast(deref(apu)); + deref(apu) = 0; } - if(dsp) { - delete(static_cast(dsp)); - dsp = 0; + if(deref(dsp)) { + delete static_cast(deref(dsp)); + deref(dsp) = 0; } - if(ppu) { - delete(static_cast(ppu)); - ppu = 0; + if(deref(ppu)) { + delete static_cast(deref(ppu)); + deref(ppu) = 0; } +#endif if(snes) { - delete(static_cast(snes)); + delete static_cast(snes); snes = 0; } }