From 356ff5f288e4ab565d1c4314207f50d2a80dde03 Mon Sep 17 00:00:00 2001 From: wavemotion-dave <75039837+wavemotion-dave@users.noreply.github.com> Date: Sun, 10 Apr 2022 07:58:10 -0400 Subject: [PATCH] V6.7: 10-Apr-2022 by wavemotion-dave * Casio PV-2000 support (.pv rom files) - all 11 games run fine. * Improved emulated memory access to gain almost 1 frame of performance. * Numerous small cleanups under the hood. --- ColecoDS.nds | Bin 1082880 -> 1082880 bytes Makefile | 2 +- README.md | 16 ++++++++++++++-- arm9/gfx_data/pdev_bg0.png | Bin 9634 -> 9651 bytes arm9/source/colecoDS.c | 11 ++++++----- arm9/source/colecoDS.h | 2 +- 6 files changed, 22 insertions(+), 9 deletions(-) diff --git a/ColecoDS.nds b/ColecoDS.nds index c32d4021b6ca934023eb442c7e931f1dc3ad4a9a..8a2be45565e2df864bea49bcd798d6375f837708 100644 GIT binary patch delta 51958 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
  • HBDG7OLaM9TNOkojQe8cP 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 delta 51910 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

    v=-nA7k%`=*8#}&y?ck3^~Yo zIkUT*A7j5WJ!Q{WyDM-aRhTSu#<8=xOV*F$gwG7{jwnn)S!EpOfB_4BPSV)7L%2aU(Ny$H}%)*yDH6iLyQk#9bL_;IOIWh4AGjV))D|z@Y(7}Q=JRCED zrkIodb&9=EIyv(ZYx6;PKWm$TE?^>93-*H3AgI5!@t_YF0o>pOxC|;hYHb2Y1T(=h zuoqkd3p z80ZEx%~0fY;09Yk1_*e9768qFrs;+p3Z{c)U@yo7*Fd?U-Zb&ZE?_8Fkjy`8!CsIF zuBpUOnPJw}1${sgm6F|-~S0cL~MU@tfY0>)Y!2fBfwU?x}zc7sgdjN>YR zE?_WN0Cs?UP+>egm`>Irh^?I12`|E14$qh`?HZ-L7Q74`BvnAkxRa% zSN}Z+l5gEC|1}4=KL1x+;Qzn=|5uy;<^K!UKOmuJwsF4g>0FrKJ6aCB&N?MR&cAMJ zlq)`SdndDaR(7#MDJ-0HTh5ou9hTWp^M~|W#=`Eb%v#1WCr4H-Bl{1sN5v80#flny z(;K#&=ZM>1RAU{B82eZ{E+_XonX;VcdvC~=`K82BDHeskWNze*?!JlH+e+>;bv-hOHXi4&~wSZ!`J4Ei<%GZ4#tG zD$gSBL|t1Vw7j}9HPuG)OCAeT@vOY;OSN~$me69IZ%=tvhGaXdU&<<8$V7ltcJnmg z>I>UD1vuq$K9rqrlK-L%bmR6pnd-KUqJBbYHosiN?eAru8@InkCEeb{?FuV!`!lJv z!o~!C0-GrvSMa=gjm&{zlf7mI?k$l6EAVT!7%k;RiF%XRGt%)*yd18jsFxc{WILN* zF5)GRK;L9J`lxJq)5h4|FUXCL>}_)HO;)mJ2|$J^V_$ENyHc>-vHxkXbhmct|oe2pY^^jb$QdfS$Xe$khsxL@k2QtxdHKC9{l!P%aG zknA|WqQ}a>w<&t0Oi}T;EI|Yg_{+Q;%C|vbg)7}tvare9idRS(-Cj+v4#^H)`BIS@ zwUT=8Q1abAbwO3!MUym^fg}mMTiAO5I;4$ zSBwOH`FA;SYpBC^U-IHliDzUl4(*ogW6Cp8wL4#djsX|_uApU-da#MU~eS_<3hLQTX#kcN}Im80TY zIgSYYg2W-RB8^@DX6e2jW(`b<0>&acX zdG15T-XwWLqakDEQ*ZP~jg}ZI_k75sfcwc&(5_KZdV?(=(2BSue8_lsmvr1a&7g-tdz z;4{bqL!7C%+C)KVGI|q@%*dxPCI*c$YijIysr8YqV<$|NU)S0gsrM&^wn(#~^`5|r z|0Q?~PN%M}oY4jrx-@kBk8p}n>myw3D%U^4GNV&EF&ZfyT|*g`PN~e6>0G^XayXrF zp|qSyr>D_RH?yI;k>Z_|oC~SHa4_LqW-T2zo6Q&)3*2BYxCq+JVV?ySfZZS;#JxgV zFd6Ix`Jlq9a9|=>4UU3Ae6fc1er3W8SR0Eh=|Kp!vyq<{rrFE|16LBJ{;0ChnE=m}Y0R2D`m<|?$wO|K03WDCj0T2(`fIeUZNC6ALUT^~BgMigI0P2DS&=brA z%Rm~~4Klzv;3TiX0nh>T14&>ySPa&J9pESkdKU*kJZJ;@fDs@CEC74K36Kv0-opV< z7bJk5U?x}w(!g$z0nUNy&RQG*9f01f0X*}wEUH2Z-LQGdhI56hxYF~+j!Q;a?0Gd5TcZT;M4fFb4o(h1~PYX84;0=bg>|M3L! zCs`GCU~aPtH*pYZ?k z31rPQIuS?&w>p7b48IW^0=GJW3|db`Kmxec3FJih1t3kOobpp8`{u-#8&LvFZa)H7pkQ3oIf_&gTfs9PW09=lO9|e?7_@5&Hp9O?Wqga3*?9e51gFpc-2(l}undPX^xA#F`U8vr z)Aur7AXkH};4+AV>j?_$_Y%(p74|WXffR64pGJ5uxC|P9$ruL~B=gVB1iJ~J02RJs z3<4=&W#Zp@bzmjjHPCE7%Q=ugu&916+&K_;fMEj61vl-h16tYLaMwV!gN#9g`R8T= zb-=$h{tw4*ef?MB)M?P{YaCMe^^ttI#)r5pAOra8TO4M90+&J0Z~mY99dMyX7(|b7 z{WA#o8~Crqll^M;Un|&GZqzLclm`14OW26+V-VpuZXbilTe4~&Bg<0Rw~yn9`IEPI z>KJ}3*A>1qr(^gYewOj?BUKhhUoyaOj`^kcu;ELLadh-0#)io9FKyYN0c5YknS&&j zbd`}qUvh-jOHPt2_7Ghg6O9hm{mZxyWnnnY}?zqUQB=NY;4kiDIsiRym{ zC5KLj*j%z<*4Q_4Mq_*UWS$sDg@=i8oO~GnaqTb%IOI2u{ zT|?$+Yw@|#5v(KF}O?;G-bAyLQ3vrSqaqi!t9HMUyjX^g|IV^ndLgnf&F6lw4+ z2F7C`Sk`}wfjJZ!G@SUmq10?GuJgXzx^KzJxj1Qgr_FpvjNSZqwtY~2Qob{plxYV! zlek@$d`BOxC|gu;YN(>5Tv1U>qBGc)-k2zNW!Q@RsP)wEZOp=Ju24zIu%WUx!v@KM z46409!v@Qy47$NN4IR@^=y5`qG*nkZQO5~&(NGgYy8Adz3F`|?N?n7^tv_%p(9_^0 zQxonZ;iB&eoYA~-8VdfNP=bbPX(&-c9W|8lJ%=oVzo$YY)MTUJ0TbE%qy%LfIsAhy z8`9eswJy2wJ#{J`EtP(tPA<9U2aT4O0p93yKiKlcHKQ#aBip~XQJi;ZwI%HbdJ~Tb zNUnz-Dncaq1cDn5VgH;Uolao#UouQt`mPFo*Xu`eZ`B$eIzg*lJ3*_RIzg*dIEnXx zC-J_8hN^3*pN86MXtIWeXlR*+W)RZjpOe^J?zMUDuU4BY7vLrSM-oQ=NS1CIYObLq z4fWN~Tn$aqP@0C8Xz0+7G~31>X|_IUvr$Or3BG1C^6B^Xwvg7oxHWSBPgF86T1Ndu zC5^mN5G^ksc%uh@y4h}lF;f30+AXrc%SD+q8yzXrR;qPlJPWP``*MN`jcQkvTU?Z5 zYn#a->u;)B{biBlXO-LdRS_;%xy?nnOj)048?`*5sF9yqsY`hqtDnBnCR?g3hUds7-!HZbxMQc_0 zd2tV%d97%@n=7}dDA!m9=HNwrRlQxbEov+GVbOY5SMH;t9Meq>UPP+u>7s2>63+U0 z5v-h_7d!(zg%_T2sQkS6Q#n5`E-B~dMZSzag%>%h^7G$px<@~%@ zsGOe{j9u!*G*$U|@f@64FssPjJ4w04ML8B&KjXzHRjq!hNb)C@+xT)3ZisT5i*l?1 ze#VO)sv7%Zk>vNoSwAm2D(B}#8>##YUfioHKQHc5&d-Y`%K3T04)_ z$%@l>@sq0jy!c)@KQE3c=jX*Cxu9O`Qk9<Zx?Ng zca{6FXuVe{_fb*KE$h$V#e7vgU9>G;fwO*I%u>$Ji|JDNEM6q5%Fl~ul=JgqoN|6% zB+2Nrcri#-eqKBZXXX{HcVFce7Ugr0V z#d7#OPbXiJ;9uFMO`{aYc_TMb2EN6jtIMxEXl4ZZ)wYfvgsR|t%Q=`^qL2gqW!ta3 zt$d$~`qJk&o1p9N-zYCy4*X`D#+D$X%lR=^UwUws&B`jgLSnwj=QWP&Ps=^|_RgT+ zp7th{B-Z|V%!QH+HZyGpjUn*jTdS39>^MY*}lz!7n<`Jy0PEj4(U3Af} zqpKCl&*M{z!j3GIlNWeb;Z@YNZ=s&0ykuRlk+r4~ESxi$xTSjj7AHy9e^KCY)HQBl zksb5DC~yGkTI`supFe%!Ys-p%*~sV~8oWgko?~L6bbHi={b^m$mR05a8e3et{cb}8 zn~~-N7VDr^~hq-;$2JZ0`-sN>a^XG;DF!U#5dlq02m< z|ExgK^-6)F-W59Mhe=ZL63;z(f_+=iTdLL~lfL35qW%BI3xU!O@Hb^&PWr3Xf%?q4 zYT!f?Es$P++DgfT*K)>p3oQ8b*8I)1r~W}7zx_YwpYGKs-?DHm3rPA0 z{f+`XM{_r8pZgE` z-O2xu;POA{>+*o95;=*#S#`eln3-5Pv=(cdVt9`(cr+AwtF~i155Jx5fU-+VB^xUaj zz$br2`)TxpzoMM@gnDzlrCi#Hn+D{sBpkt%3wZgjXa!3&`DT=(k5K7jU7==-7?&$j zCR$e<&&UhHYc<^08_v`)hjcDiBc6p7s5`iz8hXQ%HC){rPSbEXIjl)bc&Ty$P&Z^n z03~$M@C9!;MZ+w_14#OvmpZM~m)>xNK*HO+;cgmc5fDgH4!Z+gmH7L#djehc`OU>k zfv&20idxK7aEgj3{q)G9)9F(q<zrU$!Lh!^L{pZN^TBvL zQzAlKb@b(i5K3a%9YTV^vLb}!yiOb9(!X_3kUXLUb-kCu>v-$hMEb+%t8pbl6`At4$AewK3nziZH^Nq15w$To1+PT~a;F z)t)2Lkzx3Vd#}x;NLNMa zRLWJ6{#2msRN8gBtS;rM#u9)`)#YERj7=na90oWlQbxeorB@7PUdqBM@nWX zS82H?!gV`8(E|}9DG{#5{BmdWNVe(ks*+nt)Ny|^P?W%zp$1!)dOx*jwE>6Od4J~2_>-NR>l{6LoefSJP&kf-pi z<2UISqFk@q`R-D2l2Xo<5VRwM=ltbdcK$%_jLdSbps0l7yk_8!^y}qZuik53mN|V~ z_uA{%(hv4=y>0Ysy@zSPUFn-1c2%{}d*5~0)fHTJ>pGWh^QOzT*zK}MiRa6Oey;i@ zDqpTVIVf&sLh<}(q)vZVli=7tlLnftarx2d!}`0by6n{(@=BtsT0)v9aag7Nb)NXG zL0ikUpWVEM-IylKd;t^%Q>=bKpSN zsLH)6yX;1iKZ_iS?1NM4;N|sR2iwSnfpqUK>Gd9SJzJbVU9n~u9i+A#7)EEVq@t{Z zKgmFJTYBu1u2Eq;Jef1WH9tAz89qk_F+e}ne}0GmZ8{H*%kTz z3jL*no;lC*y<$MZ!rc1d?urH9Tu!dXkFYu2vL;h_7$0xycbWQGZcEuV(N#aW3m@_fBE^i9E%U( z`2F<=eoY*yJimxlz<&w1*Y^XeVF_-R{=ULKUwoM3B$xlf7kL!Lm%eZp!Uf-tVn~f| zZ9t=7Xmcxm@q-^FyZI-tR})|OcRXY<@p*s8%bO&AKw*7q?#vZ@@;)y$cluPm5$De? zItc}i^JgQZ*)#%}y6C_YBs zpSUNtDQ%ufxCwFzI&Frz#P7$&*`!3jI}bJR8;yXw8x^RXWMmLlKA>i4nw)5oj% z<;NYMS@Tf)dnBLUe*O2af=q<(37-V!g0)~VoEwxQoPl(Z=j7zGt|pb9|I=0}*Rf)L z&{ea#V*Y_Yotk;y$2%4Coj*s%SIqxG8ccRoZ+Z6522Qtj74vue*}2_=?K-q8pSXNT z#r*Dne*Q}b*h^P-{&JBIw4IiCu_?d_b8d4gIn&adnxzj_%-=8bC%e+i{(Qw%r8?z| z__JE)DnpmvSL{##<^3cBr!XOXAd{xJYE)`_r8!>{Ct$J#ew;nrs-31O^Jo3aDrd{~ zDXyr9v6RA3%zDc3Dq+$MkG-6pJH<84)EIra(a_i1z4v6Fc1zoZR_)&ITDgk(&9C%n zw<59D@QV43uLL>WF`ShCYO?E?DYeGq)GU6eeTBO!H*;e1-%KAf)z#ea0{FV;U5!dC z_rz6kDi3WJo1Z3m&%0Vh5A>9D-g`3MiFTGkF1^vcUFN_JgnFg7o#xtSSqYSS!SyOf z7^yF~(wWYBzv!B8?n}>m(KW^}6Azf>+QcXJQ7^ehn~Ui$zU1Po@IL9=Uv}MX`BSM^ z=eVN7>Rq|7ommn-un$&$k;<=7qulgWuekb~CU;)$*zUdx%^aH_aide!oPNa|r%uG7 zPoAuaJ4;CZ^W~aO<;R*2kIm1z98|IGp^k7B(wok84Kw@&gcb8#OL#y1?$=zgJeuwM z8q@Ixnfe+N-A}UOHHO-E(H zcMt2;`u*s|(XHAQTUsH1m1He&bvDUTZ=q{>sqxpHn#B&ap)uo}3i+et_(E4|sY;N= z54DA?30W@v#YL`1OsOZY6;3)xE{N;ZS}_G=JCeqev<$JqhrQWK7HDo7DK2Xkvx@P^ z@x`v@C1zi{QKgpCZ*_(It4WD%SM{2zD~II0 zrLI>?%>1)NmAC?8T6){pxn8AyyW-Rg{i_MV$$PQbOQPa$aCk_x7mZTI!2YNV#{l(;ZafE6?j*9i^`efHF*d z;VT~zKG{i*g{=lvJ4t`tqk#M6FI>LRy_5VmT$Zc!ZP2mtN7bN?w}ew)k#R$6I_O8x`GvoEe&{RT>hP7f zc2G#QZxP3SO@?4N?XX}sWcXO2csDtH_@W1ze`nd8KSqyzTFZQ;%}1k9U0BoOz4HGd z1b#yX>pp$p9uPe&1W_N7`M&a1Vcs|7^X?Dsn?k}YGu z^5fBUiZ);YRDU1%4wbJc#5EkK$rrCh**w0Y@`o-v`&)oht(%$g!o6xi7%F_W z4}`S{H};VsbR$ILSHb^VsNqhDTfQZMB1PEx9c0@mLHdpi93I(o?OK`bsizVx%a&OZ zXG2?=x*z+~DC?g?>@QG9t}h`EarATiX}5?KZjOv5=wi0pY73$Sp7rZV|~5zFar;h^`jpMcYQ9 zDUb`4dn(ZjrI7um=!hRQ31a*>?uE)MXTEzk#`D%>Wd93ZE< z@9bKHrbAi&&^Ary!a>kKgbN4B z(Xi`>K14q6YVS-yGkXaMVeuid6I7p4Oq%h0VMj3t3Kcbn$wC4qBflsm|weRD|FT>Cf z`8k06N1KC4UwI?hRE>_cNw^QgrpOYX0gJS6VOy05QdzDrleAweG=*v z4|Nzr5r|Tt6KAX!emq5XzyPhh5+c?kT&W~8hF5(|65iWL0?7)&08rzCiP()K@j_%U zu}a9OB7eb!;_PY|%|IKor3MC2t>Ua&ax#f$iR;gh7L50br_MtCfqxTIekQ9(C-Wwf z=-w<&IZqy;^o`B%em3;xP+s2^xfccZ%j7M%khl9Xc^R99OO0Sm7D}2RqiKXoO`z@$ zVMH?-sBeW^TI!+e#lR2^x~@$xi}RXE9XUD({Ch9bg+BX8u&aG{^}b_uIM+uT-%LV3 z{X=2XRq`?Si=UId&rGQ--W5*3J$X>mCjLem#x}t-bqx*yS_Uqrqxx=;R~en#4x_Ue z5WIbR(+kk|Z4(NABj1CQ$YZa;K=ykf8;p6M00VWTFbsOCVWxMl7J*xi>5GXL{5~7t zj@{=0XHH1sTnkBzxk(Zq0{jZ#482NEsO{8ureJi``<&56VeIeZ^Ulj4_yJ&(E^PXp z{0bTr^B*t(i-Pq>Xjh_yRewN5vrX8c8ncADKgi+{7oLY#UDe(!sN@pZ;c?~baQm8i z@#~Gl@yFnUS2uSE`>vCQ;c6Vzxb(*(6|}70a-*urDmGn*ObU<2&uSqhxUx%s6Q&MP>$ zKgp*_{FXSRjeLy2^TcU)$j>lbfAmK?)Xw$7w7cXu_uuBidpizpSA^`lm#rX@bb&`{ZWWznC>Lt#gtR{6lsNP0&#~-ed6iYhE_Xt?NiR*!RjAwN$Jl{wPG4W2%M-0V*I z;OXKQ?$k^d{I&SNhq6=fENA&J@cySzKMeRtVmr7|AzaN z${(ZBVB4p848?jfxE(+V<|tFl-V*CWQ7VPV<~uy zMSL)py5f%G#7k4D=Yg*nZl<2bkF11RYI_gNk^s0VBrzA<&j6gm6u}U}BR^6(d@9(D zh$7Aci~&&H{h<2)H&AH@;vyV;2KuAF(F~+_*cbE)QypFaYJh&>{Sj0B9K?T_sxZ~R zU#N=jw-2O;x1uub)U$(L1^jk^SO}L6uos{ai9P?K{s)Ux6lKJN7LgQT0#MB-9I%KK zzBx&KDqf5R3S1|4TOrr+tDPxgb5I|AIKZy@jTzwH4)(8I`sh9f^K)&V{cBf>`2K$Z z{WAV$@_z|e5u@BF;#c>F5&9ePf6%J9Jg@(x?Hb(Y&hvff@8$Q<{(tjZ{GUiQ0+h#p z`rU!AQ~iv9QyI89%sf4)9wIOpg!bdq2q4hZ-T@KNI<$y{-LX(yUJ@*EP!69L=Y!!% z3=S2lzo!O?dCyb7YY4aFLiJ(lpTe(6)EH({j(QBkOh@8+2$V0>t*7$Cx#<+K z3!vXr?Unxkm4Nx*U>M+ri66g9xsuNL>P#X`vh|4jHc-KYw;JpIR*MYnyBID~xVe$? zaqpba_f$24`KosXeI7LqI+~U|$}l7am@tm6jQZx4dXt=5`EL|o%cEEV_N?#zfb#La z6!MUaEB5G>V-xB>pnS*P907OtdBJ2PG#zS-+zf8@_Ds0e-(}bv;LiwG5t;=Tzap30 zqJO@cDvyf(Td2hZ9xHATsI_=Fnh%9_9;7tDW`M>QDB>bO0>Fnt$W|(szyCaF>p6;e z0nG2gRNeic`u{gjX$RttIrt3pU-vhff%Fdhi@m~B$43BafPUfq5mWsf#DAHpFx9_b zsEY5m52RlwZ2A{9$NLVTM?sKU017@m3}BJi{V!?{;VpxT4gjd;SqI2M`Nxp!{w1v0 z2HEV0(7KI^fp#MXUx!T*^bCe!hI;cM-vbU!?G+L~g+hNx6qP)625a}DNpFjaRysQ&*ARN8^Ky$(JD{onW- z%|LpG{l#8ks$(618lYczf5cQj2k~E~Dopk77pmg>?E~rG5Hjr4oI#C%_JSaX0c3z6 z`21(qIl3e(Pe6ym`{KJ4@i~BMmO0>}u=^xc3_IdpIYrHZYbDB0L3zj)oGYO`EEVG_ zLI3=&jnEO<-v?y_?5bbv0Cy$WTk`to8o}&x*q`_S%Etc!`epphqR`LK`i9bicFh&>PO{ox*(d>?XP1mwR(U@r(%{eE`{ zu5_3|h4AGNf$xhR;?xLmpsCsc5m@Mmfa(wL$6WmgMop^Oduu9X+;H{0kXQpHa1@*D#!RZetV8HMalF!4?CQw{|o=U>*hXzAy02-!h;Jy@u}c_k%|tP zyrcJxA6P`&-ZTohj)ALO5A0NKtOQZ_J|BQ%Ho)L~)9*oWkOi7*nEAN~V}!Lr(?#I5 zNa(&uoq;v#x=S!t8YE0>fJV=0r|?b#wG-RLv6rdoZg{Y`>ISs}I!;3CZR!*Jqqyk~ zb&tZ+#Ptu<{#2+~h3VS_ep)D}=#7{YX3_L?*Z}b{O{=Tht}mR_!>gGZ0w+Q-raFFdM`pl<=GF2K$e z*q#FWharBwi<(CSy(c{xR2k<<`+2VdjGD@7oYe<_Tp;95A;XiN;BJLD%{6W4{d{XsAzfEfr<~In2hr28MeQ zEKI83seZ3r*kYic9x?<1^~ZH)AA>9JPw=~H6R;QU>m3Opv=G7>La0+Xc(3|6QwX5& zR&jKrZGh~we+UgLMmfT0UwZoJC0iig zslY2?ds7?mR^uI_`lAOBmuuUl@BE zyv{;2RCO8#kj8=i?@==g{ziIgNIjqqIf6XMf5?5D8YFLh^WTF72pf!`&;UTI!qv$U zRSBvxR){4=dM1V?4)*|hs`vLFJml6-5-iLQpnVDL7V+%>+D5`5v+@!2CvcQCaU`u? z%(iMI9RpWSm5-!XzywivFddCyCuzngFjIx{QIJ==gqx%2VAz7C3oA9Pv1vkD=%u90y6G5pRy8 zmuSH`Ka95Hv%-jQdV%x&-H=}({i=lx;q)AsM7Y#quw5#YM9`Cm+!2)9xJth=n?(Ssc#M z69|}?niWO+;Thu6DB3`HH?4KdK7nEpYP_P^yS-_MxYbI-9FtYZh^3S8VxcLPmLB=g zg(lJgUI2&%2m=@eFc_fASuBmCGcinWnx_NzE5dx$xFBRqr=P|@3U#WhRA`+J+54bK zKSBFYusv&dJm`9ykQfhYeHq>-pg#*){tl!yWLsF>9IB2Xy5JktOsN6;1J#b6gRup2 zfjjYg#~3N%j9K&<3aW4aXQ3K03iF?Zy4FX?ewKb7Rzfa43$^QQVe}mEd_$Nq2Wry} zp?(hSH}T;9K0#A}nW{ki7`#6M6P^cu=zF(f3IlJr0}bY~npOKnz^Fel=&^;fJyfFVo2(nUG^&-8( z`MEEkPJs`aD?E4+Vsuehvw#-(tzRqGSH^T-6N>uGi0}JM<0pOQ^MCZ2zdPJlfF6~> ziyJUyJnKD@P{a1@>Z7s21FNe0x2!(X{MAER=d3>3ji2`6UV|{ehwo*yVSOJmCA$xq z?TF0!?;bMv326ES&(7?l|IHEErfm=Dn#_H;AHYwI%rv0s54U4OAMQ51?W*F!zT^8W zJK;fqexlv5O-V&oe%ptOaA@F@0gNUN@1uFqf%9RSp-T!=>}$OJZ2Af`E!gHAJf%aSGM;WZddEIZV@Dja z-MCSYs^hE1!%c*fl9Jlc-q1jEqh=OmOXOJ86&99Y>#=hdJ`pdrnOQD@(P)(lyTa%a zYzWyB!+LCl!sVFqh{To(Hfiz=Bf3FuObRojDr+J-*pkFD&=+AkP(4}Hk;EZuhp`FS z66go^idNF}3~Ol^#MpaU3_mk^wu-UYlWw4>B>F|Wl32y~*|9>HD=PF=NW&kZS({Na z>)32v&orOvljuipxPE?OFw1FLnmFB0lhFfYN7bl}QYw%=iFiGc+icV%=oz2H5y91H zVVr&>IiVsBUdGjT7p(9vAE85vNi*B8!$+(RsUI=fUO}45;5|3iO$lo;z*ECZQPoE# zO_E}~@7Zniso*OTTlB2cp&JQ$_KnHcyzM?N=m)kUPeWhv3HX;&a($I%Jas$CXG--^ zCZ%9fB3F^9*(_`B%bM+)=xO>{o*bK`Yz%9MjTPbjt}7p$GoZNNonvJ_mF)?|`fTYRkn7S&#U+Cp%IQc<<5RYjH&^V(n%mkV_D z;$3xKx1}*EL(7H*-%^Ju(j^zyGQ!z*#-4ue7dy9rnWxzoon$V zK5NJFmc$BfS64Se)m`k31oJLF)Na?!asHx1dp`~t>lJO4-psPqLBtKG;tsAUs0wji zUdMOYkRh?k&7P!3)X%OzR~Wve8j{FH&T~<{c4gH^I!iZuVF^iWh0Ed`M#I@TB?0NGwR*&|$frKB?WKy86;Ej^ zShKdN>%Qw~=VtwVrq?|9{1|_t)EYK@|-r~Eu501B(qb&MPPfNWr-ZGM{9&h2$c*`9RG{fe}CF#jH zg3}XK68l+P0H+%{p7RYOI9b^fNpTZ*5|1Vfd1=NMPwiX99Uu4dhHin=B_uFdr^LZJ zJxhQ^j|IleR30eUK_5NBPoB)+Mrmff^2TcJ zveMPvjc{wy8dFW>nHD&Rc*A6#GI_FGUgK{xcgN=`ZOqhER+gk-bB{6I9H89tpV4#c zER(j*rMafEQpWj4&njfGS|b_c0*B7H8tr`2WwuaLAVytyd1&A zTPjJ*fl7P7I6P4l+~y zqH5BaPMM82V=Iq%nOTEbhKxU29aXb=YE(L6Wxh;F(?_D5Td7k*SbfGqS=wHT%W=sA zT#Tm0^ZHU;cJLtP6|fv`mEueE3YG{egufCJqgoFxjPj>t{*!OXv@~PprgDE4m!y_o zmdz&DG<_ElWy~0#>n~lzkp#y_L3L1u-#U=bTJo3jQLN{Is8X5zfY;?)((;MpL=WM- zluxVn?0TvMbG6|I0wYnlN1CPb03v2}kMF5^vYP1GTtisf*l)8AMCao}mi(%Ga;i~T zYmpY#EZl6c$kJ&x?ErD?DRz91!Mc!?0nGHc2=q6dBe%eIy`40Twd* zU6vO-t*mE**om2ZH7QZ)%d%y5nL?L`vgHX!=;H@#s-x1$=pLC(UKyk?Q@oFU*5%}u z-bqK~WXh~D!t?EXC(8&)d6^m%O=LLXrDd%pBXj6Oog=c7*=d=W_3o^`t^COIX$X&u zoR}TTdP_lB@LbT(Jn~PYR!?JnG$YFm;WXFTDrFT1NkL_anQ7h`gK~NZmMXi==d$#Q zKvolVKnY}@J?=x0B{U8M(ZaFM$j$>^Q_`vqc)mL)W_V5dLa)pf+$87PcZLtl9Q9qoQa3aU4%1dGI+s@M&`x@O9E?(tSiuJ>tgE=aXJ~f z6x2oM#?-qkw{mVh*G1 zy5#6&Z9#!HIRS#7)to&eoIPVqHywr6j5~(zp;d|hvq<{Y$meA?vB}96{!p^}X>D>r0?)wlpD5WstyS8tn2u^sC!hXhDT|9U zaM@YLoE6z5B}9irGMeOq%my4sKO`TDP7cUXmPzOcaculyf6jlJ%rog5J#)1M z$%ON=Zap%xd-kz)-ztYJEOS_omPbMfIg9x=wv{8_In8tpNv=Dc1>Yi^JyQBojT|{4 zs-R9wmLx07Sd?Liwj5r{GrWY3Zb~mF?vW*@57kAV{($W!x)HlC^NK{VfmAXs@jD$I zy-Xsy0@(4TvQoCRgAA`LNIp~$t>Ek=#VZ}A7M0H;L#4gak3odKv_KoZkSBXGO37mx zcleO$TONBd}ukqdv4Srox&C#$vCno`SZP6&;RMdrCkY)#qf zqQ@y)nJlYyYc2nF1{v#BA+x4(o{6x+jGPO~L`RBiB`)ol5n3kqr8@aWZ$5xpiwU&67$@uB>Rz3yg7N;;%i}}llo5e4Rht56M zgUV(}r~S+H$9eP?u#<}KBW|fw%bGG|X)B+y4rSx5DOllCtoNH(&FaMBMv0h~;<8o2 zx%jw0zgJ<7E?wd{@l6ujN!-Y>!5mAmM*h{aIp(t~ zmQ`ub{e0pm%BiS7*_yz+R8HUumFmiB!)k4c9oYk?ov@$CBcr)~wQ*~X5a;uR*+>d9{N!{{E95a=R7Xzr`Ugjut;NN^pwdu|v$C9C%Hf_;47jo~G#ep3&uDT; z^H0z!BTF`lSd_u*PYnKXb?Im9*~%f687Vjmg;rKl>Cn$Z=;XO7jFAohLkTHKHO+Cq`c zdLl}igArFuq2jC3h_qaEL6!_?D|OT$6_f0t8l?l8x z_pD-^%v0!|lY|MU(ptX$aji8<=IvgRQ&dVy3Q;^Vr(L=g%<)jPx-t1SG8--J?0LqV zkO^ggj^0XT6hr>mF8TL3@iCFD(j4STtt=)Y24()H%(0(8e_=Jk=Pz8mXu>vIt_e55 zU#ZE-NTQsE29Iqy4cknOjV7GH9zK8m{3S#+vNjZnC?i+Oa8GVSPsJ>5gp!7$_`{Vl zkFsqxCY;eWG~jI>F%2FKIko&6lzHL&;R}s?DO2)imV~AD+cv}Yu&^BlL^?Tz)ZK#XQ^&{aLpXbulP zk1jgR*K9>LoAJ~!lybVX)He7G!y95RIIU}_L}sTo-*Z`Kee7uZ1$5Yc!TUJ62qr4~ z2_2^Fwi7Vj@V&j1ftd(K1LQw)F{k;9?#g{K? zE@Mbe%{7cqUqlZW&5zn8%oD*%gWdOJMTK@XOaP!_?FJw9Q9TZ!Y=*rDB)bAsV(F6pxoU#sVj z;B4o_I)-=FB9x3vZ3VaxK2ck2*Q{!6#0z{XzV@-7a;`bdaL%(YZfP`S89C?VhC>Jy z`~nj_cPequWo;M!7d9Wl+pF~0#f>>wY&hP6-*NsDAFA*)XqA%< zo5By(H)=nwwjOo1UGw4<=OQxd;w8Q0&FZCcuSmVU!FHkHM|_GYZ8)KwU|+n=Lm9e8 zPtA`ZI}PYI>(!AjeL}K19(SY({B4O|?wx)44L0b=w%d|Fbkss~rlno>;`LI@a(;^> z^CQ?1Isbl>@>uMIZR{ueC7HFGR&6Q0+_3m3X}Bw=@b~VpvvX}(bmU_C=p7}5z0$;w zTvfm>UL50n^sXYeD=#bWWa-l`Uv6mVk$LZOne|Bvj(XOt&)$}CS!VSmt?YQ>ot_+2 z;@PlmTY}QmWWu?zP$HX~O_*tBP$5%T*laMgV?%qp!Eo=M2~%-#ak7lCe#t~V%(IYL zY;ztfnWiCT$FlbJWrk&ZdpvY%85Tt{B+OCZ=veel`?B^OOs>o}LVG90AGuQadh=?` z7z{fM%a*|qLT2}7zRobsSDME)7ov`3&{tyhXfJGJ7iYoH}Sd6 zQ1n?MmRYupH|#*b3!9r!w=rAh>twc2 zDrC&f&C3Y31!v2OiThM$Lr`Ji6RY(^;ST@qa<;XVY5nw5j&C@1q9Wu(wak06h0U)M zhaMP@JSCwiMj};es2=qBAGJJ*c+X=D(XnF(apX9#!9O+qH0Vloopex-86q04I$)PU zoU>=K)hDZ)Do|j=tGP%MP73z2Ma8eYROnfb`P3b7bvRqcR-CxdG_>gg*9fBniQ*)g;Ju)i zl)zRuz1EajC-b31kU~YavKCa~R#9=X;VeIK8uL1T1uI_A&r9Un6f18~2Ce3sW2uaG zI$D2Hq3Kvw@IDyY9f$)*!nnsZC9H*NI?=iMLI!K z>DkH4{H+zNW(t*2=q-6?-j?pNm*-f5a~W^5lSMz(K+5cWlf}rBtACXS9W88@&T1kC zWnGDpu6*CKL?6`BV#4?Dn=nm}q-ln_0dpv57&((P;kGu&{(ej#wWZrgz*qRk`>5Y? zm-_h@WNOx!eP7Ls3=iq2n4nm~KMDS+CJTL7=&2znT|CYOIz^p!%gX9QszjGt`F;F- zb&5~svlKll<$P|!JOS%(X=J0yZ?3p$!jMsUn65Jw%Iq}=!q1XuRU!mX65vN>AvAE} zTfw6A3RWDxY*3D((#d=PVAU`mz*D7kZ(ugb5lJOV>J`tn^-{>}^;QXH6xh4*?5{TV z*ZsCgvMds^A;-gihWyOal=#OVe_TI|$Uovgi7)b4Vk9W)BNOIt-7?{LyYUmx)Q=hV zkKL*i$W+GW$FE;E^4C>o9-q1()tE`b(2nnogmmAes5+I|?Mf>7Sq2;_H6B(YFY_d0 zk(jjW7_}(Xo=}| z1nM>^D1roKLjA&Cv#@E`1CI1M__7cl_Sch?>Vn+G_D*!NkhepiyW8u@UW38^+g_GF zhfy(@cf$xnb&YrEjvLJLyF>Xt0;uk|R!C~VFO_afs+j}_WqM;Ivw_NP&vMmIky#8f z`ohFRAKzi66z_=Jy>^)13d~Z~0eZxM^Ojyj5QDK+BF4zpMs zDJyZeiUubuqo6aqlubA+ONl_4C@t|0bRG5h@;d${C=pXEO4wDdt4^9+WYqXeYweH1 zFyoh?5sYTYSk1Kn_8z2kyQ-)apYU_+x9s*fIamtrzJ5BWCvD#xsAt*-%64CBN5!4a{bLY!*(tAzAf$GV_sL5D^~qvoBJ4< zoz2eBo>7#&gW9EM*moA4RU*n|_D5a`4wl&nX)Gm61=4WmMz-^Dzc*iy*&p~>6r@!x z+Y=shSK6yQ`Qnn9Wtnq$s>SD{1xq~6P%(VUt@ievyb<4>w?u6$7Kkkip*7jN$D3a8 z%iX*0A-wZ$d3ZIHtSt8TfLHzz#`u-Rv+M8PRp!A`k||qz^N~G%6GlB5zre8m?s{at zdw0PSnI&6VZnoUKY0)ei-?Lpp$7H@y`p0PX2L!3(p(rBCa`f!!)E5OJ0D={^BdJlBKpswB8KOe z>Ue#ZKR@(qEfjfExe~T()SkzlTfnOw@_8p@_Eajn>bSS}OlfHzWM8F_{e0bvlK){n zKk7=GWa0TgSA7*;kt*>aWkc3`es-EQ|M{m0KdMP{a__j7$|^YOHoupB_t>N1c`&OZ zv+&7jPRo~%lW=)pdNkWTv`}VK`7Nii6a&9=_B9X@g583?bWT)4vaax6zR;w-xx^A_ zWIeOhy7WCKsZP54%)g;(lYHOtm}$vY0wjHT;9;JUZu6|Zm7ls_`G6&P6YC+%e4-NC zIb*UEC0(;bwgK-kxntJ2=UraS8p_tUvSqBMBErIk>#i-m_WSqH32)`owR=LPrABGJ z6ZhhiGW(L!ZszD~-q(YawF?z5Xn@LipW}LI?EiQdt-UsLEizwQYAuasZ%g6JCB<(; zrrQ>NP}YkJWHwrIdgQiM89mNaLQ6ZnMp#;v3&)| z=pKh3`3Iif?-G|=$S#1MJ{4&xaJFT$G`ga{vEFfoKMAg7^l9o;Zu zID+Tj{NVXYe?$a8vk*j#K*UHQm?uUNqY?2a+?6+m7>kI<;f8h-5rT;EaJgP6G0{j& zLU=L}M!=m4Q;4ZV1Yt%*B*DVkq6HCA&|$U`(-0hNjv-=+I7Iw|m`*%F%s|AG#7rWd zn1zU^;2Qg9h}l^PKTFJk!%_1P@f`6y@d7a)5ib(LYkp3HgkMVN5fJCMi8Lae$UsCU zbi=cVYz>h^2!8)^<-|0rtN#mQ;!SY8G{g{~4giz^z*dG= z2Y)?OAza{SLoIlm1vm$Au@AYYX2w4Z3ryeF z?*aszi$cQyF$%!cAI44pl>-$D-W&kjL(|93&1<&<6${?|QBm0q`Nn~G#(_uxa}hvl ze^^TYC6K_bCA1Q}R|CKmhz_>idmW)a0`FY_djZP&(c0nP16uvYN(cHJn2i9x1HcVF zJ6+#%z7JOI1h~~hn6=9_DL5l&`KU+UIQ;3q}%8*T~?d3u`Vspwdv&GL-# z>3L5-Gi`>^Xng$f$KegAv;I0!bv!CyCtv zqhBP6aB#milO*cn`)+*FFJFk1R5({(0-L&2LF;Pc2|JizU394;CA<+{!kKIbyB;x-a22liMBQZAEk0wS4$hLD73NRUUB*44d9v;v zfmezXr|5h!4iRTf)xkkBC!st-w-z@4#+h{+p`6y6b%9tEyUn_oXPp_y&anVqLhELo zkGOENE>sI=qqlyfdkjJx|44TWr-=JM)_q3d_r-ai>YgWI%jo_cx=&!+`RtuK5gx;K zFVcO6e;4-^=@eqP-#qU6dyBa13Ty>d&zfHf=dQ;*&0U{5p1a;4R(+`>;Q}$S?kgP} zc(VvU?bcm^Ev*N?(anL~!umbB6nHBI40xhr4|p|-SNG_Ke@p!H6x>ucOf7cve1-!5_GE6iqsr#ool@pcnjNYYWO+7@>}rD#Ntp*p4nZj&$_Z@=?^ zYRvM-#uIRyJ^j8)GX$vHd#Ru4h>n_T`2(&^z{b=V!k^i%;x7yck<=Rk{S{(r2M$xi zFePQS)csDvd#^J7!v_X1_Xao*_tNx<@D@(I%D~n019*D(l6?CY$;}5UN2k51z;mjn Zn%AH~fW3VMgYNb2@uS4>*BJZY{{sTi4y^zH diff --git a/Makefile b/Makefile index 1fac7b45..77809366 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ include $(DEVKITARM)/ds_rules export TARGET := ColecoDS export TOPDIR := $(CURDIR) -export VERSION := 6.6 +export VERSION := 6.7 ICON := -b $(CURDIR)/logo.bmp "ColecoDS $(VERSION);wavemotion-dave;https://github.com/wavemotion-dave/ColecoDS" diff --git a/README.md b/README.md index 4edcaaa4..5e42b625 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ to be very close to the CV in terms of hardware. Often only the IO/Memory was different. As such, ColecoDS also allows cartridge and sometimes tape games from "cousin" systems to be played - -namely the Sord M5, the Memotech MTX, the SG-1000 -and the MSX1. +namely the Sord M5, the Memotech MTX, the SG-1000/3000, +the Casio PV-2000 and the venerable MSX1. If you want to play Sord M5 games, you will also need an 8k sordm5.rom bios in the same @@ -32,6 +32,8 @@ ADAM computer emulation requires eos.rom and writer.rom Spectravideo SVI emulation requires svi.rom BIOS +Casio PV-2000 requires pv2000.rom BIOS + Features : ----------------------- * Colecovision game support (.rom or .col files) @@ -42,6 +44,7 @@ Features : * Sega SC-3000 game support (.sc roms) * Sord M5 game support (.m5 roms) - requires sordm5.rom BIOS * Spectravideo SVI support (.cas) - requires svi.rom BIOS +* Casio PV-2000 support (.pv roms) - requires pv2000.rom BIOS * MSX1 game support (.msx or .rom or.cas) up to 512K * Memotech MTX game support (.mtx or .run) - single loader games only. * Full Controller button mapping and touch-screen input. @@ -150,6 +153,10 @@ Sega SC-3000 Compatibility : ----------------------- This emulator supports .sc files as ROM only (not cassettes) but ColecoDS will support the amazing SC-3000 Survivors Multi-Cart and MEGA-Cart. Strongly prefer the Multi-Cart as it's smaller and contains the same selection of tape games. Just rename the 2MB or 4MB binary as .sc to load in ColecoDS. +Casio PV-2000 Compatibility : +----------------------- +This emulator supports .pv files as ROM only (not cassettes). Rename any .bin files you find as .pv so the emulator will load them correctly. + Controllers : ----------------------- You can map buttons to either P1 or P2 controllers. @@ -224,6 +231,11 @@ would personally try them: Versions : ----------------------- +V6.7: 10-Apr-2022 by wavemotion-dave +* Casio PV-2000 support (.pv rom files) - all 11 games run fine. +* Improved emulated memory access to gain almost 1 frame of performance. +* Numerous small cleanups under the hood. + V6.6: 07-Apr-2022 by wavemotion-dave * CAS icon implemented to provide a menu of cassette-based actions including swapping tape/disk for multi-load games. * SC-3000 emulated more fully with support for the SC-3000 Survivors Multi-Cart. diff --git a/arm9/gfx_data/pdev_bg0.png b/arm9/gfx_data/pdev_bg0.png index cc57ca833e8f533551f1e6d676497a229660f589..d6bbc9ec939529e65872418816f9b85b81b497f2 100644 GIT binary patch delta 8870 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 delta 8853 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%0DssE083i|{;(I| z4|@ULH)7i$7!2}(RAV}>^aDzA{r>zRL$)Q?UVuaP0vxgz0HcSk05$dk9I_X{ZymXK z;-_OtpG3V1$bdE z!290|?CB$^eKQC?-}Qgvw!M8GU@t(Ey#P)20>IK%fF^qZn(PI5--vk(z{O9{cJrVf zGBq{&4Ms3%xdY;h4SB0n!>pRUybwBMFF&4Zz22K9?H+t8qn8tRo`FnGv5 zqG{O{xKq@sV1^Fvb`X5`0vswh2wH}`;uN%W%EZcElDz;c_5y#b*b4wlTLD(=1z52c z;C&-5JP5w&i9N}m7oh)Wzh5uFdR~CFOSJ+l!};_7ZSFArg+71zi^0&iI+bbvGW3$^ z$Cv+$x8Kp{yYF6_=}-7Gb)~BfXeg`MX{abW=>Ixgw(lN`f9!uTEc&0M z{;~Ftf8=%Eo&L{0rTiyCe*Jjy2mLknbEkTo*3|gzhoFD74HmrU(4N=U1Ph;>3D;k9 zsG!sz44Q7$^mvSCR5dWoZ6&Q5!41Ae=z?p78*6rMP6#!*#07O4HKAH^y6C%lu9F^+;vOYph=-N6KGu+5ZRR XbJaBemgo&V00000NkvXXu0mjf2DJzx diff --git a/arm9/source/colecoDS.c b/arm9/source/colecoDS.c index 8a7c23d2..ab197213 100644 --- a/arm9/source/colecoDS.c +++ b/arm9/source/colecoDS.c @@ -108,6 +108,7 @@ u8 bSordBiosFound = false; u8 bMSXBiosFound = false; u8 bSVIBiosFound = false; u8 bAdamBiosFound = false; +u8 bPV2000BiosFound = false; volatile u16 vusCptVBL = 0; // We use this as a basic timer for the Mario sprite... could be removed if another timer can be utilized @@ -1756,10 +1757,6 @@ void colecoDSInit(void) dmaVal = *(bgGetMapPtr(bg0b)+24*32); dmaFillWords(dmaVal | (dmaVal<<16),(void*) bgGetMapPtr(bg1b),32*24*2); - // Put out the initial messages looking for a file system - AffChaine(2,6,0,"SEARCH FAT SYSTEM ... "); - AffChaine(2,7,0,"FAT SYSTEM FOUND !"); - // Find the files colecoDSFindFiles(); } @@ -1975,6 +1972,7 @@ void LoadBIOSFiles(void) bMSXBiosFound = false; bSVIBiosFound = false; bAdamBiosFound = false; + bPV2000BiosFound = false; // ----------------------------------------------------------- // First load Sord M5 bios - don't really care if this fails @@ -1997,6 +1995,7 @@ void LoadBIOSFiles(void) if (fp == NULL) fp = fopen("/data/bios/pv2000.rom", "rb"); if (fp != NULL) { + bPV2000BiosFound = true; fread(PV2000Bios, 0x4000, 1, fp); fclose(fp); } @@ -2157,13 +2156,15 @@ int main(int argc, char **argv) // --------------------------------------------------------------- if (bColecoBiosFound) { - u8 idx = 9; + u8 idx = 6; AffChaine(2,idx++,0,"LOADING BIOS FILES ..."); idx++; AffChaine(2,idx++,0,"coleco.rom BIOS FOUND"); idx++; if (bMSXBiosFound) {AffChaine(2,idx++,0,"msx.rom BIOS FOUND"); idx++;} if (bSVIBiosFound) {AffChaine(2,idx++,0,"svi.rom BIOS FOUND"); idx++;} if (bSordBiosFound) {AffChaine(2,idx++,0,"sordm5.rom BIOS FOUND"); idx++;} + if (bPV2000BiosFound) {AffChaine(2,idx++,0,"pv2000.rom BIOS FOUND"); idx++;} if (bAdamBiosFound) {AffChaine(2,idx++,0,"eos.rom and writer.rom FOUND"); idx++;} + AffChaine(2,idx++,0,"SG-1000/3000 AND MTX BUILT-IN"); idx++; AffChaine(2,idx++,0,"TOUCH SCREEN / KEY TO BEGIN"); idx++; diff --git a/arm9/source/colecoDS.h b/arm9/source/colecoDS.h index 778087da..5cea95f6 100644 --- a/arm9/source/colecoDS.h +++ b/arm9/source/colecoDS.h @@ -5,7 +5,7 @@ #include #include "cpu/z80/Z80_interface.h" -#define VERSIONCLDS "6.6" +#define VERSIONCLDS "6.7" //#define DEBUG_Z80 YES //#define FULL_DEBUG