NESMaker Coding Preview

davidpgil

Member
I have been doing Nerdy Nights tutorials at Nintendo Age and have so many fundamental questions about coding in 6502 ASM. I was wondering if NES Maker allows you to view the code that it generates when creating your game using the GUI. Does NESMaker allow you to do that?
 

Kasumi

New member
If you have fundamental questions about coding in 6502, you can feel free to ask them here. I also recommend reading and trying https://skilldrick.github.io/easy6502/

In GameEngineData/demo.txt is all code used to generate the ROM. (All generated files, and all engine files).

If you want to read NES Maker's engine code, it starts in GameEngineData/MainASM.asm
All other code files the program uses are included from there. For instance, on the third line is
Code:
.include "Routines\System\Header.asm"
".include" basically means copy/paste that entire file in place of this line. So you could open that file to see what it contains. And that file may include other files.

The NES Maker program primarily generates data, not code. This means that checking it out would not have much context to learn from without also reading the code included that's meant to use that data to accomplish a task.

The data is primarily exported to GameEngineData/GameData (most things in that folder), GameEngineData\ScreenData (most things in that folder) GameEngineData\ScreenData2 (most things in that folder), GameEngineData\Sound\AllSongs_WithSFX.asm, GameEngineData\Routines\Variables\UserVariables.asm, GameEngineData\Routines\InitializationScripts\hudVarInits.asm, GameEngineData\Routines\System\HandleLoadHud.asm, GameEngineData\Graphics\Backgrounds (most things in that folder). There might be more?

I don't know of a way to view specifically only these files from the GUI itself, but I'm not sure how helpful it'd be. It would be less helpful for learning than reading the non exported code starting at MainASM.asm. But even then, I don't think reading that will be that helpful to learn from either unless you already know 6502 and NES programming.
 

davidpgil

Member
Thank you.

I am aware of the Easy 6502 online "book". I was just hoping to have a more direct connection with learning NES 6502.

If I can ask general NES 6502 questions here that would be very helpful since this group is very responsive.
 

Kasumi

New member
I can certainly answer most 6502/NES questions, feel free to ask about anything you don't understand.

Just be aware 6502 is easy, and NES is hard. So I recommend learning 6502 first, then NES stuff. Also be aware NES 6502 doesn't have "decimal mode", which things that use 6502 usually have. Once you've learned 6502, the way to talk to NES hardware is reading from and writing to specific memory locations.

An example of this is that on easy6502, writing to memory locations $200 to $5ff will change the color of a pixel on its "screen". On NES that's just RAM. And on NES writing to $4014 will copy sprite position data which the console will draw, but on easy6502 that's just RAM.

So learning NES is just a matter of learning which memory locations do which things, but it's harder because there are so many "gotchas" about it. Like some of those memory locations can only written to at specific times or they'll glitch the screen. Beyond that's it's just regular 6502.
 
Top Bottom