broken-neees
Version:
A really broken NEEES emulator that introduces glitches and random bugs on purpose!
37 lines (35 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var TEST_PALETTE = [0xffffffff, 0xffcecece, 0xff686868, 0xff000000];
var TILES_PER_PATTERN_TABLE = 256;
var SCREEN_WIDTH = 256;
var SCREEN_HEIGHT = 240;
var TILE_SIZE = 8;
var TILES_PER_ROW = SCREEN_WIDTH / TILE_SIZE;
var ROWS_PER_PATTERN_TABLE = Math.ceil(SCREEN_HEIGHT / TILES_PER_ROW);
var MARGIN = 14;
/** A debug visualizer. */
var _default = {
drawPatternTables: function drawPatternTables(ppu, Tile) {
this._drawPatternTable(ppu, Tile, 0);
this._drawPatternTable(ppu, Tile, 1);
},
_drawPatternTable: function _drawPatternTable(ppu, Tile, patternTableId) {
var baseY = patternTableId * (ROWS_PER_PATTERN_TABLE + MARGIN) * TILE_SIZE;
for (var tileId = 0; tileId < TILES_PER_PATTERN_TABLE; tileId++) {
var startX = tileId * TILE_SIZE % SCREEN_WIDTH;
var startY = Math.floor(tileId / TILES_PER_ROW) * 8;
for (var y = 0; y < 8; y++) {
var tile = new Tile(ppu, patternTableId, tileId, y);
for (var x = 0; x < 8; x++) {
var colorIndex = tile.getColorIndex(x);
ppu.plot(startX + x, baseY + startY + y, TEST_PALETTE[colorIndex]);
}
}
}
}
};
exports.default = _default;