home *** CD-ROM | disk | FTP | other *** search
- /*
- HOW TO REPLAY YOUR SAMPLED SOUND USING 'C'
- (via timer A interupts)
- BY R.PERRY FOR INNOVATED SOFTWARE
- (C)1988
- */
-
- #include <stdio.h>
- #include <osbind.h>
-
-
- #define SAMPSIZE 13000
-
- long prog_buffer[250];
- char sam_buffer[SAMPSIZE];
-
- main()
- {
- FILE *fp;
- static char playname[] = "samint.exe"; /* Samplay Play routine */
- static char samname[] = "nicesoft.dat"; /* A Sample */
- char get_key;
-
- printf ("\n\n\n\nSampled sound demonstration using 'C' \n\n");
- printf ("By R.PERRY for Innovated Software, (c)1988\n\n\n");
-
-
- /* LOAD IN THE 68000 CODE WHICH PLAYS THE SAMPLE */
-
- if ((fp = fopen(playname,"br")) == NULL) {
-
- printf ("READ ERROR!, Can not find file: %s...\n",playname);
- Cconin();
- exit(-1);
- }
-
- fread(prog_buffer,1,1000,fp);
- fclose(fp);
-
-
- /* NOW LOAD IN THE SAMPLE DATA FROM DISC */
-
-
- if ((fp = fopen(samname,"br")) == NULL) {
-
- printf ("READ ERROR!, Can not find file: %s...\n",samname);
- Cconin();
- exit(-1);
- }
- fread( sam_buffer, 1, SAMPSIZE, fp);
- fclose(fp);
-
-
- printf("PRESS <Q> WHEN FINISHED!\n");
-
- do {
- playsample( sam_buffer, (sam_buffer+SAMPSIZE), 6L);
- get_key = Cnecin(); /* WAIT FOR KEY PRESS */
- } while (get_key != 'q' && get_key != 'Q');
-
- } /* END OF 'C' MAIN */
-
- playsample(start,end,speed)
- long start,end,speed;
- {
- typedef int (*PFI)();
- PFI call_it;
- extern long progbuff[];
-
- prog_buffer[7] = start; /* SET START,END,SPEED IN THE CODE */
- prog_buffer[8] = end;
- prog_buffer[9] = speed;
-
- call_it = (PFI) &prog_buffer[10];
-
- (*call_it)(); /* RUN THE CODE TO PLAY SAMPLE */
- }