User Tools

Site Tools


super_mario_64:console_compatibility

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
super_mario_64:console_compatibility [2018/03/11 23:30]
david
super_mario_64:console_compatibility [2019/01/08 13:50] (current)
redetzky useless redit #3213
Line 2: Line 2:
  
 This page lists the problems found over the past few years to help figure out how to get custom SM64 ROM hacks to work on real N64 hardware. Each issue that we have discovered is detailed here, and also includes ways to fix those issues. ​ This page lists the problems found over the past few years to help figure out how to get custom SM64 ROM hacks to work on real N64 hardware. Each issue that we have discovered is detailed here, and also includes ways to fix those issues. ​
 +
 +===== The problem with N64 emulators =====
 +
 +As we all know, Nintendo 64 emulation has never been perfect in the 20+ years since the console'​s release. This is mainly due to the architecture that was created by Silicon Graphics back in the mid 1990'​s. The console truly was a unique piece of hardware. While most N64 emulators do a good enough job for casual players who want to only play games, there are some inaccuracies that can create problems for ROM hackers.
 +
 ===== Issues ===== ===== Issues =====
  
Line 54: Line 59:
  
 To figure out if a level has fog or not, you will have to look at any [[super_mario_64:​fast3d_display_list_commands#​b7f3d_setgeometrymode|0xB7 (F3D_SETGEOMETRYMODE)]] commands that you see before a 0xFC command occurs. If the parameters contain a 0x10000 flag, then fog will be enabled in the level. To figure out if a level has fog or not, you will have to look at any [[super_mario_64:​fast3d_display_list_commands#​b7f3d_setgeometrymode|0xB7 (F3D_SETGEOMETRYMODE)]] commands that you see before a 0xFC command occurs. If the parameters contain a 0x10000 flag, then fog will be enabled in the level.
- 
- 
  
 ---- ----
Line 69: Line 72:
   1.) Find all occurrences of: 0A 01 00 2D 00 64 96 96 80 29 AA 3C   1.) Find all occurrences of: 0A 01 00 2D 00 64 96 96 80 29 AA 3C
   2.) Replace occurrence with: 0A 01 00 2D 00 64 7F 7F 80 29 AA 3C    2.) Replace occurrence with: 0A 01 00 2D 00 64 7F 7F 80 29 AA 3C 
 +
 +----
 +
 +==== Issue with Fog and Billboarded Objects ====
 +
 +Levels imported in SM64 Editor using fog with transparent textures, have an issue where sprite-based objects like coins, chuckyas, and goombas would be covered with the fog color. This is an example on a "SM64: Ztar Attack"​ affected level:
 +
 +{{:​super_mario_64:​ztarattackfogissue.png?​nolink&​400|}} ​
 +
 +This problem came from a typo in the display list that SM64 Editor creates when importing the level. This happens on levels with fog that has alpha textures. Levels with fog without alpha textures aren't affected.
 +
 +The typo is near the end of a display list where it is disabling fog. \\
 +The SETOTHERMODE_L command was set to ''​B9 00 03 1D <color #​ed1c24>​C8 11</​color>​ 30 78''​ instead of ''​B9 00 03 1D <color #​ed1c24>​00 44</​color>​ 30 78''​.
 +
 +**How to fix it?**
 +  1.) Find all occurrences of: 
 +    BA 00 14 02 00 00 00 00
 +    B9 00 03 1D C8 11 30 78
 +    B6 00 00 00 00 01 00 00
 +    ​
 +  2.) Replace occurrence with: 
 +    BA 00 14 02 00 00 00 00
 +    B9 00 03 1D 00 44 30 78
 +    B6 00 00 00 00 01 00 00
  
 ---- ----
Line 74: Line 101:
 ==== RCVI Hack ==== ==== RCVI Hack ====
  
-{{:​super_mario_64:​rcvi_hack_console.png?300|}}+{{:​super_mario_64:​rcvi_hack_console.png|}}
  
 The RCVI hack is an option in the SM64 editor, under the "ROM Settings"​ tab, that can potentially reduce lag in emulators. The hack simply changes two bytes at ROM offset 0xF00C2 from ''​ **02 0D** ''​ to ''​ **08 34** ''​. However, this hack prevents the game from working properly on console. It produces the strange visual artifacts seen in the image above on boot. The RCVI hack is an option in the SM64 editor, under the "ROM Settings"​ tab, that can potentially reduce lag in emulators. The hack simply changes two bytes at ROM offset 0xF00C2 from ''​ **02 0D** ''​ to ''​ **08 34** ''​. However, this hack prevents the game from working properly on console. It produces the strange visual artifacts seen in the image above on boot.
Line 99: Line 126:
 ---- ----
  
-===== The problem with N64 emulators ===== 
- 
-As we all know, Nintendo 64 emulation has never been perfect in the 20+ years since the console'​s release. This is mainly due to the architecture that was created by Silicon Graphics back in the mid 1990'​s. The console truly was a unique piece of hardware. While most N64 emulators do a good enough job for casual players who want to only play games, there are some inaccuracies that can create problems for ROM hackers. 
  
  
super_mario_64/console_compatibility.1520811034.txt.gz · Last modified: 2018/03/11 23:30 by david