Back in 2022, I promised I’d get back to you on the topic of macros versus subroutines. Sorry for the delay, but here it is! This posts recaps the last time I wrote about macros, then shows you how to use subroutines as an alternative.
macro
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.
Assembly 101: Branch out of range
For this post, I want to zoom in a little on the “Branch out of range” error that pops up every now and then. I’ll try and explain what it means, what’s the most likely cause, how to fix it, and why that fixes it.
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.
Deep Dive: Bankswitching
So, earlier on, I explained that NESmaker projects use Mapper 30, which has 32 banks of 16KB data. The NES console itself can only handle up to 32KB – or 2 NESmaker banks – of program data though. So how can we get access to all the data we have available on the cartridge? Well, this is where bankswitching comes in handy.
Deep Dive: GetActionStep
In the Deep Dive series, we’ll take apart a NESmaker assembly script and see what it does and how it works. In this first episode, we’ll take a look at the GetActionStep macro.
FAQ: What’s a Macro?
NESmaker users probably came across these little helpful bits and pieces of code: macros. What are they and why are they used?