Skip to main content

Background Scrolling Data Info

TODO: Info for BG start position nybble. Would also be nice to know which BG speeds are all used.

Foregrounds and backgrounds scroll differently in many levels,levels  sometimes they have a fast speed ratio and sometimes they can be completely static,static. thisThis can be changedadjusted viaby hex editing your level.

  • Background only --> Change block 3 only.
  • Foreground only --> Change block 5 only.
  • Both --> Change both blocks 3 and 5.

BG hexadecimal example.pngNSMBe screenshot of the level hex editor open to block 5. The leftmost nybbles of byte 11 and 13 are labeled as "BG starting position" while the rightmost nybbles are labeled as "Speed".

  • Byte 11: Control BG horizontal scrolling.
  • Byte 13: Control BG vertical scrolling.

And for each byte:

  • First Nybble: Control where the background starts when the player enters the views.
  • Second Nybble: Control speed.

(Image source: MarioSunshine)

DataScroll speed data
  • 0x0: MakesSame theas BGFG completely static.speed. Used in w2-3 (sewer level) for example.
  • 0x1: Scroll50% slowerFG than level. Used in most levels.speed.
  • 0x2: Scroll25% slowerFG thanspeed. level,Common maybefor slowertop than 0x1?backgrounds.
  • 0x3: Slightly12.5% fasterFG thanspeed. 0x2.Common for bottom backgrounds.
  • 0x4: Scroll120% fasterFG thanspeed. level.Unused.
  • 0x5: Approximately75% 3FG times speed scrolling.speed.
  • 0x6: Extremely6.25% slowFG scroll, almost static to screen.speed.
  • 0x7: A9.375% littleFG faster than 0x6.speed.
  • 0x8: Scroll20.3125% slowerFG than level, again?speed.
  • 0x9: Scroll exactly the sameSame as level.FG speed.
  • 0x10:0xA: Scroll sameSame as level.FG speed.
  • 0x11:0xB: VerticalSame startedas image at top half of level and horizontal/vertical scrolling is about midFG speed.
  • 0x30:0xC: Scroll sameSame as level.FG speed.
  • 0xFF:0xD: Makes200% theFG BGspeed. scrollUnused.
  • extremely
  • 0xE: fast.400% FG speed. Unused.
  • 0xF: 800% FG speed. Unused.

(Source: RoadrunnerWMC)

Disabling vertical scrolling

  • Background only --> Change both bytes 13 and 16 of block 3 only.
  • Foreground only --> Change both bytes 13 and 16 of block 5 only.
  • Both --> Change both bytes 13 and 16 of both blocks 3 and 5.

 

  • Byte 13: enters 40.
  • Byte 16: enters 10.

(Source: MeroMero)

Automatic horizontal scrolling

Works for both foregrounds and backgrounds.

It only works for backgrounds that already have a horizontal animation, this can be achieved by putting a value of 10 for byte 16 and it will animate the whole background instead of partially animating it.
(Note :Note: if byte 13 value is somewhere between 40 and 4F, this effect will be overridden and instead the vertical scrolling will be disabled).
(Source: MeroMero)