[Scummvm-cvs-logs] CVS: scummvm/sky/music adlibchannel.cpp,1.7,1.8 adlibmusic.cpp,1.9,1.10 gmmusic.cpp,1.8,1.9
Robert G?ffringmann
lavosspawn at users.sourceforge.net
Sat Jul 12 23:05:05 CEST 2003
Update of /cvsroot/scummvm/scummvm/sky/music
In directory sc8-pr-cvs1:/tmp/cvs-serv9558/sky/music
Modified Files:
adlibchannel.cpp adlibmusic.cpp gmmusic.cpp
Log Message:
music support for BASS floppy demo v.0.0109.
adlib doesn't really work, but the rest of the game doesn't either... so who cares, anyway.
Index: adlibchannel.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/adlibchannel.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- adlibchannel.cpp 12 Jul 2003 17:07:53 -0000 1.7
+++ adlibchannel.cpp 13 Jul 2003 06:04:11 -0000 1.8
@@ -42,18 +42,30 @@
uint16 instrumentDataLoc;
- if (SkyState::_systemVars.gameVersion == 267) {
- instrumentDataLoc = (_musicData[0x11FC] << 8) | _musicData[0x11FB];
- _frequenceTable = (uint16*)(_musicData+0x7F4);
- _registerTable = _musicData+0xDF4;
- _opOutputTable = _musicData+0xE06;
- _adlibRegMirror = _musicData+0xF55;
+ if (SkyState::_systemVars.gameVersion == 109) {
+ //instrumentDataLoc = (_musicData[0x11D0] << 8) | _musicData[0x11CF];
+ //_frequenceTable = (uint16*)(_musicData + 0x835);
+ //_registerTable = _musicData + 0xE35;
+ //_opOutputTable = _musicData + 0xE47;
+ //_adlibRegMirror = _musicData + 0xF4A;
+
+ instrumentDataLoc = READ_LE_UINT16(_musicData + 0x1204);
+ _frequenceTable = (uint16*)(_musicData + 0x868);
+ _registerTable = _musicData + 0xE68;
+ _opOutputTable = _musicData + 0xE7A;
+ _adlibRegMirror = _musicData + 0xF7D;
+ } else if (SkyState::_systemVars.gameVersion == 267) {
+ instrumentDataLoc = READ_LE_UINT16(_musicData + 0x11FB);
+ _frequenceTable = (uint16*)(_musicData + 0x7F4);
+ _registerTable = _musicData + 0xDF4;
+ _opOutputTable = _musicData + 0xE06;
+ _adlibRegMirror = _musicData + 0xF55;
} else {
- instrumentDataLoc = (_musicData[0x1206] << 8) | _musicData[0x1205];
- _frequenceTable = (uint16*)(_musicData+0x7FE);
- _registerTable = _musicData+0xDFE;
- _opOutputTable = _musicData+0xE10;
- _adlibRegMirror = _musicData+0xF5F;
+ instrumentDataLoc = READ_LE_UINT16(_musicData + 0x1205);
+ _frequenceTable = (uint16*)(_musicData + 0x7FE);
+ _registerTable = _musicData + 0xDFE;
+ _opOutputTable = _musicData + 0xE10;
+ _adlibRegMirror = _musicData + 0xF5F;
}
_instrumentMap = _musicData+instrumentDataLoc;
Index: adlibmusic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/adlibmusic.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- adlibmusic.cpp 12 Jul 2003 17:07:53 -0000 1.9
+++ adlibmusic.cpp 13 Jul 2003 06:04:11 -0000 1.10
@@ -85,12 +85,18 @@
void SkyAdlibMusic::setupPointers(void) {
- if (SkyState::_systemVars.gameVersion == 267) {
+ if (SkyState::_systemVars.gameVersion == 109) {
// disk demo uses a different adlib driver version, some offsets have changed
- _musicDataLoc = (_musicData[0x11F8] << 8) | _musicData[0x11F7];
+ //_musicDataLoc = (_musicData[0x11CC] << 8) | _musicData[0x11CB];
+ //_initSequence = _musicData + 0xEC8;
+
+ _musicDataLoc = READ_LE_UINT16(_musicData + 0x1200);
+ _initSequence = _musicData + 0xEFB;
+ } else if (SkyState::_systemVars.gameVersion == 267) {
+ _musicDataLoc = READ_LE_UINT16(_musicData + 0x11F7);
_initSequence = _musicData + 0xE87;
} else {
- _musicDataLoc = (_musicData[0x1202] << 8) | _musicData[0x1201];
+ _musicDataLoc = READ_LE_UINT16(_musicData + 0x1201);
_initSequence = _musicData + 0xE91;
}
_nextMusicPoll = 0;
Index: gmmusic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/music/gmmusic.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- gmmusic.cpp 12 Jul 2003 08:55:23 -0000 1.8
+++ gmmusic.cpp 13 Jul 2003 06:04:11 -0000 1.9
@@ -20,6 +20,7 @@
*/
#include "sky/music/gmmusic.h"
+#include "sky/sky.h"
void SkyGmMusic::passTimerFunc(void *param) {
@@ -69,8 +70,13 @@
void SkyGmMusic::setupPointers(void) {
- _musicDataLoc = (_musicData[0x7DD] << 8) | _musicData[0x7DC];
- _sysExSequence = ((_musicData[0x7E1] << 8) | _musicData[0x7E0]) + _musicData;
+ if (SkyState::_systemVars.gameVersion == 109) {
+ _musicDataLoc = (_musicData[0x79C] << 8) | _musicData[0x79B];
+ _sysExSequence = _musicData + 0x1EF2;
+ } else {
+ _musicDataLoc = (_musicData[0x7DD] << 8) | _musicData[0x7DC];
+ _sysExSequence = ((_musicData[0x7E1] << 8) | _musicData[0x7E0]) + _musicData;
+ }
}
void SkyGmMusic::setupChannels(uint8 *channelData) {
More information about the Scummvm-git-logs
mailing list