It is currently Fri Dec 15, 2017 12:38 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: Mon Dec 04, 2017 10:06 am 
Offline
User avatar

Joined: Mon Dec 29, 2014 1:46 pm
Posts: 750
Location: New York, NY
After partially implementing Serial Data Transfer to simulate no attached link cable, Alleyway and Yoshi start up properly. Yoshi works perfectly, but Alleyway exhibits an unusual graphical glitch. When the ball bounces off of the side walls and when it strikes bricks horizontally, the background and sprites disappear for one frame. Only the tiles in the Window remain. It looks like a white flash and it is not present in other emulators. Logging shows that the OAM sprite coordinates are all set to 0, hiding them during the flash. Anyone else seen this issue before or have suggestions on how to track down the cause? Thanks.

Edit: During gameplay, once per frame, it writes $E3 to the LCD Control Register ($FF40). It does not deviate from that constant value even during the flashes; the background and sprites are vanishing from some other means.

Edit 2: The background tiles are not disappearing and reappearing as a consequence of VRAM writes. I.e. the game is not clearing and restoring the background to induce flashes. Either, some flag is being set that turns the background off completely. Or, there is a bug in my PPU that makes it not display background tiles for entire frame. I'll keep investigating.

Edit 3: It turns out that the background is not disappearing. Only the sprites are vanishing for a frame. The left wall of the playfield is made up of sprites, not background tiles. This was done because on higher levels, the breakable tiles scroll while the left wall remains stationary. Consequentially, they had to make the stationary layer out of non-background material. Since the OAM sprite coordinates are all set to 0 during the vanish, there might be something wrong with my OAM transfer code.

Edit 4: I finally traced the cause of the issue: It's a bug in my corrupt OAM logic.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: gauauu and 2 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