


It supports pixel-level scrolling (which is a big deal back in that day). PPU (Picture Processing Unit) supporting rendering 256x240 screen composed of 8x8 tiles for background, up to 64 8x8 or 8x16 sprites for moving objects. Rest is either not wired up (and are mirrors of those 2KB), or mapped to special I/O registers, or catridge ROM/RAM space. In theory it can address 64K memory however it only has 2KB onboard RAM.
#NINTENDO 8 BIT EMULATOR MAC PC#
It has 3 general purpose register A/X/Y, and 3 special register P (status) /SP (stack pointer) /PC (program counter, or instruction pointer), all of them being 8-bit except PC which is 16-bit. NES Hardware Capabilitiesīeing a 8-bit system in 80s, it has hilariously limited spec comparing to today’s standard:Ĩ-bit 6502 CPU running at 1.79 MHZ. More detailed technical writeup of emulating different components would come later as separate posts. This post is intended as a high-level overview of what it would take to write a NES emulator so that if you are interested to write your own you’d be prepared to know what is involved, or simply just to understand some of the interesting problems involved in writing one. Those 8-bit style games are also making a come back in indie games such as Shovel Knight and Stardew Valley. Many people growing up in the 80s probably have fond memory of playing 8-bit NES games - those games are surprisingly fun (and many of them challenging). I had a lot of fun building this emulator and is planning to write a series of post documenting my experience and maybe help anyone who also want to write one. I’ve recently wrote a NES Emulator NesChan.

#NINTENDO 8 BIT EMULATOR MAC HOW TO#
How to write your own NES emulator - overview
