forked from len0rd/rockbox
codec: cRSID: check whole load address
Due to a typo, only the high byte of the embedded load address was checked to be empty. For a full check, high and low byte must be evaluated, of course. Also, fixed in cRSID 1.3. Change-Id: Ib0b701622b006ab4bb1791f07bf17b3b06a70719
This commit is contained in:
parent
55e1a78cf8
commit
22b05c97a3
1 changed files with 1 additions and 1 deletions
|
@ -39,7 +39,7 @@ cRSID_SIDheader* cRSID_processSIDfile(cRSID_C64instance* C64, unsigned char* fil
|
||||||
for (i=1; i < (int)(sizeof(MagicStringPSID)-1); ++i) { if (SIDheader->MagicString[i] != MagicStringPSID[i]) return NULL; }
|
for (i=1; i < (int)(sizeof(MagicStringPSID)-1); ++i) { if (SIDheader->MagicString[i] != MagicStringPSID[i]) return NULL; }
|
||||||
C64->RealSIDmode = ( SIDheader->MagicString[0] == 'R' );
|
C64->RealSIDmode = ( SIDheader->MagicString[0] == 'R' );
|
||||||
|
|
||||||
if (SIDheader->LoadAddressH==0 && SIDheader->LoadAddressH==0) { //load-address taken from first 2 bytes of the C64 PRG
|
if (SIDheader->LoadAddressH==0 && SIDheader->LoadAddressL==0) { //load-address taken from first 2 bytes of the C64 PRG
|
||||||
C64->LoadAddress = (filedata[SIDheader->HeaderSize+1]<<8) + (filedata[SIDheader->HeaderSize+0]);
|
C64->LoadAddress = (filedata[SIDheader->HeaderSize+1]<<8) + (filedata[SIDheader->HeaderSize+0]);
|
||||||
SIDdataOffset = SIDheader->HeaderSize+2;
|
SIDdataOffset = SIDheader->HeaderSize+2;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue