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