Skip to content
Rodrigo Alfonso edited this page May 25, 2024 · 50 revisions

Admin Menu

The Admin Menu contains advanced options and hardware integrations.

To open it, press L+R+START+SELECT in the Start Screen:

start

Then, you'll see something like this:

admin

Navigation style

  • When using GBA style (the default value), you'll navigate through menus like in any other GBA game (D-pad to move, A to confirm).
  • If you switch to PIU style, you'll use a layout similar to the arcade cabinets (↙️↘️ to move, 🟨 to confirm).

Rumble

  • If you use a rumble-enabled flash cart, set to CARTRIDGE and the game will produce vibrations following the music's tempo.
  • If not, you can set I/O SC mode and build a custom hardware solution for rumble. In this mode, the game will turn vibration ON and OFF by using Link Port's SC pin as a GPIO output (see connection diagram below).
  • If you don't want rumble at all, set to OFF.

I/O SD Blink

This option allows the player to connect LEDs to Link Port's SD pin and synchronize them with the music.

GBA pinout

For example, one cool mod is to solder two LED strips to the SD and GND pins, and put them at the sides:

(View pictures)
Lights IO pins GBA mod

SRAM LED Blink

If your flash cart turns a LED on when the game is saving (such as the EverDrive GBA X5), you can make the ROM save the game at the rhythm of the music to have a blinking light.

HQ (audio / video)

(aka HQ mode)

hq

This function integrates the game with a flash cart, so it reads high-quality audio and background videos directly from the SD card.

  • If you downloaded a ROM that contains an audio/video pack, you should have two folders.
    • Put the piuGBA_audios and piuGBA_videos folders in the root of your SD card.
      • Use at least a UHS-I U3 A2 V30 card (e.g. SanDisk Extreme uhs3 a2 v30) for optimal performance.
        • microSD
      • You can hide the folders so they don't appear in the flash cart menu.
      • All files are optional: If a file is missing, the game will use a static image (in case of background videos) or default audio (in case of high-quality audio).
    • Enable HQ (audio / video) in the Admin Menu.
    • If you use an EZ Flash Omega/OmegaDE, refer to the warning below.
  • If you are the ROM creator, you put video files in a _videos folder inside your songs folder.
    • Each file name must match the audio file name (e.g. if the audio file is 101.MP3, the video should be 101.MPG).
    • Run make import HQAUDIOENABLE=true VIDEOENABLE=true, which will generate the piuGBA_audios and piuGBA_videos folders with the processed files.
    • You should distribute the generated folders with your ROM.

⚠ When using the EZ Flash Omega/OmegaDE cartridge, high-quality audio is required if you also want to enable videos. This might seem like a contradiction, but using uncompressed audio actually helps performance, as the GBA won't have to decode GSM files which takes a large portion of the game loop.

  • This means, if you don't add the piuGBA_audio folder, you will see an error message when trying to load a song.

🤝 Flash cart compatibility:

  • EverDrive GBA Mini: ✔️ Tested and working.
  • EverDrive GBA X5: ✔️ Tested and working.
  • EZ Flash Omega Definitive Edition: ✔️ Tested and working.
  • EZ Flash Omega: ⚠️ Works, but patching is required, see below.

(everything was tested with a 128GB microSD card)

EZ Flash Omega patch

Regular EZ Flash Omega users need to patch the ROM in order to use HQ mode. If you have the Definitive Edition, you don't need this!

  • Download the files named piugba.ezfo.full.prod.ips and piugba.ezfo.arcade.prod.ips from the GitHub release.
  • Go to https://afska.github.io/RomPatcher.js
  • Select the ROM you want to patch.
  • Select the appropriate patch file (if it's a Campaign ROM, use the full variant; if not, use the arcade variant).
  • Download the patched ROM.

If the patch was applied correctly, you'll see an [EZFO] label under the version number in the Admin Menu. This patch sets the ROM speed a bit slower and removes automatic save backup so the cartridge doesn't crash when using HQ mode. The only two issues/consequences of this are:

  • You might experience some audio popping.
  • You have to manually save the game by soft resetting (A+B+START+SELECT) outside song gameplay. Soft resetting during a song will abort the song and exit to the song selection menu. Soft resetting in any other place will save (you'll see a Saving... message during 10 seconds) and then reset the game.

EWRAM overclock

This pushes the GBA's external RAM to its fastest speed, which could potentially help when running more extreme charts. While not necessary for standard gameplay, this feature future-proofs the game for upcoming, more complex content.

Activating HQ mode will also force EWRAM overclock, as it's required for running videos and multiplayer code simultaneously.

⚠️ This won't cause any effect on a GB Micro. It won't crash, but the overclock won't be applied either so videos might cause lag on multiplayer.

⚠️ A very small percentage of GBA SPs can crash using this setting, and thus, HQ mode. The conflicting motherboard seems to be AGT-CPU-01. Use with caution and always backup your save file.

PS/2 input

Yes, you can connect a PS/2 keyboard to your GBA and play using it. Here's a connection diagram:

 ____________
|PS/2 --- GBA|
|------------|
|CLOCK -> SI |
|DATA --> SO |
|VCC ---> VCC|
|GND ---> GND|
  • Left pad is controlled with z, c, s, q, e
  • Right pad is controlled with numpad 1, 3, 5, 7, 9
  • In Single mode, any pad will work
  • Start is mapped to enter and numpad +
  • Select is mapped to backspace and numpad -
  • Soft reset is mapped to esc and supr
  • On Training mode, you can use left to slow down, right to speed up, up for fast-forward, and down for rewind

Using an external keyboard can introduce a bit of input lag. Make sure to calibrate the audio in the Settings menu.

Rumble options

  • Total frames: Number of frames that the motor will be ON during beats.
  • Pre-roll frames: Number of frames that the motor will be ON, before the beat.
    • For example, if Total frames is 8 and Pre-roll frames is 3, the motor will start spinning 3 frames before the beat starts, and continue for 5 more frames to complete the cycle.
  • Idle cycle period: Frame count for alternating low and high motor activity when off-beat, set to prevent cold starts.
    • For instance, with an Idle cycle period of 3, the motor alternates every 3 frames between low and high activity until the next beat starts.

Configuring song offsets in ARCADE modes

offsets

If a song/chart doesn't feel right or you're getting too many greats/goods instead of perfects, it may be out of sync. To fix that, you can enable Offset editing.

Once enabled, use SELECT + L/R on the Song Selection screen to adjust the chart offset, which will be recorded in the save file. In this mode, you can see which charts have different offsets, as they are labeled as 'a', 'b', etc. If the charts are labeled as '!', it means that they all have the same offset.

If all songs need the same correction, you can also set a Global offset in the Custom Offsets menu.

Mark a song as defective in ARCADE modes

defective

If you find a song/chart that doesn't work well, you can mark it as defective, so the next time you'll remember that you shouldn't play that chart.

To do it, hold START + SELECT right after you confirm the song (while the pixel animation is still playing). If you do it right, the game will return to the selection screen and show an X over the song's thumbnail.

Conflicts

Due to hardware limitations, some options conflict with others:

  • On EZ Flash Omega/OmegaDE:
    • Background videos will be temporarily disabled during Multiplayer mode or Training mode.
    • High-quality audio won't be available on menus or outside normal gameplay.
  • High-quality audio won't be used on Multiplayer mode or when Training mode is active.
  • Background videos might lag on the GB Micro when using Multiplayer mode.
  • Cartridge Rumble may not work when HQ mode is active; flash carts don't like this.
  • SRAM LED Blink won't work when HQ mode is active; the LED will be always ON since the GBA will be accessing the SD card at all times.
  • Link Port (I/O) integrations (like Blink or Rumble) won't work on Multiplayer mode, as the Link Port will be used for communication.
  • PS/2 input and HQ mode can't be enabled at the same time.
  • Multiplayer mode cannot be used while PS/2 input is enabled.