total extinction of legacy sample mode, part 10

it's ready! you must merge, now!
This commit is contained in:
tildearrow 2025-11-10 04:43:45 -05:00
parent edb1395058
commit 55c3966eda
5 changed files with 40 additions and 4 deletions

View file

@ -133,6 +133,7 @@ bool DivEngine::convertLegacySampleMode() {
continue;
}
sampleMode=1;
preferredInsType=DIV_INS_NES;
break;
case DIV_SYSTEM_MMC5:
// MMC5 PCM channel
@ -186,6 +187,22 @@ bool DivEngine::convertLegacySampleMode() {
preferredInsType=DIV_INS_ADPCMA;
preferredInsType2=DIV_INS_ADPCMB;
break;
case DIV_SYSTEM_YM2612_DUALPCM:
// DualPCM DAC
if (dispatchChanOfChan[i]<5) {
continue;
}
sampleMode=1;
hasLegacyToggle=true;
break;
case DIV_SYSTEM_YM2612_DUALPCM_EXT:
// DualPCM DAC
if (dispatchChanOfChan[i]<8 || dispatchChanOfChan[i]>9) {
continue;
}
sampleMode=1;
hasLegacyToggle=true;
break;
case DIV_SYSTEM_YM2610_CSM:
// Neo Geo CD ADPCM channels
if (dispatchChanOfChan[i]<11) {

View file

@ -424,7 +424,7 @@ void DivPlatformNES::tick(bool sysTick) {
DivSample* s=parent->getSample(dacSample);
off=(double)s->centerRate/parent->getCenterRate();
}
dacRate=MIN(chan[4].freq*off,32000);
dacRate=MIN(chan[4].freq*off,48000);
if (chan[4].keyOn) {
if (dpcmMode && !skipRegisterWrites && dacSample>=0 && dacSample<parent->song.sampleLen) {
unsigned int dpcmAddr=sampleOffDPCM[dacSample]+(dacPos>>3);

View file

@ -180,6 +180,9 @@ struct FurnaceCV {
// this offset is applied to sprites.
int viewX, viewY;
// other
char hiScoreText[512];
// input
unsigned char joyInputPrev;
unsigned char joyPressed;
@ -666,7 +669,11 @@ static const char* cvText[]={
_N("GAME OVER"),
_N("High Score!"),
_N(" CONGREGURATION\n\n\n"
"YOU ARE GOOD PLAY AT GAME\n"
"PRESS ESCAPE TO RESET GAME\n\n"
"AND PLAY AGAIN AT ELEVATED DIFFICULTY\n\n\n"
"%d SCORES THIS GAME"),
_N("Welcome to Combat Vehicle!\n\n"
"Controls:\n"
@ -1695,7 +1702,8 @@ void FurnaceCV::render(unsigned char joyIn) {
}
memset(tile0,0,80*56*sizeof(short));
memset(tile1,0,80*56*sizeof(short));
startTyping(_(cvText[3]),2,3);
snprintf(hiScoreText,511,_(cvText[3]),hiScore);
startTyping(hiScoreText,2,3);
e->setConf("cvHiScore",hiScore);
e->saveConf();
curText=4;

View file

@ -41,7 +41,7 @@ else
echo "OK"
else
echo "FAIL FAIL FAIL"
ffmpeg -loglevel quiet -i "test/delta/$testDir/$i" -lavfi showspectrumpic "test/delta/$testDir/$i.png"
ffmpeg -loglevel quiet -i "test/delta/$testDir/$i" -lavfi showspectrumpic -y "test/delta/$testDir/$i.png"
fi
done
fi

11
test/last-stage.sh Executable file
View file

@ -0,0 +1,11 @@
#!/bin/bash
testDir=20251109215858
if ./assert_delta "delta/$testDir/$1"; then
true
#echo "OK"
else
echo -n "$1... "
echo "FAIL FAIL FAIL"
mpv "delta/$testDir/$1"
#ffmpeg -loglevel quiet -i "test/delta/$testDir/$1" -lavfi showspectrumpic -y "test/delta/$testDir/$1.png"
fi