From 739d59cd67dd2055447b54f583ae6dc5e9f5623c Mon Sep 17 00:00:00 2001 From: UzixLS Date: Fri, 7 May 2021 13:11:35 +0300 Subject: [PATCH] add rom files --- .gitignore | 3 +- rom/128-0.rom | Bin 0 -> 16384 bytes rom/128-1.rom | Bin 0 -> 16384 bytes rom/ESXMMC.BIN | Bin 0 -> 8192 bytes rom/Makefile | 12 ++ rom/dvmen3e0.rom | Bin 0 -> 16384 bytes rom/dvmen3e1.rom | Bin 0 -> 16384 bytes rom/dvmen3e2.rom | Bin 0 -> 16384 bytes rom/dvmen3e3.rom | Bin 0 -> 16384 bytes rom/opense.rom | Bin 0 -> 16384 bytes rom_src/Makefile | 8 ++ rom_src/main.asm | 313 +++++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 335 insertions(+), 1 deletion(-) create mode 100644 rom/128-0.rom create mode 100644 rom/128-1.rom create mode 100644 rom/ESXMMC.BIN create mode 100644 rom/Makefile create mode 100644 rom/dvmen3e0.rom create mode 100644 rom/dvmen3e1.rom create mode 100644 rom/dvmen3e2.rom create mode 100644 rom/dvmen3e3.rom create mode 100644 rom/opense.rom create mode 100644 rom_src/Makefile create mode 100644 rom_src/main.asm diff --git a/.gitignore b/.gitignore index a3e3060..e8df3bb 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,7 @@ fpga/tb.*/ *.bak *.*~ *.sublime-* -rom/sizif-*.rom +rom/sizif*.rom +rom/sizif*.hex rom_src/*.bin rom_src.*/ diff --git a/rom/128-0.rom b/rom/128-0.rom new file mode 100644 index 0000000000000000000000000000000000000000..c4a04e86ac94d8eb3fa760e7241a77ef58a422e7 GIT binary patch literal 16384 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
ipD&GM&n~T#SW1#>(92sPt_@C${X0r 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 literal 0 HcmV?d00001 diff --git a/rom/128-1.rom b/rom/128-1.rom new file mode 100644 index 0000000000000000000000000000000000000000..64c3e73769cb459680f335a2db0abc557c243d8b GIT binary patch literal 16384 zcmch8dq5Lc_V7&J0rKKGfQ1QzIwqn4F-#GHytOK!fYR!y)h=3F3yQXYXiB@gwss%2 z-QDi?+x@NDc1xe4efYEcu*4XaaU2m9Bz7r8nou_zF)C=a4BxrIcKgTo_cwu=x%ZxX z?z!ild+s^s-nrRfn3{6&2Gd$LZ9PjAyKclyp$pOuVGnjr*ohIhA?;eTAe`?uZD4(_ zKgW;zOwBBn*39nyjFe7hFLw6{^-QnR8@k7N>nESVg01f^ky~Mq$@XYekv(-z_7TYh>6rL@tK3iCPp|Ixc^0TFnoI~{< zK3`pawy@|zWoaqD^z6#&^VKy~Zx=7Adb`4Yv1sX8`}x9(Q+fZe{Uh(h@}(8-nkA)Y zYkI0{O3#&)mXT#=iwiH7*{fC*UR+^caHq1Z(n(Fd1Vz)wtV^0 z>WkGi_H$LGg{MjiYn)Z3kg9T5lwK;bSCy2WFSb|IEUj4SE?Fv6l?r9{^W}E3rU!1- zD^D)1s02Lr!cz#z^3scyg)6I}<|7v??aSO@^p(r)7pqpDtu9>Ut}3i3v9DOV+P$=^ zc=?5rs=`af%S#K-SC!VRtOCAOdWx1jYF$`UzN+G(l{wi}WyLF&EoByzmOP?eZhtVV zwt6+GskCH1TsU%S`0G#q{*S+P968$A{?3VyKK`rkFDJd9eC|B%_}69je_Qtqd~x{w z4+g&)dhWCS-F<7nJmy(*DN3o3$yE`NYTXr6fzW-1U-w~#Ie*^VMQQ)cbJ^VUxyQP4 z&z*hu^o5JP=ilp@Hy@-C7sX)ne19sf-MlBZvtPyMS?*S^CvRo&7~|iS*DccBVq$me z>ROTDgkMWKjTp;2NF}wZ4Ir`r@919NL|Nrj zu9|J4CM%Sat8kyNKB>WTf1(C5R`$<`Mmx}AR!b9YY7K!*E{a4XKAM-1_+GO3=beyc4e**H!xBK;C z8m$n?PTP9UwwSxQhtKEp=li901vY5xl@6+Nm#}_Dr_)WSFbtDLX~;=!f&65@^qT&H zSYqcllj>cc(CU^I$%9u{L=9fO$Bkvq?v!T#XX_tQ$7P3fjPW(r(N3V0kGH-lJb4Ses;|k$XoFloIU%us(J73| zEq9G^GQDU9UHGjqBDVw-e?pJ1ZC%GL!|7y5!6Bf&X7Qrs7QCHnxhA#G!W2h{R28YT z=mwv`2pwmgH*Cg@$ozy@SL;p$N4zLk@KhJ(4}3Ukf(QxIKp_& z7N1W}w#&Mw>3`2p(l=Y?+x^N3)dew!3+3))`-ii3vcfNC2$q?29&W%OtDTl;({A?- zdKHm2GCD^8-Jlhp0?r#JrXtl+iw=R1k{)gIQ91&Tzy^I@DiAy}Bz{dUg(6XU`sEp; z!pAiKttHZkA%yvKTn~Qo$%EENY|t8&Y{V81KBF1jsU=p39i;ugAWKLx3R3ORxZs~b=!6$$42g5; zALq$NArtU}a1L&d9NZQae$fnW(>}Ik(27Zk67e*x27p1Uwv9+Y*nsFCS3l^eUeo1mjyxlehG!675P1o`vpqQAL00GkiAqzm)7_~u;C6=rZIUa4dmsZx~E9J3aCcdpu+(mR;B8L1mu~j*%7yjQJPVQ z2`RcedxO>0ARX&jcOT3Oud@#-^>RMjB#eEB;gA}}d6Ji06E4P03x{x01~V<|S^ebn zSlFfpy{?n8w(6Z58h4UAH*Bk$OYVH4uAbc1Shr&bxuL#=e5$VHu%@!HVRPe#r*jW# zDxP_IV_hS;p|Np83nYu5*wDD)@tr@)DQekSwk@q~X=FvMeojqwRZgXS{kpa6n$pVI)ad*gqAfu z%z|)mhFfZ(EyAQ_Yxjupmknv;oRWuZsjo6oT@rh^<#=2C{>uka^2%kvw6c>cqb5&e zUfvr8P3(p?p3nEEcGm)67m%_jDvrFv3F(pHib)8bR0WG)V$*)ca>3%4*qoV+CQ3uz<6H+8VO??V;IdZesi2PnoQ9625B|)-Y$z z9JMphl5aDTT6wsSw4zTCw7o5#_nlc8)$8^FcNJ5q3@%GeJz%$~+EI6CIhYk^a{{WQ zgNNUXRxvTLR6cnlFcX!X`7+Y$)KHwtM*eiYitz6Sd%!Q9cw}>M%`2?qgEv2zO4-EuW?>_Q%;A(0$N>MsmSL8rl^>1z%TmP7-C#Uyt^ zViO%dxh~@YdbJIMX%K8JKn#C}>yb?^tRhQo#Qv;bvZhy9)c5iGGv!Xy{h5OJ_Z5HG z12e`Wl60wfg)W>R#d>;CSf3*K^QOJR3ZiDREK{a6x`jV#f8c>(cy&^Rf(%4&kD>H; zom|_F#~T~AZvCPsN|Z2dlY2A!6VC-p+~ufo)2pmcSfObiH$KIdHRm-M_pv7!X|{q8 zFl{KG{Kh-^Of6~&i42gxSMX@y(dFbiOuq^X5G~t0S+4~M6#hGnntTTQszfC~sK(N4nyIIJr;ZX}G@ny~ywhsOZq2D(VN%Yi3OoAFgN-(CNT zP$WQFt8)9A{mN!CDqtMGlNi8BEI)Vz-lq}+<$fhdk-b@g1&=6{YX2SbOK-YULkhx6 z+AsiQAwmC;f#o|+L*ySfC7H{TmDvrRi4@<=@t<#&n+pi=e_H>aA z1qb|hezsXZN@#9Erxl>lpX{asOt| z&YXHuWn9V%xnu>bHH7)V&hX(lK;A>C)HF^f5KUe#HsdRkvhQm!>x1z(Likg$TdF13NwK21RLf8 z+Xt9Jzw3Hl2V=5{J_IyOA!drk{Yk(~mqq6j_8ZJ#7yvbsRwd>Ibdq(a9xxy!Sl^u+ zcGeD$LuUP{dJU)@OO>d%WQYn&M7bZgH>Y+*6DCq^e3G@P4mS~6Q9IDDF&45Xn!rWG zpxReoa3I=to1TA!#PcS%UodD4gd$hN!dx@ifn6|>ayT?kdC8yQ|FG$0&P%80QlTru&*(*NJZ=9>y?%iP?EwebuV%CN4-Ox4X$~aB_zFJ zzJg)k(RkBdfR4_>I0&zp+k*=DXYZ%ck*sK8ZC=rAuU}<-!yxI#ZaS~Vbh?7 zj807Zlr?nN@OQC5@OXfNOf$Y13l>B9$E*>{OS7`3k6EkD{H@sxG7wxfY0PEs8IQ4P zcBmJJ$3eX#0dra{M0BcIFxsqbRNAAgRYRed4Q$%uY+4;_W3qn5X1&5@En$t6JWb6` zF6^3Ic-q(%XV9~_7IX^?>sgqCNc#y-X*vu{+~G6+tj-8JR(%*cI7Wx2)bDHn z8yOkJ!K%U)s896`gJr=B^T_FrL3+R( zJPryp;M`{3Zr)*T47uKnzNLOwzwDO!R9yA*x>Ipg=&iD?CmP2TSR{tSPl4%?eyb;u zo&1&Hj~k%x_9#6*SQsdZP^DOY8h&3#tqKTpTp;O5NCxefnD#Kt z5z9Mh(Wo$H#0&q5KNpX!OT4;FQ5{{GjPQ5epEG^}wX+vezjh&IiJ#?Qo`z-VV8<>28%ba&H%;11h;BnRk*KTfK8xc01UK@4{Y+ZCs;3s)ThgrNIBZOKc~n$ zpvO}Z1Uv!8#Bk-UKq8~WFUF~1;S6l2wsAh_uo`tVV2n?Io>nL@_0?taYH20zY2GQoB^B=_lOVNukHwl%V?EY4O6_5>=D)`Ag>06shW?X5Q#g< zKV&!VLJe3#s0k-xrm8XmOTh_6ih_`&=pzBNuhz>E`-3~cF1AYaU@?Yy9kvyx`E2O| zkqEBY$|6oOX%KZ!G;~S=!Kx8>bB3K+HKPpx^UT5Ott=5t+sc}@qE(p21Hu9Vu)M?B zq=dvKffg``_MF1whlFh;6FVd>0_x|I3KZ!eR495P6~4M3C~5W=Y~GR8hS^{Z3TjpfVDN?5RMVB?$L^XkdsIZ_j01P z6A33pIXDlp*!jQnlhfw*sy-_QORjfvXV^sda9~6Mvd-K>mRHiUu3{n{we@G)GJX{u z$$ymxt*@gcw&Ff$tCs^A^#v&47MLtvL{BG(Dc9P5htPDW^O)~~Mfr5dH5Ml%XILzv zk(mo!cwOY_bTOCIB6t!O3d<@w7Hp0*GGaXUN%op7>q#~QaQ&A+*s9r@wNBs-@Zxx4 zfVky2-bp#kpL5U`Sh%!UT=(eTNLf2ap*}+nV8JzFE({D$%J@PWmNarCE{F30Lzx7= zfsTFg?mrU?a5-j?XrmJ-hvgoj0BNSmD0OdmTEVOm1{2-Q^UERPCxuxV@Fw;_KmtuA zGqf;@rcE6yEXokx%wS~3>jUb`FVBFzn?7F$-%OH^ZAqCTRDB>(zCa3z6WymFONd7iT=2 z`*e|JDO(b^7SER`u+1q7UVeQBxECqdwHX+dD$7@#QOKna$gmF{kPE5ueWYA6SN?G_ z_P++{p%nSI2`a2DMQTsM)~856Ou?SgsIh;gDX`pBdGG=G>=bEHidy~xg?*@%bE)$2 zgh;ql*d3`_PEyM7rNVZlD6rqA$sbEq%#FaT2@1>?AA$WQAp%lxhky8k;W`0UL`POR zo1c}-68Na_MLaCr5Pcp}U?7USU`ztWXOn&Q(U$(Rz%aXUNs_ukO-M~USqGK2lf|o& z-FC1{ql`H84~l$4a&G8z6iMWe<00vZ6;>?5$nB;gmfuas8pWx!QWoibq`#7LOITt7 z2qHY`#CEc{9F$@+t?QX`!kq0ktz>PT?{s#E_*o1_CRkm{Qb?yKQfVvM0E}vF3Wkh| zxXDJ%X*xMp_(dYE>WPP{old8)b`fke*Kw*Gqir_cAmZ2!V}1_H0p z2c#d}9E5KttvQ%Q1+smXBzo{Oug?MAJWFaikm`U~@OJiCQy^H}$fm7eIj67+=?e}5 z_2Uq)55e}z`~JmbI=}1WlnEglZ<#odN5+PT_mGkSWuqPiIE1mYC-VMVH*pIx97x}t zTA>NYrelQfjDQ!WdfKm$Q|(Y5_P>u@Y6w=xAV9FZjr&>0#GNJxYaAOAt{8~}F1Z2* zN(M9YPl#n>2N|wMg}6sYj7gY)a5ek#C&{ik$)bR$2uFko1++4Dh=F|#d>C~6lnE9T zvx67G_*N?!g;s+?d%iJ=gz*Nn5y2y-QZ|5m?p2yts!_Q7z`4mX2J#?YnOn{VOKM^D zPq_)*^T)#+!;Ca}nK~4Y%30TEs!DY=5WqX$8 zO!e&KDl35^?2m1U$99X?Ept&Yw=sefex4F+L3ar!^kpz{v?N$E4saoqgp~)B5#HSs zA#6^8ge=*uhfo%-SOmFwq=`|hRVLgZ0APl9VaT^j!Nm?URkn}y_yHxbNDbDE@ zT&b{!zzvBXk{Y391|$U~Ws4{D;zwk3cq%~78!5JgOD&h0FLA;R<2kSp&cXNtC{X_F znUMM9NJjI~$nK<=OT=wJiT3ex0plV%7HEz@vnL}1b;?6HPk;>^r zEwrOXk#%)m8xPTn_AsMVHXPoOmt~dUf|Gw{$xVA(TBMi@ZkH%F$ z-8W#Qb`-iiB+fzl)%CGaJWU#qyu+js5yg;AXb_t_jMKR%fW*@u8$qpu3geIQ*T8Ot zJ>p1UFla1^R(h=IwpG)j(^=%Uv}kh^ibO!vf}9IedO8x2YxKcdzloM1sQ|rw-w6c= z6&gGtd~O7Zg?DQjCiEMDB@Y;a%U)o?*+&f?<{kVAaz;1;;DzZ3RYa(Af9in(ClbJ_ zMgBi{4G`V=*aXT55QYcww39@E0)QHVAZS$Xc2;;4cDXd&phH2^^`J0N*g6uI!KA-o z96nA_rCpb}e#2ReexP3h_f;akOM#Oz zCG6qbcZm{9d<*Dag4v}|GICf<6%6EpC)^Wbe1#QNOr(QW9+~e?r}1Wci?B7#ru^#x zcqoxcm)7b?qp7er`d zIyw!31J2g5|MIu#(Iwj0x_D1MjgAZ=r%@D|Sy2x}iHfY&#HKl*wjQdSlYNo}4DI^T! zc1oO*Op_P)nsmc*(=a|wgA%m^rQyaUUR>^!;6TI4@coK!So)?cGu162J0&M2PM>V} zicIIloswbM6`xFc(gesPOp^G#^Kugqk2ATzAv$BMQwOh(@T*%l>|>mAI**7Q^Jb37 zu6!+%IwfDru8hcZCnby<)<~}|^ZSZYv=rgP-&cm+|Nl*Q>bro*A8<>5KpifHaT&{` zv$HT#|94$7i^TTbI3fnJGgD7VGJzXT;AN&PQ+G(3>;m?pv2HnTQEch! zSWhUAc0W+LkJGe=ZT?w#OWw~J4Xw$ygE)9v^ss9| z-|UG1L(XkCzCIItvX=8do29@i)K}rSlT_5e-Z9wSHz6UWaY#!mKub>R7MQ0F)Vj&a z8ZbN&39Ntk-SsVg;@aX`#bfS1U(#V(mPaP#+ZD=KD(Uchq)va^>2%uK_JfAG9Zf`d z4Jufwocaq(TrjJlBY?vWNI;0C*B;sI0Le|8LEGouFh{?;>MynJKYQnuQ~vkA_~4)K zoyA67Q|UvL53NnQnPf8DK(T|aHQe_0IjHCuAo~u42-D~rk-f;zImSCqeQa_?&qij} zedQQE+x3sxs1hAq_AD!yGsX_-vUB2P*=>aw)|MqXB!x2_Z)TwN+tE%-`}IwP8iC6| z;Il_vu37kM{isNt*37=&0-fsGx=4$WF>vU{qJ=p30_iyFYbY88EkSib`$F2xQwwK~ zy1tx=-r8o45=+nvpEgPq2rtdGtP%??dC&?;34feBbbkS~YN-IM&00AGmBB?pkw&mm z2<;FB@lf(E1?Nye2f~m{5V2rfUY<7t%u`U{VkaX*g~S5K~lj#OG;AS=tEpmxB3gp#}+Y!x^?pY8XX>q3BDC}{*E~b zXJ1Pgdz`0 zMQAYM7t^r${Q*tIW0bEC+75*~Pnx}G0Kq%`?*M*4LnVz55vLjTLLK4+B<9ePp2S|{ zxtJo^5eU5YjUtitLWUPoqd+sXV`T2aP5?eJG~H*PKh-|!6KR^}Lt;8@;IAT4(xF>C ze{__X7zN;CxlwSE1@Y?S!*dD|%Tz7?VSdU^KPd)w z7w=AxC+J%fZEzGI3E_+Lh8=b%ahAW+I|NOt`ELkKZ*Q+}2o(dH?|6AVzl{U(9paqR zW3*%9v2w(k`;6h=ZT_5&MyoOfeGWsQzI*sBWE2%#0}goSf&d74Z*NB)*HI4VJeGku zqRk7t@&TAcL$0MJs9Xl;WFqABHvu4m+z<#5>AoQ^EFmP{LRazINd?%7d7~UKbgOuV z%o;*2KC#Y-VZKpsi`Yr35w9N>&(J=%Pq=1+O^Y)oCNWaDWm1Dq`UKkD*lCgSd?hIq(aS3|97ajJpju2K1ew z6GDPu8n1j5QG13~hh=i(Q$!4q1)x#k(xJz;0QLURNTL}<3PH;;N~--XX)0OKi*N(# z?hf?g7T#On1i@+wpDcke9tE7^I{JKJg9gCpXyi)tHXqHQs9kpOrX64)N?^}<_sIA&uun;ozL+GTcnA!rOc zbhaVD_s%#}45-~^@WCPbKBZ9LbW72;4vHX$%uOht1FnUS?yNGeGdmF1Kye~J0?iBl zsPOt6Fh!W~sTeq~;^e=DMbZeC@pe)&PaYVZH3i~wnKXIb=_r(a%LHOLm;MGu?Qf&b zmM3Om6g4Li7~ALem8|%lV@*zo!cZ_u&St7<<5S62Ku1fgq%(Lt9NUJY0~`d@3I@c& zf^*`U0dWI7S~>9)nF!&-(f&->Sd0i11fRV8QD%S`D_Z6X<@@Fal*goD}bc<wB*@QM>lN2Paiw=W~pKRaidurfxO^HGF-6GU2(5j{ST~(X!TF zFISszV7l$pyhyCq2JX`D&VwewL;bB>Gcq`V^x+Z)*&`O;Xt181DKC{o4l@`dHrqT3?>F@^efAaAF_L!nu8@!hj=X@ z{B^#Ezq`lN-&W33e6$C4*`qzi_hF59yfVAVtRe5{M>~w~u!cjdLLF?-P6ZoCnI?*i zh>n@e-aeV#sKwxbEl%l2b3b7F!E2vfxZNh3JkdZDj!CXSR0r_e+I}|=YH6s(hV`jCV8H?-Kf46FWIT6(YHj{(WKv-0N ztEIhLW}A1(X3^g(B>a_e3S4+-zOD4qLoMw$emXx`Vz*^LB;I^Ufw_{C`Wj|oYis7r zNu2X&;_^McoWqK>cT?aeiso)NXcBdyJ;&^r4|M78v^Y86IE09rsFn&hS|S3q>-r$} zvkpeg>-3IvOt9Te8L~+mj~cx zKW>pW7Y4@n!!Q8%L*6Fe6B`mef#5@d-M?x`{m2vWrdp7fKR7>|raXK6Z62!0OsBR6 zOA6NSg09tiTHzjkwJ1|P*{46s^wfGfTq`r(3jOXCu#C-NB6vfBMViP+^f$o~xSBmc z9R?P0Ky_Ll*dEVi1V#$s-u#~33tB$lWg=i}3%3iu&gkV3#T`PYWdM;KfR_NX+6Tlo zw+A_0~EYtEt zdmb4UvRxjMZSpjGEOCx@TN{mcc-|E5%~v)t^Prc+90lp&0VG-(7W(jQA$>{zZ{kvd zB?`ubRC?muJlQniqdefdG$-)!sZF2{8mS%LUXVJjM-Jo%5dF+8M0~gxhs zIut{MK7luQcmuEZ%<%-D^f3Bhl?VPTx^SP`2^B1?C?iL9_k89!?Op${=h4a#Prx7Q z*sHGmOxQOACs$#`Y$Wlp_$rC^Y;0}sn2(uBsjcm>nY4mtnljr6Vu59D-~6suk+_-7 zFf(`2xQ4&0Q0;GHWUJ$`{j{>2&jp#g8)m+v|KRmtNngNR&NJvo%dMDMf6uR^)#bJ+ zezyL*cbWpdobY;9z|r1`MzRC=)}(k96q4$bB3fVlh+>sJeRT0hHqKj(7J0;ZU`k`t42%GzOlh_1w6niHG#<^p@h@3WR>Cue75>#~I}7B**XW<4XGV09hqaZtYY8*K|} z{f~jar|a4crmx!>aJovq-nzd?=vcYgEYgRajYph!^(g$j06AOp40SDpg18*1w zB*BWgZ!IFM92i2uBizQP;0Yo<;)WQqQfZHJ_zOr0<>;!6w#i?mV$ks|=Lm>Ud563^ zI)=F0-aXz2Q(x#_&>PApZrGK|=h5aS*9UQAbiluJfftZ^d`5ScN4UKJ;E??J0@KAH zdkX?yP9aaKfCF_@jQ)0jD;L%+$b@M0!IPN~V{n3t-?c#4xIhOh%ff43DZ?qIAi55- zRe`~J7D+Yx+m6BfX)<%5KAy|)HXofoJw*{rA6ShPA8$TzKkJQ@U^5{Di!K6%b>2uZ znlpT`IT12L0G6bZz#CxH{rj0jG0qZ~m;d66FN*J4;3!5b`@G$P%fMXdQTyEG4(b^C zH9NhXuqO=7*rrJ$#uv(jh7ny4l!p(z#aO zbT8KopQhB3c)re}8utl#*}Z`fq?NjHL1!Trz$0Ytb0dpx_h%!`WaLpNEejP8@gXAS zD6L6)ol%p)$QWwGObj_g?O|hL{9pLO(D=n~vqQRz_(IgbX#~DLH*5vm1}6Y!=(J6E z{|VNd;og)F4i=;EiI$AI?|1`ffa{4svC8JIkpp2`q_@4uZ38_RUoqdc5vU2DRD+C&c*6O)vj+)j>p zATtCrhl40n=CFMBFy1MX4l`j}MwZKPnYo?PVVLmJLm*jW`Pm`n{Y7(RnX_F|6eD^m z#`;LzrvGWKTm0r@S=^}cc1L<({*fcG*BpQQ?IWRF$DN)LWVnz@M!MIc?vXRf*DbPO zNfS3FflZ>Zd@z<|Opp2?*hJPg6p6}aFe#pyeSP_vGXm_VsPID&%*r0av#)11Cft$X zZ%W^kW@cxRvNxr_G<+DVUUm5|k6PU9{`dd9tzp9<{_^W@XCC-;^q|Oo_wVH5)7D`7 zpB(G1*Hdl30lN{Ae=Y6XpVrGV!Nvpn;b(#vOim{z0}Byaf?b?s0DBN}hcQL+0_oU; znbX0ry|I2aHS(=jm}^(#9{(G4?KO=M3{h*7|1AUf%v79|Go0}IEQnb$+Ob2)5Kptd z1!qJMii7xl9KY0m9HU+N^{*az@b7E>F!^W9`pm&Ezxnj>qEr6Q)YcPMtviy}{%7E; z$4^|}aOjh$FuhO_;&AjKojg4g(VzB~6w#My!BXC2#&CElXUZ7YDXRot)d%q$OmPU8 zOAayIAVkdZO|(=f$`!tl40<{3Wc*ah7ezK@uqF7IO$+ztiR%qq5qd2SZkc`wHgkLY zVgqq?&jj8;jKF6%U=h#?Q~Q~v7!-N6@d9XVV_9;hkiLBKrU-`P26e0hyR?iL1^lexL@ zwUZIm*yVKF;hPLFiKF-jr+@zIgv75q3SZJVdDzGpH0$}4wn5`dYm5cC3iv7mdxtji zt#pxlyczXBpP!9>6Uy=sKl^e_uKwFcoaD?wiqc<%h?TO{{~axP;DOwi*Z5VmqSgOg zSM>VUuGQ;1I5_T{$LXeSq_pKWvwqkn5Dq@rIsGkOltWwtp8JnK$h#^W&h2asf01XJ z{vr=7+y8!%7lFRW;|rQ7;Zp97R`?hXMXS))coEZI*TJ-toV8pv%|Vza}1AKMgK7#w;Rc8fPvN4NQvBxJZnn6U2BrhLB=YQxJBG zFcOQvP?iE%;yN!kPqQE^a}I5qpYb4*W412Lw){o&PW!v>y&oB+R7a>j{OB-z0QvDJ zpCVBvzZHJ^}q+$cHnX##i!|IWEDM4|nyW#c||_5nEET zHm0KqpVGlXW56B-uPb=ureT|Oo)UipLksr3J=gRN7sO;R%Y(2`gtNjo!V`mKJ{W^D z@M+cm?@JFCoSnnc)2CZbccjA~hN*0{EyAY4HvUAVpH+rodRlKP$%TA?MVCwkmkh&5 zgn)#MSd~o`3r`h1(bt&a*D$bcI)z~b0dEqS3c=@ z1oWsf>Ac0ei%`A;)d#eBMS0;g+-;KZXhSAy4n0r<0EXzpFdO{ff)t`X zuSllC0B_zytJW=sdQjg{RD@x>iva&_lwQ0TwbNWuR8-O&ZhtYN3+Pz9cyYMA0+olW zK|Sbfn0|>w5~inQ$+jgWkPpD&dPSR77a{yb8>=2FgD12XhC{6_4&y7TdI<2LG^&@k zI8TD`i-@m4F9M%#uc#;;_=l3KVSFG#qyzj5C3G0hf!GRkY7sqJ=nzYpgoezOG|?%HiIO|8NfcsM)??1(v0{Nr6;EAqih)i z{cA2MDM9SE==BW1Lk$@aNYWMy4fFx9ULOVZpQwQgo(LS^0bfZ8z@v0?m;nf%V!B-t zl`m#wz;``!zdovl;7dwq8u)>g06H2yX+4ebK{28S+YSBSjrwm1_aCtV$>BDARJi}K Qs19QP8;1_PQIz+80l1Bavj6}9 literal 0 HcmV?d00001 diff --git a/rom/ESXMMC.BIN b/rom/ESXMMC.BIN new file mode 100644 index 0000000000000000000000000000000000000000..544b5a056d4ba2f1a574d557328fb4d5d552d428 GIT binary patch literal 8192 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.bin + objcopy --input-target=binary --output-target=ihex sizif.bin sizif.hex + rm sizif.bin diff --git a/rom/dvmen3e0.rom b/rom/dvmen3e0.rom new file mode 100644 index 0000000000000000000000000000000000000000..514e059a6b2ecca5449f43c34fb8a05080eb6158 GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/rom/dvmen3e1.rom b/rom/dvmen3e1.rom new file mode 100644 index 0000000000000000000000000000000000000000..d988f24e1a8113ea5254b3964a1efc64b1d505ec GIT binary patch literal 16384 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 aXwd4;<}MFxvwBJ}`|h6Uw3_rcKmQHTfB)71 literal 0 HcmV?d00001 diff --git a/rom/dvmen3e2.rom b/rom/dvmen3e2.rom new file mode 100644 index 0000000000000000000000000000000000000000..5a6aa754089d3ccd4d301303d0fa3d58e1167323 GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/rom/opense.rom b/rom/opense.rom new file mode 100644 index 0000000000000000000000000000000000000000..267b78d1172f258e8d2dde9401fc9d0a06a1c02a GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/rom_src/Makefile b/rom_src/Makefile new file mode 100644 index 0000000..d73cd86 --- /dev/null +++ b/rom_src/Makefile @@ -0,0 +1,8 @@ +export PATH:=/cygdrive/c/Hwdev/sjasmplus/:/cygdrive/c/Dev/srec/:${PATH} + +all: main.bin + +%.bin: %.asm + sjasmplus $< +%.mem: %.bin + srec_cat $< -binary -o $@ -vmem 8 diff --git a/rom_src/main.asm b/rom_src/main.asm new file mode 100644 index 0000000..99c68eb --- /dev/null +++ b/rom_src/main.asm @@ -0,0 +1,313 @@ +; Sizif-512 Service ROM. +; Running while magic (NMI) button hold and changes CPLD configuration register by keypresses. +; If no keypress was registered - jump to default NMI handler. Otherwise - exit NMI. + DEVICE ZXSPECTRUM48 + OPT --syntax=m + +; NMI handler + ORG #0066 + jp nmi_enter + +; INT IM1 handler + ORG #0038 + ld hl, #0038 ; set jump address for exit_nmi routine + ret + +; INT IM2 handler + ORG #0101 + ret + +; INT IM2 vector table + ORG #0F00 + .257 db #01 ; by Z80 user manual int vector is I * 256 + (D & 0xFE) + ; but by other references and by T80/A-Z80 implementation int vector is I * 256 + D + ; so we just play safe and use symmetric int handler address and vector table with one extra byte + +; Main program +nmi_enter: + ld (Saved_sp_value), sp + ld sp, Stack_top + push af + push hl + ld a, #01 ; show magic border + out (#ff), a ; ... + xor a ; reset variables to initial state + ld (Magic_leave_cnt), a ; ... + ld (Key_was_pressed_flag), a ; ... + ld (Reset_flag), a ; ... + +loop: + call key_checker + call check_magic_hold ; return A + or a ; check leave flag + jp nz, exit_nmi ; yes? + jr loop + +; check all functional keys and change zx configuration depending on pressed keys +; input parameters: none +; output parameters: none +key_checker: + push af +key_1: ; timings <= pentagon + ld a, #f7 ; read 0-5 keys + in a, (#fe) ; ... + bit 0, a + jr nz, key_2 + ld a, #20 + out (#ff), a + jp key_checker_pressed +key_2: ; timings <= 128 + bit 1, a + jr nz, key_3 + ld a, #21 + out (#ff), a + jp key_checker_pressed +key_3: ; turbo <= 48 + bit 2, a + jr nz, key_4 + ld a, #23 + out (#ff), a + jp key_checker_pressed +key_4: ; turbo <= none + bit 3, a + jr nz, key_5 + ld a, #30 + out (#ff), a + jp key_checker_pressed +key_5: ; turbo <= 7 + bit 4, a + jr nz, key_6 + ld a, #31 + out (#ff), a + jp key_checker_pressed +key_6: ; turbo <= 14 + ld a, #ef ; read 6-0 keys + in a, (#fe) ; ... + bit 4, a + jr nz, key_7 + ld a, #33 + out (#ff), a + jp key_checker_pressed +key_7: ; ay_abc <= 1 + bit 3, a + jr nz, key_8 + ld a, #41 + out (#ff), a + jp key_checker_pressed +key_8: ; ay_abc <= 0 + bit 2, a + jr nz, key_9 + ld a, #40 + out (#ff), a + jp key_checker_pressed +key_9: ; ay_mono <= 1 + bit 1, a + jr nz, key_U + ld a, #42 + out (#ff), a + jp key_checker_pressed +key_U: ; joystick_sinclair <= 0 + ld a, #df ; read Y-P keys + in a, (#fe) ; ... + bit 3, a + jr nz, key_I + ld a, #70 + out (#ff), a + jp key_checker_pressed +key_I: ; joystick_sinclair <= 1 + bit 2, a + jr nz, key_O + ld a, #71 + out (#ff), a + jp key_checker_pressed +key_O: ; extlock <= 0 + bit 1, a + jr nz, key_P + ld a, #10 + out (#ff), a + jp key_checker_pressed +key_P: ; extlock <= 1 + bit 0, a + jr nz, key_Q + ld a, #11 + out (#ff), a + jp key_checker_pressed +key_Q: ; rom_alt48 <= 0 + ld a, #fb ; read Q-T keys + in a, (#fe) ; ... + bit 0, a + jr nz, key_W + ld a, #60 + out (#ff), a + jp key_checker_pressed +key_W: ; rom_alt48 <= 1 + bit 1, a + jr nz, key_E + ld a, #61 + out (#ff), a + jp key_checker_pressed +key_E: ; rom_plus3 <= 0 + bit 2, a + jr nz, key_R + ld a, #50 + out (#ff), a + jp key_checker_pressed +key_R: ; rom_plus3 <= 1 + bit 3, a + jr nz, Key_Space + ld a, #51 + out (#ff), a + jp key_checker_pressed +Key_Space: ; jump to #00 on exit + ld a, #7f ; read B-Space keys + in a, (#fe) ; ... + bit 0, a + jr nz, key_checker_done + ld a, #01 + ld (Reset_flag), a + jp key_checker_pressed +key_checker_pressed: + ld a, #01 + ld (Key_was_pressed_flag), a + call beep +key_checker_done: + pop af + ret + +; check magic keys is still holding. if no - debounce and set leave flag then +; input parameters: none +; output parameters: A != 0 - leave, A == 0 - do not leave +check_magic_hold: + push af + ld a, #ff ; read magic key state in bit 7 of #FE port + in a, (#fe) ; ... + bit 7, a ; check key is hold + ld a, #00 + jr z, check_magic_hold_l1 ; yes? + ld a, (Magic_leave_cnt) + inc a + jp nz, check_magic_hold_l1 ; check is counter overflow? + pop af ; yes? set A=1 and exit + ld a, #01 + ret +check_magic_hold_l1: + ld (Magic_leave_cnt), a + pop af + xor a ; counter didn't overflow + ret + +; do beep and flash border +; input parameters: none +; output parameters: none +beep: + push af + push bc + push de + ld de, #10 ; set total length +beep_length: + ld bc, #30 ; set beeper toggling period +beep_period0: + dec bc ; check it is time to toggle beeper + ld a, b ; ... + or c ; ... + jr nz, beep_period0 ; no? + ld a, #00 ; yes? doing beep + out (#ff), a ; ... + ld bc, #20 ; set beeper toggling period +beep_period1: + dec bc ; check it is time to toggle beeper + ld a, b ; ... + or c ; ... + jr nz, beep_period1 ; no? + ld a, #01 ; yes? doing beep + out (#ff), a ; ... + dec de ; check whether time is over + ld a, d ; ... + or e ; ... + jr nz, beep_length ; no? + pop de + pop bc + pop af + ret + +; read non-magic im2 table and returns im2 handler address +; input parameters: A - im2 table address hight byte +; output parameters: HL - handler address +get_im2_handler: + push af + ld h, a ; hl = im2 table address + ld l, #ff ; hl = im2 table address + ld a, #2a ; 2a - ld hl, (nn) + ld (Readout_vector-2), a ; ... + ld (Readout_vector-1), hl ; hl was set earlier by im2 table address + ld a, #c9 ; c9 - ret + ld (Readout_vector+1), a ; ... + call Readout_vector-2 ; hl contains default im2 handler address now + pop af + ret + +exit_nmi: + xor a ; disable border + out (#ff), a ; ... + ld a, (Reset_flag) ; should we jump to #0000 at exit? + or a ; ... + ld hl, #0000 ; ... + jp nz, exit_with_jp ; yes? + ld a, (Key_was_pressed_flag) ; was key pressed? + or a ; ... + ld hl, #0066 ; ... + jp z, exit_with_jp ; no? jump to default nmi handler + ld a, i ; save interrupt table address + push af + call get_im2_handler ; hl = im2 handler address + ld a, #0f ; set our interrupt table address (#0Fxx) + ld i, a ; ... + ei ; determine im1 or im2 + halt ; ... also sync execution flow with int for safety + pop af + ld i, a ; restore default interrupt table address + jp po, exit_with_ret ; check int was enabled by default. no? just do retn + +exit_with_jp: + ld (Exit_vector-1), hl ; hl argument is jump address + ld a, #c3 ; c3 - jp + ld (Exit_vector-2), a + pop hl + pop af + ld sp, (Saved_sp_value) + jp Exit_vector-2 + +exit_with_ret: + ld hl, #45ed ; ed45 - retn; reverse bytes order + ld (Exit_vector-1), hl + pop hl + pop af + ld sp, (Saved_sp_value) + jp Exit_vector-1 + +; Magic vectors + ORG #F000 +Exit_vector: + nop + ORG #F008 +Readout_vector: + nop + +; Variables + ORG #FC00 +Reset_flag: + db 0 +Key_was_pressed_flag: + db 0 +Magic_leave_cnt: + db 0 +Saved_sp_value: + dw 0 +Stack_bottom: + ORG #FFBE +Stack_top: + ORG #FFC0 +Ulaplus_pallete: + .64 db 0 + + SAVEBIN "rom1.bin",0,16384