ByteSize: AddValue

Welcome to ByteSize, a new category featuring small, infographic-like bits of information on NESmaker things, like macros, UI elements and more. This is the first category post, explaining how to use the AddValue macro.

Read more

Deep Dive: doLoadScreen

This episode of Deep Dive will touch upon doLoadScreen (and, subsequently, doLoadScreen2). These are huge subroutines, so we’re not gonne dissect them line by line. Instead, we’ll mainly go through the order in which things get done. This might explain why, for example, your HUD value doesn’t update, or a triggered tile is not being destroyed. Either way, let’s go!

Read more

Deep Dive: Object values

For this post, I’ll dive into the values NESmaker uses in its object system. I’ll zoom in on the object direction variable especially, and add a Markdown file with the other object values that are available.

Read more

FAQ: Can NESmaker do Zapper games?

A question I saw popping up from time to time, both in the Discord and on the forum, is if NESmaker supports the Zapper. That’s what prompted me to write up a tutorial on how to add Zapper support to a NESmaker game on the forums. This post is more or less a mirror of the existing forum topic.

Read more

Assembly 101: odd or even?

Do you want to check whether a certain variable is odd or even? This is fairly easy in Assembly: simply check if the lowest bit is odd or even, and you know that the entire byte is or isn’t as well. There are a few ways to code this though. In this post, I’ll briefly go through all methods, explain why they work and tell you my favorite way to do it.

Read more

Deep Dive: VBlank and NMI

Sometimes, you’ll want to stop code execution until the screen is done drawing. For instance, if you need to update more tiles on screen than the vBlank period is capable of, when you want to turn off the screen to do additional updates, or simply because you want a few frames of idle time in your game. There are two ways to do this, which NESmaker both applies. Let’s go into the details.

Read more