На каком языке программирования был написан Super Mario Bros.? [закрыто]


65

Super Mario Bros., безусловно, самая известная видеоигра, созданная на сегодняшний день, которая продала 40,23 миллиона копий. http://en.wikipedia.org/wiki/List_of_best-selling_video_games

На каком языке программирования это было написано? У кого-нибудь есть оригинальная ссылка на код?


7
У меня такое ощущение, что многие старые игры для NES были написаны на машинно-сборочной сборке.
Meagar


7
Не дубликат, так как этот требует конкретных примеров кода из конкретной игры.
AttackingHobo

5
Я не вижу смысла в том, чтобы иметь много слов "На каком языке был написан X?" вопросы, независимо от того, насколько заметен X, если только он не был заметен из-за платформы разработки. Кроме того, он запрашивает конкретные примеры кода игры, все еще защищенной авторским правом (и все еще продаваемой) без преднамеренной доступности исходного кода.

3
@Toad: Да, но вы, как правило, не имеете права публиковать его в Интернете, загружать копии (даже если вы сами владеете игрой) или создавать производные работы, основываясь на собственном прочтении кода.

Ответы:


76

6502 Ассемблер

Вот страница форума о взломе ПЗУ. http://forums.selectbutton.net/viewtopic.php?t=26956&sid=1a883209e1ba63877bcd58c007bb63ae

Он также должен содержать любые ссылки на код, которые вам нужны.

В нескольких постах внизу есть ссылка на zip-файл, содержащий эти элементы, необходимые для редактирования / взлома игры.

  • ca65 - сборщик 6502 из http://www.cc65.org/
  • ld65 - компоновщик 6502 из http://www.cc65.org/
  • smbdis.asm - комплексная разборка Super Mario Bros.
  • smb.chr - графика Super Mario Bros. (данные персонажа в ПЗУ)
  • smb.hdr - заголовок ROM Super Mario Bros. (заголовок iNES)
  • MAKESMB.BAT - созданный мной командный файл, который автоматизирует процесс компиляции.
  • 6502jsm.doc - сводка 6502 инструкций.

6
Вау, идеальный ответ! Престижность
DFectuoso

31
Я сам смущен этим ответом. Вы в основном указываете на исполняемый файл (ПЗУ) и утверждаете, что он был написан на ассемблере ... потому что он был разобран. Это исполняемый файл; конечно это можно разобрать . По этой логике каждая написанная на C / C ++ программа была написана на ассемблере. Чтобы доказать, что это было написано на ассемблере, нужно показать, что Nintendo написала на ассемблере, а не разбирать исполняемый двоичный файл.
Никол Болас

52

Почти все игры NES были написаны от руки в сборке 6502, так же, как и в Commodore 64, Apple] [e, и т. Д. Очень немногие, которые были написаны на C, имели репутацию ужасно медленных, потому что NES составляет всего 2 МГц. и имеет 2 КБ встроенной оперативной памяти (с окном 8 КБ для картриджа, в который можно вставить больше). Тщательная сборка, созданная для того, чтобы в полной мере воспользоваться уникальной архитектурой NES, была гораздо более эффективной.

Остановись и подумай об этом ... игры типа Super Mario Bros 3 и Kirby's Adventure работали на частоте 2 МГц. Сравните, насколько они богаты сегодняшними играми, которые поглощают гигагерц и сотни мегабайт оперативной памяти ...


3
@Lohoris Я только что вошел в систему, чтобы проголосовать за этот комментарий. И, к моему удивлению, я уже это сделал
NSAddict

5
Каков пример лицензионной игры NES, написанной на C?
tgies

1
[необходима цитата]
Almo
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.