< Cavestory

219,269pages on
this wiki
Add New Page
Discuss this page0 Share


typedef struct{
   char signature[6]; //"Org-02"
   Uint16 tempo;
   Uint8 steps;      //the number of steps per bar
   Uint8 beats;      //the number of beats per step
   Uint32 loopstart;
   Uint32 loopend;
} orgheader_t;


Instruments are stored in 16 6-byte long entries at the end of the header. Each entry contains the following:

typedef struct{
   Uint16 pitch; //Pitch, default 1000
   Uint8 instrument;
   Uint8 pi;     //00=off, 01=on
   Uint16 notes; //Number of notes played. Sustained notes count as one.
} orginstrument_t;

  • The first block of values defines the actual note. 5F is the highest note possible, and 00 is the lowest. This is for each actual instance of a note, and not each step. You'll know why in a second...
  • The second block defines the length of each individual note. The values are simple - 01 for a length of 1 step, 02 for 2, etc. This is how you can get a sustained note and only have one entry in the first block.
  • The third block defines volume for each note. Volume seems to only be able to go up to F8 - values any larger show up blank in OrgMaker.
  • The fourth block is panning - a value of 06 is center, and it goes from 00 to 0C.

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random wikia