1 2**************************************************************************** 3* S3MOD - a S3M and MOD trackered music player * 4**************************************************************************** 5 6 7/*************************************************************************** 8 * S3m/Mod player by Daniel Marks (dmarks@ais.net) 9 * GUS support and ongoing Maintaniance by David Jeske (jeske@uiuc.edu) 10 * 11 * 12 * (C) 1994,1995 By Daniel Marks and David Jeske 13 * 14 * While we retain the copyright to this code, this source code is FREE. 15 * You may use it in any way you wish, in any product you wish. You may 16 * NOT steal the copyright for this code from us. 17 * 18 * We respectfully ask that you email one of us, if possible, if you 19 * produce something significant with this code, or if you have any bug 20 * fixes to contribute. We also request that you give credit where 21 * credit is due if you include part of this code in a program of your own. 22 * 23 * Email: s3mod@uiuc.edu 24 * jeske@uiuc.edu 25 * 26 * See the associated README file for Thanks 27 *************************************************************************** 28 * 29 */ 30 31 32This is s3mod for Linux. It is a MOD/S3M tracker file player. This 33should play 4,6,or 8 track MOD file format tracker files. It also 34should play Scream Tracker 3 (S3M) files. 35 36Email any bugs you find to 37 jeske@uiuc.edu 38 or 39 s3mod@uiuc.edu 40 41We know that 16bit /dev/dsp support is not as clean as it should/could 42be. If you have any ideas or suggestions, please let us know. 43 44******** ADDING PLATFORM SUPPORT ******** 45 46We've tried to make it as easy as possible to add support for new 47platforms. First you'll need to add a new entry to the makefile. Here 48is a template: 49 50your_platform: 51 $(RM) dsp.c 52 $(LN) DspDrivers/your_platform.c dsp.c 53 make CC=cc CFLAGS=-O2 LIBS="-lyour_audio_lib" 54 55Any new defines you need set, you should put ont the MAKE command line. 56Now, you'll need to make a your_platform.c file for the dsp calls. This 57should go in the "DspDrivers" directory. Use the "stereo" and "bit16" 58global variables to control your setup of the DSP device. 59 60int get_dsp_device(void) 61void write_dsp_device(void *buf, int size) 62void close_dsp_device(void) 63 64Then you may want to take a look at and add some stuff to config.h. 65 66When stereo is used, the samples will be interleaved for you. If you 67need them uninterleaved, then you'll have to either do it yourself, 68or you'll have to write a new mixer in "mix.c". 69 70 71******** THANKS TO: ********* 72 73Thanks to the authors of GMOD. It was essential in my learning to 74understand the /dev/sequencer "VoxWare" drivers. 75 ( Hannu Savolainen and Andrew J. Robinson ) 76 77Thanks to Carlos Hasan for releasing source to his mod player. 78 79Thanks also to those who wrote Vangelis Tracker, and for those at 80Future Crew for making the S3M file format. Lastly, thanks to Skaven 81and Purple Motion of Future Crew for releasing so many great S3Ms to 82listen to. 83 84Some internal thanks to Brandon Long (blong@uiuc.edu) for initiating 85the port of this to Linux and now SUN. 86 87Recent Thanks to Ricky Beam (cramer@catt.ncsu.edu) for providing SUN 88/dev/audio and DEC AF sound support. 89 90Thanks to Mike Muuss <mike@arl.mil> for the SGI support. 91 92Thanks to Brandon Long (blong@uiuc.edu) for fixin the Solaris support 93and restructuring the platform support. 94 95**************************************************************************** 96