MNS

From Amicitia Wiki
Jump to navigation Jump to search
MNS Format
Purpose Beatmap
Games Persona 5 Dancing Star Night
Persona 4 Dancing All Night
Persona 3 Dancing Moon Night
Developer Atlus

MNS is a format used in the Persona Dancing games to draw notes to the screen.
In all three games, they are located in data.cpk/dance/mns, using similar file names to the game's music files with an affixed number from 0 to 3 representing Easy, Normal, Hard and All Night mode respectively.

Please note that editing the MNS file alone does not enable one to make custom songs. The length of the song must be assigned to offset 0x20 of its' respective stage_format file in stage_format_table.arc, which itself can be found in data.cpk/dance/table and can be opened with Amicitia.

Note Creation[edit | edit source]

Singular notes are represented as a single entry into the notedata.
Unison Notes are two entries in the note data set to occur at the same time but differing locations - the game determines the union of notes on the fly.
Hold Notes are controlled by offset 0x5 in the note's data. A hold note that lasts for a measure long is represented by a value of hex 18, or decimal 24.
The new Double Notes in Persona 3 Dancing and Persona 5 Dancing are made by setting offset 0x6 in the note's data to 02.
Scratches are made just like a singular note, however its' note location must be set to 08. To create a Fever Scratch, offset 0x6 in the note's data must be set to 01.

Format Specs[edit | edit source]

z7WsBzy.png

Please expand this page. The reason given is:
More information about the header needs to be discovered and documented, specifically offset 0x14 for P3D/P5D and whether or not the "Always" values are used for something.


All values are in little endian unless stated otherwise.

Header[edit | edit source]

Offset Type Description
0x00 U32 Magic (MNS_)
0x04 U32 Always 0
0x08 U32 Always 1
0x0C U32 Music ID - same value affixed to filename
0x10 F32 Tempo in BPM. Note that this won't affect the BPM in the song selection menu.
0x16 U16 Song difficulty. 00-Easy, 01-Normal, 02-Hard, 03-All Night
0x1C U32 Number of notes in the file in little endian. Does not include duplicate notes.
0x20 u32 Always 0

Note Data[edit | edit source]

Note data are in groups of 8 bytes located directly after the header.

Offset Description
0x00 Which beat of a fourth note to place the note onto.
0x01 If the note takes place on the second eighth note of the beat, then this value is 0x80.
0x02 Measure this beat takes place on
0x03 Always 0.
0x04 Note Location
0x05 Hold Timer
0x06 Note Metadata. 01 if Fever Scratch, 02 if P3D/P5D Double Note.
0x07 Always 0

Note Location[edit | edit source]

Offset 0x04 in the note's data which determines where on the screen a note should be. Note that values 06 and 07 are unused, which could suggest that Right and Square could have originally been possible note locations.

Value Location
00 Down
01 Cross
02 Left
03 Circle
04 Up
05 Triangle
08 Scratch