Specifications

VLSI
Solution
y
VS1053b
VS1053B
9. OPERATION
WriteVS10xxPatch() should perform the following SCI writes (only for VS1053b):
Register Reg. No Value
SCI WRAMADDR 0x7 0x8010
SCI WRAM 0x6 0x3e12
SCI WRAM 0x6 0xb817
SCI WRAM 0x6 0x3e14
SCI WRAM 0x6 0xf812
SCI WRAM 0x6 0x3e01
SCI WRAM 0x6 0xb811
SCI WRAM 0x6 0x0007
SCI WRAM 0x6 0x9717
SCI WRAM 0x6 0x0020
SCI WRAM 0x6 0xffd2
SCI WRAM 0x6 0x0030
SCI WRAM 0x6 0x11d1
SCI WRAM 0x6 0x3111
SCI WRAM 0x6 0x8024
SCI WRAM 0x6 0x3704
SCI WRAM 0x6 0xc024
SCI WRAM 0x6 0x3b81
SCI WRAM 0x6 0x8024
SCI WRAM 0x6 0x3101
SCI WRAM 0x6 0x8024
SCI WRAM 0x6 0x3b81
SCI WRAM 0x6 0x8024
SCI WRAM 0x6 0x3f04
SCI WRAM 0x6 0xc024
SCI WRAM 0x6 0x2808
SCI WRAM 0x6 0x4800
SCI WRAM 0x6 0x36f1
SCI WRAM 0x6 0x9811
SCI WRAMADDR 0x7 0x8028
SCI WRAM 0x6 0x2a00
SCI WRAM 0x6 0x040e
This patch is also available in machine form at VLSI Solution’s web page
http://www.vlsi.fi/en/support/software/vs10xxpatches.html by the name of VS1053b IMA ADPCM En-
coder Fix.
9.8.2 Reading IMA ADPCM Data
After IMA ADPCM recording has been activated, registers SCI HDAT0 and SCI HDAT1 have new
functions.
The IMA ADPCM sample buffer is 1024 16-bit words. The fill status of the buffer can be read from
SCI HDAT1. If SCI HDAT1 is greater than 0, you can read as many 16-bit words from SCI HDAT0. If
the data is not read fast enough, the buffer overflows and returns to empty state.
Note: if SCI HDAT1 896, it may be better to wait for the buffer to overflow and clear before reading
samples. That way you may avoid buffer aliasing.
Each IMA ADPCM block is 128 words, i.e. 256 bytes. If you wish to interrupt reading data and possibly
continue later, please stop at a 128-word boundary. This way whole blocks are skipped and the encoded
stream stays valid.
Version 1.01, 2008-05-22 54