Just wanna to be sure of somthing about the ram

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Just wanna to be sure of somthing about the ram
by on (#548)
If I store a value in the D-Ram ($000-$7ff), and don't read/write to it for, let's say, one hour, am I sure that it'll have the same value as before ?
I've hear that D-Ram chips, unlike S-Ram chips, can't hold data for a long time.
Re: Just wanna to be sure of somthing about the ram
by on (#549)
Bregalad wrote:
If I store a value in the D-Ram ($000-$7ff), and don't read/write to it for, let's say, one hour, am I sure that it'll have the same value as before ?
I've hear that D-Ram chips, unlike S-Ram chips, can't hold data for a long time.

Yes, don't worry about it. The hardware takes care of any necessary updates.
I don't know how the NES does it but C64s used the video chip to generate a few extra refresh accesses per scanline, and older IBM-PCs had a dedicated DMA channel constantly running (funny things happened when you turned if off).
This is not done for SPR-RAM though, so you probably need to start a new DMA every couple of frames.

by on (#552)
The NES's main memory uses SRAM chips. The only DRAM that I'm aware of is the OAM (SPR-RAM) and possibly the palette RAM, which are both integrated into the PPU.

by on (#567)
Palette ram ? You mean that the palette shall be re-uploaded often ?
So It's cool to know that Sprite dma can be done only every 2 frames. This could spare a lot of VBlank time each 2 frame.

by on (#570)
Nah, you probably wouldn't have to reload it. The PPU would be automatically reading it, so that should keep it refreshed. Same with the sprites, too (as long as the sprites are being displayed, OAM will be refreshed).

by on (#588)
Aha !
So if $2001 is always on and if I don't change anything in OAM (for exemple while writing something complex to the Name Table), sprite DMA don't need to be refreshed ? Cool !
But the PPU is still off during the VBlank part, isn't it ?

by on (#592)
Yeah, the PPU will be off during vblank, but I think it wouldn't be too long for it. I think some games like Metroid that run on the NMI will skip a sprite DMA sometimes (when the game slows down).

by on (#630)
I thought Sprite RAM needed to be contstantly refreshed or the values would fade away and mess up or something...

So are you saying I could do a sprite DMA once and not do it again and the sprites wouldn't graphicallly mess up because I didn't refresh it?

Same with Palette Ram?

by on (#634)
I've played to Megaman 6 a few days ago and the game suddently became freezy (because of bad connections on my famicom2nes adapter). Neither sprite and palette have decreased, but it may be different on a NTSC nes.