const h2 = (n) => n.toString(16).toUpperCase().padStart(2, "0");
export function formatOamEntry(index, y, tile, attrs, x) {
return `${index.toString().padStart(2, "0")}: Y=${h2(y)} tile=${h2(tile)} attr=${h2(attrs)} X=${h2(x)}`;
}
export function buildOamHtml(oam) {
if (!Array.isArray(oam) || oam.length < 256) return "";
const rows = [];
for (let i = 0; i < 64; i++) {
const base = i * 4;
const entry = formatOamEntry(i, oam[base], oam[base + 1], oam[base + 2], oam[base + 3]);
const esc = entry.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
rows.push(`<span class="debugger-oam-row">${esc}</span>`);
}
return (
`<span class="debugger-oam-title">OAM</span>` +
`<span class="debugger-oam-header"># : Y tile attr X</span>` +
`<span class="debugger-oam-block">${rows.join("")}</span>`
);
}