.BIN Files

INCOMPLETE! This documentation is still being written and I'm sorta going off of memory RN.

.bin files hold all the chart data for one difficulty level of a song.

It may seem complicated at first, but if you are a nerd like me, you'll find it easy eventually! 🤓

The document is made up of 8 byte long segments I'll call elements.

The entire .bin is made up of nothing but elements. Let's look into what these strings of jargon actually mean.

How each element is formatted.

Going into detail about these 5 portions of the element...

Timing

Byte1: Range of 1.024 / 256 seconds

Byte2: Range of 1.024 seconds

Byte3: Range of 1.024 * 256 seconds

Byte4: Range of 1.024 * 256 * 256 seconds (presumably. havent looked into this yet.)

Add all 4 values together and you get the element's position in the chart in seconds.

Type

This byte, Byte6, indicates what kind of element it is. Here's a list of most of them!

  • 01 - Note (Hit the button!)
  • 02 - Hitsound (Changes the current sound for one of the 9 rows)
  • 03 - Set Time Signature
  • 04 - Set Tempo
  • 05 - BGM Start (Starts the base music track)
  • 06 - Chart End
  • 07 - AutoNote (Plays a sample without needing a button press)
  • 0A - Measure Indicator (Nothing in-game I'm pretty sure.)
  • 0B - Beat Indicator (Same as above)

Data1 and Data2

These two bytes are used as the element's variables, and their purpose varies depending on the type of element.

uhg... how do i explain everything in an organized way...

Thing

You might've noticed I ignored byte 5. I honestly have no idea what it is other than it is related to type.

It is 00 for Measure and Beat Indicator elements, and is 45 for everything else.

NOTES

There's a element few elements typed 08 near the start of every chart. I also have no ideo of what this is.