Serial Loops app icon; the letters 'SL' emblazoned above four translucent gray rings within a rounded square box colored with a blue-to-green gradient along the negative X-Z axis
Serial Loops

Azure Pipelines build status badge Haroohie Translation Club Discord Server badge Serial Loops documentation link badge

Serial Loops is a fully-fledged editor for the Nintendo DS game Suzumiya Haruhi no Chokuretsu (The Series of Haruhi Suzumiya).


Screenshot of the Serial Loops script editor, featuring the 'EV2_029' script being edited. A list of commands is displayed in a list view panel, with buttons to add, remove and clear commands, with information about the currently selected command displayed on the right. Haruhi and Tsuruya are displayed on a preview of the Nintendo DS screen. Screenshot of the Serial Loops map editor, featuring the 'SLD1' map open with checkboxes to show/hide the camera position and collision grid Screenshot of the Serial Loops sound editor, featuring a modal widget with a sound wave graph. Buttons to start and stop playback are present, as are sliders and a checkbox to enable looping and adjust the track loop start and end points. Screenshot of the Serial Loops home screen. The Serial Loops logo and title sits at the top of the menu. Below that, under 'Start' on the left hand side, options to create a project, open an existing project, and modify preferences are present. An empty list of 'Recents' is visible on the right hand side, where recent projects would appear.


Documentation for how to use Serial Loops can be found on our website.



A Nintendo DS Emulator

To test the game easily, you will want to have a Nintendo DS emulator installed. We recommend using melonDS for its accuracy.

Installing devkitARM

devkitARM is required to use Serial Loops on all platforms.

  • Using the Windows graphical installer, you can simply select the devkitARM (Nintendo DS) workloads
  • On macOS and Linux, run sudo dkp-pacman -S nds-dev from the terminal after installing the devkitPro pacman distribution.

Installing Make or Docker

To assemble ASM hacks you want to apply, you will need to decide whether to use Make or Docker. Make is automatically installed when using the Debian and RPM packages we distribute, so you don't need to worry about this step if you're using either of those.

Currently, the Docker path is only supported on Windows due to operating system and framework limitations. It is possible to get Docker running just fine on Linux distros by running SerialLoops as root (e.g. sudo SerialLoops), but it's easier to just use Make. On macOS, there is no known way of getting the Docker path to work, so you will have to use Make.

  • Make is the software used to assemble assembly hacks. Installing Make allows you to build the hacks directly on your system.
    • To install on Windows, you will have to use a terminal and a package manager. Your options are Winget (installed by default on Win10+) or Chocolatey. Open an admin PowerShell or Terminal window (Winkey + X + A) and enter winget install GnuWin32.make for Winget or choco install make for Chocolatey. If using Winget, you will then have to go into system preferences and add Make to the path.
    • Installation on macOS can be done through Xcode or Homebrew. If using Xcode, open a terminal and type xcode-select --install. If you would rather use Homebrew, open a terminal after installing Homebrew and type brew install make.
    • Make comes preinstalled on many Linux distributions, and if you're using the Debian or RPM package, it was definitely installed when you installed Serial Loops. If you're using the tar.gz it is not installed on yours, you will likely be able to install it as simply as [packagemanger] install make from a terminal.
    To test if make is installed properly, type make --verison into a terminal and see if it produces the version of make.
  • If you would rather not install Make, or if it is not working properly, you can instead run it through a Docker container. To do this, you should install Docker Desktop or the Docker Engine. Ensure the Docker engine is running and make sure to check the "Use Docker for ASM Hacks" option in Preferences. You may want to occasionally clean up containers created by Serial Loops, as it will create many of them.
    • On Windows, you will additionally need to install Windows Subsystem for Linux (WSL). From an admin PowerShell or Terminal window (Winkey + X + A), simply type wsl --install to install it.

Installing OpenAL (Linux)

If you're running on Linux and not using one of the package releases (the .deb or .rpm), you will also need to install OpenAL which is used for audio processing.

Download & Install

Once you have installed any necessary prerequisites, to install Serial Loops, download the latest release for your platform from the Releases tab.

Be sure to read the Serial Loops documentation for instructions on how to use it!


Please file bugs in the Issues tab in this repository. Please include the following information:

  • The platform you are running Serial Loops on
  • The version of the Chokuretsu ROM you are using (Japanese, patched English ROM, etc.)
  • A description of the steps required to reproduce the issue
  • The relevant logs for the issue (can be found in ~/SerialLoops/Logs)



Serial Loops is licensed under the GPLv3. See LICENSE for more information.


Serial Loops requires the .NET 6.0 SDK to build. You can download it here. To build Serial Loops for your platform, run:

dotnet build src/PLATFORM

Remember to replace PLATFORM with the platform you're on:

  • SerialLoops.Gtk for Linux
  • SerialLoops.Mac for macOS
  • SerialLoops.Wpf for Windows

We recommend Visual Studio 2022 for development. If you'd like to contribute new features or fixes, we recommend getting in touch on Discord first before submitting a Pull Request!

Serial Loops

A Suzumiya Haruhi no Chokuretsu (The Series of Haruhi Suzumiya) level editor, by Jonko & me
Latest Version
Last Updated