Fix GCC build
This commit is contained in:
parent
85199e5228
commit
e41d7e9402
|
@ -133,7 +133,7 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
setOrder(0);
|
setOrder(0);
|
||||||
BUSY_BEGIN_SOFT;
|
BUSY_BEGIN_SOFT;
|
||||||
// determine loop point
|
// determine loop point
|
||||||
bool stopped=false;
|
// bool stopped=false;
|
||||||
int loopOrder=0;
|
int loopOrder=0;
|
||||||
int loopOrderRow=0;
|
int loopOrderRow=0;
|
||||||
int loopEnd=0;
|
int loopEnd=0;
|
||||||
|
@ -159,13 +159,12 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
}
|
}
|
||||||
|
|
||||||
// write patterns
|
// write patterns
|
||||||
bool writeLoop=false;
|
// bool writeLoop=false;
|
||||||
bool done=false;
|
bool done=false;
|
||||||
playSub(false);
|
playSub(false);
|
||||||
|
|
||||||
int tick=0;
|
int tick=0;
|
||||||
// int loopTick=-1;
|
// int loopTick=-1;
|
||||||
int lastEngineTicks=-1;
|
|
||||||
TiunaLast last[2];
|
TiunaLast last[2];
|
||||||
TiunaNew news[2];
|
TiunaNew news[2];
|
||||||
std::map<int,TiunaCmd> allCmds[2];
|
std::map<int,TiunaCmd> allCmds[2];
|
||||||
|
@ -185,7 +184,7 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
if (nextTick(false,true) || !playing) {
|
if (nextTick(false,true) || !playing) {
|
||||||
stopped=!playing;
|
// stopped=!playing;
|
||||||
done=true;
|
done=true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -202,6 +201,7 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
break;
|
break;
|
||||||
case 0xfffe0002:
|
case 0xfffe0002:
|
||||||
news[0].sync=i.val;
|
news[0].sync=i.val;
|
||||||
|
break;
|
||||||
case 0x15:
|
case 0x15:
|
||||||
case 0x16:
|
case 0x16:
|
||||||
news[i.addr-0x15].ins=i.val;
|
news[i.addr-0x15].ins=i.val;
|
||||||
|
@ -245,7 +245,6 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
}
|
}
|
||||||
if (hasCmd) allCmds[i][tick]=cmds;
|
if (hasCmd) allCmds[i][tick]=cmds;
|
||||||
}
|
}
|
||||||
lastEngineTicks=ticks;
|
|
||||||
cmdStream.clear();
|
cmdStream.clear();
|
||||||
tick++;
|
tick++;
|
||||||
}
|
}
|
||||||
|
@ -274,7 +273,7 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
TiunaCmd lastCmd;
|
TiunaCmd lastCmd;
|
||||||
int lastTick=0;
|
int lastTick=0;
|
||||||
int lastWait=0;
|
int lastWait=0;
|
||||||
bool looped=false;
|
// bool looped=false;
|
||||||
for (auto& kv: allCmds[i]) {
|
for (auto& kv: allCmds[i]) {
|
||||||
// if (!looped && !stopped && loopTick>=0 && kv.first>=loopTick) {
|
// if (!looped && !stopped && loopTick>=0 && kv.first>=loopTick) {
|
||||||
// writeCmd(w,&lastCmd,&lastWait,loopTick-lastTick);
|
// writeCmd(w,&lastCmd,&lastWait,loopTick-lastTick);
|
||||||
|
@ -296,7 +295,6 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
int cmdSize=renderedCmds.size();
|
int cmdSize=renderedCmds.size();
|
||||||
std::vector<bool> processed=std::vector<bool>(cmdSize,false);
|
std::vector<bool> processed=std::vector<bool>(cmdSize,false);
|
||||||
while (firstBankSize>768 && cmId<(MAX(firstBankSize/1024,1))*256) {
|
while (firstBankSize>768 && cmId<(MAX(firstBankSize/1024,1))*256) {
|
||||||
bool hasMatch=false;
|
|
||||||
std::map<int,TiunaMatches> potentialMatches;
|
std::map<int,TiunaMatches> potentialMatches;
|
||||||
for (int i=0; i<cmdSize-1;) {
|
for (int i=0; i<cmdSize-1;) {
|
||||||
// continue and skip if it's part of previous confirmed matches
|
// continue and skip if it's part of previous confirmed matches
|
||||||
|
@ -394,7 +392,7 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
// as they tends to increase the final size due to page alignment
|
// as they tends to increase the final size due to page alignment
|
||||||
int cmIdLen=cmId>256?(cmId&~255):cmId;
|
int cmIdLen=cmId>256?(cmId&~255):cmId;
|
||||||
// overlap check
|
// overlap check
|
||||||
for (int i=1; i<confirmedMatches.size(); i++) {
|
for (int i=1; i<(int)confirmedMatches.size(); i++) {
|
||||||
if (confirmedMatches[i-1].endPos<=confirmedMatches[i].pos) continue;
|
if (confirmedMatches[i-1].endPos<=confirmedMatches[i].pos) continue;
|
||||||
lastError="impossible overlap found in matches list, please report";
|
lastError="impossible overlap found in matches list, please report";
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -456,10 +454,9 @@ SafeWriter* DivEngine::saveTiuna(const bool* sysToExport, const char* baseLabel,
|
||||||
int curCh=-1;
|
int curCh=-1;
|
||||||
std::vector<bool> callVisited=std::vector<bool>(cmIdLen,false);
|
std::vector<bool> callVisited=std::vector<bool>(cmIdLen,false);
|
||||||
auto cmIter=confirmedMatches.begin();
|
auto cmIter=confirmedMatches.begin();
|
||||||
for (int i=0; i<renderedCmds.size(); i++) {
|
for (int i=0; i<(int)renderedCmds.size(); i++) {
|
||||||
int writeCall=-1;
|
int writeCall=-1;
|
||||||
TiunaBytes cmd=renderedCmds[i];
|
TiunaBytes cmd=renderedCmds[i];
|
||||||
if (cmIter!=confirmedMatches.end()) dbg.writeText(fmt::format("i={},cmIter={}\n",i,cmIter->pos));
|
|
||||||
if (cmIter!=confirmedMatches.end() && i==cmIter->pos) {
|
if (cmIter!=confirmedMatches.end() && i==cmIter->pos) {
|
||||||
if (cmIter->id<cmIdLen) {
|
if (cmIter->id<cmIdLen) {
|
||||||
if (callVisited[cmIter->id]) {
|
if (callVisited[cmIter->id]) {
|
||||||
|
|
Loading…
Reference in a new issue