The mixer outputs stereo sound, so the channels can be assigned to the left side or on the right one, this is only possible to hear from the headphones though! The speaker is mono.įurthermore, the mixer chip is also connected to a dedicated pin on the cartridge, allowing to stream an extra channel with the condition that the cartridge has to actually output the analogue sound (only possible with extra hardware). « Previous Next » Secrets and Limitations The PPU is limited to rendering up to ten sprites per scan-line and up to 40 per frame, overflowing this will result in sprites not being drawn. Games fill this region by calling the DMA unit found inside the chip, the DMA fetches data from main RAM or game ROM to OAM.Īpart from the tile index, each entry contains the following attributes: X-Y position, colour palette, priority and flip flags (allowing to rotate the tile vertically and horizontally). The Object Attribute Memory or ‘OAM’ is a map stored inside the PPU which specifies the tiles that will be used as sprites. Luckily, this layer allows defining two colour palettes to make use of every colour.
So, they can only display three different greys instead of four. They also have an extra colour available: Transparent.
They can also overlap each other and appear behind the background, the viewable graphic will be decided based on a priority attribute. Sprites are tiles that can move independently around the screen. For demonstration purposes, Super Mario Land 2 will be used as an example: Let’s see now how the PPU manages to draw stuff on the screen. Moreover, the PPU exposes registers so the game can instruct the PPU how that data is organised (there are many rules, though). The game is in charge of populating the different areas with the correct type of data. The remaining bits will be stored inside the PPU instead, as they will require a faster access rate. Those 8 KB will contain most of the data the PPU will need to render graphics. The PPU has 8 KB of VRAM or ‘Display RAM’, which both PPU and CPU can access directly but not at the same time. Organising the content Memory architecture of the PPU In fact, some special effects achieved thanks to this behaviour will also be supported on the Gameboy. Well, the new PPU doesn’t alter that part, since LCDs require to be refreshed too. However (and for obvious reasons), we got an LCD screen in the Gameboy. If you’ve read the NES article before, you may remember that the PPU was designed to follow the CRT beam. But since the original Gameboy has a green LCD, graphics will look greenish. The picture is displayed on an integrated LCD screen, it has a resolution of 160×144 pixels and shows 4 shades of grey (white, light grey, dark grey and black). This is another component found inside DMG-CPU and it’s actually based on the predecessor’s PPU. The memory map is composed of:Īll graphics calculations are done by the CPU, then the Picture Processing Unit or ‘PPU’ renders them. The SM83 keeps an 8-bit data bus and a 16-bit address bus, so up to 64 KB of memory can be addressed. Notice that this is four times larger than what the NES included. Nintendo fitted 8 KB of RAM for general purpose use (which they call Work RAM or ‘WRAM’). I think explaining them one by one goes beyond the scope of this article, but the main idea is that they optimise certain operations conditioned by the way Nintendo/Sharp arranged the hardware. Although, only bit manipulation instructions are found.įinally, they also added a few new instructions that are not present in either Z80 or 8080.
This type of chip is called ‘System On Chip’ (SoC) and the one found on the GameBoy is referred to as DMG-CPU or Sharp LR35902. Instead of placing many off-the-shelf chips on the motherboard, Nintendo opted for a single chip to house (and hide) most of the components, including the CPU.
#POKEMON RED NES ROM PIRATE PORTABLE#
The Game Boy can be imagined as a portable version of the NES with limited power, but you’ll see that it included very interesting new functionality. Motherboard with important parts labelled Diagram Main architecture diagram Note that 'DMG' is the identifier of the original Game Boy model.