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 어셈블러

다음은 ROM 해킹에 대한 포럼 페이지입니다. 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-종합 슈퍼 마리오 브라더스 분해
  • smb.chr-슈퍼 마리오 브라더스 그래픽 (문자 ROM 데이터)
  • smb.hdr-Super Mario Bros. ROM 헤더 (iNES 헤더)
  • MAKESMB.BAT-컴파일 프로세스를 자동화하는 배치 파일입니다.
  • 6502jsm.doc-6502 명령어 요약.

6
와우, 정답! Kudos
DFectuoso

31
나는이 대답에 혼란스러워한다. 기본적으로 실행 파일 (ROM)을 가리키고 있으며 어셈블리에서 작성되었다고 주장하고 있습니다. 실행 파일입니다. 물론 분해 할 수 있습니다 . 이 논리에 의해 지금까지 작성된 모든 C / C ++ 프로그램은 실제로 어셈블리로 작성되었습니다. 이것이 어셈블리로 작성되었음을 증명하려면 실제로 Nintendo 가 어셈블리로 썼다는 것을 보여 주어야 하며 실행 바이너리를 분해 할 수는 없습니다.
Nicol Bolas

52

거의 모든 NES 게임은 Commodore 64, Apple] [e 등]에서 사용 된 것과 같은 6502 어셈블리로 수작업으로 작성되었습니다. 2Kb의 온보드 RAM이 있습니다 (카트리지가 더 많이 패치 할 수있는 8Kb 창이 있음). NES의 독특한 아키텍처를 최대한 활용하도록 설계된 신중한 어셈블리는 훨씬 더 효과적이었습니다.

Super Mario Bros 3 및 Kirby 's Adventure와 같은 게임은 2Mhz에서 실행되었습니다. 기가 헤르츠와 수백 메가 바이트의 RAM을 삼키는 오늘날의 게임이 얼마나 풍부한 지 비교해보십시오.


3
@Lohoris 방금 그 댓글을 투표에 로그인했습니다. 그리고 놀랍게도, 나는 이미
NSAddict

5
C로 작성된 라이센스 NES 게임의 예는 무엇입니까?
tgies

1
[인용 필요]
Almo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.