It is currently Tue Dec 12, 2017 1:05 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Sun Feb 18, 2007 11:53 am 
Offline

Joined: Thu Sep 15, 2005 9:23 am
Posts: 1194
Location: Behind you with a knife!
No, I don't mean in terms of finishing it. We all know that it can be done in under five minutes by using pipe warping. But I mean in terms of getting it to run on your new emulator.

Maybe not, but it seems to me that there has been a lot of topics lately all relating to Super Mario Bros. emulation. When I think about it, the game requires an emulator to have almost all PPU requirements. Here is a list of what I know it needs.

1. JMP Indirect (CPU)

A lot of emulator authors get this wrong when they start out. I know that this was the bane of my early days. It led the game to freeze at the very beginning before anything was rendered to the screen. This obviously causes the PC to become undefined.

2. Palette Mirroring

Many people seem to be confused when they see most of the SMB title screen black, as they still believe that $3F00, is mirrored to $3F04, $3F08, $3F0C, $3F10, $3F14, $3F18 and $3F1C.

3. Sprite #0 Hit Detection

This is one of the most difficult things to emulate, and SMB requires it to run the game at all times. This had me stumped for months as to why SMB would not run on my emulator at all, and if not emulated, the game just hangs on the title screen. Even when it is emulated, I sometimes had a problem when Mario jumped and he became on the same horizontal line as Sprite #0, then the scrolling would flicker for a few seconds.

4. 1 Byte PPU Read Delay

If this is not emulated then the title screen does not display the logo. Also Mario is incorrectly drawn on the screen (when is small he is either invisible, or headless!).

5. Scrolling

For me, SMB represents, the most demanding scrolling accuracy. I know that it does not scroll vertically, but if you do not use loopy's documents to emulate scrolling, then the menu bar at the top flickers half of the time.

So IMO, SMB is the best game to test an emulators accuracy out on (other than a blargg test ROM). Can anyone else suggest a game that has a similar effect?

_________________
http://www.jamesturner.de/


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 18, 2007 11:58 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19335
Location: NE Indiana, USA (NTSC)
Among games that do not use an ASIC mapper, Rare's Battletoads is even more challenging to get working.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 18, 2007 1:26 pm 
Offline

Joined: Wed Mar 22, 2006 8:00 am
Posts: 354
SMB really isn't that much special compared to other NES games (I don't think it uses any techniques that aren't commonly found in games, except maybe $2007 reading). I think the reason you see a lot of questions about SMB is because that's one of the first games people try to get working. In most cases, if SMB isn't working, a large number of other games will also fail (assuming you have the correct dump of SMB, of course).


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 18, 2007 5:50 pm 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3076
Location: Brazil
Battletoads & Double Dragon requires proper $2007 emulation too (latched reads).

_________________
Zepper
RockNES developer


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 5 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