Many NESmaker developers will encounter a weird glitch where the player object shows garbled graphics when a level loads. As soon as the player starts moving, everything seems all right. When does this happen, and how can it be fixed?
kevin81
Enhance! / FAQ: Why is my HUD not hidden?
A question that pops up a lot on the forums, is the Hide Hud flag not working, especially when using a scroll-based module like the Simple Platformer, Megametrovania, Brawler and Horizontal Shooter modules. What’s the deal with this?
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.
NES Architecture: the APU
Let’s talk about sound. The NES’ audio processing unit (or APU for short) to be exact. How does it work and what is it capable of doing?
FAQ: What’s in the bank?
Some questions that pop up every now and then across several community channels – whether it’s the Facebook group, the NESmakers forum or Discord – are about the banks a NESmaker project use. How many banks are there, what’s (by default) in which bank, and what is this bankswitching thing all about? Let me try and explain them.
Enhance! Two ways to battle sprite limits
The NES, although being an awesome console (especially considering its age), is not without its limitations. For example, the NES can draw up to 64 sprites on screen. A sprite is an 8×8 pixel image that can move freely on screen. So for instance when your main character is a 16×16 pixel character, it will use 4 of the 64 available sprites. To make matters worse, whenever there are more than 8 sprites on a horizontal scanline, additional sprites on that line won’t be drawn. Here are two code modifications which can help you overcome this limitation.
Enhance! Enabling user screen bytes
NESmaker is a nifty piece of software, enabling beginning developers to create a game for the NES. It’s not without its culprits though. For example, some of the UI elements are no longer supported by the accompanying Assembly scripts. Luckily, there’s a sizable community helping each other out getting the most out of NESmaker. The Enhance! series on this website will help you using NESmaker to its full potential, by re-enabling deprecated scripts, fixing bugs and optimizing core code. This article explains how to enable the user screen bytes in the NESmaker UI.
NES architecture: the CPU memory map
This article will try to make sense of the 64KB of memory the NES’ central processing unit (CPU) uses. This is a first, shorter dive into the CPU. In future posts, I’ll go into more detail about the CPU.
NESmaker UI: the main screen
The NESmaker UI has quite a lot of screens and windows to offer. I’ll try to highlight every NESmaker UI element that’s there. First I’ll show you the main screen: the screen you’ll see after loading an existing or starting a new NESmaker project.
NES architecture: the hardware
In this post, I’ll give you an overview of the NES hardware. I’ll discuss both the console and the cartridge, what chips are in them and what they do.