So why didn't Nintendo use dual-ported video RAM?
Moderators: B00daW, Moderators
-
psycopathicteen
- Posts: 3001
- Joined: Wed May 19, 2010 6:12 pm
So why didn't Nintendo use dual-ported video RAM?
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 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?
-
psycopathicteen
- Posts: 3001
- Joined: Wed May 19, 2010 6:12 pm
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.
We gain this optimization at the expense of being able to efficiently access the VRAM randomly.
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.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
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.Dwedit wrote:Didn't the Amiga just run its RAM at twice the speed of the CPU?
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.
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.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.
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.
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.
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.
Last edited by Bregalad on Tue Apr 05, 2011 3:51 am, edited 1 time in total.
Useless, lumbering half-wits don't scare us.
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.
-
socram8888
The 68000 did exist at the time. My old book about Microcomputers from 1976 already talks about itMottZilla 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.
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.