summaryrefslogtreecommitdiff
path: root/firmware/mpeg.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/mpeg.c')
-rw-r--r--firmware/mpeg.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index 85054d7cf0..d75ac2085e 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -1985,16 +1985,19 @@ void mpeg_sound_channel_config(int configuration)
1985#ifdef HAVE_MAS3587F 1985#ifdef HAVE_MAS3587F
1986/* This function works by telling the decoder that we have another 1986/* This function works by telling the decoder that we have another
1987 crystal frequency than we actually have. It will adjust its internal 1987 crystal frequency than we actually have. It will adjust its internal
1988 parameters and the result is that the audio is played at another pitch */ 1988 parameters and the result is that the audio is played at another pitch.
1989void mpeg_set_pitch(int percent) 1989
1990 The pitch value is in tenths of percent.
1991*/
1992void mpeg_set_pitch(int pitch)
1990{ 1993{
1991 unsigned long val; 1994 unsigned long val;
1992 1995
1993 /* invert percent value */ 1996 /* invert pitch value */
1994 percent = 10000/percent; 1997 pitch = 1000000/pitch;
1995 1998
1996 /* Calculate the new (bogus) frequency */ 1999 /* Calculate the new (bogus) frequency */
1997 val = 18432*percent/100; 2000 val = 18432*pitch/1000;
1998 2001
1999 mas_writemem(MAS_BANK_D0,0x7f3,&val,1); 2002 mas_writemem(MAS_BANK_D0,0x7f3,&val,1);
2000 2003