It is currently Tue Oct 23, 2018 5:39 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 12 posts ] 
Author Message
PostPosted: Fri Jan 19, 2018 7:40 am 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2308
Location: DIGDUG
I saw this on reddit retrogaming.

They play SMB with a super slow motion camera. The NES relevant video is between 1 and 4 minutes.

https://youtu.be/3BJU2drrtCM

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Fri Jan 19, 2018 12:05 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7683
Location: Seattle
I thought it a little amusing that at the peak 380kfps, there's roughly about one instruction completing for each recorded frame.


Top
 Profile  
 
PostPosted: Fri Jan 19, 2018 11:54 pm 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 4095
And here we see the 1 frame of input lag inherent to almost all NES games.

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


Top
 Profile  
 
PostPosted: Mon Jan 22, 2018 2:59 pm 
Offline
User avatar

Joined: Mon Dec 29, 2014 1:46 pm
Posts: 817
Location: New York, NY
Dwedit wrote:
And here we see the 1 frame of input lag inherent to almost all NES games.


Really? Can you elaborate?


Top
 Profile  
 
PostPosted: Mon Jan 22, 2018 3:12 pm 
Offline
User avatar

Joined: Sun May 27, 2012 8:43 pm
Posts: 1334
Dwedit wrote:
And here we see the 1 frame of input lag inherent to almost all NES games.


This depends on what you call a frame of lag. I don't think it's reasonable to poll for inputs in any game until an entire frame has been rendered; i.e. during vblank. Even modern displays still scan like the CRT does, and nothing here is intrinsic to NES games.

If you're polling inputs to process the logic for frame [n+1] at the end of frame [n], I would consider this zero frames of lag.


Top
 Profile  
 
PostPosted: Mon Jan 22, 2018 5:16 pm 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 4095
NES games run the game logic during render time. So when the pixels are rendered, you get the game state of the last frame. So all NES games have a minimum of 1 frame of lag between your input and the output being reflected on the screen.
Compare this with the Atari 2600 - Games for that system run the game logic during vblank time, and the game races the beam to render the screen. No possible input lag at all.

NES Emulators could be made to compensate for the 1 frame of internal input lag by using time travel (savestates), but I don't know of any NES emulators that do this. I have seen Genesis emulators do this though.

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


Top
 Profile  
 
PostPosted: Tue Jan 23, 2018 12:12 am 
Offline
User avatar

Joined: Wed Apr 02, 2008 2:09 pm
Posts: 1251
I'm toyed with the idea of making a <1800 cycle thing in the vblank, then DMAing to get rid of the lag, for no other reason than just because.

_________________
https://kasumi.itch.io/indivisible


Top
 Profile  
 
PostPosted: Tue Jan 23, 2018 8:00 am 
Offline
Formerly 43110
User avatar

Joined: Wed Feb 05, 2014 7:01 am
Posts: 360
Location: us-east
For what it's worth, my Simple button logger tool runs all logic and graphical updates within vblank.
The soon to be manufactured Action 53 volume 3 has the most up to date version of it.


Top
 Profile  
 
PostPosted: Tue Jan 23, 2018 3:25 pm 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2760
Wow, the NES has 10 times as much cycles in one frame than the Atari has during V-blank.


Top
 Profile  
 
PostPosted: Wed Jan 24, 2018 9:41 am 
Offline

Joined: Mon Jan 30, 2017 5:20 pm
Posts: 317
Location: Colorado USA
psycopathicteen wrote:
Wow, the NES has 10 times as much cycles in one frame than the Atari has during V-blank.

But to be fair, most, if not all of the graphics rendering is done simultaneously with the TV scanning, so it’s able to do more game logic during V-blank


Top
 Profile  
 
PostPosted: Wed Jan 24, 2018 10:09 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10914
Location: Rio de Janeiro - Brazil
psycopathicteen wrote:
Wow, the NES has 10 times as much cycles in one frame than the Atari has during V-blank.

It's more like... 5 times, no?


Top
 Profile  
 
PostPosted: Wed Jan 24, 2018 10:35 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7683
Location: Seattle
Most 2600 kernels seem to render 256x192, so that should be 228÷3×(262-192) = 5320 cy

I assume the 10x was assuming a full 224 scanlines rendered on the 2600 (leaving 2888cy during vblanking), but few games did that because it's just so little time.


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

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