Mercurial > hg > forks > pwpunix
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/final_isi/time.c Fri Jun 01 17:41:15 2012 +0300 @@ -0,0 +1,69 @@ +#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; + } +}