Skip to content

Releases: andresarevalo1/BattleBlockRecomp-NX

BattleBlock Theater NX v0.2.0

Choose a tag to compare

@andresarevalo1 andresarevalo1 released this 22 Oct 04:23

Port a Nintendo Switch de BattleBlock Theater (Xbox 360 XBLA) por recompilacion estatica, hecho por DashX - Andres Arevalo.

Necesitas tu propia copia del juego: la version XBLA de EE. UU./World, como .iso o ya extraida. No se incluye nada del juego (ni el ejecutable, ni los assets, ni las imagenes).

Instalar (lo facil)

Abre https://andresarevalo1.github.io/battleblock-theater-nx-installer/, elige tu copia (el .iso o la carpeta con default.xex y GameData) y la pagina te construye el zip: el port, la configuracion y tus archivos de juego ya colocados. Todo ocurre en tu navegador y tus archivos nunca se suben. Extrae el zip en sdmc:/switch/ y a jugar.

Instalar (a mano)

  1. Copia battleblock_theater.nro a /switch/battleblock_theater/ en la microSD (o descomprime battleblock_theater.zip en la raiz de la SD).
  2. Crea /switch/battleblock_theater/game/ y pon ahi tu XBLA extraida: default.xex (SHA-256 87A7C33F5C039DC24796173E22D9FF0D16C5E3663B73F77CDC81FB020250979F), GameData/, TitleIcon.png, Achievement*.png y el resto, tal cual estan en la carpeta del XBLA.
    • Consejo: el repo trae tools/preparar-juego.ps1 (Windows) y tools/preparar-juego.sh (Linux/macOS): copian tus archivos y comprueban el hash del ejecutable.
  3. Arrancalo como aplicacion: con un title override (manten R al iniciar un juego) o con un forwarder. El modo applet no tiene memoria suficiente.

Opcional: battleblock.toml junto al NRO para los ajustes (30/60 FPS, renderer, idioma...). Se puede editar en la consola.

Cambios

  • Primera build publica del port para Switch.
  • Renderer nativo (texturas, geometria y shaders full-screen propios) en vez de la GPU emulada.
  • Frame pacing a 30 FPS, configurable a 60.
  • Espanol por defecto (game_language = 5).
  • Corregido el agotamiento de memoria del kernel de Switch durante el video de la intro: las texturas de streaming se expulsan antes (~2 s en vez de ~20 s).

Estado

El port funciona en una Switch portatil con custom firmware, sys-clk y title override (modo takeover):

  • Arranque completo: Vulkan/NVK, swapchain 1280x720, el default.xex cargado, audio e input listos.
  • La intro 3D se reproduce con sonido y el juego corre hasta el titulo.
  • El fix de la memoria del kernel va en esta build.
  • Modo applet descartado: no hay memoria suficiente, de ahi el title override.

Limitaciones conocidas

  • El modo applet no tiene memoria suficiente: usa title override o un forwarder.
  • Salida a 720p.
  • 30 FPS con la configuracion por defecto; puedes probar 60 con gameplay_frame_rate = 60.
  • El juego es 2D: el renderer propio sustituye texturas y geometria originales, asi que algunos efectos full-screen pueden verse distinto.
  • Sin estados de guardado estilo emulador.

Creditos

DashX - Andres Arevalo - https://github.com/andresarevalo1


A native Nintendo Switch port of BattleBlock Theater (Xbox 360 XBLA) by static recompilation, by DashX - Andres Arevalo.

You need your own copy of the game: the USA/World XBLA release, as an .iso or already extracted. Nothing of the game is included here (no executable, no assets, no images).

Install (the easy way)

Open https://andresarevalo1.github.io/battleblock-theater-nx-installer/, choose your copy (the .iso or the folder with default.xex and GameData), and the page builds the zip for you: the port, the settings and your game files, already in place. Everything runs in your browser and your game files are never uploaded. Extract the zip in sdmc:/switch/ and play.

Install (by hand)

  1. Copy battleblock_theater.nro to /switch/battleblock_theater/ on the SD card (or unzip battleblock_theater.zip at the SD root).
  2. Create /switch/battleblock_theater/game/ and put your extracted XBLA there: default.xex (SHA-256 87A7C33F5C039DC24796173E22D9FF0D16C5E3663B73F77CDC81FB020250979F), GameData/, TitleIcon.png, Achievement*.png and the rest, exactly as they are in the XBLA folder.
    • Tip: the repo ships tools/preparar-juego.ps1 (Windows) and tools/preparar-juego.sh (Linux/macOS). They copy your files and verify the executable hash for you.
  3. Start it as an application: a title override (hold R while starting a game) or a forwarder. Applet mode does not have enough memory.

Optional: battleblock.toml next to the NRO for settings (30/60 FPS, renderer, language...). It can be edited on the console.

Changes

  • First public build of the Switch port.
  • Native renderer (own textures, geometry and full-screen shader replacements) instead of the emulated GPU.
  • Frame pacing at 30 FPS, configurable up to 60.
  • Spanish by default (game_language = 5).
  • Fixed the Switch kernel memory exhaustion during the intro video: streaming textures are evicted sooner (~2 s instead of ~20 s).

Status

The port works on a handheld Switch with custom firmware, sys-clk and a title override (takeover mode):

  • Full boot: Vulkan/NVK, 1280x720 swapchain, the default.xex loaded, audio and input up.
  • The 3D intro plays with sound and the game runs to the title screen.
  • The kernel memory fix is in this build.
  • Applet mode ruled out: there is not enough memory, hence the title override.

Known limitations

  • Applet mode does not have enough memory: use a title override or a forwarder.
  • 720p output.
  • 30 FPS with the default settings; you can try 60 with gameplay_frame_rate = 60.
  • The game is 2D: the own renderer replaces the original textures and geometry, so some full-screen effects may look different.
  • No emulator-style save states.

Credits

DashX - Andres Arevalo - https://github.com/andresarevalo1

Checksums

02e60f6736785bbabb28e839222c68364c5fd1e1a1c9939f891bcbe6afc0e703  battleblock_theater.nro
a1f0c95180d0d8d4c40c21ede90d76621988b6b3c367c7c9b366ab7d837b2a5b  LEEME-INSTALACION.txt
79b4bb0d4f164d8cee82bad12767bca6d56d4bdd0305f6aca5bf51fe981c79dd  LICENSES.txt
df46854d76b2a88ac0979c7e0fda0907897861aefd88577b0ea6b41a22b9abbb  battleblock_theater.zip
``` 

BattleBlock Theater is a trademark of The Behemoth. Unofficial fan project, with no affiliation to The Behemoth or Microsoft.