diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2004-06-04 10:40:26 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2004-06-04 10:40:26 +0000 |
commit | ce3482cbf573261091855785d382e34cfbcce86f (patch) | |
tree | ac39fc04985ff1dc41ba9576387e90669d5e8a00 /firmware | |
parent | 6a2d3e8681c9800a1b392c4f50ee5f655b9ee376 (diff) | |
download | rockbox-ce3482cbf573261091855785d382e34cfbcce86f.tar.gz rockbox-ce3482cbf573261091855785d382e34cfbcce86f.zip |
The MAS3587F data sheet was wrong about having to validate the pause bit setting by writing to d0:7f1. When I removed the validation, the MAS doesn't give us corrupt frames when pausing, or at the end of the recording.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4717 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/mpeg.c | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 4a959b7c82..8b82ba044f 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c | |||
@@ -2242,20 +2242,10 @@ static void pause_recording(void) | |||
2242 | unsigned long val; | 2242 | unsigned long val; |
2243 | 2243 | ||
2244 | pause_start_time = current_tick; | 2244 | pause_start_time = current_tick; |
2245 | 2245 | ||
2246 | /* Set the pause bit */ | 2246 | /* Set the pause bit */ |
2247 | shadow_7f9 |= 2; | 2247 | shadow_7f9 |= 2; |
2248 | mas_writemem(MAS_BANK_D0, 0x7f9, &shadow_7f9, 1); | 2248 | mas_writemem(MAS_BANK_D0, 0x7f9, &shadow_7f9, 1); |
2249 | |||
2250 | /* Tell the MAS that something has changed */ | ||
2251 | mas_writemem(MAS_BANK_D0, 0x7f1, &shadow_7f1, 1); | ||
2252 | DEBUGF("mas_writemem(MAS_BANK_D0, 0x7f1, %x)\n", shadow_7f1); | ||
2253 | |||
2254 | /* Wait until the DSP has accepted the settings */ | ||
2255 | do | ||
2256 | { | ||
2257 | mas_readmem(MAS_BANK_D0, 0x7f1, &val,1); | ||
2258 | } while(val & 1); | ||
2259 | 2249 | ||
2260 | paused = true; | 2250 | paused = true; |
2261 | } | 2251 | } |
@@ -2269,16 +2259,6 @@ static void resume_recording(void) | |||
2269 | /* Clear the pause bit */ | 2259 | /* Clear the pause bit */ |
2270 | shadow_7f9 &= ~2; | 2260 | shadow_7f9 &= ~2; |
2271 | mas_writemem(MAS_BANK_D0, 0x7f9, &shadow_7f9, 1); | 2261 | mas_writemem(MAS_BANK_D0, 0x7f9, &shadow_7f9, 1); |
2272 | |||
2273 | /* Tell the MAS that something has changed */ | ||
2274 | mas_writemem(MAS_BANK_D0, 0x7f1, &shadow_7f1, 1); | ||
2275 | DEBUGF("mas_writemem(MAS_BANK_D0, 0x7f1, %x)\n", shadow_7f1); | ||
2276 | |||
2277 | /* Wait until the DSP has accepted the settings */ | ||
2278 | do | ||
2279 | { | ||
2280 | mas_readmem(MAS_BANK_D0, 0x7f1, &val,1); | ||
2281 | } while(val & 1); | ||
2282 | 2262 | ||
2283 | /* Compensate for the time we have been paused */ | 2263 | /* Compensate for the time we have been paused */ |
2284 | if(pause_start_time) | 2264 | if(pause_start_time) |