![]() ![]() Pattern tables in the cartridge ROM defined these tiles. This was kind of a big deal back then.īoth the background and sprites were made from 8x8 tiles. ![]() It supported “fine” scrolling (one pixel at a time). The background could be scrolled in both the X and Y axis. The PPU could render a background layer and up to 64 sprites. Each cycle of the PPU output one pixel while rendering. The PPU ran at 3x the frequency of the CPU. Unlike the CPU, the PPU chip was specially-built for the NES. The PPU generated the video output for the NES. Writing to $1000 is equivalent to writing to $0000. Some address lines were unwired, so large blocks of the address space actually mirror other addresses. The rest of the address space was for accessing the PPU, the APU, the game cartridge, input devices, etc. But, the NES had just 2 KB of RAM, at addresses $0000 to $0800. The 6502 had a 16-bit address space, so it could reference up to 64 KB of memory. For example, it would read $10FF and $1000 instead of $10FF and $1100. When reading two bytes from the specified address, it would not carry the FF->00 overflow into the xx. JMP () would not work correctly if was of the form $xxFF. The 6502 had at least one hardware bug, with indirect jumps. As such, many of these have been given names based on what they do. But some of them perform possibly useful results by coincidence. The remaining 105 values are illegal / undocumented opcodes. The 6502 had 151 opcodes (of a possible 256). The 6502 had a 256-byte stack with no overflow detection. There was a BCD (Binary Coded Decimal) mode but this was disabled in the NES version of the chip - possibly due to patent concerns. The 6502 had no multiply or divide instructions. One way of looking at this is that a developer can treat these 256 slots like “registers.” These opcodes required fewer bytes in program memory and fewer CPU cycles during execution. However, its instructions had several addressing modes including a “zero page” mode that could reference the first 256 words ($0000 - $00FF) in memory. The 6502 had relatively few registers (A, X & Y) and they were special-purpose registers. In fact, a revision of the 6502 (the 65C02) is still in production today. (Forty years ago!) This chip was very popular - it was also used in the Atari 2600 & 800, Apple I & II, Commodore 64, VIC-20, BBC Micro and more. The 6502 is an 8-bit microprocessor that was designed in 1975. The NES used the MOS 6502 (at 1.79 MHz) as its CPU. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |