Skip to content

Limitations

Rodrigo Alfonso edited this page Nov 24, 2024 · 39 revisions

piuGBA has the following limitations:

  • Maximum on-screen arrows:
    • 78 arrow sprites
    • 10 hold arrows per player
  • Maximum combo: 9999
    • Beyond 9999, the game will continue to add to the score without displaying a higher combo number.
  • Maximum songs per ROM: 99
  • Maximum ROM size: 32MB
  • Numeric difficulty range: 0~99
  • Maximum song duration:
    • Single player:
      • 60 minutes (23 bits for event timestamps, but limited to 1 hour by the importer)
    • Multiplayer:
      • 4 minutes and 33 seconds (2 audio chunks per frame, 15-bit value for audio sync)
  • Maximum # of events per chart: 3250
  • Maximum real BPM: 1048575 (20-bit value) (high-BPM warp trick doesn't count for this limit)
  • Unsupported SSC features:
    • Negative timing segments (e.g. negative speed or BPM)
      • Negative BPM/scroll will make the importer fail, but negative speeds are just ignored.
    • Progressive scrolls (#SCROLLS segments with a value != 0 or 1)
      • These are emulated as regular speed changes. It doesn't have the same effect, but it works better than ignoring them.
      • Real scroll support is outside the scope for this project, as it would be very resource-intensive for the GBA.
    • Weird event types like:
      • L/4 (lift/roll head)
        • These will make the importer fail and ignore the entire chart.
      • M/K/S/V/H (mines/auto keysound/sudden/vanish/hidden)
        • These are ignored and interpreted as 0.
      • {1|v|1|0}{1|v|1|0}{1|v|1|0}{1|v|1|0}1 (advanced syntax) -> {note type|appearance|fake flag|reserved flag}
        • This is partially supported. If the fake flag is 1, the note will be F, otherwise it'll be {note type}.
      • 00{10a}0{10a}{10a}0{10a}00 / 00{207}00 (wtf)
        • These will make the importer fail and ignore the entire chart.
Clone this wiki locally