diff options
author | Jonathan Gevaryahu <Lord-Nightmare@users.noreply.github.com> | 2008-06-30 18:57:41 +0000 |
---|---|---|
committer | Jonathan Gevaryahu <Lord-Nightmare@users.noreply.github.com> | 2008-06-30 18:57:41 +0000 |
commit | 3efbf0333db423559542da629d343056587bf271 (patch) | |
tree | 3ac3e867926c6e6b7261c8990aea9f536b73a5f4 /src | |
parent | f33daa087753601d7dd4ec764a12125ace4b9b62 (diff) |
s14001a.c: fix a minor bug with the 4-bit dac range. wolfpack clips again, and I'm almost sure its an encoding error on the original speech
Diffstat (limited to 'src')
-rw-r--r-- | src/emu/sound/s14001a.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/emu/sound/s14001a.c b/src/emu/sound/s14001a.c index 1a5197ea090..8dd5033f957 100644 --- a/src/emu/sound/s14001a.c +++ b/src/emu/sound/s14001a.c @@ -17,7 +17,8 @@ 1.20 supports setting the clock freq directly - reset is done by external hardware, the chip has no reset line ZV (0.122) 1.30 move main dac to 4 bits only with no extension (4->16 bit range extension is now done by output). - Added a somewhat better, but still not perfect, filtering system. LN (0.125u9) + Added a somewhat better, but still not perfect, filtering system - LN + 1.31 fix a minor bug with the dac range. wolfpack clips again, and I'm almost sure its an encoding error on the original speech - LN (0.125u9) TODO: * increase accuracy of internal S14001A 'filter' for both driven and undriven cycles (its not terribly inaccurate for undriven cycles, but the dc sliding of driven cycles is not emulated) @@ -424,6 +425,9 @@ static void s14001a_clock(S14001AChip *chip) /* called once per clock */ #endif chip->laststate = chip->machineState; chip->machineState = chip->nextstate; + + /* the dac is 4 bits wide. if a delta step forced it outside of 4 bits, mask it back over here */ + chip->DACOutput &= 0xF; } } @@ -543,7 +547,7 @@ void s14001a_get_info(void *token, UINT32 state, sndinfo *info) /* --- the following bits of info are returned as NULL-terminated strings --- */ case SNDINFO_STR_NAME: info->s = "S14001A"; break; case SNDINFO_STR_CORE_FAMILY: info->s = "TSI S14001A"; break; - case SNDINFO_STR_CORE_VERSION: info->s = "1.30"; break; + case SNDINFO_STR_CORE_VERSION: info->s = "1.31"; break; case SNDINFO_STR_CORE_FILE: info->s = __FILE__; break; case SNDINFO_STR_CORE_CREDITS: info->s = "Copyright Jonathan Gevaryahu"; break; } |