spc-reader
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

Build Status

SpcReader

SpcReader is a JS library for reading and parsing date from SPC700 files.

Installation

To install SpcReader into your project:

npm i --save spc-reader

Usage

SpcReader's default export is an async factory method for parsing SPCs.

import SpcReader, { ISpc } from 'spc-reader';
 
// Read by file path
const mySpc: ISpc = await SpcReader('aquatic-ambiance.spc');
 
// Read by buffer
const anotherSpc: ISpc = await SpcReader(fs.readFileSync('blargg-stage.spc'));

Public Exports

In addition SpcReader, the following items are also exported for public use.

ISpc

ISpc is an interface that describes the parts and data of an SPC file.

Property Type Description
hasID666Metadata boolean Whether the SPC file contains ID666 metadata. This is the SPC equivalent of ID3 tags.
regPC number The program counter register.
regA number The accumulator (A) register.
regX number The X register.
regY number The Y register.
regPSW number The program status word register.
regSP number The lower byte of the stack pointer.
metadata IId666? Any ID666 metadata available. If there is none, is undefined.
programData Uint8Array The SPC program data. Will always be 65,536 bytes.
dspRegisters Uint8Array The DSP registers data. Will always be 128 bytes.
iplRam Uint8Array The data from the IPL RAM area. Will always be 64 bytes.

IId666

IId666 is an interface that describes the various metadata properties of the ID666 tags.

Property Type Description
title string Title of the song.
game string The name of the game the song is from.
dumpedBy string The name of the person/program that dumped the SPC.
comments string Free form comments field.
dumpedOn Date The date the SPC data was dumped. Not guaranteed to be a real date.
length number The length of the song in seconds before beginning fade out.
fadeOutLength number The length of the fade out in milliseconds.
artist string The name of the song's artist.
defaultChannelDisabled boolean I honestly don't know...
emulator Emulator An ID code identifying the emulator that the SPC was dumped from.

Emulator

Emulator is an enum defining some of the ID codes for the emulator property of the IId666 interface.

Value Name
0 Unknown
1 ZSNES
2 Snes9x

Readme

Keywords

Package Sidebar

Install

npm i spc-reader

Weekly Downloads

4

Version

1.1.1

License

WTFPL

Unpacked Size

86.4 kB

Total Files

18

Last publish

Collaborators

  • dxprog