1 |
|
/* |
2 |
|
* SID.cpp - 6581 emulation |
3 |
|
* |
4 |
< |
* Frodo (C) 1994-1997,2002-2004 Christian Bauer |
4 |
> |
* Frodo (C) 1994-1997,2002-2005 Christian Bauer |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
1201 |
|
count >>= 1; // 16 bit mono output, count is in bytes |
1202 |
|
#endif |
1203 |
|
while (count--) { |
1204 |
– |
int32 sum_output; |
1205 |
– |
int32 sum_output_filter = 0; |
1206 |
– |
|
1204 |
|
// Get current master volume from sample buffer, |
1205 |
|
// calculate sampled voice |
1206 |
|
uint8 master_volume = sample_buf[(sample_count >> 16) % SAMPLE_BUF_SIZE]; |
1207 |
|
sample_count += ((0x138 * 50) << 16) / SAMPLE_FREQ; |
1208 |
< |
sum_output = SampleTab[master_volume] << 8; |
1208 |
> |
int32 sum_output = SampleTab[master_volume] << 8; |
1209 |
> |
int32 sum_output_filter = 0; |
1210 |
|
|
1211 |
|
// Loop for all three voices |
1212 |
|
for (int j=0; j<3; j++) { |
1388 |
|
#if defined(__BEOS__) || defined(__riscos__) |
1389 |
|
the_renderer = new DigitalRenderer(the_c64); |
1390 |
|
#else |
1391 |
< |
the_renderer = new DigitalRenderer(); |
1391 |
> |
the_renderer = new DigitalRenderer; |
1392 |
|
#endif |
1393 |
|
#ifdef AMIGA |
1394 |
|
else if (new_type == SIDTYPE_SIDCARD) |
1395 |
< |
the_renderer = new SIDCardRenderer(); |
1395 |
> |
the_renderer = new SIDCardRenderer; |
1396 |
|
#endif |
1397 |
|
#ifdef __linux__ |
1398 |
|
else if (new_type == SIDTYPE_SIDCARD) |
1399 |
< |
the_renderer = new CatweaselRenderer(); |
1399 |
> |
the_renderer = new CatweaselRenderer; |
1400 |
|
#endif |
1401 |
|
else |
1402 |
|
the_renderer = NULL; |