1 poin oleh GN⁺ 2025-12-16 | Belum ada komentar. | Bagikan ke WhatsApp
  • Analisis reverse engineering terhadap sistem pendaratan kapal induk di Top Gun untuk NES mengungkap syarat penilaian pendaratan yang akurat
  • Agar pendaratan berhasil, dibutuhkan ketinggian 100~299, kecepatan 238~337, dan membidik lurus ke arah depan kapal induk
  • Tampilan “Alt. 200 / Speed 288” pada MFD di dalam game sebenarnya menunjukkan nilai tengah dari rentang yang diizinkan
  • Kecepatan dan ketinggian disimpan di memori dalam bentuk BCD (binary-coded decimal), dan fungsi penilaian dijalankan pada alamat tertentu
  • Ini merupakan contoh penguraian logika internal yang presisi pada game lama, berguna untuk pembelajaran analisis dan debugging game retro

Syarat Dasar Penilaian Pendaratan

  • Agar pendaratan berhasil, dibutuhkan ketinggian 100~299, kecepatan 238~337, dan arah yang tepat menuju kapal induk
    • Ketiga syarat ini semuanya diperiksa saat urutan pendaratan berakhir
  • Tampilan “Alt. 200 / Speed 288” pada layar game adalah nilai tengah dari rentang yang benar-benar diizinkan, sehingga cocok dijadikan target oleh pemain
  • Ketinggian dan kecepatan disesuaikan melalui input throttle dan sudut pitch, sedangkan arah tidak memiliki indikator terpisah dan hanya diberi umpan balik lewat peringatan “Right! Right!”

Struktur Memori dan Variabel Internal

  • Alamat memori utama dan isi yang disimpan
    • $40–$41: kecepatan (format BSD), rentang yang diizinkan 238–337
    • $3D–$3E: ketinggian (format BSD), rentang yang diizinkan 100–299
    • $FD: arah (Heading), dalam rentang -32 ~ +32, dan nilai 0–7 memungkinkan pendaratan
    • $9E: menyimpan hasil penilaian pendaratan, nilai 0 berarti berhasil
  • Kecepatan dan ketinggian disimpan sebagai BCD (Binary Coded Decimal) untuk menyederhanakan tampilan di layar
    • Contoh: 1234 disimpan dalam bentuk 0x1234 (desimal 4660)

Rutin Penilaian Pendaratan

  • Fungsi pada alamat $B6EA memeriksa status pendaratan dan mencatat hasilnya ke $9E
  • Rutin ini membandingkan ketinggian, kecepatan, dan arah secara berurutan; jika keluar dari syarat, ia mengembalikan nilai kode yang berbeda
    • Contoh: jika terlalu tinggi atau terlalu cepat maka kode 8, jika terlalu rendah atau terlalu lambat maka kode 4
  • Jika semua syarat terpenuhi, nilainya disetel ke LDX #00 dan diproses sebagai berhasil

Debugging dan Kode Cheat

  • Dengan kode Game Genie AEPETA, pendaratan selalu dinilai berhasil
  • Kode ini melewati rutin penilaian yang sebenarnya dan memaksa hasil dicatat sebagai status sukses

Kesimpulan

  • Sistem pendaratan di NES Top Gun bukan sekadar kontrol sederhana, melainkan tersusun dari logika penilaian berbasis angka yang akurat
  • Melalui reverse engineering, kita dapat memastikan dengan jelas struktur memori internal dan cara percabangan kondisi pada game retro
  • Sebagai contoh yang menunjukkan presisi desain game klasik, temuan ini sangat bernilai sebagai referensi untuk analisis logika game dan penelitian restorasi

Belum ada komentar.

Belum ada komentar.