UNPKG

nes-emu

Version:

A NES emulator

94 lines (92 loc) 2.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; const KB = 1024; const SCREEN_WIDTH = 256; const SCREEN_HEIGHT = 240; const PPU_FRAME_RATE = 60.098; const APU_SAMPLE_RATE = 44100; const TILE_LENGTH = 8; const ATTRIBUTE_TABLE_BLOCK_SIZE = 32; const ATTRIBUTE_TABLE_REGION_SIZE = 16; /** NES Emulation constants. */ var _default = exports.default = { SCREEN_WIDTH, SCREEN_HEIGHT, TOTAL_PIXELS: SCREEN_WIDTH * SCREEN_HEIGHT, BUTTONS: 8, KB, ROM_MAGIC_NUMBER: "NES", ROM_HEADER_SIZE: 16, ROM_TRAINER_SIZE: 512, PRG_ROM_PAGE_SIZE: 16 * KB, CHR_ROM_PAGE_SIZE: 8 * KB, CHR_RAM_PAGES: 1, CARTRIDGE_RAM_SIZE: 8 * KB, FREQ_CPU_HZ: 1789773, FREQ_PPU_HZ: 5369318, FREQ_APU_HZ: 894887, PPU_STEPS_PER_CPU_CYCLE: 3, APU_STEPS_PER_CPU_CYCLE: 0.5, CPU_ADDRESSED_MEMORY: 64 * KB, CPU_STACK_START_ADDRESS: 0x0100, CPU_MAPPER_START_ADDRESS: 0x4020, CPU_INTERRUPT_CYCLES: 7, PPU_FRAME_RATE, PPU_ADDRESSED_PALETTE_RAM_START_ADDRESS: 0x3f00, PPU_OAM_SIZE: 256, PPU_LAST_CYCLE: 340, PPU_LAST_SCANLINE: 260, OAMDMA_CPU_CYCLES: 513, PPU_CYCLE_CLEAR_FLAGS: 1, PPU_CYCLE_VBLANK: 1, PPU_CYCLE_RENDER_BACKGROUND: 0, PPU_CYCLE_RENDER_SPRITES: 0, PPU_CYCLE_MAPPER_TICK: 260, APU_SAMPLE_RATE, APU_MAX_VOLUME: 15, APU_MIN_TIMER: 8, APU_MAX_TIMER: 0x7ff, TILE_LENGTH, TILE_SIZE: 16, SPRITE_WIDTH: 8, SPRITE_SIZE: 4, MAX_SPRITES: 64, MAX_SPRITES_PER_SCANLINE: 8, COLOR_TRANSPARENT: 0, NAME_TABLES_START_ADDRESS: 0x2000, NAME_TABLE_TOTAL_TILES_X: SCREEN_WIDTH / TILE_LENGTH, NAME_TABLE_SIZE: 1024, ATTRIBUTE_TABLE_BLOCK_SIZE, ATTRIBUTE_TABLE_TOTAL_BLOCKS_X: SCREEN_WIDTH / ATTRIBUTE_TABLE_BLOCK_SIZE, ATTRIBUTE_TABLE_REGION_SIZE, ATTRIBUTE_TABLE_TOTAL_REGIONS_X: ATTRIBUTE_TABLE_BLOCK_SIZE / ATTRIBUTE_TABLE_REGION_SIZE, ATTRIBUTE_TABLE_REGION_SIZE_BITS: 2, ATTRIBUTE_TABLE_SIZE: 64, PATTERN_TABLES_START_ADDRESS: 0x0000, PATTERN_TABLE_SIZE: 0x1000, PALETTE_BACKGROUND_START: 0, PALETTE_FOREGROUND_START: 4, PALETTE_SIZE: 4, LOOPY_ADDR_COARSE_X_OFFSET: 0, LOOPY_ADDR_COARSE_X_MASK: 0b11111, LOOPY_ADDR_COARSE_Y_OFFSET: 5, LOOPY_ADDR_COARSE_Y_MASK: 0b11111, LOOPY_ADDR_BASE_NAME_TABLE_ID_OFFSET: 10, LOOPY_ADDR_BASE_NAME_TABLE_ID_MASK: 0b11, LOOPY_ADDR_FINE_Y_OFFSET: 12, LOOPY_ADDR_FINE_Y_MASK: 0b111, SPRITE_BYTE_Y: 0, SPRITE_BYTE_TILE_ID: 1, SPRITE_BYTE_ATTRIBUTES: 2, SPRITE_BYTE_X: 3, SPRITE_ATTR_PALETTE_BITS_START: 0, SPRITE_ATTR_PALETTE_BITS_SIZE: 2, SPRITE_ATTR_PRIORITY_BIT: 5, SPRITE_ATTR_HORIZONTAL_FLIP_BIT: 6, SPRITE_ATTR_VERTICAL_FLIP_BIT: 7, SPRITE_8x16_PATTERN_TABLE_MASK: 0b1, SPRITE_8x16_TILE_ID_MASK: 0xfe };