view final_isi/time.c @ 69:c13a2f8c5b10

Rename files and some minor cleanups.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 01 Jun 2012 17:41:15 +0300
parents final_isi/fisitime.c@acb5694e93d9
children 96dd9b4e3fe7
line wrap: on
line source

#include "musa.h"

#define NUMCH 3

char cord=0,cpat=0,crow=0,drmt=0xff,drms=0;

char auditype;

int plrbeep[2];
int musatempo=5;

int freku[12] = {
		0x157,0x16b,0x181,0x198,0x1b0,0x1ca,
		 0x1e5,0x202,0x220,0x241,0x263,0x287
		 };
char plst=0;

/*char ison[3]={1,1,1};*/
char hvilk[3]={0xfe,0xfe,0xfe};

int lizayz=0;


void playtick()
{
      plst++;

      if (plst==musatempo) {
         int l;
         unsigned char mark,mkrl;

         for(l=0;l<NUMCH;l++) {

               mkrl=mark=trax[cpat][l][crow];

               if(mark<0xf0)mkrl=mark+=lizayz;

               if (auditype==2) plrbeep[l]=mark;

               if(mark==0xfa){musatempo=8;lizayz=-16;}

               if (mark==0xfb)if(auditype==2){
                     if(crow&1)mark=0xfe;else
                               mark=hvilk[l];
                               plrbeep[l]=mark;
                               }

               if (mark==0xfe)
                   gbsound(l,0);

               if (mark==0xfd) musatempo=16;
               if (mark==0xfc) musatempo=4;

               if (mark<0xf0) {

                   if(mark==mkrl)hvilk[l]=mark;
                   if((mark&15)>=12)mark+=4;

                 gbsound(l,(mark&15)+((mark>>4)*12));

         }       }

        crow++;   if (crow==64) {
                   crow=0;cord++;
                   cpat=patord[cord];
                   if (cpat==99) { cord=0; cpat=patord[cord]; }}
       plst=0;
      }
}