Skip to main content

Capacities and platforms

Tracker capacities

ResourceCapacityAddress range / shape
Tracks8T1–T8
Song rows128007F
Chains25500FE, 16 Phrase slots each
Phrases25500FE, 16 steps each
Tables32001F, 16 steps, 3 command columns
Grooves32001F, 16 steps each
Instrument slots64003F
Project sample filenames64Shared by Sample instruments in the project

Instrument slots are type-independent, but the implementation has fixed per-type pools:

Instrument typeMaximum simultaneous instances
Sample32
MIDI16
SID3
OPAL3

These pools share the same 64-slot bank. Reaching one type's pool limit does not imply that every instrument slot is occupied.

Notes and names

  • Tracker notes run from C−2 through B7 (internal notes 0–119).
  • FE is Note Off and FF is an empty note.
  • Project names: at most 16 characters.
  • Theme names: at most 16 characters.
  • Instrument display names: at most 20 characters.
  • Stored sample filenames: at most 24 characters including .wav.

Names remain single filesystem components. Project and theme names reject empty names, . / .., and path separators.

Audio format

The engine runs at 44.1 kHz stereo. Project rendering writes 44.1 kHz, 16-bit stereo WAV files. Sample memory cost depends on the decoded WAV size, not merely the compressed or container file size shown by another tool.

Sample memory budgets

NullPerator hardware

NullPerator hardware reserves one contiguous sample arena of up to 8 MiB in PSRAM. Other firmware allocations and fragmentation can reduce what is actually available, so 8 MiB is a ceiling rather than a promise that every project at that exact size will load.

On hardware without usable PSRAM, the compatibility path limits an individual sample allocation to 64 KiB and preserves 128 KiB of internal memory for the rest of the application. NullPerator hardware is designed to use PSRAM.

Web and iOS

The Web and iOS sample pools enforce a 32 MiB decoded-sample budget. Browser or device process memory may be larger, but samples beyond that application budget are rejected. Stored files are separate from this decoded audio heap.

Platform comparison

AreaNullPerator hardwareWebiOS
Project storageSD-card filesystemPersistent browser virtual diskApp Documents folder
Audio startHardware driver starts with firmwareBrowser audio requires a user gestureNative CoreAudio
FilesRead directly from the cardUpload/download/ZIP through the Files panelAvailable in the iOS Files app
BrightnessControls the physical backlightPreference is saved; canvas brightness is unchanged in 0.1Controlled by iOS; tracker row hidden
BatteryDevice percentage and charge stateNo physical battery reportedDevice percentage and charge state
MIDITRS input and output; USB MIDI disabled in 0.1Selected Web MIDI input/outputSelected CoreMIDI input/output
Sample budgetUp to 8 MiB PSRAM arena32 MiB decoded samples32 MiB decoded samples

Web storage is scoped to browser origin and profile. Treat an origin change, site-data clear, or private-browsing session as a different disk and export a ZIP before migrating.