Results 1 to 14 of 14

Thread: SMB1 Program Code on Paper

  1. #1
    Cherry (Level 1)
    Join Date
    Oct 2010
    Location
    Milwaukie (Oak Grove), Oregon
    Posts
    351
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    1
    Thanked in
    1 Post

    Default SMB1 Program Code on Paper

    I wonder if anyone would happen to know if there is original paper documentation of the original program code for Super Mario Bros. (for the Nintendo Entertainment System) dating from 1985, with all the 6502 instructions included?

    I'm asking this because I wonder if the Spiny Egg behavior was written incorrectly here, too, as it was in the game's ROM.

    ~Ben

  2. #2
    Cherry (Level 1) Guntz's Avatar
    Join Date
    May 2011
    Location
    Canada
    Posts
    221
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    No, but there is source code created by someone who reverse engineered the SMB1 ROM by hand.

    Come join us on Micro-64

  3. #3
    Red (Level 21) Jorpho's Avatar
    Join Date
    Jul 2002
    Location
    We're all mad here
    Posts
    13,554
    Thanks Thanks Given 
    2
    Thanks Thanks Received 
    1
    Thanked in
    1 Post

    Default

    Quote Originally Posted by ColecoFan1981 View Post
    I wonder if anyone would happen to know if there is original paper documentation of the original program code for Super Mario Bros. (for the Nintendo Entertainment System) dating from 1985, with all the 6502 instructions included?

    I'm asking this because I wonder if the Spiny Egg behavior was written incorrectly here, too, as it was in the game's ROM.
    The question is unclear. How are you expecting "original paper documentation of the original program code, with all the 6502 instructions included" to differ from what is in the game's ROM?
    "There is much pleasure to be gained from useless knowledge." --Bertrand Russel (attributed)

  4. #4
    Mindbender The Adventurer's Avatar
    Join Date
    Aug 2012
    Location
    CT
    Posts
    828
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Quote Originally Posted by Jorpho View Post
    The question is unclear. How are you expecting "original paper documentation of the original program code, with all the 6502 instructions included" to differ from what is in the game's ROM?
    Game Roms don't include game code. What you get in the cart is compiled game data. Not the code syntax.
    New Comics for the Week of 10-03-12


  5. #5
    ServBot (Level 11) davidbrit2's Avatar
    Join Date
    Feb 2003
    Location
    Southwest Michigan, USA
    Posts
    3,860
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Nor do you get comments or other programmers' notes, which would be useful here.

  6. #6
    Red (Level 21) Jorpho's Avatar
    Join Date
    Jul 2002
    Location
    We're all mad here
    Posts
    13,554
    Thanks Thanks Given 
    2
    Thanks Thanks Received 
    1
    Thanked in
    1 Post

    Default

    Quote Originally Posted by The Adventurer View Post
    The question is unclear. How are you expecting "original paper documentation of the original program code, with all the 6502 instructions included" to differ from what is in the game's ROM?
    Game Roms don't include game code. What you get in the cart is compiled game data. Not the code syntax.
    But the "compiled game data" consists of 6502 instructions. It seems highly unlikely that something as old as SMB was written in some high-level language that was subsequently compiled rather than being written in 6502 assembly directly.

    I guess the question is whether there is commented assembly code that the original programmers used to produce the game, equivalent to the disassembled game data that has been commented by amateurs (which is why we know about the Spiny Egg behavior in the first place). I would be surprised if there was such documentation available for any commercially released NES game, let alone one from Nintendo.
    Last edited by Jorpho; 04-07-2015 at 09:17 PM.
    "There is much pleasure to be gained from useless knowledge." --Bertrand Russel (attributed)

  7. #7
    Mindbender The Adventurer's Avatar
    Join Date
    Aug 2012
    Location
    CT
    Posts
    828
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    That is true. I briefly tried programming for NES, and it was some form of Assembly.
    New Comics for the Week of 10-03-12


  8. #8
    Cherry (Level 1) CastlevaniaDude's Avatar
    Join Date
    Aug 2007
    Posts
    226
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    You know, I never really thought about how interesting that would be to look at until I read this thread.
    Adult Podcast for Kids
    Weekly geek podcast. Everything from movies to tv, comics to video games, pro wrestling, entertainment, and beyond, with a decidedly adult slant.

  9. #9
    Bell (Level 8)
    Join Date
    Dec 2008
    Posts
    1,672
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    5
    Thanked in
    5 Posts

    Default

    Quote Originally Posted by Jorpho View Post
    I would be surprised if there was such documentation available for any commercially released NES game, let alone one from Nintendo.
    I think one of the Color Dreams people released the source code to a few games, permitting freeware use of the game engines I think (but forbidding unauthorized reuse of the graphics, sound, etc.)

  10. #10
    Cherry (Level 1)
    Join Date
    Oct 2010
    Location
    Milwaukie (Oak Grove), Oregon
    Posts
    351
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    1
    Thanked in
    1 Post

    Default

    Quote Originally Posted by Jorpho View Post
    But the "compiled game data" consists of 6502 instructions. It seems highly unlikely that something as old as SMB was written in some high-level language that was subsequently compiled rather than being written in 6502 assembly directly.

    I guess the question is whether there is commented assembly code that the original programmers used to produce the game, equivalent to the disassembled game data that has been commented by amateurs (which is why we know about the Spiny Egg behavior in the first place). I would be surprised if there was such documentation available for any commercially released NES game, let alone one from Nintendo.
    Exactly. My intent of this thread was to find out whether or not people like Shigeru Miyamoto and Koji Kondo would have any rough drafts and final drafts of the SMB game code on paper prior to being programmed.

    I'm beginning to wonder if the Spiny Egg straight throwdowns aren't really an error. . . ???

    ~Ben

  11. #11
    ServBot (Level 11) davidbrit2's Avatar
    Join Date
    Feb 2003
    Location
    Southwest Michigan, USA
    Posts
    3,860
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    If they had intended the eggs to drop straight down all along, then there's a lot of completely pointless code in that routine, and that would be a lot harder to explain. I think it's pretty obvious from looking at the commented disassembly that the original intent was for angled throws, but whether it was changed to straight throws accidentally or intentionally is difficult to guess. The code certainly looks like accidental temporal coupling overwriting the register with the X velocity, but I can't imagine they wouldn't have seen that and fixed it in testing if it were unintentional.

  12. #12
    Cherry (Level 1)
    Join Date
    Oct 2010
    Location
    Milwaukie (Oak Grove), Oregon
    Posts
    351
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    1
    Thanked in
    1 Post

    Default

    Quote Originally Posted by davidbrit2 View Post
    If they had intended the eggs to drop straight down all along, then there's a lot of completely pointless code in that routine, and that would be a lot harder to explain. I think it's pretty obvious from looking at the commented disassembly that the original intent was for angled throws, but whether it was changed to straight throws accidentally or intentionally is difficult to guess. The code certainly looks like accidental temporal coupling overwriting the register with the X velocity, but I can't imagine they wouldn't have seen that and fixed it in testing if it were unintentional.
    Again, (I think) only "Dr." Miyamoto would know for sure. . .

    ~Ben

  13. #13
    Pac-Man (Level 10)
    Join Date
    Jul 2002
    Posts
    2,802
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    1
    Thanked in
    1 Post

    Default

    Quote Originally Posted by ColecoFan1981 View Post
    Exactly. My intent of this thread was to find out whether or not people like Shigeru Miyamoto and Koji Kondo would have any rough drafts and final drafts of the SMB game code on paper prior to being programmed.
    Miyamoto and Kondo aren't coders. The programming for Super Mario Bros. was farmed out to a contract studio.

  14. #14
    Insert Coin (Level 0)
    Join Date
    Jul 2008
    Posts
    141
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    The youtube videos that show the "original" behavior look much more difficult than the retail version. I wouldnt be surprised if they saw the bug and said keep it as it is.

Similar Threads

  1. Replies: 9
    Last Post: 07-11-2014, 08:01 AM
  2. anyone here got a game or program on paper tape?
    By tom in forum Classic Gaming
    Replies: 6
    Last Post: 07-05-2007, 07:19 AM
  3. FS: Contra and SMB1 Complete
    By Hounder in forum Buying and Selling
    Replies: 0
    Last Post: 02-27-2006, 12:46 PM
  4. Make your own SMB1 ? blocks
    By davidbrit2 in forum Classic Gaming
    Replies: 9
    Last Post: 06-11-2005, 02:43 PM
  5. Quickest to beat SMB1
    By 8bitnes in forum Classic Gaming
    Replies: 12
    Last Post: 10-14-2004, 11:20 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •