
Kebanyakan orang bersukacita ketika mereka berhasil menghidupkan kembali barang-barang lama. Keinginan yang tak ada habisnya untuk menghidupkan kembali pengalaman pemuda menuntun kita dalam cara-cara yang sudah lama kita lupakan. Dan di tengah jalan, kadang-kadang kita menemukan ingatan yang terlupakan yang membangkitkan ingatan yang terlupakan lainnya yang memungkinkan kita untuk menghidupkan kembali saat-saat bahagia yang tidak pernah kita pikirkan selama bertahun-tahun, atau bahkan puluhan tahun. Seseorang kembali ke sekolah menengah, ke
mobil malam berjalan dengan volume radio ternyata sepenuhnya, mengembalikan deru mesin
Ford Windsor . Bagi mereka yang lahir di tahun 80-an dan 90-an, gim semacam itu dapat memicu gim video. Siapa yang dapat melupakan pertemuan pertama dengan klip asisten dari Microsoft Office, musik elegan dari Final Fantasy, atau
naik-turun-bawah-kiri-kanan-kiri-kanan-ba-pilih-mulai ?
Kemajuan dalam teknologi prosesor telah memungkinkan kami untuk menghabiskan kembali waktu dengan permainan favorit kami melalui emulator - program yang meniru prosesor komputer lama. Game diunduh dari chip ROM ke file. File-file ini kemudian dapat diunduh ke emulator, dan memainkan game seolah-olah Anda sedang memainkannya di sistem yang asli.
NES Zapper internalTeknologi adalah hal yang luar biasa. Itu memungkinkan kita untuk bergerak maju dan melakukan hari ini apa yang tidak mungkin terjadi kemarin. Namun, dalam beberapa kasus, paradigma ini salah. Salah satunya adalah konsol game NES, Nintendo Entertainment System, dan pengontrol senapannya, Zapper. Pada suatu waktu, NES menjadi konsol game paling populer, dan untuk alasan yang baik. Insinyur, programmer, dan pakar audio Nintendo telah melahirkan beberapa video game terbaik yang pernah dibuat. Sayangnya, beberapa game ini tidak dapat dimainkan di emulator Raspberry Pi favorit Anda, karena Zapper tidak kompatibel dengan monitor digital modern. Tidak mungkin ada orang yang bisa melupakan betapa asyiknya bermain
Duck Hunt . Game ini dibundel dengan semua sistem NES, jadi kami semua memainkannya. Tetapi nostalgia yang terkait dengannya terkubur karena fitur teknologi yang belum terselesaikan.
Saya akan memberi tahu Anda, sebagai peretas untuk peretas - ini tidak bisa lagi ditoleransi. Jadi pertama-tama kita akan melihat bagaimana Zapper bekerja dan mengapa itu tidak bekerja dengan tampilan digital. Lalu kita akan memikirkan cara memperbaikinya.
Masalah
Pistol Zapper hanyalah fotosel dengan sakelar. Ketika pelatuk (sakelar) ditekan, NES melakukan manipulasi tertentu dengan layar untuk memahami di mana senjata diarahkan. Yang mana - kita akan bahas nanti. Tetapi pertama-tama kita perlu memahami bahwa mereka hanya bekerja pada TV
CRT analog. Jika Anda menghubungkan emulator ke TV semacam itu, Anda tidak akan mengalami masalah. Masalahnya adalah tidak ada yang memiliki TV CRT. Semua memiliki TV layar datar digital dan monitor. Saat terhubung ke monitor seperti itu, game tidak akan berfungsi. Kita perlu memahami mengapa demikian.
Membongkar Mitos
Ada banyak kebingungan tentang bagaimana NES tahu ke mana arah Zapper, bahkan di antara orang-orang yang sedikit berpengalaman dalam bidang elektronik. Beberapa dari mereka mempertimbangkan, dan terus menyebarkan mitos ini, bahwa NES membaca garis pemindaian dari CRT. CRT menarik garis pindai dari atas ke bawah layar secara berkala. Dengan membandingkan waktu mulai gambar dan waktu ketika Zapper melihat garis, NES dapat mengetahui di mana Zapper menunjuk. Dan karena monitor modern menunjukkan semua garis pada saat yang sama, tidak mungkin untuk menghitung di mana tepatnya titik Zapper. Mungkin saja beberapa pistol fotosel lama memang berfungsi, tetapi NES tidak berfungsi seperti itu. Tentu saja
Bagaimana NES Zapper Bekerja
Sistemnya cukup rumit. Saat Anda menekan pelatuk, NES menggambar bingkai hitam pekat di TV. NES menarik 60 frame per detik, jadi satu frame ada di layar sekitar 0,0166, atau 17 ms. Dalam bingkai berikutnya, sebuah persegi panjang putih muncul di tempat bebek, dan awalan menginterogasi keadaan fotosel di pistol. Output dari fotodioda sangat berbeda tergantung pada apakah itu ditujukan pada layar hitam atau persegi panjang putih. Dan semua ini terjadi selama demonstrasi dua frame, 34 ms. Manusia nyaris tidak memperhatikannya. Bingkai berikutnya menarik bidang bermain lagi, dan hit atau miss dihitung ke arah Anda. Cerdik!
"Tapi, hei, bagaimana sistem ini bekerja ketika ada dua gol di layar?" Pertanyaan yang bagus Insinyur NES menangani masalah ini hanya dengan mengulang seluruh proses. Bingkai pertama akan berwarna hitam, diikuti oleh bingkai dengan persegi panjang putih di tempat satu target dan survei fotosel. Jika ada target lain di layar, maka frame ketiga akan dengan persegi panjang di sekitar target kedua. Ketiga frame membutuhkan sekitar setengah detik, sehingga Anda tidak akan memiliki kesempatan untuk menembak dua bebek sekaligus. Anda hanya bisa menembak satu, dan teknik ini membuat NES tahu yang mana.
"Jika NES hanya melakukan jajak pendapat tentang keadaan fotosel, dapatkah saya mengarahkan pistol ke cahaya terang dan merekam pukulan saya setiap waktu?" Pertanyaan bagus lainnya. Insinyur NES menyingkirkan penipuan semacam itu, menginterogasi keadaan fotosel bahkan selama penampilan bingkai hitam pertama. Jika fotosel melihat sesuatu selain layar hitam, awalan akan menghitung Anda ketinggalan. Ada desas-desus bahwa dalam versi paling awal permainan kesalahan ini tidak diperbaiki, tetapi sejauh ini belum ada yang mampu menunjukkan bug seperti itu.

Lain melihat masalah
Sekarang, mengetahui cara kerja Zapper, kita bisa beralih ke memecahkan masalah dengan monitor digital. Jika permainan hanya mengukur perbedaan antara hitam dan putih, maka pistol harus bekerja dengan baik pada monitor digital. Tapi itu jelas tidak berhasil. Beberapa orang berpendapat bahwa fotosel sensitif terhadap radiasi inframerah dari CRT, dan monitor digital tidak memancarkan sinar inframerah. Tapi lihat video ini: Zapper bekerja dengan sangat baik!
[Video menunjukkan Zapper yang dimodifikasi / kira-kira. perev.]Kita tahu bahwa garis pindai tidak ada hubungannya dengan itu, dan bahwa Zapper dapat membedakan antara kontras antara putih dan hitam pada layar digital. Kita dapat menyimpulkan bahwa masalah kita terkait dengan waktu. Rupanya, CRT dapat menampilkan gambar lebih cepat daripada kolega digital. Dalam NES, kebutuhan untuk memeriksa persegi panjang putih setelah 16 ms terprogram. Jika layar digital Anda tidak dapat memproses output NES dengan kecepatan yang memadai, maka konsol akan mencari persegi panjang putih saat game masih terlihat di layar.
Resolusi keluaran NES adalah 256 x 240 piksel. Monitor digital perlu mengatur skala setiap frame ke resolusi yang berfungsi. Proses ini menghasilkan penundaan yang dapat mencapai hingga 70 ms, jauh melebihi angka kami 16 ms.
Bagaimana cara memperbaikinya
Itu tidak akan mudah. Jika monitor digital sifatnya terlalu lambat, satu-satunya solusi adalah memperlambat SEN.
Opsi 1: kurangi kecepatan jam
Kita semua mendengar tentang overclocking prosesor melalui peningkatan frekuensi clock. Bagaimana dengan pengereman? Bisakah kita memperlambat waktu dalam prosesor NES tanpa overclocking ke sebagian kecil dari kecepatan cahaya? Permainan perlu berjalan dengan kecepatan normal, tetapi ketika pelatuk ditekan, ia beralih ke operasi yang lebih lambat dan, pada kenyataannya, meningkatkan waktu tunda. Ingat bahwa NES menampilkan layar hitam selama 16 ms, dan kemudian menggambar persegi panjang putih. Dengan memperlambat prosesor, kita dapat meningkatkan penundaan ini dan memberikan waktu reaksi monitor digital.
Opsi 2: mengedit ROM
ROM hanya dapat diedit dalam hex editor. Bagaimana jika kita mempelajari emulator dan menemukan di tempat apa nilai delay diatur setelah pelatuk ditekan? Kami hanya bisa membuatnya lebih besar, dan berharap kami tidak merusak apa pun.
Opsi 3: opsi Anda
Sekarang setelah Anda tahu cara kerja NES Zapper, dan mengapa NES Zapper tidak bekerja dengan monitor digital modern, Anda setengah jalan untuk menyelesaikan masalah ini dan melepaskan nostalgia yang telah dirampas oleh nasib teknologi yang kejam. Apa yang akan Anda lakukan untuk membuat Zapper bekerja dengan monitor digital dan menjadi pahlawan Internet?
Skema kerja tidak begitu rumit - yang pasti kita semua bisa bersama-sama mencari tahu bagaimana membuat Zapper berhenti menembak idle di dunia digital kita. Bagikan solusi Anda di komentar.
Artikel asli