Super Mario Bros. ภาษาการเขียนโปรแกรมอะไร [ปิด]


65

Super Mario Bros. เป็นวิดีโอเกมที่โด่งดังที่สุดที่สร้างขึ้นและขายได้ 40.23 ล้านเล่ม http://en.wikipedia.org/wiki/List_of_best-selling_video_games

มันเขียนด้วยภาษาโปรแกรมอะไร ใครบ้างมีการอ้างอิงรหัสต้นฉบับ?


7
ฉันรู้สึกว่าเกม NES เก่า ๆ จำนวนมากเขียนขึ้นในชุดอุปกรณ์เฉพาะ
meagar

3
ความเป็นไปได้ที่ซ้ำกันของเกม8 บิตและ 16 บิตมีการพัฒนาอย่างไร

7
ไม่ใช่สิ่งที่ซ้ำกันเนื่องจากสิ่งนี้ขอตัวอย่างรหัสเฉพาะจากเกมที่ระบุ
AttackHobo

5
ฉันไม่เห็นคุณค่าของการมี "การเขียน X ภาษาอะไร" คำถามไม่ว่า X จะมีความน่าสนใจเพียงใดยกเว้นว่ามันมีความโดดเด่นเนื่องจากแพลตฟอร์มการพัฒนา นอกจากนี้ยังขอรหัสตัวอย่างเฉพาะของเกมที่ยังอยู่ภายใต้ลิขสิทธิ์ (และยังคงมีการจำหน่าย) โดยไม่มีแหล่งที่มาที่มีเจตนา

3
@ โหลด: ใช่ แต่โดยทั่วไปคุณไม่มีสิทธิ์ในการโพสต์ออนไลน์หรือดาวน์โหลดสำเนา (แม้ว่าคุณจะเป็นเจ้าของเกมด้วยตัวเอง) หรือเพื่อให้ผลงานดัดแปลงมาจากการอ่านโค้ดของคุณเอง

คำตอบ:


76

6502 ผู้ประกอบ

นี่คือหน้าฟอรัมเกี่ยวกับการแฮ็ค ROM http://forums.selectbutton.net/viewtopic.php?t=26956&sid=1a883209e1ba63877bcd58c007bb63ae

ควรมีการอ้างอิงรหัสใด ๆ ที่คุณต้องการเช่นกัน

โพสต์เล็กน้อยมีลิงค์ไปยังไฟล์ zip ที่มีรายการเหล่านี้ที่จำเป็นในการแก้ไข / แฮ็คเกม

  • ca65 - คอมไพเลอร์ชุด 6502จากhttp://www.cc65.org/
  • ld65 - linker 6502จากhttp://www.cc65.org/
  • smbdis.asm - ชุดถอดแยกชิ้นส่วน Super Mario Bros. ที่ครอบคลุม
  • smb.chr - กราฟิก Super Mario Bros. (ข้อมูล ROM อักขระ)
  • smb.hdr - ส่วนหัวของ Super Mario Bros. ROM (ส่วนหัว iNES)
  • MAKESMB.BAT - ไฟล์แบตช์ที่ฉันสร้างขึ้นโดยอัตโนมัติกระบวนการรวบรวม
  • 6502jsm.doc - สรุป 6502 คำแนะนำ

6
ว้าวคำตอบที่สมบูรณ์แบบ! Kudos
DFectuoso

31
ฉันสับสนด้วยคำตอบนี้เอง คุณมักจะชี้ไปที่ไฟล์ปฏิบัติการ (ROM) และอ้างว่ามันเขียนไว้ในชุดประกอบ ... เพราะมันถูกถอดประกอบ มันเป็นปฏิบัติการ แน่นอนมันสามารถถอดประกอบได้ โดยตรรกะนี้ทุกโปรแกรม C / C ++ ที่เคยเขียนถูกเขียนขึ้นจริงในการชุมนุม เพื่อพิสูจน์ว่าสิ่งนี้ถูกเขียนขึ้นในแอสเซมบลีคุณต้องแสดงให้เห็นว่านินเทนโดเขียนมันไว้ในการชุมนุมไม่ใช่ว่าคุณสามารถแยกไบนารีที่ปฏิบัติการได้
Nicol Bolas

52

เกม NES เกือบทั้งหมดถูกเขียนด้วยมือในชุดประกอบ 6502 เหมือนกับที่ใช้ใน Commodore 64, Apple] [e ฯลฯ น้อยมากที่เขียนด้วยภาษา C มีชื่อเสียงว่าช้ามากเพราะ NES เพียง 2Mhz และมีแรมบนเมนบอร์ด 2Kb (พร้อมหน้าต่าง 8Kb สำหรับตลับหมึกเพื่อแก้ไขเพิ่มเติม) ชุดประกอบที่ออกแบบมาเพื่อใช้ประโยชน์อย่างเต็มที่จากสถาปัตยกรรมเฉพาะของ NES นั้นมีประสิทธิภาพมากกว่า

หยุดและคิดเกี่ยวกับสิ่งนั้น ... เกมเช่น Super Mario Bros 3 และ Kirby's Adventure ใช้ความเร็ว 2Mhz เปรียบเทียบความร่ำรวยของพวกเขากับเกมในปัจจุบันที่กลืนกินกิกะเฮิร์ตซ์และ RAM นับร้อยเมกะไบต์ ...


3
@Lohoris ฉันเพิ่งเข้าสู่ระบบเพื่อโหวตความคิดเห็นนั้น และด้วยความประหลาดใจของฉันฉันทำไปแล้ว
NSAddict

5
ตัวอย่างของเกม NES ที่มีลิขสิทธิ์ซึ่งเขียนด้วยภาษา C คืออะไร
tgies

1
[จำเป็น]
Almo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.