Remix.run Logo
Dwedit 3 days ago

I know that "draw call" is modern terminology, but it doesn't apply here at all. This is assigning three entries in sprite table memory, not carrying out any calls. There's no operating system here, and no graphics APIs to call. This is bare metal, you're writing to the same memory that the sprite hardware is reading its table from.

LarsDu88 2 days ago | parent [-]

Its modern terminology but doesn't it apply here? Im more familiar with SNES than CPS hardware, but in this case, when you assign those three entries in sprite table memory, each tick represents one PPU lookup and blit to VRAM, right?

And it also looks like each of those tiles is drawn at unaligned coordinates.

So this really can be regarded as a draw call of sorts

LarsDu88 2 days ago | parent [-]

Okay after reading a bit more into this, you are correct. The PPU just looks up the tiles and rows in the tiles to figure out the pixels to draw for a given scanline in the composite video signal.

Every scanline, all sprites (up to 128) are evaluated in hardware on an snes to see if any overlap with the active scanline. This was all done in hardware incredibly quickly