Writing NES Games! With Assembly!!

I’d like to take you on a stroll down memory lane and dig into the internals of the Nintendo Entertainment System (NES) to figure out how it works. While we’re there, we’ll see how to build a game for the NES using 6502 assembly with the help of a few modern tools. We’ll gain a new respect for ’80s developers and an appreciation for the high-level languages we have today!


!!Con 2017


Christian Joudrey


The original video was published with the Creative Commons Attribution license (reuse allowed).


Original video source:

Nguồn: https://lessismoresuccess.com/

Xem thêm bài viết khác: https://lessismoresuccess.com/game/

23 thoughts on “Writing NES Games! With Assembly!!

  1. Hahaha! As a developer I cannot help but think that "FCEUX" was intentionally used to make it phonetically sound like "F**k You" (FC-Eux). I usually name my custom apps with some sort of clever name or inside pun or put stuff like this in my code all the time

  2. Within 10 seconds, we all realized he was from Canada. Then immediately after he said "I'm from Canada"

  3. Neat and all, but I’m at 4.51, and how many times is he going to boast that he’s used to working with “high level language”

  4. My parents had zelda in the 80s and zelda.and still have the same games saved feom the 80s so it lasts

  5. Lot of respect for what so many developers had to go through and work around to get a game out for what sometimes may not been considered by many to be a good game.

  6. Currently studying for my exams (one of the core subjects is assembly). Next semester we are writing a big project in assembly. Seeing you excited about the process makes me excited as well. Nice video!

  7. I'm trying to do this with CrystalTile2 and HxD, but I can't seem to understand how to set the address that is the start of the actual program. I also can't seem to get the CHR ROM in the right area, which is also weird, especially because I have looked at many many ROMs with CrystalTile2 and they seem to be in the same place my CHR is. I would really appreciate help from anyone. (I am not paying 30 USD for an activation code for NESMaker. That is ridiculous.)

    Edit: I just copied the first three hundred bytes of code from Super Mario Bros to my nesgame.nes file, and deleted instructions (replace them with zeroes) until the game looped the stack. Then I would add the instruction that made it work from there. I changed the palette by first stopping the rendering system, putting in the palette address 3f00-3f1f in PPU_ADDR and stored the data I want at the address at PPU_DATA. Then I turned rendering back on, and it wasn't a 'blank' screen, it was a 'black' screen. nesdev helped me figure out the names of the ppu registers. Also you can use PPU_ADDR and PPU_DATA to change anything in the ppu ;).

    6502.org/tutorials/6502opcodes gives you the hex values for every instruction.

    First milestone 😀

  8. Hey Chris ! nice video! MTL represent 😉
    What would be the steps to achieve a remake of Little Samson game on a NES cartridge.
    Is there any tutorials on how to think graphics and animations for NES games?
    In 2 years I would like to show the world a game of mine… any cues and clues?

Leave a Reply

Your email address will not be published. Required fields are marked *