تو دنیایی زندگی میکنیم که تکنولوژی روز به روز در حال پیشرفته ، از طرفی پلتفرم های قدیمی تر مثل ( جاوا ، سیمبین و ... ) در حال فراموش شدن هستند یا شاید برای نسل های جدید حتی به جستجو محدود بشه از طرفی این پلتفرم های قدیمی شاید برای برخی از برنامه نویسان جدید|قدیمی جالب باشه ، این مقدمه رو گفتم تا کارو با پلتفرم قدیمی که کمتر کسی میشناسه شروع کنیم ، خب ؟!! (امروز میخوام یکی از چالشهایی رو که خودم ، خودمو توش دعوت کردت براتون دستو پا شکسته توضیح بدم).?
شرکت mythroad یا SKYMOBI اون قدیم مدیما یسری از گوشی ها تو کوچه پس کوچه های یکی از کشورهای عزیزمون (چ) تولید میکردند و کیفتی خوبی داشتند یا دارند ? منم از گوشه پس گوشه های خونه یکی از این گوشی ها رو پیدا کردم (K900 TV Mobile) که زهوارش در رفته بود از طرفی جالب بود برام ببینم میشه کارای جالبی باهاش پیاده کرد یا ن! داخل پرانتز این گوشی حدودا برای 12-10 سال پیشه.
کالبدشکافی
دیدم الان دیگه وقتشه شروع کردم به کالبدشکافی?? چیپست داخلی mtk بود جالب شد بود گوشی رو جمع ، روشنش کردم. اولین جایی که رفتم بخش بازی گوشی بود ، دوتا بازی ساده (خونه سازی ، تاس ) بود ، یکم سرچ زدم چیز زیادی پیدا نشد رفتم سمت موتور جستجو عزیز Baidu نَ من میفهمیدم نَ اون میفهمید چی میخوام? اما من ول کن نبودم رفتم گوگل ترنسلت آوردم وسط حداقل اون مفهمید ولی پس و پیش? دیدم بجایی نمیرسه این کار ، ی رم انداختم تو اسلات ی چرخی زدم تو گوشی رفتم تو حافظه دیدم یه پوشه به اسم mythroad ساخته شده بود، اسم پوشه رو تو گوگل ، بینگ عزیز جستجو زدم چندتا بازی با چندتا فایل دیگه با فرمت mrp پیدا کردم ریختم داخل این پوشه هرکاری کردم فایلا باز نشد که نشد تا اینکه رفتم تو قسمت بازی ها دیدم چندتا بازی اضافه شده بود اجراشون کردم?.....
شروع برنامه نویسی mrp
اینجا بود که به خودم گفتم کاپیتان الان وقتشه اونم گفت صد در صد ، شروع کردم به جستجو تو موتورهای جستجو تا SDK شو پیدا کنم ، چیزی پیدا نشد ، یچیزایی هم پیدا شد که لاینسس میخواست از طرفی هم از طریق سرور باید اکتیو میشد که سرورش بعد این همه مدت جمع شده بود ، خلاصش کنم راهای زیادی رو رفتم نشد ک نشد ، گفتم کاپیتان این تو بمیری از اون تو بمیری ها نیست ، بحث حیثیت و آبرو وسطه? شروع کردم به مهندسی معکوس کامپایلر SDK ، بالاخره بخش کامپایل اوکی شد ولی برنامه های کامپایل شده اجرا نمی شدند ، یجای کار میلنگید ، تست های مختلفی رو انجام دادم تا اینکه دیدم هدر برنامه مشکل داره ، یدونه برنامه سالم رو مهندسی معکوس زدم فایل هدرشو برداشتم و برنامه جدید و با اون هدر کامپایل کردم به شکل عجیبی جواب داد ، چندتا برنامه دیگه رو کامپایل کردم واقعا کار کرد ، گفتم همینه!? (Yes , Do it)
پیشنیاز نوشتن برنامه ساده
برای شروع به یک سری از نرم افزار ها نیاز داریم که انتها این مطلب لینکشونو قرار میدم.
نوشتن برنامه ساده
اولین فایلی که باید بسازیم شبیه فایل make هست ، خب یه فایل با اسم all.mpr می سازم ، از این فایل برای کامپایل کردن پروژه استفاده میکنیم که شامل (اسم ، نوع cpu ، مسیر کتابخونه های مورد نیاز و کدهای C یا C++ ) هست.
[information]
projectname=HelloWorld.mpr
filename=HelloWorld.mrp
appname=HelloWorld
appid=100000
version=1001
visible=1
cpu=3
vendor=M-CAP7AIN
description=Hello Iran
include=C:\Users\iDevice\Desktop\SKYSDK\include
config=mtk240
[config_mtk240]
output= HelloWorld.mrp
bmp_mode=normal
[files_mtk240]
file01 = demo.c
file02 = hellostr.bmp
file03 = xj.mid
[files]
دومین فایل demo.c که مجموعه کدهای اصلی برنامه تو این بخش قرار میگیره که مسیرش در فایل فوق اضافه شده.(برای این فایل ها از هر اسم استانداردی میشه استفاده کرد)
کامپایل کردن پروژه
خب حالا دیگه وقتشه از برنامه نوشته شده خروجی بگیریم و انتقالش بدیم به پوشه mythroad و از برنامه نوشته شده نهایت لذت رو ببریم.? (برای خروجی گرفتن به کامپایلر مسیر فایل کانفیگ رو میدیم)
"<DIR>\SKYSDK\compiler\mrpbuilder.NET.exe" all.mpr
وَ تمام ?.
فایل های مورد نیاز