I followed Brainy's logical suggestion to use the open loop EBC function for VICS control. The idea is that this would let me make use of the built-in RPM settings. This is how I set that up:
By setting my targets more than 20kPa away from what a normally aspirated car would ever see, the MS forces open loop and reverts to the duty cycle table. The duty cycle table is setup to switch the VICS at 5200RPM per the OEM specification.
Unfortunately, when I logged some pulls I found that this wasn't working. VICS was always deactivated above 5200RPM as desired. But below 5200RPM, VICS only turned on if MAP was above 90kPa.
In this pull, I keep MAP well above 90kPa and get a nice switch at 5200RPM:
In this pull, I generally keep MAP just below 90kPA and the VICS stays deactivated the whole time (except for one small noise blip above 90kPa):
And here's a picture of the kind of havoc that was being created with the VICS output in normal driving:
Looking at the MS firmware, I found code that disables the EBC output whenever you're not in boost. The comment in the code indicated it was meant to keep the EBC solenoid from wearing out. Whatever. Bottom line, on a 1st generation MSPNP, using the EBC function for VICS is not workable without a firmware change.
So I decided to use the "Output 1" function instead of the EBC function. Here's what that looks like:
X4/JS2 is changed to Output1 instead of Boost Control.
Then you setup the parameters for Output1. When you select RPM as the parameter, the numbers you specify are RPM / 100 (i.e., 52 is 5200RPM). You can also specify a hysterisis (I used 1 or 100RPM) to prevent the VICS solenoid from oscillating. Select inverted operation. With these settings, the VICS deactivates at 5200RPM on an RPM increase and activates at 5100RPM on an RPM decrease. Proper operation was confirmed by observing the "Output1" icon on MegaTune/TunerStudio and by physical observation of VICS actuator movement.
TL;DR - MS1 EBC function can't control VICS correctly.