4-bar mechanism
From dada-engine.org
The ideal movement can be approached by actuating the pistons using four-bar mechanisms, such as this one:

- A crank connected to the motor shaft, length 100,
- a connecting rod, length 183,
- a rocker arm, length 200,
- the points connected to the crank and rocker arm frames are 183 apart.
This mechanism is dimensioned in such a way as to give three very distinct phases to the movement of the rocker arm during a cycle:
- at the first quarter-turn, it moves very little,
- at the next quarter-turn, it covers its full travel,
- during the remaining half-turn, it returns to its initial position.

By doubling this mechanism by symmetry, we can see that the movement of the rocker arms can be used to drive the pistons of our machine:


The world of articulated quadrilaterals is a vast one, and there's probably a solution that's closer to the ideal motion. The movement of connecting rods offers a wide variety of trajectories.
The output motion can be linearized using, for example, a Watt or Chebyshev mechanism.
It would also be useful to invent a way of varying piston stroke during adiabatic phases.