core quality, part 1
PC Engine
This commit is contained in:
parent
a613cfb303
commit
a1254d5fb6
6 changed files with 204 additions and 5 deletions
|
|
@ -96,7 +96,7 @@ void DivPlatformPCE::acquire(short** buf, size_t len) {
|
|||
}
|
||||
memset(tempL,0,24*sizeof(int));
|
||||
memset(tempR,0,24*sizeof(int));
|
||||
pce->Update(24);
|
||||
pce->Update(coreQuality);
|
||||
pce->ResetTS(0);
|
||||
|
||||
for (int i=0; i<6; i++) {
|
||||
|
|
@ -629,7 +629,7 @@ void DivPlatformPCE::setFlags(const DivConfig& flags) {
|
|||
}
|
||||
CHECK_CUSTOM_CLOCK;
|
||||
antiClickEnabled=!flags.getBool("noAntiClick",false);
|
||||
rate=chipClock/12;
|
||||
rate=chipClock/(coreQuality>>1);
|
||||
for (int i=0; i<6; i++) {
|
||||
oscBuf[i]->rate=rate;
|
||||
}
|
||||
|
|
@ -649,6 +649,32 @@ void DivPlatformPCE::poke(std::vector<DivRegWrite>& wlist) {
|
|||
for (DivRegWrite& i: wlist) rWrite(i.addr,i.val);
|
||||
}
|
||||
|
||||
void DivPlatformPCE::setCoreQuality(unsigned char q) {
|
||||
switch (q) {
|
||||
case 0:
|
||||
coreQuality=192;
|
||||
break;
|
||||
case 1:
|
||||
coreQuality=96;
|
||||
break;
|
||||
case 2:
|
||||
coreQuality=48;
|
||||
break;
|
||||
case 3:
|
||||
coreQuality=24;
|
||||
break;
|
||||
case 4:
|
||||
coreQuality=6;
|
||||
break;
|
||||
case 5:
|
||||
coreQuality=2;
|
||||
break;
|
||||
default:
|
||||
coreQuality=24;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int DivPlatformPCE::init(DivEngine* p, int channels, int sugRate, const DivConfig& flags) {
|
||||
parent=p;
|
||||
dumpWrites=false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue