It is currently Mon Nov 20, 2017 8:47 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Wed Sep 20, 2017 12:08 am 
Offline

Joined: Tue Jul 09, 2013 7:13 am
Posts: 58
I have a little homebrew rom which displays a scrolling text background with some sprites in a star field in the background.

Image

This works fine on emulators I use but when I launch the program on my famicom with an everdrive n8 everything works fine except the sprites in the background aren't visible. I took screenshot from an emulator just to show the behavior.

Image

I have 2 famicoms and 2 everdrives, both with the most recent OS on and the behavior is the same on both carts and both famicoms. So I would assume it isn't a glitchy hardware issue. Does anyone have any ideas?

Thanks!

edit - I edited the title slightly to show it is solved.


Attachments:
scrollnesmod.asm [26.2 KiB]
Downloaded 14 times
scrollnesmod.nes [40.02 KiB]
Downloaded 19 times


Last edited by lazerbeat on Wed Sep 20, 2017 3:55 am, edited 1 time in total.
Top
 Profile  
 
PostPosted: Wed Sep 20, 2017 12:35 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6446
Location: UK (temporarily)
The singular most common reason for sprites to not work on hardware is failing to do the DMA as the almost-first thing in your NMI.

And, in fact, trying running your demo in Nintendulator shows that DMA is being started at scanline 21 or 27, alternating every other NMI. You have to start your DMA by scanline 15 to be assured that the entire DMA will finish in time.


Top
 Profile  
 
PostPosted: Wed Sep 20, 2017 3:54 am 
Offline

Joined: Tue Jul 09, 2013 7:13 am
Posts: 58
lidnariq wrote:
The singular most common reason for sprites to not work on hardware is failing to do the DMA as the almost-first thing in your NMI.

And, in fact, trying running your demo in Nintendulator shows that DMA is being started at scanline 21 or 27, alternating every other NMI. You have to start your DMA by scanline 15 to be assured that the entire DMA will finish in time.


Thank s very much for that! This is the first time I had run into an conflict between hardware and emu only versions of software. This is super handy to know.


Top
 Profile  
 
PostPosted: Wed Sep 20, 2017 4:44 am 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 299
lazerbeat wrote:
Thank s very much for that! This is the first time I had run into an conflict between hardware and emu only versions of software. This is super handy to know.
FYI, you're also displaying uninitialized nametable memory on the screen, which probably can't be seen because of the Everdrive?
Attachment:
scrollnesmod.png
scrollnesmod.png [ 49.85 KiB | Viewed 333 times ]


Top
 Profile  
 
PostPosted: Wed Sep 20, 2017 6:48 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10114
Location: Rio de Janeiro - Brazil
Another example of how inaccurate FCEUX can be. It's very forgiving of timing errors like this. I don't know if the "new PPU" is more accurate in this regard.


Top
 Profile  
 
PostPosted: Wed Sep 20, 2017 10:24 am 
Offline
User avatar

Joined: Thu Aug 13, 2015 4:40 pm
Posts: 114
Location: Rio de Janeiro - Brazil
The same happened to me very recently viewtopic.php?f=3&t=16433

_________________
http://nesrocks.com/blog/superpitfall30th/


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: 2600, Google Feedfetcher and 4 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