NES o'yinlarini tadqiq qilish uchun vositalarni yaratish. NES fayl kengaytmasi nima? Mening kompyuterim fayl kengaytmalarini ko'rsatmaydi, nima qilishim kerak?

- Kengaytma (format) - faylning oxiridagi oxirgi nuqtadan keyingi belgilar.
- Kompyuter fayl turini kengaytmasiga qarab aniqlaydi.
- Odatiy bo'lib, Windows fayl nomi kengaytmalarini ko'rsatmaydi.
- Ba'zi belgilarni fayl nomi va kengaytmasida ishlatib bo'lmaydi.
- Hamma formatlar bitta dastur bilan bog'liq emas.
- Quyida NES faylini ochish uchun ishlatilishi mumkin bo'lgan barcha dasturlar keltirilgan.

Jnes Dandy o'yin konsoli uchun eng oddiy emulyatorlardan biri bo'lib, ushbu konsol uchun ko'pgina o'yinlarni qo'llab-quvvatlaydi, shuningdek, bir qator qo'shimcha funktsiyalarga ega. Jnes emulyatori boshqa emulyatorlarda kam uchraydigan onlayn o'yinni qo'llab-quvvatlaydi. Bu sizga va ikkinchi joystikda o'ynaydigan do'stingizga o'yindan zavqlanish imkonini beradi. Shuningdek, Jnes dasturi engil qurol emulyatsiyasini qo'llab-quvvatlaydi. Uni simulyatsiya qilish uchun oddiy kompyuter sichqonchasi ishlatiladi. Bundan tashqari, Jnes dasturi ishlashi uchun hech qanday qo'shimcha modul yoki dasturlarni o'rnatish shart emas va yordamchi dasturning o'zi bitta fayldan iborat...

Nestopia Dendy konsolining eng kuchli emulyatorlaridan biri bo‘lib, ko‘p sonli turli funksiyalarni qo‘llab-quvvatlaydi va aniq foydalanuvchi interfeysiga ega. Uning kattaligi imkoniyatlarning ko'pligini ko'rsatadi. Boshqa NES emulyatorlarining o'lchamlari ancha kichikroq bo'ladi. Dastur o'yinni istalgan joyda saqlashga imkon beradi, buning uchun siz tezkor tugmalardan foydalanishingiz mumkin. Bu erda o'ziga xos xususiyat shundaki, dastur sizning saqlangan o'yinlaringiz uchun ko'p sonli slotlarni taqdim etadi, bu har qanday o'yinchi uchun foydalidir. Bundan tashqari, u ushbu konsol uchun o'yinlar saqlanadigan barcha formatlarni qo'llab-quvvatlaydi va biz ha haqida gapiramiz ...

FCEUX Dendy konsoli uchun emulyator bo'lib, shaxsiy kompyuterlarda ushbu konsoldan o'yinlarni boshqarish imkonini beradi. Ushbu emulyator aniq foydalanuvchi interfeysi va bir nechta qo'shimcha funktsiyalarga ega. Misol uchun, emulyator sizga o'yinni yozib olish imkonini beradi, joystiklar bilan ishlashni qo'llab-quvvatlaydi, shuningdek, 2 ta joystik yoki bir xil klaviaturaning turli qismlaridan foydalangan holda tarmoq orqali yoki bo'lingan ekran rejimida sherik bilan o'ynashga imkon beradi. Biroq, adolat uchun shuni ta'kidlaymizki, klaviaturada bir vaqtning o'zida bir nechta tugmachalarni bosish har doim ham mumkin emas va shuning uchun klaviaturada o'ynash kamroq qulay.

Va ayni paytda ZIP fayl. U bir vaqtning o'zida NES ROM va ZIP fayl sifatida to'liq ishlaydi.

Ushbu ZIP faylda nima bor? ROM manba kodi.

Agar siz ushbu manba kodini tuzsangiz nima bo'ladi? U NES ROM ni yaratadi, bu NES ROM ning manba kodini o'z ichiga olgan ZIP fayl hamdir.

ROM ishga tushirildi

Ushbu NES ROM NES kartridjiga "yoqilishi" mumkin va NES da ishlaydi. Agar siz kartrijdagi barcha ma'lumotlarni o'zgartirsangiz ham, NES tasviri ZIP fayli bo'lib qoladi.

Ilhom manbai

PoC||GTFO-ning 0x14-soni PDF, ZIP fayl va NES ROM edi. Aynan shu nashr meni Tymkrs uchun noldan NES o'yinini yaratishga ilhomlantirdi.

Men NES ROMni yaratishda foydalangan usul, u ham ZIP fayli, 0x14 PoC||GTFO sonida qo'llanilgan usul EMAS. Mening usulim ZIP faylni NES ROMga joylashtiradi va ZIP faylidagi ma'lumotlarni saqlagan holda NES tasvirini kartrijga yozish imkonini beradi. PoC||GTFO tomonidan qo'llaniladigan usulda ZIP fayl ma'lumotlari NES ROM faylidan tashqarida saqlanadi, shuning uchun PoC||GTFO ning 0x14 versiyasini ZIP fayl ma'lumotlari saqlangan holda kartrijga yozib bo'lmaydi.

NES ROM fayl formati

Ushbu NES tasviri iNES fayl formatidan foydalanadi. iNES fayl formati aslida juda oddiy.

ROMning boshida iNES sarlavhasi mavjud bo'lib, u NES ROM haqida bir oz ma'lumot beradi, shuning uchun emulyatorlar NES tasvir ma'lumotlarini tushunishlari mumkin. iNES sarlavhasidan keyin NES ROM dasturiy mantiqiy ma'lumotlari bo'lgan PRG ma'lumotlari joylashgan. Keyin CHR ma'lumotlari, ya'ni fon plitkalari va spritlar to'plami keladi. PRGdagi barcha bo'sh joylar to'ldirilgan va PRG ma'lumotlarining oxirida bir necha bayt bo'lishi mumkin (bu NES ROMda PRG ma'lumotlarining oxirida 6 talab qilingan bayt bor, men uni o'zgartira olmayman).


iNES fayl formati

ZIP fayl formati

ZIP fayllar uchun juda ko'p komponentlar mavjud, shuning uchun biz o'zimiz uchun muhim bo'lgan qismlarga e'tibor qaratamiz.

ZIP fayldagi har bir fayl va katalog uchun markaziy katalog fayl sarlavhasi mavjud. Har qanday markaziy katalog fayli sarlavhasini ZIP faylidagi 0x504B0102 sarlavha imzo baytlarini qidirish orqali topish mumkin. Muhim ma'lumot - bu mahalliy sarlavha ofset, chunki biz ZIP faylni NES ROM-ga joylashtirganimizda har bir ofsetni o'zgartiramiz.


ZIP Markaziy katalog fayl sarlavhasi formati

ZIP-fayllar boshi va oxiri faylning oxirigacha borib, Markaziy katalog yozuvining oxiri imzosining 0x504B0506 baytiga yetguncha boshiga qarab harakatlanadi. ZIP faylni NES ROM-ga joylashtirganda, biz uchun Markaziy katalog yozuvining oxiridagi Markaziy katalog ofsetini yangilash muhim. Biz ZIP fayl sharhining uzunligini ham belgilashimiz mumkin (ZIP faylining sharh uzunligi) va ZIP fayl ma'lumotlari tugagandan so'ng bu bayt soni ZIP faylining sharhi bo'ladi.


ZIP Markaziy katalogga kirishning yakuniy formati

ZIP faylni NES ROMda yashirish

Agar biz PRG ma'lumotlarida etarli to'ldirishni topsak, biz bu bo'sh ma'lumotni ZIP fayli bilan almashtirishimiz mumkin. NES ROM-da men PRG ma'lumotlarining oxiridan to'ldirilgan baytlarni ZIP faylni joylashtirish uchun etarli joy bo'lgunga qadar hisobladim va ZIP faylni NES ROMga qancha masofada joylashtirganimni yozib oldim. Keyin NES tasvirida ZIP fayli boshlanadigan masofani qo'shish orqali barcha ZIP fayl ma'lumotlarini yangiladim. Men ZIP faylining sharh uzunligi o'lchamini NES ROM ma'lumotlarining qolgan qismiga, ya'ni PRG ma'lumotlarining oxiriga va barcha CHR ma'lumotlariga teng qilib qo'ydim.


NESZIP fayl formati

Bu fayl NES tasviri boʻlib qoladi, chunki kerakli PRG maʼlumotlari va CHR maʼlumotlarining hech biri buzilmagan. Bu shuningdek ZIP faylidir, chunki barcha ofsetlar to'g'ri va ZIP ma'lumotlaridan keyingi barcha ma'lumotlar ZIP izoh sifatida e'lon qilinadi.

Keling, avval fayl NES ROM va ZIP fayl ekanligiga ishonch hosil qilish uchun uni sinab ko'raylik. Faylni NES ROM sifatida yuklab olgandan so'ng, men uning nusxasini yarataman.


NES ROM nusxasi

Fayl nomini o'zgartirish menga kengaytmani .nes dan .zip ga o'zgartirish imkonini beradi.


NES ROM nusxasining kengaytmasini .zip ga o'zgartirish

Kengaytmani .zip ga o'zgartirgandan so'ng, fayl ZIP fayl deb hisoblanadi.

Ushbu faylni paketdan chiqarganingizda, katalog yaratiladi.


Agar katalog tarkibiga nazar tashlasak, faylning manba kodini ko'rishimiz mumkin. Biz shunchaki NES ROM-ni oldik, uni ZIP faylga o'zgartirdik va uni muvaffaqiyatli chiqarib oldik.


ZIP fayl maʼlumotlari ofsetlarini yangilayotganda, men ZIP fayli bilan biroz zavqlanishga qaror qildim. Markaziy katalog fayli sarlavhalari ZIP fayl yaratilgan Xost operatsion tizimini ko'rsatadi, shuning uchun men ZIP fayli Atari ST da yaratilgan deb da'vo qilishga qaror qildim.

Rekursiya yarating

Aslida, bu qism eng oson. Ziplangan manba kodi NES ROM-ga osongina joylashtiriladigan darajada kichik ZIP faylga aylandi, shuning uchun men NES/ZIP-ni rekursiv qilishga qaror qildim. Manba kodli ZIP faylni yaratish jarayonini avtomatlashtirish yoki ZIP faylni NES ROMga joylashtirish jarayonini avtomatlashtirish uchun ko'p mehnat talab qilinmadi.

Keling, xulosa qilaylik

Ushbu loyiha kontseptsiyaning oddiy isboti bo'lib, ZIP-faylni NES ROM-ga joylashtirish imkoniyatini ko'rsatib, ZIP fayli va NES tasviriga aylanadigan faylni yaratadi va ma'lumotlarni kartrijga yozish imkonini beradi. uning barcha xususiyatlari saqlanib qolgan.

Men ushbu NES ROM-ni NES-NROM-128 PCB-lari bilan mos qilishni tanlaganim uchun (oddiyligi tufayli), ZIP faylini joylashtirish uchun PRG ma'lumotlarida etarli to'ldirish mavjud bo'lsa, jarayon deyarli har qanday NES ROM uchun ishlaydi.

Ushbu jarayonni boshqa NES ROM-larda amalga oshirish qo'shimcha ishlarni talab qilishi mumkin, chunki turli 6502 assemblerlari PRG ma'lumotlarini boshqacha tarzda cheklashlari mumkin. Men bu usulni bank almashinuviga ega bo'lgan murakkabroq NES o'yinlari bilan sinab ko'rmadim. Kattaroq ZIP fayllarni joylashtirish uchun PRG ma'lumotlar hajmiga to'ldirishni qo'shish qobiliyatini ham sinab ko'rmadim.

Shu bilan birga, sizga NES ROM ma'lumotlarida yashirin ZIP fayli bo'lgan NES kartrijini bersam hayron bo'lmang.

Manba kodi

Ushbu loyiha uchun manba kodi GitHub-da mavjud (yoki NES ROM faylini chiqarib olish orqali olish mumkin) va BSD 2-band litsenziyasi ostida litsenziyalangan.

Agar siz kompyuteringizga o'rnatgan bo'lsangiz antivirus dasturi mumkin kompyuteringizdagi barcha fayllarni, shuningdek, har bir faylni alohida skanerlang. Faylni sichqonchaning o'ng tugmasi bilan bosish va faylni viruslarga tekshirish uchun mos variantni tanlash orqali istalgan faylni skanerlashingiz mumkin.

Misol uchun, bu rasmda u ta'kidlangan my-file.nes fayli, keyin ushbu faylni sichqonchaning o'ng tugmasi bilan bosishingiz va fayl menyusidagi variantni tanlashingiz kerak "AVG bilan skanerlash". Ushbu parametrni tanlaganingizda, AVG Antivirus dasturi ochiladi va faylni viruslarga tekshiradi.


Ba'zida natijada xatolik yuz berishi mumkin dasturiy ta'minotni noto'g'ri o'rnatish, bu o'rnatish jarayonida duch kelgan muammo tufayli bo'lishi mumkin. Bu operatsion tizimingizga xalaqit berishi mumkin NES faylingizni to'g'ri dastur dasturiga bog'lang, deb atalmish ta'sir "fayl kengaytmalari assotsiatsiyasi".

Ba'zan oddiy Jnesni qayta o'rnatish NESni Jnes bilan to'g'ri bog'lash orqali muammoingizni hal qilishi mumkin. Boshqa hollarda, fayl assotsiatsiyasi bilan bog'liq muammolar kelib chiqishi mumkin yomon dasturiy ta'minot dasturlash dasturchi va qo'shimcha yordam uchun dasturchi bilan bog'lanishingiz kerak bo'lishi mumkin.


Maslahat: Eng so'nggi yamoq va yangilanishlarga ega ekanligingizga ishonch hosil qilish uchun Jnes-ni eng so'nggi versiyasiga yangilab ko'ring.


Bu juda aniq ko'rinishi mumkin, lekin tez-tez NES faylining o'zi muammoga sabab bo'lishi mumkin. Agar siz faylni elektron pochta ilovasi orqali olgan bo'lsangiz yoki uni veb-saytdan yuklab olgan bo'lsangiz va yuklab olish jarayoni to'xtatilgan bo'lsa (masalan, elektr uzilishi yoki boshqa sabab), faylga zarar yetishi mumkin. Iloji bo'lsa, NES faylining yangi nusxasini olishga harakat qiling va uni qaytadan ochib ko'ring.


Ehtiyotkorlik bilan: Shikastlangan fayl kompyuteringizdagi oldingi yoki mavjud zararli dasturlarga garov zarar etkazishi mumkin, shuning uchun kompyuteringizni yangilangan antivirus bilan yangilab turish muhimdir.


Agar sizning NES faylingiz kompyuteringizdagi apparat bilan bog'liq faylni ochish uchun kerak bo'lishi mumkin qurilma drayverlarini yangilash ushbu uskuna bilan bog'liq.

Bu muammo odatda media fayl turlari bilan bog'liq, bu kompyuter ichidagi apparatni muvaffaqiyatli ochishga bog'liq, masalan. ovoz kartasi yoki video karta. Misol uchun, agar siz audio faylni ochmoqchi bo'lsangiz, lekin uni ocholmasangiz, kerak bo'lishi mumkin ovoz kartasi drayverlarini yangilash.


Maslahat: Agar siz NES faylini ochmoqchi bo'lsangiz, olasiz .SYS fayli xato xabari, muammo bo'lishi mumkin buzilgan yoki eskirgan qurilma drayverlari bilan bog'liq bu yangilanishi kerak. Bu jarayonni DriverDoc kabi drayverlarni yangilash dasturlari yordamida osonlashtirish mumkin.


Agar qadamlar muammoni hal qilmasa va siz hali ham NES fayllarini ochishda muammolarga duch kelyapsiz, buning sababi bo'lishi mumkin mavjud tizim resurslarining etishmasligi. NES fayllarining ba'zi versiyalari kompyuteringizda to'g'ri ochilishi uchun katta hajmdagi resurslarni (masalan, xotira/RAM, ishlov berish quvvati) talab qilishi mumkin. Agar siz juda eski kompyuter uskunasidan va ayni paytda ancha yangi operatsion tizimdan foydalansangiz, bu muammo juda keng tarqalgan.

Bu muammo kompyuter vazifani bajarishda muammoga duch kelganda yuzaga kelishi mumkin, chunki operatsion tizim (va fonda ishlaydigan boshqa xizmatlar) NES faylini ochish uchun juda ko'p resurslarni sarflaydi. Nintendo (NES) ROM faylini ochishdan oldin shaxsiy kompyuteringizdagi barcha ilovalarni yoping. Kompyuteringizdagi barcha mavjud resurslarni bo'shatish NES faylini ochishga urinish uchun eng yaxshi sharoitlarni ta'minlaydi.


Agar Siz yuqorida tavsiflangan barcha amallarni bajaring va NES faylingiz hali ham ochilmaydi, ishga tushirishingiz kerak bo'lishi mumkin uskunani yangilash. Aksariyat hollarda, apparatning eski versiyalaridan foydalanilganda ham, ishlov berish quvvati ko‘pchilik foydalanuvchi ilovalari uchun yetarli bo‘lishi mumkin (agar siz 3D renderlash, moliyaviy/ilmiy modellashtirish yoki protsessorni talab qiladigan ko‘p ishlarni qilmasangiz). intensiv multimedia ishi). Shunday qilib, ehtimol kompyuteringizda xotira yetarli emas(odatda "RAM" yoki tasodifiy kirish xotirasi deb ataladi) faylni ochish vazifasini bajarish uchun.

Siz o'zingiz uchun mos o'yinni topdingiz, uni eslab qolish va o'ynashni xohlaysiz. Siz uni yuklab oldingiz va endi sizda savol bor: kompyuterda dandy o'yinlarini qanday o'ynash?

Barcha dandy o'yinlari quyidagi formatda mavjud: NES. Bu formatni xuddi shunday ochish mumkin emas. NES formatini ochish uchun bizga kerak dandy emulyatorlari o'yinlar.

Ko'p dandy emulyatorlar mavjud, ammo ulardan faqat bir nechtasi qulay va oddiy.

Quyida dandy emulyatorlari keltirilgan, ularni havolani bosish orqali darhol yuklab olish mumkin.

O'zim uchun men foydalanadigan ikkita emulyatorni tanladim.

Birinchisi VirtuaNES 0.97e bo'lib, men deyarli barcha o'yinlar uchun foydalanaman.

Va ikkinchi Nestopia 1.40, men ko'p o'yinlarni ochish uchun foydalanaman.

Misol sifatida VirtuaNES 0.97e emulyatoridan foydalanib, men hozir tushuntiraman: kompyuterda qanday qilib o'yin o'ynash kerak?

Avval uni kompyuteringizga yuklab oling:

Keyin arxivni oching va ochilmagan VirtuaNES jildini oching.

Keyin "VirtuaNES.exe" faylini oching.

Uni ochganimizdan so'ng biz qora ekranni va yuqori qismida "Fayl (F)" yozuvini va hokazolarni ko'ramiz. Bu emulyator.

1-qadam. O'yinni oching.

O'yinni ochish uchun yuqoridagi "Fayl (F)" tugmasini bosing va "Ochish (O)" ni tanlang. Yoki shunchaki "Ctrl + O" klaviatura yorlig'ini bosing.

Oldimizda "Rom faylini ochish" oynasi paydo bo'ladi. Bu erda biz yo'lni ko'rsatamiz / ochmoqchi bo'lgan o'yinni tanlaymiz.

Va "Ochish" tugmasini bosing.

Ba'zi o'yinlarni ochganingizda, quyidagi oyna paydo bo'ladi:
"NES sarlavhasi noqonuniy bo'lgani uchun, odatdagidek ishlamaydigan narsa bo'lishi mumkin. Bajarasizmi?".

Ushbu oyna paydo bo'lganda, "Ha" tugmasini bosing.

Barcha dandy o'yini ochiq. Siz allaqachon o'ynashingiz mumkin.

2-qadam: boshqaruv elementlarini sozlash

Siz allaqachon o'ynashingiz mumkin, lekin qanday qilib? Biz boshqaruv tugmachalarini bilmaymiz. Keling, ularni o'rnatamiz.

Boshqaruvni sozlash uchun yuqoridagi "Option(C)" tugmasini bosing va "Controller(C)" ni tanlang.

Birinchi o'yinchining boshqaruv elementlarini sozlash uchun "Controller1" yorlig'i ochiq bo'lishi kerak.

Ikkinchi o'yinchi uchun "Controller2" yorlig'i.

Birinchi o'yinchi yorlig'ida ikkita ustunda "10FPS" tanlangan bo'lishi kerak.

O'zim uchun men quyidagi skrinshotda ko'rsatilgan boshqaruv tugmachalarini o'rnatdim. Ushbu boshqaruvni sozlash juda qulay.

Biz ikkinchi o'yinchi uchun xuddi shu tarzda o'rnatamiz, faqat boshqaruv tugmalari boshqacha.

Qadam 3. Faylni darhol va har doim oching

Dandy o'yini sichqonchani ikki marta bosgandan so'ng darhol ochilishi uchun, ya'ni uni bizning veb-saytimizdan yuklab oling, oching va siz allaqachon o'ynashingiz mumkin.

Siz o'yinni nes formatida ochishingiz kerak, keyin "Ro'yxatdan dasturni qo'lda tanlang" ni tanlang va "OK" tugmasini bosing.

"Ushbu turdagi barcha fayllar uchun foydalaning" yonidagi katakchani belgilang va "OK" tugmasini bosing.

Endi siz bizning saytimizdan yuklab olgan barcha o'yinlaringizni birdaniga ishga tushirishingiz mumkin.

Siz emulyatorni ochishingiz va "Fayl (F)" va hokazo tugmasini bosishingiz shart emas. Siz shunchaki o'yinni ochishingiz kerak.

Agar monitoringizda yozuvlar ko'rinmasa, kursorni o'yin ustiga olib borib, sichqonchaning o'ng tugmachasini bosishingiz kerak.

Keyin "Ochish" va "Dasturni tanlash" tugmasini bosing. Keyin "Browse" tugmasini bosing.

Emulyatorni tanlang va "Ushbu turdagi barcha fayllar uchun foydalaning" opsiyasi yonidagi katakchani belgilang.

"OK" tugmasini bosing va biz xavfsiz o'ynashimiz mumkin.

O'yinni to'xtatib turish uchun bo'sh joy tugmasini bosishingiz kerak, o'yinni davom ettirish uchun esa P tugmachasini bosishingiz kerak.

Doimiy ravishda bo'sh joy tugmachasini bosib, o'yin sekin harakat rejimida ishlaydi.

Agar o'yinni o'tkazayotganda uni yopishingiz kerak bo'lsa, keyin o'ynash uchun bo'sh vaqtingiz bo'lganda, o'yinni xuddi shu paytdan boshlab davom eting. Saqlash uchun S tugmachasini, o'yinni davom ettirish uchun esa L tugmasini bosishingiz kerak.