Nesizm adalah emulator sistem hiburan Nintendo untuk seri Casio Prizm dari kalkulator grafis. Saat ini mendukung FX-CG10, FX-CG20, FX-CG50, dan Grafik 90+ E CASIO Kalkulator. Nesizm dibangun dari bawah ke atas dengan mempertimbangkan kinerja, sambil mempertahankan emulasi dan kompatibilitas yang akurat sedapat mungkin dengan caching yang cerdas, penyelarasan paksa, dan perakitan tertulis tangan jika diperlukan. Ini menjalankan sebagian besar judul pada 60 fps tanpa overclocking pada FX-CG50.
Proyek ini berakar pada minat saya pada teknologi pengembangan permainan awal, serta manfaat yang melekat dari Prizm sebagai platform. Ada basis pemasangan besar pemain yang sekarang dapat memainkan NES selama banyak jam masa pakai baterai dengan 0 input lag dari keyboard untuk ditampilkan.
Salin file nesizm.g3a (atau nesizm_cg10.g3a jika Anda memiliki fx-cg10) ke jalur root Casio Prizm Calculator Anda saat ditautkan melalui USB. NES ROM (.nes) juga harus masuk ke dalam direktori root. Simpan nama file untuk file -file ini harus sederhana dan kurang dari 32 karakter, seperti mygame.nes. Emulator memang mendukung format ROM NES 2.0, tetapi saya belum mengujinya secara luas.
Di sistem menu, gunakan tombol panah dan bergeser atau ikuti untuk memilih. Anda juga dapat menggunakan Alpha untuk mundur dengan cepat dari submenu. Bantuan untuk opsi yang dipilih saat ini adalah di kanan atas.
Saat berada di dalam game, tombol menu akan keluar ke layar Pengaturan, dan menekan menu lagi akan membawa Anda kembali ke OS kalkulator.
Anda dapat mengonfigurasi tombol Anda sendiri di menu Pengaturan, ini adalah default yang saya temukan dengan baik:
Perhatikan bahwa jika Anda mengatur pengaturan turbo ke 30 Hz, ini mungkin terlalu cepat untuk beberapa game yang menyebabkan mereka tidak berfungsi.
Jika Anda ingin bermain dengan pengontrol kedua, itu dapat dipetakan ke tombol lain pada kalkulator menggunakan opsi tombol remap di Options-> Controls. Namun, ini sangat rumit, jadi oleh Default Player 2 tidak dipetakan ke tombol apa pun.
Satu status save didukung per ROM, yang dapat dimuat/disimpan menggunakan tombol yang dapat diulangi yang disebutkan di bagian Kontrol. Ini default ke tombol 'S' dan 'L' pada kalkulator. File Simpan Negara akan disimpan ke penyimpanan utama Anda dengan ekstensi .fcs.
Status save ini umumnya saling terkait dengan FCEUX, emulator PC NES yang populer. Namun, secara default, FCEUX memungkinkan kompresi pada status simpan saat menabung, jadi untuk mengangkut status simpan kembali ke kalkulator Anda, Anda perlu menonaktifkan kompresi save state di FCEUX.
Jika sebuah ROM menggunakan fitur yang didukung baterai, seperti Legend of Zelda, memori ini secara otomatis akan disimpan saat Anda kembali ke menu utama dengan tombol menu. Perlu diingat bahwa menggunakan status save akan sepenuhnya menimpa data yang didukung baterai.
Opsi peregangan layar menggunakan laju penyegaran layar yang tinggi untuk menyisipkan sinyal, yang sangat mirip dengan cara kerja TV yang saling terkait. Ini bekerja dengan layar warna TFT, yang memiliki sedikit latensi warna pada prizm, menjadi sangat sulit untuk diperhatikan. Jika Anda mengatur opsi peregangan menjadi 4: 3, itu akan sangat cocok dengan proporsi yang dimaksudkan untuk game asli. Namun, membutuhkan FPS tinggi. Jadi visual emulator akan mulai terlihat berkilau jika Anda memiliki set opsi frameskip yang sangat tinggi. Secara umum, mengatur opsi Anda ke frameskip yang sangat tinggi seharusnya tidak perlu. Kehidupan baterai kalkulator tampaknya tidak terlalu dipengaruhi oleh bingkai lompatan.
3 palet termasuk untuk dipilih. Mereka semua merasa sedikit berbeda jadi pilihlah yang menurut Anda adalah yang terbaik. Tidak ada warna yang benar benar untuk NES dalam banyak hal, karena TV dari era semua dapat menafsirkan sinyal dari NES sedikit berbeda. Setelah Anda memilih palet, Anda dapat menyesuaikan kecerahan (ke tingkat yang sangat rendah jika Anda berada di lingkungan yang gelap) dan jumlah saturasi warna. Perlu diingat bahwa meningkatkan kecerahan hanya akan meningkatkan kecerahan relatif dari warna yang digunakan, bukan kecerahan layar Anda.
Jika Anda cenderung, palet khusus dapat digunakan. Ada 192 byte palet file yang dapat Anda temukan dengan mudah mencari online. Ubah nama palet yang Anda inginkan menjadi "custom.pal" dan sertakan di direktori root penyimpanan file Anda. Ini harus dapat dipilih sebagai opsi palet ke -4 pada saat ini.
Tersedia 4 opsi latar belakang. Latar belakang 'Warp' cocok dengan menu utama. Latar belakang TV memberikan latar belakang TV lama nostalgia, terutama dalam mode peregangan layar yang lebih kecil. Opsi Game BG Color akan cocok dengan warna palet latar belakang game yang saat ini dipilih. Penggunaan ini bervariasi per game tetapi bekerja dengan baik di beberapa, seperti pilihan latar belakang biru/hitam di Super Mario Bros.
Jam dalam game secara opsional dapat ditampilkan di sudut kanan bawah layar jika Anda perlu melacak waktu. Itu memang membutuhkan pengaturan, karena jam tidak umum digunakan dalam OS kalkulator. Atur jam Anda dengan aplikasi pihak ke-3, seperti G-Clock atau di dalam aplikasi utilitas GBL08MA yang sangat baik.
FPS juga dapat ditampilkan di sudut layar ini. Perlu diingat ini hanyalah bingkai yang ditarik dalam sedetik, bukan bingkai yang dilewati. Jadi jika ini mengatakan 40 fps dan opsi lompatan bingkai Anda diatur ke otomatis, emulator masih berjalan pada kecepatan 100%, tetapi melewatkan setiap bingkai ke -3 saat menggambar ke layar untuk menyimpan pemrosesan.
Emulator mendukung hampir semua game dengan mapper yang kompatibel tanpa masalah. Jika Anda menemukan permainan dengan masalah yang benar -benar signifikan, beri tahu saya.
Ini adalah tabel dukungan mapper. Emulator mendukung hampir semua Mappers NTSC dan PAL AS, tidak termasuk MMC5, yang mencakup 98% dari game yang dirilis secara komersial di wilayah tersebut. Dukungan Famicom Disk dan VS Sistem tidak direncanakan.
Nama Mapper | Penerbit | Nama | Penerbit | Nama | Penerbit |
---|---|---|---|---|---|
MMC1 | Nintendo | Axrom | Nintendo | Nanjing 163 | Nanjing |
MMC2 | Nintendo | Gxrom | Nintendo | Sunsoft 3 | Sunsoft |
MMC3 | Nintendo | Bnrom | Nintendo | Sunsoft 4 | Sunsoft |
MMC4 | Nintendo | Null / nrom | Beberapa | Sunsoft 5 | Sunsoft |
MMC6 | Nintendo | Mimpi warna | Mimpi warna | Rambo-1 | Tengen |
Cnrom | Nintendo | Nina-03/06 | Ave | Nina-1 | Irem |
Belum ada | Nintendo | Kamerica | Ya | JF-11/14 | Jaleco |
Tabel lengkap ROM dan pemetaan dapat ditemukan di sini, tapi saya tidak selalu memperbarui: https://docs.google.com/spreadsheets/d/1tfgiu6dodagvizsmy3flpsmzvifkiysoxi9uwl-rlry/edit?
Pal ROM berjalan pada frame rate yang berbeda 50 Hz dibandingkan dengan game dari AS dan Jepang (NTSC) yang berjalan pada 60 Hz. Ini, ditambah beberapa perbedaan waktu lainnya berarti mereka perlu ditiru secara berbeda. Sayangnya, sebagian besar file ROM untuk game PAL tidak secara akurat mengidentifikasi diri mereka sebagai memerlukan emulasi PAL. Dengan Nesizm, Anda dapat menjalankan permainan PAL dengan memasukkan (e) atau PAL (semua topi) dalam nama file ROM, seperti gamepal.nes
Kode Game Genie didukung melalui file terpisah per game. Jika Anda memiliki file teks dengan nama file "gamename.gg" di mana Gamename cocok dengan file ROM Anda dikurangi ekstensi NES, dengan kode Game Genie yang terpisah, emulator akan memuat dan menggunakan kode -kode tersebut ketika ROM dimuat. Anda akan disajikan dengan dialog di menu ketika ini berhasil terjadi. Saya merekomendasikan aplikasi utilitas oleh GBL08MA jika Anda ingin mengedit kode secara manual menggunakan editor teks pada kalkulator. Anda dapat menemukannya di https://github.com/gbl08ma/utilities
Jika Anda memiliki file TXT dengan nama yang sama dengan file ROM Anda, itu akan terlihat saat game dimuat di penampil FAQ melalui menu utama. Penampil FAQ akan mengingat posisi Anda sebelumnya saat Anda bermain. Arahkan FAQ dengan tombol panah, posisi Anda ditunjukkan melalui bilah gulir di sebelah kanan. Anda dapat melompat melalui peningkatan 10% file juga dengan Kunci 0-9.
Emulator memiliki dukungan penuh untuk suara. Suara itu adalah algoritma yang disetel halus untuk 1 bit suara disesuaikan lebih dari 500.000 kali per detik. Sayangnya rutinitas suara akan memperlambat emulasi sekitar 20%, tetapi dengan bingkai lewati ini tidak terlalu buruk. Anda juga dapat menggunakan utilitas seperti Ptune3 untuk overclock CG50 Anda untuk mendapatkan 60 fps dengan suara, tetapi saya tidak merekomendasikannya karena ini adalah pembuangan baterai. Aktifkan di menu suara di opsi. Untuk menggunakannya, Anda akan membutuhkan adaptor 2,5 mm (pria) hingga 3,5 mm (wanita). Ini dapat ditemukan dengan harga beberapa dolar di berbagai vendor online, tidak ada yang dibutuhkan mewah! Saya juga merekomendasikan melalui headphone telinga untuk menikmati sinyal suara.
Opsi kualitas tambahan tersedia yang lebih merupakan hal yang subyektif. Opsi kualitas akan mengurangi generator gelombang segitiga dan kebisingan berdasarkan generator DMC seperti NE asli, dan menambahkan filter low low ekstra untuk menghindari pergeseran cepat. Dalam praktiknya dengan suara satu bit, tampaknya tidak terlalu penting.
Repositori saya yang lain, PrizmsDK, diperlukan untuk membangun nesizm dari sumber. Masukkan klon Nesizm Anda di direktori SDK Projects.
Untuk membangun di atas mesin Windows, saya sarankan menggunakan file proyek menggunakan Visual Studio Community Edition, di mana saya telah mengatur NMAKE dengan baik. Untuk sistem lain, silakan merujuk ke dokumentasi Prizm SDK Anda tentang cara mengkompilasi proyek. Lihat Opsi Konfigurasi di Make-Devicerelease.bat.
Jika Anda menggunakan Visual Studio, sebuah proyek disertakan yang menggunakan Windows Simulator yang saya tulis yang membungkus fungsi OS Prizm sehingga kode dan emulator dapat dengan mudah diuji dan diulangi di dalam Visual Studio. Lihat kode prizmsim.cpp/h untuk detail tentang penggunaannya.
Nesdev Wiki, ditemukan di http://wiki.nesdev.com/ sangat berguna dalam pengembangan Nesizm. Syukur saya yang tulus kepada komunitas pengembang emulator yang mengumpulkan semua informasi yang saya butuhkan untuk menulis emulator di satu tempat.
FCEUX, ditemukan di http://www.fceux.com menyediakan alat debugging hebat yang memungkinkan saya untuk membandingkan dan membandingkan status emulator saya dengan mudah untuk permainan yang memiliki masalah kompatibilitas. Tunjukkan cinta pada mereka dengan menggunakan emulator mereka di PC!
Critor dari ti-planet.org untuk tulisannya yang sangat baik di Nesizm dan untuk komunitas Casio umum. Kegembiraannya menular!