Blog
-
Background Scrolling: Progress Update
June 17, 2021Time for another update on progress. I'm getting a better handle of how I want to approach background scrolling. Conceptually, it's very simple: you figure out the X and Y offsets you want to scroll to, and you write those numbers to an MMIO address. But there's a lot surrounding that simple mechanism that needs further exploration. We need to talk about camera systems (i.e., deciding when and how much to scroll the screen), using "scroll seams" to scroll across more than two nametables, formats for storing background data to make them seam-friendly, and how to handle things like status bars using split-screen scrolling via "sprite 0 hit". It's a lot to cover, and I'm still debating if it will all fit in a single chapter or not.
Continue reading... -
Progress update
June 3, 2021Time for another update on how things are going! The past two weeks featured a lot of work on Chapter 14. In order to have moving sprites, we need to make use of zero-page RAM - which means I needed to write about what page zero is and why you might want to use it. (As a quick teaser, the designers of the 6502 thought of zero-page RAM as an additional 256 registers for the programmer to make use of.) To make the drawing efficient, at least from the perspective of reusable, easy-to-read code, we also need to learn to write subroutines - assembly's version of what other programming languages would call "functions". Subroutines have their own quirks and pitfalls, and I'll briefly describe some of them in this chapter, but some of it will have to wait until we start making heavier use of the NMI handler.
Continue reading... -
Working with the garage door up
May 22, 2021A month or so ago I read a blog post about working with the garage door up - that sharing your journey toward a finished product is every bit as powerful and useful as sharing the end products themselves. It has been a long, long time since I've done anything like that, especially on this site, so I figure now would be a great time to talk about what I've been up to for the last... three? four? years.
Continue reading...