I'm having an issue trying to draw a tilemap on layer 0. I load the tilemap (40x30) into banked RAM and then vpoke it into VRAM. Both layers are 64x32 and 4bpp, and I've confirmed from the emulator logs that the palette, tiles, and tilemap are written to where I expect.
I have a repository in GitHub reproducing this: https://github.com/kcowolf/x16-test. In src/main.c, in my initVera() function I set the Vera registers and initialize both of the layer tilemaps to all zeroes -- the first tile in the tileset is all color index 0. In initTileMap(), I vpoke my image to one of the layers: if I use setForegroundTile(), the image is drawn as expected, but if I use setBackgroundTile(), all I get is a black screen. This occurs whether or not layer1 is enabled.
Any help I can get would be much appreciated, as I'm pretty stumped by this.