home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- long freq=1193180; /*frequency of timer*/
- int port61, port43, port42;
-
-
- main()
- {
- int c,sound=261;
-
- port61=inp(0x61); /*get value in port x061*/
- port61|=03; /*set bits 0 and 1 */
- outp(0x61,port61); /*write it back to turn on speaker*/
-
- while((c=getch())!='q') /*change value to PIT*/
- {
- new_sound(sound);
- if(c=='z') sound+=1;
- if(c=='x') sound-=1;
- }
-
- port61=inp(0x61); /*turn speaker off*/
- port61&=0xfc;
- outp(0x61,port61);
- }
-
-
- new_sound(sound) /*set up PIT for new sound*/
- int sound;
- {
- port43=0xb6;
- outp(0x43,port43); /*tell PIT to expect new value*/
-
- port42=(int) (freq/sound); /*determine note*/
- outp(0x42,(port42&0xff)); /*send low byte*/
- outp(0x42,(port42&0xff00)/256); /*send high byte*/
- }
-
-
-
-