Bahasa pemrograman apa yang digunakan Super Mario Bros? [Tutup]

65

Super Mario Bros pasti videogame yang paling terkenal dibuat belum, menjual terik 40.230.000 eksemplar. http://en.wikipedia.org/wiki/List_of_best-selling_video_games

Apa bahasa pemrograman itu ditulis dalam? Apakah ada yang punya beberapa referensi kode asli?

Luca Matteis
sumber
7
Saya mendapatkan perasaan banyak game NES tua yang ditulis dalam perakitan mesin-spesifik.
meagar
7
Bukan duplikat, seperti yang satu ini meminta sampel kode tertentu dari permainan tertentu.
AttackingHobo
5
Saya tidak melihat nilai dalam memiliki banyak "Bahasa apa itu X ditulis dalam?" pertanyaan, tidak peduli seberapa X penting adalah, kecuali itu penting karena dari platform pengembangan. Juga, itu meminta sampel kode tertentu dari permainan masih memiliki hak cipta (dan masih dijual) tanpa ketersediaan sumber disengaja.
3
@ Memuat: Ya, tetapi Anda biasanya tidak memiliki hak untuk mempostingnya secara online, atau mengunduh salinan (bahkan jika Anda memiliki game itu sendiri), atau untuk membuat karya turunan berdasarkan dari membaca kode Anda sendiri.

Jawaban:

76

6502 Assembler

Ini adalah halaman forum tentang meretas ROM. http://forums.selectbutton.net/viewtopic.php?t=26956&sid=1a883209e1ba63877bcd58c007bb63ae

Itu harus berisi referensi kode yang Anda butuhkan juga.

Beberapa posting di bawah ada tautan ke file zip yang berisi item-item ini yang diperlukan untuk mengedit / meretas permainan.

  • ca65 - kompiler perakitan 6502 dari http://www.cc65.org/
  • ld65 - tautan 6502 dari http://www.cc65.org/
  • smbdis.asm - pembongkaran Super Mario Bros yang komprehensif
  • smb.chr - Grafis Super Mario Bros. (data ROM karakter)
  • smb.hdr - Header ROM Super Mario Bros (header iNES)
  • MAKESMB.BAT - file batch yang saya buat yang mengotomatiskan proses kompilasi.
  • 6502jsm.doc - ringkasan dari 6502 instruksi.
SerangHobo
sumber
6
Wow, jawaban sempurna! Kudos
DFectuoso
31
Saya sendiri bingung dengan jawaban ini. Anda pada dasarnya menunjuk ke sebuah executable (ROM) dan mengklaim bahwa itu ditulis dalam perakitan ... karena itu dibongkar. Ini adalah executable; tentu saja bisa dibongkar . Dengan logika ini, setiap program C / C ++ yang pernah ditulis sebenarnya ditulis dalam kumpulan. Untuk membuktikan bahwa ini ditulis dalam assembly, Anda harus benar-benar menunjukkan bahwa Nintendo menulisnya dalam assembly, bukan bahwa Anda dapat membongkar biner yang dapat dieksekusi.
Nicol Bolas
52

Hampir semua game NES ditulis tangan dalam 6502 assembly, sama seperti yang digunakan di Commodore 64, Apple] [e, dll. Sangat sedikit yang ditulis dalam C memiliki reputasi sebagai sangat lambat karena NES hanya 2Mhz dan memiliki 2Kb onboard RAM (dengan jendela 8Kb agar cartridge dapat menambal lebih banyak). Perakitan yang cermat yang dirancang untuk memanfaatkan sepenuhnya arsitektur khusus NES jauh lebih efektif.

Berhentilah dan pikirkan tentang itu ... game seperti Super Mario Bros 3 dan Kirby's Adventure dijalankan pada 2Mhz. Bandingkan seberapa kaya mereka dengan game hari ini yang menelan gigahertz dan ratusan megabita RAM ...

abadidea
sumber
3
@Lohoris Saya baru saja masuk untuk memberi suara pada komentar itu. Dan saya terkejut, saya sudah melakukan
NSAddict
5
Apa contoh dari permainan NES berlisensi yang ditulis dalam C?
tgies
1
[rujukan?]
Almo