ref: 43b257e43bcf623c69e0c38e5e13ee1a2011cf84
parent: dff7f1d51ef505477cd408ce51b789059f749831
author: Olav Sørensen <olav.sorensen@live.no>
date: Sat Dec 17 06:06:29 EST 2022
Fixed slightly wrong high-pass cutoff for A1200
--- a/src/pt2_header.h
+++ b/src/pt2_header.h
@@ -14,7 +14,7 @@
#include "pt2_unicode.h"
#include "pt2_palette.h"
-#define PROG_VER_STR "1.55"
+#define PROG_VER_STR "1.56"
#ifdef _WIN32
#define DIR_DELIMITER '\\'
--- a/src/pt2_paula.c
+++ b/src/pt2_paula.c
@@ -70,8 +70,6 @@
** Low Hz = 4420.97~ = 1 / (2pi * 360 * 0.0000001)
**
** Under spice simulation the circuit yields -3dB = 4400Hz.
- ** In the Amiga 1200, the low-pass cutoff is ~34kHz, so the
- ** static low-pass filter is disabled in the mixer in A1200 mode.
**
** Next comes a bog-standard Sallen-Key filter ("LED") with:
** R1 = 10K ohm
@@ -78,7 +76,7 @@
** R2 = 10K ohm
** C1 = 6800pF
** C2 = 3900pF
- ** Q ~= 1/sqrt(2)
+ ** Q = 0.660 (8bitbubsy: edited with correct nominal)
**
** This filter is optionally bypassed by an MPF-102 JFET chip when
** the LED filter is turned off.
@@ -107,7 +105,7 @@
** Correct values for A1200, all revs (A1200_R2.pdf):
** - 1-pole RC 6dB/oct low-pass: R=680 ohm, C=6800pF
** - Sallen-key low-pass ("LED"): R1/R2=10k ohm, C1=6800pF, C2=3900pF (same as A500)
- ** - 1-pole RC 6dB/oct high-pass: R=1390 ohm (1000+390), C=22uF
+ ** - 1-pole RC 6dB/oct high-pass: R=1360 ohm (1000+360), C=22uF
*/
double R, C, R1, R2, C1, C2, cutoff, qfactor;
@@ -135,9 +133,9 @@
useLowpassFilter = false;
// A1200 1-pole (6dB/oct) static RC high-pass filter:
- R = 1390.0; // R324 (1K ohm resistor) + R325 (390 ohm resistor)
+ R = 1360.0; // R324 (1K ohm resistor) + R325 (360 ohm resistor)
C = 2.2e-5; // C334 (22uF capacitor)
- cutoff = 1.0 / (PT2_TWO_PI * R * C); // ~5.205Hz
+ cutoff = 1.0 / (PT2_TWO_PI * R * C); // ~5.319Hz
calcRCFilterCoeffs(dPaulaOutputFreq, cutoff, &filterHi);
}