Rendering Patterns
Sprites, scrolling, screen effects
Commodore 64
4 patternsHardware Sprites
Enable, position, and colour one of the C64's eight hardware sprites — moveable objects the VIC-II draws over the background for free.
Raster Splits
Fire an interrupt when the beam reaches a chosen scanline and change a VIC-II register mid-screen — the basis of colour bars, split panels, and beating the chip's limits.
Smooth Scrolling
Scroll the screen a pixel at a time with the VIC-II fine-scroll registers, then coarse-shift the character map every eighth pixel — the trick behind every smooth C64 playfield.
Sprite Multiplexing
Reuse the C64's eight hardware sprites several times down the screen to show sixteen, twenty-four or more — the raster trick behind every busy C64 game.
Sinclair ZX Spectrum
8 patternsAttribute Clash
The Spectrum stores one ink-and-paper colour per 8×8 cell, so pixels and colour live on different grids — the source of colour clash. Understanding it, and the design craft that turns the constraint into the platform's look.
Attribute Writing
Write colours directly to attribute memory for fast, flicker-free graphics without touching pixel data.
Bitmap Addressing
Turn an (x, y) pixel into a Spectrum screen address — where consecutive lines are nowhere near each other in memory. The interleaved layout that every Spectrum drawing routine has to reckon with.
Character Printing
Print ASCII characters to the screen using the ROM character set. Direct display file access for fast text rendering.
Masked Sprites
The Spectrum has no hardware sprites, so a moving object is drawn by hand — AND a mask to punch a hole in the background, OR the image into it — with pre-shifted copies for pixel-accurate, fast movement.
Numeric Display
Convert a number (0-99) to two ASCII digits and print them. Essential for scores and counters.
Progress Bar (BASIC)
Horizontal progress bar with colour thresholds — blue through yellow, red, to white. Useful for health, temperature, or timers.
Seven-Segment Digits (BASIC)
Draw large seven-segment display digits using PLOT/DRAW. Cell-aligned with 1px outline. 10 DATA strings define all digits 0-9.
Nintendo Entertainment System
5 patternsFeeding New Columns
As the NES scrolls sideways, write a fresh column of tiles into the offscreen nametable each time the view crosses a tile boundary — so a level far wider than two screens rolls past seamlessly.
Multi-Sprite OAM Update
Manage multiple sprites in the OAM buffer. Update positions, hide unused sprites, and DMA transfer efficiently.
Nametables and Scrolling
Position the NES's 256×240 viewport inside the larger tile map by setting the nametable-select bits and the fine scroll every vblank — the foundation of every scrolling NES game.
Palette Loading
Load colour palettes into PPU memory at $3F00. Required setup for any NES graphics.
Sprite 0 Split
Keep a status bar fixed at the top of the screen while the playfield below scrolls — by placing sprite 0 at the boundary and changing the scroll the instant its hit flag fires. The NES's answer to the mid-screen split.
Commodore Amiga
7 patternsBlitter Copy
Move a rectangular block of graphics with the Amiga's blitter instead of the CPU — set four registers, write BLTSIZE, and Agnus streams the copy while the processor does something else.
Blitter Line Draw
The blitter isn't only a copier — in line mode it plots a Bresenham line in hardware, one pixel at a time, straight into a bitplane. Feed it endpoints and an octant; it draws the line while the CPU moves on.
Cookie-Cut Blit
Draw a shaped, transparent object over the background using all four blitter channels — a mask decides pixel by pixel whether to keep the image or the scenery behind it. The heart of every Amiga bob.
Copper Colour Bars
Change the background colour at chosen scanlines from the copper list — no CPU, no interrupt, no jitter — to paint horizontal bars or a smooth vertical gradient the beam draws for you.
Copper List Basics
Build a copper list to set colours and sprite pointers. The foundation of all Amiga graphics programming.
Copper Split Screen
Have the copper reprogram the bitplane pointers part-way down the frame so the top and bottom of the screen show different bitmaps — a scrolling playfield above a rock-steady status panel, beam-locked and free.
Sprite Control Words
Calculate and update Amiga sprite control words from X/Y coordinates. Position sprites anywhere on screen.
Cross-Platform
2 patternsBlink on a Clock
PRESS START winks on a 32-frame beat read straight off a frame counter — one AND instruction selects draw or clear. A blink is two renderers taking turns on a clock you already had.
Sprite Animation
Cycle through animation frames with configurable timing. Walk cycles, explosions, idle animations.