I agree that’s the issue, but it is still possible, with better programming of decoders and indeed by resetting CVs (as ProtoThrottle does) to use the standard DCC protocol to issue commands. The throttle settings need, on a diesel, to determine the prime mover sounds, whilst the momentum settings cause the engine and train to move according to the load - which includes, on a heavy train, the possibility of the engine not getting the train going at all. On a steam engine, the would be a slight difference as the chuffs need to be synchronised with the wheels, but the sounds could be varied to increase the “attack”, volume, etc, reflecting full gear, etc. Essentially the throttle setting is determining a target speed setting, and the momentum setting determines how long it will take to get there. By comparing the difference between the two, it is possible to vary the sound of the exhaust beats as the driver/engineer notches up the valuable gear to allow for expansive working.
Better still, there would be two levers on the controller, one for throttle and one for regulator, as well as one for engine brake and one for train brake. The actual sounds should be driven by an intelligent program that does the hard work in getting that right, so that you then drive the engine according to the load. Drive hold/full throttle is, to my way of thinking, a dead end development as we should be looking more at how we can best simulate the driving experience, not becoming sound effect engineers.
All of what I suggest is achievable using existing DCC prototcols.
All of what I suggest would benefit from much better protocols, but it is not the input that matters here, but what happens between the input and the output. Sound is an output just as much as the current fed to the motor. The output from a decoder is up to the manufacturer, and not so dependent on the protocol, which should really be saying things like “set the momentum CVS to high values, to reflect a heavy load; now set the target speed to 56/128 steps, and accelerate to that based on the momentum settings last provided, and make sure that the main sound effects are delivered accordingly, based on the gap between whatever we are at and 56”. Extra sounds, horns, whistles, bells, whatever would remain independent and of course, there would be a coast/brake set of CV instructions and mappings, with some brake squeal blending in as the brakes get proportional tighter.
Abandoning protocols and making them bigger and more complicated or just requiring more memory is what the computer industry typically does, rather than writing better operating systems and more efficient programs: I am not saying the the current DCC protocols aren’t old and wouldn’t benefit from some revision, but backwards compatibility needs to be maintained, and rather than putting more into the bandwidth, why aren’t we making much better use of the in-board microprocessor on the decoder?