Tip: Make sure that ALL exit-enabled pipes, doors, etc. have a screen exit defined, or they'll take you to Level 0, the "endless" bonus game. Unless Start+Select is enabled, the only way out of it is to reset the game.
This is a disassembly of sprite command F2, the layer 2 scroll sprite that's controlled by the ON/OFF switch. By default, it'll make the layer 2 go down when the switch is ON, and go up when it's OFF. Additionally, it will flip the switch state when reaching the top, so it will start to move down again immediately (this can be disabled). In the file you can customize different parameters like acceleration, speed, movement range, or also change it to move horizontally instead of vertically.
Pretty sure the explanation for "inverting behavior" in the .asm mixes up the words "vertical" and "horizontal".
For example it says "If horizontal, layer 2 goes down when the switch is on, goes back up when it's off." That doesn't make sense dimension-wise. Shouldn't it be vertical? That's sure how the code behaves in game. Or am I missing something? It personally confused me to the point that I doubted my initial understanding and needed to test it out.
Speaking of the "inverting behavior". It might help more to explain where exactly users should put the "- sign". I for one, have no clue where to put it and the instruction given doesn't really seem to work either.