http://en.wikipedia.org/wiki/Dual-ported_RAM
It is a RAM chip that could be read by the VDP/PPU while being written to by the CPU at the same time.
Were these too expensive, or did they only come in PC compatible pinouts?
It'd probably be too expensive, and I imagine you'd have a lot of pins to deal with. The technology also may not have existed at the time, but this is just my speculation.
Dual-ported SRAMs are still quite expensive, BTW.
If VRAM was cheap enough, they could've designed an entire VDP by stringing a bunch of VRAMs together.
pixel counter > tile map address
tile map data > tile pattern address
tile pattern data > color address
color data > output
Assuming that you are writing a contiguous set of tiles (especially vertically), it is faster to allow the PPU to auto-increment the destination address. If you had direct access to the VRAM, updating rows and columns of tiles would generally be slower.
We gain this optimization at the expense of being able to efficiently access the VRAM randomly.
Let's also not forget that we can use DP-SRAM for NES projects today. They would need to be placed on the cart, and the mapper would have to support mapping the secondary port of the VRAM into the CPU address space.
Didn't the Amiga just run its RAM at twice the speed of the CPU? Then the support hardware (video, sound, etc) could access memory every other clock cycle. No need for dual porting there, or even separate memory.
Dwedit wrote:
Didn't the Amiga just run its RAM at twice the speed of the CPU?
Yeah, and so do the Apple II and C64. But these systems also have far less color definition than the NES, which needs to access video memory at 2.7 MHz to keep the pixel pipe fed.
A mapper that maps, say, a 1 KB window of VRAM into CPU address space would need a
lot of pins, on the order of MMC5, so that it can control all of the VRAM's address lines and insert the writes between the PPU's reads.
Pure and simple, it would have cost too much. You might as well ask why didn't they put a 68000 cpu in the NES as it is the same answer. It may be so that the technology didn't exist at the time either but assuming it did then cost would have been the reason for sure.
MottZilla wrote:
Pure and simple, it would have cost too much. You might as well ask why didn't they put a 68000 cpu in the NES as it is the same answer. It may be so that the technology didn't exist at the time either but assuming it did then cost would have been the reason for sure.
You know, now that you say that, I've always wondered why they used a 6502 instead of a z80, especially seeing as how their arcade games used them.

Let me hazard a guess: A Z80 would have made it too obvious that Nintendo was
homaging the ColecoVision
But more likely, a 6502 core takes far less space on the CPU die than a Z80 core, and the space they saved let them put the APU on the same die.
I think the MMC5 has internal dual-ported SRAM for ExRAM.
Also I think that even if you have dual ported SRAM, there is issues if you try to acess the same adress from both sides at the same time.
The C64 have that "even-odd acess cylces" method to simulate random accessible VRAM, but then the CPU runs at about 0.9 MHz, almost half of the NES, which is really bad.
MottZilla wrote:
Pure and simple, it would have cost too much. You might as well ask why didn't they put a 68000 cpu in the NES as it is the same answer. It may be so that the technology didn't exist at the time either but assuming it did then cost would have been the reason for sure.
Don't forget that the Famicom was originally built to play stuff like "Popeye" (japanese launch title) And was never intended to do the stuff people eventually made it do.
MottZilla wrote:
Pure and simple, it would have cost too much. You might as well ask why didn't they put a 68000 cpu in the NES as it is the same answer. It may be so that the technology didn't exist at the time either but assuming it did then cost would have been the reason for sure.
The 68000 did exist at the time. My old book about Microcomputers from 1976 already talks about it
But it don't mention the price :/
The
Apple Lisa computer had a 68000 CPU clocked at 5 MHz and came out six months before the Famicom.
The Lisa also retailed at $10,000

qbradq wrote:
The Lisa also retailed at $10,000

OMG
Apple, f***ing expensive since... ever
Again I said, Or it was too cost prohibitive. Often this is the answer for design decisions. The SNES would have certainly been compatible with the NES if price wouldn't have been an issue.