NES oyunlarını araştırmak için araçlar oluşturma. NES'in dosya uzantısı nedir? Bilgisayarım dosya uzantılarını göstermiyor, ne yapmalıyım?

- Uzantı (format), dosyanın sonunda, son noktadan sonra gelen karakterlerdir.
- Bilgisayar dosya türünü uzantısına göre belirler.
- Windows varsayılan olarak dosya adı uzantılarını göstermez.
- Dosya adında ve uzantısında bazı karakterler kullanılamaz.
- Tüm formatlar aynı programla ilgili değildir.
- NES dosyasını açmak için kullanılabilecek tüm programlar aşağıda bulunmaktadır.

Jnes, Dandy oyun konsolu için en basit emülatörlerden biridir ve bu konsoldaki çoğu oyunu desteklemenin yanı sıra bir dizi ek özellik içerir. Jnes emülatörü, diğer emülatörlerde nadir görülen çevrimiçi oyunu destekler. Bu da sizin ve ikinci joystick'te oynayacak arkadaşınızın oyundan keyif almasını sağlar. Ayrıca Jnes programı hafif silah emülasyonunu da destekler. Bunu simüle etmek için normal bir bilgisayar faresi kullanılır. Ayrıca Jnes programının çalışması için herhangi bir ek modül veya program kurmanıza gerek yoktur ve yardımcı programın kendisi tek bir dosyadan oluşur...

Nestopia, çok sayıda farklı özelliği destekleyen ve net bir kullanıcı arayüzü sunan en güçlü Dendy konsol emülatörlerinden biridir. Büyüklüğü olasılıkların bolluğunu gösterir. Diğer NES emülatörlerinin boyutu çok daha küçük olma eğilimindedir. Program, oyunu kısayol tuşlarını kullanabileceğiniz herhangi bir yere kaydetmenize olanak tanır. Buradaki ayırt edici özellik, programın kayıtlı oyunlarınız için çok sayıda slot sağlamasıdır ve bu, her oyuncu için faydalıdır. Ayrıca bu konsol için oyunların depolandığı tüm formatları destekliyor ve evet'ten bahsediyoruz...

FCEUX, Dendy konsolu için bir emülatördür ve oyunları bu konsoldan kişisel bilgisayarlarda çalıştırmanıza olanak tanır. Bu emülatörün anlaşılır bir kullanıcı arayüzü ve birkaç ek özelliği vardır. Örneğin emülatör, oyunu kaydetmenize olanak tanır, oyun çubuklarıyla çalışmayı destekler ve ayrıca 2 oyun çubuğunu veya aynı klavyenin farklı bölümlerini kullanarak ağ üzerinden bir ortakla veya bölünmüş ekran modunda oynamanıza olanak tanır. Ancak, doğruyu söylemek gerekirse, klavyede aynı anda birden fazla tuşa basmanın her zaman mümkün olmadığını ve bu nedenle klavyede çalmanın daha az rahat olduğunu belirtmek isteriz.

Ve aynı zamanda bir ZIP dosyası. Aynı anda hem NES ROM hem de ZIP dosyası olarak tamamen işlevseldir.

Bu ZIP dosyasında ne var? ROM'un kaynak kodu.

Bu kaynak kodunu derlerseniz ne olur? Aynı zamanda NES ROM'un kaynak kodunu içeren bir ZIP dosyası olan bir NES ROM oluşturacaktır.

Başlatılan ROM

Bu NES ROM, bir NES kartuşuna "yazılabilir" ve NES üzerinde çalışacaktır. Kartuştaki tüm verileri dönüştürseniz bile NES görüntüsü yine de bir ZIP dosyası olacaktır.

İlham kaynağı

PoC||GTFO'nun 0x14. sayısı hem PDF, hem ZIP dosyası hem de NES ROM'du. Tymkrs için sıfırdan bir NES oyunu yaratmam konusunda bana ilham veren de bu sürümdü.

Aynı zamanda bir ZIP dosyası olan NES ROM'u oluşturmak için kullandığım yöntem, 0x14 PoC||GTFO sayısında kullanılan yöntemle aynı DEĞİLDİR. Yöntemim, ZIP dosyasını NES ROM'a yerleştirir ve ZIP dosyasındaki verileri korurken NES görüntüsünü kartuşa yazmanıza olanak tanır. PoC||GTFO tarafından kullanılan yöntemde, ZIP dosyası verileri NES ROM dosyasının dışında depolanır, bu nedenle PoC||GTFO'nun 0x14 sürümü, ZIP dosyası verilerinin kayıtlı olduğu bir kartuşa yazılamaz.

NES ROM Dosya Formatı

Bu NES görüntüsü iNES dosya formatını kullanır. iNES dosya formatı aslında oldukça basittir.

ROM'un başlangıcında, emülatörlerin NES görüntü verilerini anlayabilmesi için NES ROM hakkında biraz bilgi veren bir iNES başlığı vardır. iNES başlığının ardından NES ROM yazılım mantık verileri olan PRG verileri gelir. Daha sonra CHR verileri, yani arka plan döşemeleri ve hareketli görüntüler gelir. PRG'deki tüm boş alan doldurulmuştur ve PRG verilerinin sonunda birkaç bayt olabilir (bu NES ROM'da, PRG verilerinin sonunda değiştiremediğim 6 gerekli bayt vardır).


iNES Dosya Formatı

ZIP dosya formatı

ZIP dosyalarının oldukça fazla bileşeni vardır, bu nedenle bizim için önemli olan parçalara odaklanacağız.

Bir ZIP dosyasında bulunan her dosya ve dizin için bir Merkezi Dizin Dosya Başlığı bulunur. Herhangi bir merkezi dizin dosyası başlığı, ZIP dosyasındaki 0x504B0102 başlık imza baytları aranarak bulunabilir. Önemli bilgi parçası Yerel Başlık Dengesidir çünkü ZIP dosyasını NES ROM'a gömdüğümüzde her bir konumu değiştireceğiz.


ZIP Merkezi Dizin Dosya Başlığı Formatı

ZIP dosyaları, dosyanın sonuna giderek ve Merkezi Dizin Kaydı Sonu imzasının 0x504B0506 baytına ulaşana kadar başlangıca doğru ilerleyerek başlangıç ​​ve bitişlerini belirler. ZIP dosyasını NES ROM'a gömerken Merkezi Dizin girişinin sonundaki Merkezi Dizin Ofsetini güncellememiz bizim için önemlidir. Ayrıca ZIP dosyası yorumunun uzunluğunu (ZIP Dosyası Yorum Uzunluğu) da belirtebiliriz ve ZIP dosyası verilerinin bitiminden sonraki bu bayt sayısı, ZIP dosyası yorumu olacaktır.


ZIP Merkezi Dizin Girişi Sonu Formatı

ZIP dosyasını NES ROM'da gizleme

PRG verilerinde yeterli dolgu bulursak, bu boş verileri bir ZIP dosyasıyla değiştirebiliriz. NES ROM'umda, PRG verilerinin sonundan ZIP dosyasını gömmek için yeterli alana sahip olana kadar dolgu baytlarını saydım ve ZIP dosyasını gömmeye başladığım NES ROM'un ne kadarına kadar kaydettim. Daha sonra, NES görüntüsünde ZIP dosyasının başladığı mesafeyi ekleyerek tüm ZIP dosyası veri uzaklıklarını güncelledim. Daha sonra ZIP dosyasının yorum uzunluğu boyutunu, NES ROM verilerinin geri kalanının boyutuna, yani PRG verilerinin ve tüm CHR verilerinin sonuna eşit olacak şekilde ayarladım.


NESZIP dosya formatı

Gerekli PRG verilerinin ve CHR verilerinin hiçbiri bozulmadığından bu dosya bir NES görüntüsü olarak kalır. Aynı zamanda bir ZIP dosyasıdır çünkü tüm uzaklıklar doğrudur ve ZIP verisinden sonraki tüm veriler bir ZIP yorumu olarak bildirilir.

Hem NES ROM hem de ZIP dosyası olduğundan emin olmak için önce dosyayı test edelim. Dosyayı NES ROM olarak indirdikten sonra bir kopyasını oluşturuyorum.


NES ROM'un kopyası

Dosyayı yeniden adlandırmak, uzantıyı .nes'ten .zip'e değiştirmeme olanak tanıyor.


NES ROM kopyasının uzantısını .zip olarak değiştirin

Uzantıyı .zip olarak değiştirdikten sonra dosya bir ZIP dosyası olarak kabul edilir.

Bu dosyayı açtığınızda bir dizin oluşturulur.


Dizinin içeriğine baktığımızda dosyanın kaynak kodunu görebiliriz. NES ROM'u aldık, ZIP dosyası olarak yeniden adlandırdık ve başarıyla çıkardık.


ZIP dosyası veri uzaklıklarını güncellerken ZIP dosyasıyla biraz eğlenmeye karar verdim. Merkezi dizin dosyası başlıkları, ZIP dosyasının oluşturulduğu Ana Bilgisayar İşletim Sistemini belirtir, bu nedenle ZIP dosyasının bir Atari ST'de oluşturulduğunu iddia etmeye karar verdim.

Özyineleme oluşturma

Aslında bu kısım en kolay kısımdır. Sıkıştırılmış kaynak kodu, bir NES ROM'a kolayca yerleştirilebilecek kadar küçük bir ZIP dosyası haline geldi, bu yüzden NES/ZIP'i yinelemeli yapmaya karar verdim. Kaynak kodu ZIP dosyası oluşturma sürecini otomatikleştirmek veya bir ZIP dosyasını NES ROM'a yerleştirme işlemini otomatikleştirmek çok fazla çalışma gerektirmedi.

Özetleyelim

Bu proje, bir ZIP dosyasının hem ZIP dosyası hem de NES görüntüsü haline gelecek bir dosya oluşturacak şekilde bir NES ROM'a gömülme yeteneğini gösteren ve verilerin bir kartuşa yazılmasına olanak tanıyan basit bir kavram kanıtıdır. tüm özellikleri korunmuştur.

Bu NES ROM'u NES-NROM-128 PCB'lerle uyumlu hale getirmeyi seçtiğim için (basitlikleri nedeniyle), PRG verilerinde ZIP dosyasını gömmek için yeterli dolguya sahip olduğu sürece süreç hemen hemen her NES ROM için çalışacaktır.

Bu işlemin diğer NES ROM'larda uygulanması ek çalışma gerektirebilir çünkü farklı 6502 derleyiciler PRG verilerini farklı şekilde girintileyebilir. Bu yöntemi banka geçişi olan daha karmaşık NES oyunlarında test etmedim. Ayrıca daha büyük ZIP dosyalarını barındırmak için PRG veri boyutuna dolgu ekleme yeteneğini de test etmedim.

Bütün bunlarla birlikte, size NES ROM verilerinin içinde gizli bir ZIP dosyası bulunan bir NES kartuşu verirsem şaşırmayın.

Kaynak

Bu projenin kaynak kodu GitHub'da mevcuttur (veya NES ROM dosyası çıkarılarak elde edilebilir) ve BSD 2 Maddeli Lisans kapsamında lisanslanmıştır.

Bilgisayarınıza yüklediyseniz antivirüs programı Olabilmek bilgisayarınızdaki tüm dosyaları ve her dosyayı ayrı ayrı tarayın. Herhangi bir dosyayı, dosyaya sağ tıklayarak ve dosyayı virüslere karşı taramak için uygun seçeneği seçerek tarayabilirsiniz.

Örneğin, bu şekilde vurgulanmıştır dosyam-dosyam.nes, daha sonra bu dosyaya sağ tıklayıp dosya menüsündeki seçeneği seçmeniz gerekir. "AVG ile tara". Bu seçeneği seçtiğinizde AVG Antivirus dosyayı açacak ve virüslere karşı tarayacaktır.


Bazen bunun sonucunda bir hata meydana gelebilir hatalı yazılım kurulumu Kurulum işlemi sırasında karşılaşılan bir sorundan kaynaklanıyor olabilir. Bu, işletim sisteminize müdahale edebilir NES dosyanızı doğru uygulama yazılımına bağlayın sözde etkileyen "dosya uzantısı ilişkileri".

Bazen basit Jnes'i yeniden yükleme NES'i Jnes'e doğru şekilde bağlayarak sorununuzu çözebilirsiniz. Diğer durumlarda, dosya ilişkilendirmeleriyle ilgili sorunlar şunlardan kaynaklanabilir: kötü yazılım programlama geliştirici ve daha fazla yardım için geliştiriciyle iletişime geçmeniz gerekebilir.


Tavsiye: En son yamalara ve güncellemelere sahip olduğunuzdan emin olmak için Jnes'i en son sürüme güncellemeyi deneyin.


Bu çok açık görünebilir, ancak çoğu zaman NES dosyasının kendisi soruna neden oluyor olabilir. Bir dosyayı e-posta eki yoluyla aldıysanız veya bir web sitesinden indirdiyseniz ve indirme işlemi kesintiye uğradıysa (elektrik kesintisi veya başka bir nedenden dolayı), dosya zarar görebilir. Mümkünse NES dosyasının yeni bir kopyasını almayı ve tekrar açmayı deneyin.


Dikkatlice: Hasarlı bir dosya, bilgisayarınızdaki önceki veya mevcut kötü amaçlı yazılımlara ikincil zarar verebilir; bu nedenle, bilgisayarınızı güncel bir antivirüs programıyla güncel tutmanız önemlidir.


NES dosyanız Bilgisayarınızdaki donanımla ilgili ihtiyacınız olabilecek dosyayı açmak için aygıt sürücülerini güncelle Bu ekipmanla ilgili.

Bu sorun genellikle medya dosyası türleriyle ilişkilendirilir, bilgisayarın içindeki donanımın başarıyla açılmasına bağlıdır; ses kartı veya video kartı. Örneğin, bir ses dosyasını açmaya çalışıyorsanız ancak açamıyorsanız, ses kartı sürücülerini güncelle.


Tavsiye: Bir NES dosyasını açmaya çalıştığınızda aşağıdaki mesajı alırsanız .SYS dosyası hata mesajı sorun muhtemelen şu olabilir bozuk veya güncel olmayan aygıt sürücüleriyle ilişkili güncellenmesi gereken bir şey. DriverDoc gibi sürücü güncelleme yazılımı kullanılarak bu işlem daha kolay yapılabilir.


Adımlar sorunu çözmezse ve hala NES dosyalarını açarken sorun yaşıyorsunuz; bunun nedeni şunlar olabilir: kullanılabilir sistem kaynaklarının eksikliği. NES dosyalarının bazı sürümlerinin bilgisayarınızda düzgün şekilde açılması için önemli miktarda kaynak (örneğin bellek/RAM, işlem gücü) gerekebilir. Oldukça eski bir bilgisayar donanımı ve aynı zamanda çok daha yeni bir işletim sistemi kullanıyorsanız bu sorun oldukça yaygındır.

Bu sorun, işletim sistemi (ve arka planda çalışan diğer hizmetler) nedeniyle bilgisayar bir görevi yerine getirmekte zorluk yaşadığında ortaya çıkabilir. NES dosyasını açmak için çok fazla kaynak tüketmek. Nintendo (NES) ROM Dosyasını açmadan önce bilgisayarınızdaki tüm uygulamaları kapatmayı deneyin. Bilgisayarınızdaki mevcut tüm kaynakları boşaltmak, NES dosyasını açmayı denemek için en iyi koşulları sağlayacaktır.


Eğer sen yukarıda açıklanan tüm adımları tamamladınız ve NES dosyanız hala açılmıyor, çalıştırmanız gerekebilir ekipman güncellemesi. Çoğu durumda, donanımın eski sürümlerini kullanırken bile, işlem gücü çoğu kullanıcı uygulaması için hala fazlasıyla yeterli olabilir (3D oluşturma, finansal/bilimsel modelleme veya yoğun multimedya çalışması). Böylece, büyük olasılıkla bilgisayarınızda yeterli bellek yoktur(genellikle "RAM" veya rastgele erişim belleği olarak adlandırılır) bir dosyayı açma görevini gerçekleştirmek için kullanılır.

Kendinize hatırlamak ve oynamak isteyeceğiniz uygun bir oyun buldunuz. İndirdiniz ve şimdi bir sorunuz var: bilgisayarda züppe oyunları nasıl oynanır?

Tüm züppe oyunlar şu formatta mevcuttur: NES. Bu format bu şekilde açılamaz. NES formatını açmak için ihtiyacımız var züppe emülatörler oyunlar.

Çok sayıda şık emülatör var, ancak kullanışlı ve normal olan yalnızca birkaçı var.

Aşağıda, bağlantıya tıklayarak hemen indirebileceğiniz züppe emülatörler bulunmaktadır.

Kendim için kullandığım iki emülatör seçtim.

Birincisi neredeyse tüm oyunlarda kullandığım VirtuaNES 0.97e.

Ve çoklu oyunları açmak için kullandığım ikinci Nestopia 1.40.

Şimdi VirtuaNES 0.97e emülatörünü örnek olarak kullanarak açıklayacağım: bilgisayarda züppe oyunlar nasıl oynanır?

Öncelikle bilgisayarınıza indirin:

Ardından arşivi açın ve açılan VirtuaNES klasörünü açın.

Daha sonra "VirtuaNES.exe" dosyasını açın.

Açtığımızda siyah bir ekran göreceğiz ve üstte “Dosya (F)” vb. Yazısını göreceğiz. Bu emülatördür.

Adım 1. Oyunu açın.

Oyunu açmak için üstteki "Dosya(F)" seçeneğine tıklayın ve "Aç(O)" seçeneğini seçin. Veya "Ctrl+O" klavye kısayoluna basmanız yeterlidir.

Karşımıza “Rom dosyasını aç” penceresi çıkacak. Burada yolu belirtiyoruz / açmak istediğimiz züppe oyunun kendisini seçiyoruz.

Ve "Aç" butonuna tıklayın.

Bazı oyunları açtığınızda şunu söyleyen bir pencere görünecektir:
"NES başlığı yasa dışı olduğu için normal şekilde çalışmayan bir şey olabilir. Çalıştırılacak mı?".

Bu pencere göründüğünde “Evet” düğmesine tıklayın.

Tüm züppe oyun açık. Zaten oynayabilirsiniz.

2. Adım: Denetimleri ayarlama

Zaten oynayabilirsin ama nasıl? Kontrol tuşlarını bilmiyoruz. Onları ayarlayalım.

Denetimi yapılandırmak için üstteki "Seçenek(C)"ye tıklayın ve "Denetleyici(C)"yi seçin.

İlk oyuncunun kontrollerini yapılandırmak için "Kontrolör1" sekmesinin açık olması gerekir.

İkinci oyuncu için "Kontrolör2" sekmesi.

İlk oynatıcı sekmesinde iki sütunda “10FPS” seçeneğini seçmiş olmalısınız.

Kendim için aşağıdaki ekran görüntüsünde gösterilen kontrol tuşlarını kurdum. Bu kontrol kurulumu oldukça uygundur.

İkinci oyuncu için de aynısını ayarladık, sadece kontrol tuşları farklı.

3. Adım. Dosyayı hemen ve her zaman açın

Dandy oyununun çift tıkladığınızda hemen açılması için yani sitemizden indirin, açın ve zaten oynamaya başlayabilirsiniz.

Oyunu nes formatında açmanız, ardından “Listeden bir programı manuel olarak seç” seçeneğini seçip “Tamam” düğmesine tıklamanız gerekiyor.

“Bunu bu türdeki tüm dosyalar için kullan” seçeneğinin yanındaki kutuyu işaretleyin ve “Tamam”a tıklayın.

Artık sitemizden indirdiğiniz tüm oyunları tek seferde başlatabilirsiniz.

Emülatörü açmanıza ve "Dosya(F)" vb. tuşlara basmanıza gerek kalmayacak. Sadece oyunu açmanız yeterli olacak.

Yazıtlar monitörünüzde görünmüyorsa, imleci oyunun üzerine getirmeniz ve farenin sağ tuşuna basmanız gerekir.

Daha sonra “Birlikte aç” ve “Program seç”e tıklayın. Daha sonra "Gözat"a tıklayın.

Emülatörü seçin ve "Bunu bu türdeki tüm dosyalar için kullan" seçeneğinin yanındaki kutuyu işaretleyin.

"Tamam"a tıkladığınızda güvenle oynayabiliriz.

Oyunu duraklatmak için boşluk tuşuna basmanız, oyuna devam etmek için ise P tuşuna basmanız gerekmektedir.

Boşluk çubuğuna sürekli basıldığında oyun yavaş çekim modunda çalışır.

Bir oyunu geçerken kapatmanız gerekiyorsa ve oynamak için boş zamanınız olduğunda aynı andan itibaren oyuna devam edin. Kaydetmek için S tuşuna, oyuna devam etmek için L tuşuna basmanız gerekiyor.