<!– Generated by hand for SushiDSP phase D6a. –>
jcm_ltp
JCM800 2203 long-tailed-pair phase inverter on its own, without the power stage or the feedback loop.
Status: simulated. Commit 2bdbf91 ran this block and committed its CSVs.
LTspice version: LTspice 24, the only detail 2bdbf91 records; the exact build is not recorded by that commit.
How the schematic is written
jcm_ltp.asc carries the whole circuit as SPICE directive text on the sheet rather than as
placed symbols with wires. Directive lines are netlisted verbatim by LTspice, so node names
are explicit and the netlist cannot depend on symbol pin geometry that could not be checked
without running the tool. Tube subcircuits are instantiated as X lines against
../models/12ax7_koren.sub, whose pin order is P G K.
Analyses
Both analysis lines live on the sheet as comments and tools/spice/export.py enables
exactly one of them per run:
;ac dec 40 10 20k;tran 0 40m 20m 1u(40 ms run, the last 20 ms saved as steady state)
.options plotwinsize=0 keeps the raw file uncompressed.
Probe and stimulus
- Probed node:
out– aB-source computingV(pa) - V(pb)so the differential output is probed without loading the plates. - Input node:
g1 - Source:
V1 g1 0 SINE(0 {AMP} 1k) AC 1 - Input level(s):
AMPis stepped over 10 mV, 100 mV and 1 V.
Stepped control
.step param AMP list 10m 100m 1
This block has no control, so the input level is stepped instead. setting 0/1/2 corresponds to 10 mV / 100 mV / 1 V.
Components
| Ref | Value | Nodes | Spec reference |
|---|---|---|---|
| V1 | SINE(0 {AMP} 1k) AC 1 | g1 - 0 | D6d block 5 stimulus |
| XA | 12AX7_KOREN | P=pa G=g1 K=tail | D6b.3 Triode12AX7 |
| XB | 12AX7_KOREN | P=pb G=g2 K=tail | D6b.3 Triode12AX7 |
| Rpa | 82 kΩ | B - pa | D6d block 5: 82 kΩ plate |
| Rpb | 100 kΩ | B - pb | D6d block 5: 100 kΩ plate |
| Rg1 | 1 MΩ | g1 - 0 | D6d block 5: 1 MΩ grid reference |
| Rg2 | 1 MΩ | g2 - 0 | D6d block 5: 1 MΩ grid reference |
| Rtail_a | 470 Ω | tail - tj | D6d block 5: 470 Ω tail |
| Rtail_b | 10 kΩ | tj - 0 | D6d block 5: 10 kΩ tail |
| Bout | V = V(pa) - V(pb) | out - 0 | differential probe |
| Vplate | 360 V | B - 0 | B+ per the D6a brief |
Judgment calls
tj, the junction of the 470 Ω and 10 kΩ tail resistors, is the node global NFB is injected into injcm_pp_ot_nfb. Here it simply returns to ground through the 10 kΩ.- The pair self-biases: with both grid references at ground the cathodes float up to whatever the tail resistance and the tubes agree on. That is the real arrangement, so no negative tail supply is added.
Rg1is redundant whileV1drivesg1directly, but it is kept so the netlist matches the amp and so the node is still referenced if the source is removed.
Note on the AC runs
AMP scales only the SINE(...) stimulus; the AC 1 magnitude is fixed. Stepping AMP
therefore produces three identical AC sweeps (setting 0, 1 and 2) in <block>_ac.csv.
Only the transient CSV carries three genuinely different runs. That is intentional: the
acceptance criterion for this block is a transient null, and keeping one .step line for
both analyses keeps the export path uniform.

