Deep Dive: LoadChrData

Here’s a post about loading CHR data! NESMaker uses a macro, which in turn uses a subroutine, to load the graphic tiles into the PPU. In this post, I will dissect what NESMaker does under the hood exactly, while adding some context to how the NES loads tiles from the game into its picture processing unit.

Read more

Assembly 101: The status register

The 6502 registers youre probably most familiar with, are the accumulator and the X- and Y-registers. There are three more registers though, which you may not access directly through code, but are at least as important as the former three. In this post, I’ll explain all about the Status register, and how this works with other instructions. This is a somewhat longer post, so buckle up and dive in!

Read more

Assembly 101: Labels

Labeling memory addresses will save you a lot of hassle. It’s easier to remember and reference “Object_speed” rather than its physical memory address, which could be something like $0337. How does labeling work, when are labels applied, and what’s up with that “Label already defined” error message?

Read more

Assembly 101: Subroutines

When developing in Assembly, you will definitely have to use a subroutine or two. JSR and RTS are the two main instructions that make subroutines work. What is a subroutine, how does it work and what are the possible pitfalls? Read all about it here.

Read more

Deep Dive: NESmaker Summer Camp ’22

This is a news message more than an insightful post, but it absolutely belongs to the Deep Dive category. Starting on wedNESday, july 6th 2022, Joe Granato (founder and creator of NESmaker) is organizing a five weeks long online boot camp for NESmaker developers, going deeper into Assembly coding then ever. The main topic will be the Empty module, one that has been untouched in tutorials up until now.

Read more

FAQ: Why won’t my music import?

Good music and sound effects are what can set your game apart from the others. NESmaker uses ggsound as its sound engine, which works quite nicely together with text files, exported via tools like Famitracker and Famistudio. There are a few caveats though; not everything Famitracker and Famistudio supports, is supported by ggsound in general, or NESmaker’s implementation specifically. Are you getting errors upon importing music or exporting the ROM file, or do things sound off after exporting? Here are some of the most common errors, and a way to help you fix them.

Read more