Skip to content

Import & export ​

Bitphase can open projects, import classic AY modules, and export audio or hardware-oriented dumps. What you see under File → Export depends on which chips are in the project - for example PSG / SNDH only appear for AY songs.

Projects (.btp) ​

ActionMenu
OpenFile → Open
SaveFile → Save

.btp is Bitphase's own project format: the full project serialized as JSON, then gzip-compressed. It keeps songs, patterns, order, instruments, tables, and settings together.

Save always downloads a file named from the project title (browsers do not overwrite a path on disk the way a desktop app would). There is no separate Save As in the menu.

Import modules ​

File → Import Module opens a picker for:

FormatWhat it is
.pt3ProTracker 3.4 AY modules
.vt2Vortex Tracker 2 AY modules
.taymRegister-level timer-trick tracks
.psgAY register dumps
.ftmFamiTracker modules
.0cc0CC-FamiTracker modules
.dnmDn-FamiTracker modules
.cop, .etc, .saa, .sng, .mE-Tracker SAA1099 modules

.pt3 and .vt2 bring in classic AY tracker songs. E-Tracker files (.cop, .etc, .saa, .sng, .m) import as one SAA1099 song.

FamiTracker (.ftm / .0cc / .dnm) ​

.ftm and .0cc import as a 2A03 song. .dnm imports when the module is NES, or NES plus Sunsoft 5B.

A Sunsoft 5B module (.dnm, or .ftm / .0cc with that expansion and eight channels) becomes two songs: the 2A03 channels, plus an AY song for the 5B channels. The AY song uses the Sunsoft 5B clock. Any other expansion is left out of a .ftm or .0cc import, and Bitphase reports that in the import notes. A .dnm file with a different expansion is rejected.

TAYM ​

TAYM is a register-level interchange format: a frame-by-frame register dump plus a description of the timers that rewrite registers between frames (the trick behind SID voices, sync-buzzer, and digi-drums on Atari ST).

Side data (.json) ​

Instruments, tables, and themes can be saved or loaded as .json from their own panels - not from the File menu. User scripts have their own JSON export/import in the scripts UI.

Export overview ​

Open File → Export and pick a format. Availability:

FormatWhen it appears
WAVAlways
PSGExactly one AY song
TAYMExactly one AY song
SNDHExactly one AY song
PSG (ZIP)More than one AY song
TAYM (ZIP)More than one AY song
VGMAY, NES, and/or SAA, at most 2 of each type (one .vgm)
NSFOnly AY and NES songs, at most one of each

A NES-only project exports WAV, VGM, and NSF. PSG, TAYM, and SNDH are AY paths. An AY-only project can also export NSF (as Sunsoft 5B).

WAV ​

Opens WAV Export Settings, then renders the song (or songs) to audio.

OptionChoicesDefault
Sample rate22050 / 44100 / 48000 / 96000 Hz44100
Bit depth16-bit PCM / 24-bit PCM / 32-bit float16-bit PCM
Loop repeatsExtra passes after the first play (0-9)0 (play once)
ChannelsMixed stereo file, or separate file per channelMixed
MetadataTitle, artist, album, year, commentTitle and artist from the project when set

Separate channels packs the WAVs into a ZIP (handy for oscilloscope or DAW stems).

From the command line you can also run pnpm btp-to-wav on a .btp file (see the project README).

PSG ​

AY register dump for hardware players and emulators. One interrupt frame after another; no options dialog beyond a progress indicator.

  • One AY song → {project}.psg
  • Several AY songs → PSG (ZIP) with one .psg per AY chip (..._ay1.psg, ..._ay2.psg, ...)

TAYM export ​

Same register-level format as the TAYM import. Timer effects are included.

  • One AY song → {project}.taym
  • Several AY songs → TAYM (ZIP) with one .taym per AY song

From the command line you can also run pnpm btp-to-taym on a .btp file (see the project README).

SNDH ​

Available for a single AY song. Used for Atari ST hardware playback. Bitphase builds an SNDH file from a PSG dump plus a fixed header (including a 50 Hz timer tag).

VGM ​

One file for VGM players. The project can mix AY, NES, and SAA1099, up to two songs of each chip. Two SAA songs in one file need the same chip clock. NES APU writes and DPCM samples are included. AY timer effects are written into the file.

NSF ​

One .nsf for NSF players. The project may contain only AY and NES songs, and at most one of each.

ProjectWhat the file contains
One NES song2A03. PAL is set when the song system is PAL
One AY songSunsoft 5B. PAL is set when the interrupt rate is under 55 Hz
One NES song and one AY song2A03 plus Sunsoft 5B. PAL follows the NES song

AY periods in a Sunsoft 5B file are retuned to half the NTSC or PAL CPU clock. A Dendy song uses the NTSC clock. Title and artist come from the project. The order-list loop marker is written into the file. A song that plays through to the end halts.