It is currently Sat Oct 21, 2017 12:43 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Sat Aug 20, 2016 7:07 am 
Offline

Joined: Sun Aug 16, 2015 9:02 am
Posts: 11
I was looking on http://wiki.nesdev.com/w/index.php/PPU_registers and it wasn't clear...

In the case where OAMADDR != 0 (say it is 255), and we do a write to OAMDMA, triggering a DMA operation, do we only write one byte (to OAMADDR 255) OR do we wrap and write to 255 and then to 0, 1, 2, etc?


Top
 Profile  
 
PostPosted: Sat Aug 20, 2016 7:10 am 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3943
The increment operation will wrap from 255 to 0.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
PostPosted: Sat Aug 20, 2016 7:13 am 
Offline

Joined: Sun Aug 16, 2015 9:02 am
Posts: 11
Dwedit wrote:
The increment operation will wrap from 255 to 0.


Okay, so it will always take 513 or 514 cycles then instead of 1 in that case.


Top
 Profile  
 
PostPosted: Sat Aug 20, 2016 7:38 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2963
Location: Tampere, Finland
The DMA is performed by the CPU (2A03). It doesn't know anything about the state of PPU, it just does 256 writes to $2004.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group