mario_theme.txt

(5 KB) Pobierz
// Author: Jasongamer
// Song: Mario Underwater Theme

// Set track wave to channel 0 and start
wset 0,trackwave;
chwave 0,0;
chvolume 0,0.2;
chstart 0;

// Set track wave to channel 1 and start
wset 1,trackwave;
chwave 1,1;
chvolume 1,0.2;
chstart 1;

// Set bass wave to channel 2 and start
wset 2,basswave;
chwave 2,1;
chvolume 2,0.3;
chstart 2;

// Get track length
tracklen = strlen(trackA);

void main()
{
    // Tempo
    if ((i > 120) && (i <= 230))
        tempo( 1000 );
    else
        tempo( 864 );

    // Track A
    note = 2;
    fpwr note,(trackA[i]/12);
    note /= 100;
    chpitch 0,note;
    
    // Track B
    note = 2;
    fpwr note,(trackB[i]/12);
    note /= 100;
    chpitch 1,note;
    
    // Bass
    note = 2;
    fpwr note,(bass[i]/12);
    note /= 100;
    chpitch 2,note;
    
    // Index
    i++; mod i,tracklen;
    
    // Repeat
    jmp main;
}

// Accurate tempo function for beats-per-minute
void tempo( float bpm )
{
    timer timestamp;
    while ((time - timestamp) < (60 / bpm)) { timer time; }
}

// Returns the length of a string
float strlen(char* str)
{
  char* strptr = str;
  while (*strptr++);
  return (strptr - str);
}

float note, i;
float tracklen;
float time, timestamp;

string trackwave,"synth/square.wav";
string basswave,"synth/tri.wav";

trackA:

// Intro
db 73,73,73,73, 75,75,75,75, 77,77,77,77,   78,78,78,78, 80,80,80,80, 81,81,81,81;
db 82,-1,82,-1, 82,82,82,-1, 82,82,82,-1,   82,82,82,82, 82,82,82,-1, -1,-1,78,78;

// Part 1
db 87,87,87,87, 87,87,87,87, 87,87,87,-1,   86,86,86,86, 86,86,86,86, 86,86,86,-1;
db 87,87,87,87, 87,87,87,87, 87,87,87,-1,   -1,-1,78,78, 80,80,82,82, 83,83,85,85;
db 87,87,87,87, 87,87,87,87, 87,87,87,-1,   86,86,86,86, 86,86,86,-1, 88,88,88,-1;
db 87,87,87,87, 87,87,87,87, 87,87,87,-1,   -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,78,78;
db 85,85,85,85, 85,85,85,85, 85,85,85,-1,   84,84,84,84, 84,84,84,84, 84,84,84,-1;
db 85,85,85,85, 85,85,85,85, 85,85,85,-1,   -1,-1,78,78, 80,80,82,82, 83,83,84,84;
db 85,85,85,85, 85,85,85,85, 85,85,85,-1,   78,78,78,78, 78,78,78,-1, 88,88,88,-1;
db 87,87,87,87, 87,87,87,87, 87,87,87,-1,   -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,78,78;

// Part 2
db 90,90,90,90, 90,90,90,90, 90,90,90,-1,   90,90,90,90, 90,90,90,90, 90,90,90,-1;
db 90,90,90,90, 90,90,90,90, 90,90,90,-1,   90,90,90,-1, 92,92,-1,-1, -1,-1,90,90;
db 88,88,88,88, 88,88,88,88, 88,88,88,-1,   88,88,88,88, 88,88,88,88, 88,88,88,-1; 
db 88,88,88,88, 88,88,88,88, 88,88,88,-1,   88,88,88,-1, 90,90,-1,-1, -1,-1,88,88; 
db 87,87,87,87, 87,87,87,87, 87,87,87,-1,   80,80,80,-1, 82,82,82,-1, 88,88,88,-1; 
db 87,-1,87,-1, 87,87,87,87, 87,-1,82,82,   83,83,83,83, 83,83,83,83, 83,83,83,-1;

db 0; // End string

trackB:

// Intro
db 73,73,73,73, 72,72,72,72, 71,71,71,71,   70,70,70,70, 71,71,71,71, 72,72,72,72; 
db 73,-1,73,-1, 73,73,73,-1, 75,75,75,-1,   76,76,76,76, 76,76,76,-1, -1,-1,-1,-1;

// Part 1
db 78,78,78,78, 78,78,78,78, 78,78,78,-1,   77,77,77,77, 77,77,77,77, 77,77,77,-1;
db 78,78,78,78, 78,78,78,78, 78,78,78,-1,   -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1;
db 78,78,78,78, 78,78,78,78, 78,78,78,-1,   77,77,77,77, 77,77,77,-1, 80,80,80,-1;
db 78,78,78,78, 78,78,78,78, 78,78,78,-1,   -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1;
db 76,76,76,76, 76,76,76,76, 76,76,76,-1,   75,75,75,75, 75,75,75,75, 75,75,75,-1;
db 76,76,76,76, 76,76,76,76, 76,76,76,-1,   -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1;
db 76,76,76,76, 76,76,76,76, 76,76,76,-1,   70,70,70,70, 70,70,70,-1, 80,80,80,-1;
db 78,78,78,78, 78,78,78,78, 78,78,78,-1,   -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1;

// Part 2
db 87,87,87,87, 87,87,87,87, 87,87,87,-1,   85,85,85,85, 85,85,85,85, 85,85,85,-1;
db 84,84,84,84, 84,84,84,84, 84,84,84,-1,   -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1;
db 85,85,85,85, 85,85,85,85, 85,85,85,-1,   84,84,84,84, 84,84,84,84, 84,84,84,-1;
db 83,83,83,83, 83,83,83,83, 83,83,83,-1,   -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1;
db 71,71,71,71, 71,71,71,71, 71,71,71,-1,   76,76,76,-1, 78,78,78,-1, 82,82,82,-1;
db 82,-1,82,-1, 82,82,82,-1, -1,-1,76,76,   75,75,75,75, 75,75,75,75, 75,75,75,-1;

db 0; // End string

bass: 

// Intro
db -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1;
db -1,-1,-1,-1, -1,-1,-1,-1, 66,66,66,-1, 66,66,66,66, 66,66,66,66, 66,66,66,-1;

// Part 1
db 59,59,59,-1, 66,66,66,-1, 71,71,71,-1, 58,58,58,-1, 66,66,66,-1, 70,70,70,-1;
db 59,59,59,-1, 66,66,66,-1, 71,71,71,-1, 63,63,63,-1, 66,66,66,-1, 71,71,71,-1;
db 59,59,59,-1, 66,66,66,-1, 71,71,71,-1, 58,58,58,-1, 66,66,66,-1, 70,70,70,-1;
db 59,59,59,-1, 66,66,66,-1, 71,71,71,-1, 63,63,63,-1, 66,66,66,-1, 71,71,71,-1;
db 61,61,61,-1, 66,66,66,-1, 70,70,70,-1, 60,60,60,-1, 65,65,65,-1, 69,69,69,-1;
db 61,61,61,-1, 66,66,66,-1, 70,70,70,-1, 58,58,58,-1, 66,66,66,-1, 70,70,70,-1;
db 61,61,61,-1, 66,66,66,-1, 70,70,70,-1, 58,58,58,-1, 66,66,66,-1, 70,70,70,-1;
db 59,59,59,-1, 66,66,66,-1, 71,71,71,-1, 54,54,54,-1, 66,66,66,-1, 71,71,71,-1;

// Part 2
db 59,59,59,-1, 66,66,66,-1, 75,75,75,-1, 58,58,58,-1, 66,66,66,-1, 73,73,73,-1;
db 57,57,57,-1, 66,66,66,-1, 72,72,72,-1, 60,60,60,-1, 66,66,66,-1, 75,75,75,-1;
db 61,61,61,-1, 68,68,68,-1, 76,76,76,-1, 60,60,60,-1, 68,68,68,-1, 76,76,76,-1;
db 59,59,59,-1, 68,68,68,-1, 76,76,76,-1, 58,58,58,-1, 66,66,66,-1, 76,76,76,-1;
db 47,47,47,-1, 66,66,66,-1, 75,75,75,-1, 54,54,54,-1, 66,66,66,-1, 66,66,66,-1;
db 64,-1,64,-1, 64,64,64,-1, -1,-1,58,58, 59,59,59,59, 59,59,59,59, 59,59,59,-1;

db 0; // End string

Zgłoś jeśli naruszono regulamin