UNPKG

broken-neees

Version:

A really broken NEEES emulator that introduces glitches and random bugs on purpose!

37 lines (35 loc) 1.27 kB
"use strict"; 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;