From 14f2bbf4dec751d958dbf7ebca7d428363b6830c Mon Sep 17 00:00:00 2001 From: meepingsnesroms Date: Wed, 24 Oct 2018 19:57:04 -0700 Subject: [PATCH] More audio info --- bugs/properPwmSineWave.png | Bin 0 -> 7648 bytes bugs/unimplementedHardware.txt | 1 + src/hardwareRegistersAccessors.c.h | 2 -- 3 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 bugs/properPwmSineWave.png diff --git a/bugs/properPwmSineWave.png b/bugs/properPwmSineWave.png new file mode 100644 index 0000000000000000000000000000000000000000..d58b9d2a028e7ab6f060710f5fbaca6f1427b5c8 GIT binary patch literal 7648 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 literal 0 HcmV?d00001 diff --git a/bugs/unimplementedHardware.txt b/bugs/unimplementedHardware.txt index 12b84e1..458544f 100644 --- a/bugs/unimplementedHardware.txt +++ b/bugs/unimplementedHardware.txt @@ -24,6 +24,7 @@ RxOverflow on SPI1, don't know if back or front of FIFO is overwritten on overfl ICR POL(1,2,3,6) may flip the pin value as well as the interrupt, POL5 does not flip the INT5 pin though, this was confirmed with a hardware test(it doesnt seem to but there is instability on the pin when the SD card is plugged in, this may have to do with card detect also being a data line on the SD pinout) edge triggered INT* don't clear on write to ISR when masked in IMR(at least that seems to be the reason) if a sound interrupt is triggered while the button interrupt is disabled the button interrupt will still trigger(in galax game) +PWM1 output value is not a direct range cast of 0<->255 to 0<->32767, its additive, see properPwmSineWave.png Debug tools: ADS7846 channels can't be read in single reference mode in hwTestSuite diff --git a/src/hardwareRegistersAccessors.c.h b/src/hardwareRegistersAccessors.c.h index 9e29b43..ad22cab 100644 --- a/src/hardwareRegistersAccessors.c.h +++ b/src/hardwareRegistersAccessors.c.h @@ -86,12 +86,10 @@ int32_t pwm1FifoRunSample(int32_t now, int32_t clockOffset){ uint8_t clockDivider = 2 << (pwmc1 & 0x03); uint8_t repeat = 1 << (pwmc1 >> 2 & 0x03); int32_t audioStart = now + clockOffset; - //int32_t audioNow = audioStart; int32_t audioSampleDuration = usingClk32 ? audioGetFramePercentIncrementFromClk32s(period * prescaler * clockDivider * repeat) : audioGetFramePercentIncrementFromSysclks(period * prescaler * clockDivider * repeat); int32_t audioDeew = dMin((double)sample / period, 1.0)/*dutyCycle*/ * AUDIO_AMPLITUDE; blip_add_delta(palmAudioResampler, audioStart, audioDeew - pwm1LastSampleDelta); - //audioNow += audioSampleDuration; pwm1LastSampleDelta = audioDeew; //remove used entry