diff options
Diffstat (limited to 'firmware/sound.c')
-rw-r--r-- | firmware/sound.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/firmware/sound.c b/firmware/sound.c index 88412c4094..70f7346599 100644 --- a/firmware/sound.c +++ b/firmware/sound.c | |||
@@ -504,12 +504,12 @@ static void set_channel_config(void) | |||
504 | } | 504 | } |
505 | else | 505 | else |
506 | { | 506 | { |
507 | fp_straight = - (1<<19); | 507 | /* straight = - (1 + width) / (2 * width) */ |
508 | fp_cross = ((2 * fp_width / (((1<<19) + fp_width) >> 10)) | 508 | fp_straight = - ((((1<<19) + fp_width) / (fp_width >> 9)) << 9); |
509 | << 9) - (1<<19); | 509 | fp_cross = (1<<19) + fp_straight; |
510 | } | 510 | } |
511 | val_ll = val_rr = fp_straight & 0xFFFFF; | 511 | val_ll = val_rr = fp_straight & 0xfffff; |
512 | val_lr = val_rl = fp_cross & 0xFFFFF; | 512 | val_lr = val_rl = fp_cross & 0xfffff; |
513 | } | 513 | } |
514 | break; | 514 | break; |
515 | 515 | ||
@@ -528,10 +528,10 @@ static void set_channel_config(void) | |||
528 | break; | 528 | break; |
529 | 529 | ||
530 | case SOUND_CHAN_KARAOKE: | 530 | case SOUND_CHAN_KARAOKE: |
531 | val_ll = 0x80001; | 531 | val_ll = 0xc0000; |
532 | val_lr = 0x7ffff; | 532 | val_lr = 0x40000; |
533 | val_rl = 0x7ffff; | 533 | val_rl = 0x40000; |
534 | val_rr = 0x80001; | 534 | val_rr = 0xc0000; |
535 | break; | 535 | break; |
536 | } | 536 | } |
537 | 537 | ||