Import a project .json saved from the NGPC Tile Editor. Pick which tileset layer to stamp FROM with the tabs below, independent of which map layer (Layer 1/Layer 2) you're stamping ONTO. Click a tile below, or drag to select a rectangular block of tiles to stamp as one unit.
No tile selected.
Stamp
Palette "Inherit" uses the tile's own default palette from the tile editor. Pick a click on the map with Eyedrop to load its tile/palette/flip back into the stamp.
Tools
Stamp/Erase place the whole selected tile block. Fill and Eyedrop always work on a single cell (Fill uses just the block's top-left tile). Select: drag to define a rectangle, drag again from inside it to move its content. Sprite: click empty space to place a preview-only sprite from the current stamp block, drag an existing one to move it.
No selection — actions apply to whole map.
—0x0 tilesZoom
Map Layers
Always exactly Layer 1 and Layer 2, regardless of how many tileset layers are imported. Assign each one to SCR_1 (back) or SCR_2 (front) with its dropdown -- each cell also remembers which tileset layer its tile came from. The 3rd row, Sprite Plane, is fixed to SPR_PLANE and can't be reassigned -- click it to switch to the Sprite tool below and place preview sprites for reference.
Sprite Preview Layer
Preview only -- placed sprites are not included in the C export. Uses whatever tile block is currently selected in the Stamp panel. Sprites are a free-floating list, not a grid, so they can overlap each other and the map without erasing anything.
No sprites placed.
Map Size (tiles)
x
Grows/crops from the top-left. The real SCR1/SCR2 VRAM window is only 32x32 tiles at once — a bigger map means streaming rows/columns in at runtime as the camera scrolls.
Hardware Budget
Character RAM holds 512 tiles total (shared by every layer + sprites); slots 0-31 are hardware-reserved and 32-127 are the BIOS font, so budget against ~384 free. Each plane also has its own 16-palette budget.