Skip to content

Releases

NULD v1.2.12

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 08:49

The splash counts the games on your home server.

Fixed

  • The splash stopped at "00 / 01" with games on a home server: its total counted only what is on the USB, and
    the server's games were never added. They are now counted as the catalog arrives (and HD Loader games too).
    The line now reads "Cargando juegos" / "Loading games": it is the game list, covers load later as they show.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

NULD v1.2.11

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 08:43

Fixes a black screen after the splash.

Fixed

  • Black screen after the splash, at every boot. The update check waits for GitHub over HTTPS; when a server
    went quiet the launcher waited forever (the network library here ignores the 15-second limit the code asked for),
    and the screen stayed black. HTTPS reads now give up after 8 seconds of silence, and launcher.txt says where
    the check stopped. If you are stuck on v1.2.8: on the USB, in nuld/config.ini, set [actualizaciones] buscar = no
    to boot, update by hand, then set it back.

New since v1.2.5

  • Save icons for the games on your home server (needs the server's nuld_catalog.py and nuld_hash from this
    zip's server/; restart it with systemctl --user restart nuld-catalog).
  • Covers for apps: covers/<title>.c16 and _s.c16, named after the title the launcher shows.
  • Faster covers and achievements: covers read in one request per file; the first achievements query no longer
    waits for the update check; the client's "still loading" answer is asked again 5 times a second.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

NULD v1.2.8

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 07:49

Faster covers and achievements in the launcher, covers for apps.

Faster

  • Covers are read from the USB in one request per file instead of 1 KB at a time.
  • Achievements: the first game's query no longer waits for the update check (seconds of HTTPS at every boot),
    and the client's "still loading" answer is asked again 5 times a second instead of once.

New

  • Covers for apps. An app (APPS/) has no serial: its covers are covers/<title>.c16 and _s.c16, named after
    the title the launcher shows (tools/covers.py makes them from a PNG or JPG with that name).

Changed

  • launcher.txt logs each request for a home-server game's memory card ("nuld vmc remote"), to find why its save
    icon does not show yet.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

NULD v1.2.6

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 07:16

Save icons for the games on your home server.

New

  • The save icon of a game from the home server. Its virtual memory card lives on the server, which the
    launcher never read: the catalog service now lists the card and hands over the newest save's icon.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

On the server, replace nuld_catalog.py and nuld_hash with the ones in the zip's server/ and restart it:
systemctl --user restart nuld-catalog. An older catalog keeps working; the icons just do not show.

NULD v1.2.5

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 06:53

Achievement unlocks show up in the game.

New

  • Unlock notice in the game. When the achievements client announces an unlock, the game pauses for about
    2.5 seconds under a box with "LOGRO DESBLOQUEADO 5 PTS" (or "ACHIEVEMENT UNLOCKED") and the achievement's title.
    The titles come from the client's list at launch (the ones still to earn, up to 128 per game).

Fixed

  • The in-game menu did not show during gameplay (Tekken 5 in a fight: the game froze for 10 s, no box). The
    menu, and now the notice, wait for a moment when the game is not sending anything to the GS (up to 2 s).
  • The achievements list (○) of games with subsets stayed empty ("could not read the list"): Tekken 5's answer
    names the subset's achievement count first.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

NULD v1.2.4

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 06:10

The in-game menu can no longer leave a game frozen.

Fixed

  • The in-game menu froze the game when the pad was not read (an 8BitDo adapter, #11). With no new press for
    10 seconds the menu now closes by itself and the game goes on. The 8BitDo still cannot pick an option in the menu.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

NULD v1.2.3

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 05:38

Achievements inside games, for real this time, and a lighter agent.

Fixed

  • In-game achievements never unlocked since v1.1. The launcher handed Neutrino the agent's config file instead
    of the game's watch list, so the console never sent the game's memory to the achievements client. The list of
    achievements on ○ was not affected.
  • Games froze at scene loads with achievements on (Tekken 5 from the home server). The agent kept about 25 KB of
    the IOP's 2 MB for snapshots it never sends; it now keeps 4 KB, one packet's worth.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

NULD v1.2.2

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 05:19

Achievements work again.

Fixed

  • No achievements unlocked in v1.2.1. v1.2.1's freeze fix checked the wrong DMA channel (SIF0, which is
    always running), so the console never sent the game's memory to the achievements client. It now checks SIF1,
    the channel it shares with the game.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

NULD v1.2.1

Choose a tag to compare

@danielnuld danielnuld released this 08 Nov 04:40

Fix for a freeze with achievements on.

Fixed

  • Games froze at scene loads with achievements on (seen in Tekken 5 from the home server: black or frozen
    picture after a fight or a Story mode replay). The achievements telemetry sent its snapshot to the IOP in the
    middle of the game's own transfers; it now waits for a free frame. It also stops when the game reboots the IOP,
    until the agent says where its new buffer is.

Updating

With the network cable in, START at the update notice. Otherwise copy launcher.elf and neutrino/ from the
zip over the ones on your drive.

NULD v1.2

Choose a tag to compare

@danielnuld danielnuld released this 06 Nov 05:33
87a0336

ORBIT is now NULD: a new name, a new look, and nothing to redo on your USB drive.

Website, screenshots, manual: https://danielnuld.github.io/nuld/

New

  • A new name. ORBIT clashed with other PS2 projects; the launcher, its repository and its site are now NULD.
  • A new look. Black, steel and one acid accent: a loading screen with the four NULD logos taking turns over a
    wire sphere, 1 px frames and HUD corners on the selection, and the Archivo, IBM Plex Mono and Michroma typefaces.
    The in-game menu follows the same palette.
  • A new website with the loading screen running in the browser, every screenshot in a full-size viewer, and
    the setup guide as a manual of its own.

Updating from ORBIT

Nothing to do by hand. On the first boot NULD:

  • moves orbit/ to nuld/ (config.ini, per-game options, achievements data);
  • installs BOOT/NULD.ELF on your memory card and keeps BOOT/ORBIT.ELF up to date, so a FreeMcBoot autoboot
    that points at the old name keeps working (the setup wizard, START, can point it at the new one);
  • keeps using VMC/ORBIT.bin as the shared virtual memory card where you have one.

ORBIT v1.1 can update itself to this version: with the network cable in, START at the notice. Otherwise copy
launcher.elf and neutrino/ from the zip over the ones on your drive.

If you run the home game server, the service is now nuld-catalog (server/nuld_catalog.py, server/nuld_hash);
the old orbit-catalog keeps working with this version, as the protocol did not change.

The companion apps read the new nuld/config.ini from their next versions on (mass0:/orbit/ still works).

Known issues

  • "Native" video mode can give a black screen on some HDTV setups: there, keep the default 480p.
  • Loading over udpfs needs a wired network on both ends.

Checksums (SHA-256)

NULD-v1.2.zip     9B5268D18B9B6FC884A5DAFEF0F4054778CFA0494F86DF1D0D55115B44F62EF9
launcher.elf      C5E84A110D00D1779B941DAA628E96BA94D0C405E954512B6AADA2AC6AB29A78

GPL-3.0. Ships a fork of Neutrino (AFL-3.0) with the in-game menu and the
achievements agent. Developed with Claude Code as the coding assistant.