Kode baru ditemukan di NES Tetris
- Para peretas menemukan cara untuk memprogram ulang NES Tetris dari dalam game
- Metode ini dapat membantu para pemburu skor tinggi yang ingin menghindari crash saat permainan berakhir
Cara menjalankan kode
- Dengan memanfaatkan "kill screen" di NES Tetris, dimungkinkan untuk mengodekan perilaku baru ke versi Tetris yang berjalan di perangkat keras dan kartrid yang tidak dimodifikasi melalui metode kompleks untuk memanipulasi memori
- Glitch "arbitrary code execution" serupa juga pernah ditemukan di game seperti Super Mario World, Paper Mario, dan The Legend of Zelda: Ocarina of Time
- Metode dasar untuk memasukkan kode eksternal ke NES Tetris setidaknya telah dipublikasikan sebagai teori sejak 2021
- Metode ini menjelaskan secara rinci cara membuat Tetris mulai membaca tabel skor tingginya sebagai instruksi kode mesin
Serunya menggunakan port controller
- Crash di NES Tetris terjadi ketika pemroses skor game membutuhkan waktu terlalu lama untuk menghitung skor baru di antara frame
- Ketika jeda ini terjadi, sebagian kode kontrol terputus oleh rutinitas penulisan frame baru lalu melompat ke bagian RAM yang tidak dimaksud untuk mencari instruksi berikutnya
- Saat dijalankan di Famicom, konsol versi Jepang, pemain dapat memanipulasi lompatan ini berkat cara Tetris memproses input potensial
Mengoding di tabel skor tinggi
- Untuk metode kontrol lompatan dari Displaced Gamers, pemain harus menahan "atas" pada controller ketiga, dan kanan, kiri, serta bawah pada controller keempat
- Ini membuat kode lompatan dikirim ke area RAM yang menyimpan nama dan skor untuk daftar skor tinggi game, memberi pemain permukaan RAM yang lebih besar untuk dimanipulasi langsung
- Menempatkan "(G" di bagian target tabel skor tinggi dapat memaksa game untuk melompat ke area lain dari tabel skor tinggi
- Dari sana, nama dan skor mulai dibaca secara berurutan sebagai opcode untuk CPU NES
- Namun, karena hanya ada 43 simbol yang tersedia di area input nama dan hanya 10 digit yang dapat menjadi bagian dari skor tinggi, hanya sebagian dari instruksi opcode NES yang tersedia yang dapat "dikodekan" di tabel skor tinggi
- Karena tidak ada sistem penyimpanan cadangan baterai, peretas harus secara manual meraih skor tinggi ini dan memasukkan nama yang rumit setiap kali memulai Tetris
Opini GN⁺
- Sangat mengejutkan bahwa versi NES dari Tetris memiliki fungsi tersembunyi seperti ini. Tampaknya hal ini tidak ditemukan pada masanya, dan menarik bahwa baru terungkap sekarang setelah beberapa dekade berlalu.
- Menarik juga bahwa peretasan seperti ini dimungkinkan dengan memanfaatkan expansion port pada Famicom. Mungkin ini bukan fitur yang dimaksudkan Nintendo, tetapi ini menunjukkan keunggulan Famicom yang lebih kaya fitur dibanding NES.
- Gagasan memanfaatkan bug seperti ini untuk justru menyisipkan kode yang mencegah crash juga sangat cerdik. Secara teori, ini memungkinkan permainan terus berjalan sehingga akan sangat membantu tantangan skor tinggi.
- Namun, keharusan melakukan pengaturan yang rumit setiap kali game dimulai membuat metode ini tampak kurang praktis. Agar benar-benar berguna, sepertinya dibutuhkan cara yang lebih otomatis.
- Bagaimanapun, metode ini tampaknya lebih menarik bagi kalangan penggemar berat pemburu skor tinggi atau orang yang tertarik pada pemrograman daripada pengguna umum. Sulit dibayangkan menjadi sesuatu yang dipakai secara luas.
1 komentar
Komentar Hacker News
Ringkasan: