i'm using the VS1053 for decoding purposes but i have a problem with reading from the WRAM.
As i understood so far I'm ought to perform a pointer setting method with writing the adresse i want to read to the WRAMADDR register.
After that i can perform a SCIRead with the Wram Adr.
The result of my reading should be the endFillByte, which is always 0 ... a bit stange i guess .
It would be nice if you could tell me what i'm doing wrong.
Code: Select all
private UInt16 WramRead(ushort address)
{
ushort tmp1, tmp2;
SciWrite(SciRegisters.WramAddr, address);
tmp1 = SciRead(SciRegisters.Wram);
SciWrite(SciRegisters.WramAddr, address);
tmp2 = SciRead(SciRegisters.Wram);
if (tmp1 == tmp2) return tmp1;
SciWrite(SciRegisters.WramAddr, address);
tmp1 = SciRead(SciRegisters.Wram);
if (tmp1 == tmp2) return tmp1;
}
Wram = 0x06
WramAddr = 0x07
everything is working, the audio is getting played but the device never stops decoding until i reset it :/