diff --git a/src/common/audio.ts b/src/common/audio.ts index 700f0e45..398b699e 100644 --- a/src/common/audio.ts +++ b/src/common/audio.ts @@ -482,11 +482,11 @@ export var SampleAudio = function(clockfreq) { this.feedSample = function(value, count) { accum += value * count; sfrac += sinc * count; - while (sfrac >= 1) { - sfrac -= 1; - value *= sfrac; - this.addSingleSample(accum - value); - accum = value; + if (sfrac > 1) { + accum /= sfrac; + this.addSingleSample(accum * sinc); + sfrac -= Math.floor(sfrac); + accum *= sfrac; } } diff --git a/src/machine/apple2.ts b/src/machine/apple2.ts index fc25552a..14941313 100644 --- a/src/machine/apple2.ts +++ b/src/machine/apple2.ts @@ -4,7 +4,7 @@ import { Bus, BasicScanlineMachine, xorshift32, SavesState } from "../common/dev import { KeyFlags } from "../common/emu"; // TODO import { hex, lzgmini, stringToByteArray, RGBA, printFlags } from "../common/util"; -const cpuFrequency = 1023000; +const cpuFrequency = 1022727; const cpuCyclesPerLine = 65; // approx: http://www.cs.columbia.edu/~sedwards/apple2fpga/ const cpuCyclesPerFrame = 65*262; diff --git a/src/worker/workermain.ts b/src/worker/workermain.ts index d71e27e5..74075be8 100644 --- a/src/worker/workermain.ts +++ b/src/worker/workermain.ts @@ -2066,7 +2066,7 @@ function assembleNESASM(step:BuildStep) { asym = FS.readFile(sympath, {'encoding':'utf8'}); } catch (e) { console.log(e); - errors.push({line:0,msg:"No symbol table generated, maybe segment overflow?"}); + errors.push({line:0,msg:"No symbol table generated, maybe missing ENDM or segment overflow?"}); return {errors:errors} } putWorkFile(binpath, aout);