It is currently Fri Oct 20, 2017 11:37 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 38 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Mon Jun 24, 2013 2:21 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6289
Location: Seattle
mikejmoffitt wrote:
I am pretty sure that this is what I caused to happen, though. Here is a video of it happening by briefly touching a capacitor to a CPU pin
Yeah, I see no reason that most games would need to write to $2001 regularly, unless they're explicitly enabling/disabling rendering late/early, or using the tint bits.

mikejmoffitt wrote:
If I find it, I have a video of a Famicom starting to act strange if I mash my palm on the underside of the PCB. It starts with the tint changing, the sync starting to waver, the jailbars becoming more pronounced, followed by usually a game crash, but occasionally just weird mis-writes that don't break it completely.
I'm still kind of awed that circuit bending ever works instead of just completely blowing up. Complex systems fail in complex ways, blah blah blah.


Top
 Profile  
 
PostPosted: Mon Jun 24, 2013 4:20 pm 
Offline
User avatar

Joined: Sun May 27, 2012 8:43 pm
Posts: 1306
lidnariq wrote:
mikejmoffitt wrote:
I am pretty sure that this is what I caused to happen, though. Here is a video of it happening by briefly touching a capacitor to a CPU pin
Yeah, I see no reason that most games would need to write to $2001 regularly, unless they're explicitly enabling/disabling rendering late/early, or using the tint bits.

mikejmoffitt wrote:
If I find it, I have a video of a Famicom starting to act strange if I mash my palm on the underside of the PCB. It starts with the tint changing, the sync starting to waver, the jailbars becoming more pronounced, followed by usually a game crash, but occasionally just weird mis-writes that don't break it completely.
I'm still kind of awed that circuit bending ever works instead of just completely blowing up. Complex systems fail in complex ways, blah blah blah.

Isn't it incredible that at a singular point in time, the unplanned, uncoordinated haphazard mis-connection of data lines can cause such a specific action without ruining other things? I was already surprised that Mario got put behind the backdrop layer but the engine kept running without major complaints.


Top
 Profile  
 
PostPosted: Mon Jun 24, 2013 6:14 pm 
Offline

Joined: Thu Aug 12, 2010 3:43 am
Posts: 1589
Not surprised about Mario being put behind the background actually, it seems like somehow the game is in its "finished level" state, and indeed Mario gets put behind the background when he goes inside the castle (while he keeps moving forwards - a solid block in the castle prevents him from advancing). Further proof of that is that the time is stopped.


Top
 Profile  
 
PostPosted: Tue Jun 25, 2013 7:00 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10065
Location: Rio de Janeiro - Brazil
lidnariq wrote:
Yeah, I see no reason that most games would need to write to $2001 regularly, unless they're explicitly enabling/disabling rendering late/early, or using the tint bits.

You'd think that, but most games I've personally debugged write to $2001 every frame at least once. Sometimes games disable sprites in the area where the status bar is, which requires a $2001 write. But even if there's no apparent reason, a lot of games reconfigure the PPU every frame (i.e. they write to $2005, $2000 and $2001), maybe out of fear that using $2006/$2007 might screw things up (like is the case with scrolling), or maybe simply because their NMI handler is able to reconfigure the PPU every frame (i.e. it dumps values from RAM into the PPU registers, so that the program can just modify these variables if it wants to modify rendering parameters for the next frame).


Top
 Profile  
 
PostPosted: Tue Jun 25, 2013 7:15 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2962
Location: Tampere, Finland
tokumaru wrote:
or maybe simply because their NMI handler is able to reconfigure the PPU every frame (i.e. it dumps values from RAM into the PPU registers, so that the program can just modify these variables if it wants to modify rendering parameters for the next frame).

I'd bet this is the most common reason for it, i.e. it's easier to just dump the "shadow" register to the PPU on NMI since writing to $2001 doesn't have any side effects. Writing to $2000 is (can be, depending on implementation) a different deal because it has side effects such as messing up the PPU address and generating an extra NMI if it's toggled without clearing the NMI flag by reading $2002 (and blindly reading $2002 in the NMI handler can be problematic on its own right if the main thread may be processing some PPU writes, because the $2002 read may happen to clear the address latch in the middle of two $2006 (PPU_ADDR) writes). But I digress...

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


Top
 Profile  
 
PostPosted: Wed Jun 26, 2013 10:19 pm 
Offline
User avatar

Joined: Sun May 27, 2012 8:43 pm
Posts: 1306
Sik wrote:
Not surprised about Mario being put behind the background actually, it seems like somehow the game is in its "finished level" state, and indeed Mario gets put behind the background when he goes inside the castle (while he keeps moving forwards - a solid block in the castle prevents him from advancing). Further proof of that is that the time is stopped.

Ah, that explains the controls not responding as well. That's less fun :(


Top
 Profile  
 
PostPosted: Mon Sep 23, 2013 6:32 am 
Offline

Joined: Mon Sep 23, 2013 6:29 am
Posts: 12
I'm sorry, this might be the wrong place to ask this question, but I was wondering if anyone knew of a way to patch NES games to correct the colors for RGB modded systems. My personal opinion is that 90% of the time the colors look fine; Some may be different, but to my eyes look fine. The game that really bugs me is Zelda: The dirt in the background looks terrible to me. Also, Mario 1 and 3 look weird...it's not terrible, but it would be nice to set it back the way it was.

It would be cool if these patches already existed, but if not where's a good place for me to start looking? Thanks for your help.


Top
 Profile  
 
PostPosted: Wed Oct 16, 2013 10:41 am 
Offline
User avatar

Joined: Sun May 27, 2012 8:43 pm
Posts: 1306
Yes, you can modify a game's palettes. However, depending on the game and how those colors are determined it may be as simple as a single value change and as complicated as the disassembly and reassembly of some code that generates palette choices.

It is possible that the "correct colors" you want may not be available on the PC10 PPU, though you may find suitable replacements.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 38 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 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