Globally, a "vertical" game is a normal "horizontal" game.
Consider the game as if the "up" side of the monitor is the "right" side of the monitor in its normal position (rotated 90° anticlockwise).
You program it really programmed normally, BUT:
- All fonts, sprites, etc. are rotated 90° clockwise, so they will be correct with monitor's final position.
- Your scrolling is from right to left, so it will be from up to bottom at the end (like in "1942", for example).
- You still wait normally for HBL/VBL when needed, and framerate isn't modified at all.
- Scanlines are indeed vertical if monitor is simply rotated. If the monitor was built "vertical", then scanlines are horizontal and you simply have a strange video mode.
- The tricky part is joystick: when you read (resp.) "up/left/down/right" on the joystick, you must interpret it as (resp.) "right/up/left/down", so movements are consistent with the final monitor position. Please note that you can also rewire direction inputs on the PCB internally, so you can still use the standard JAMMA connector and pinout, but internally, you decide to wire the JAMMA "up" as a "right". It may allows to use the exact same hardware (and even some code ROMs) for both horizontal and vertical games with only some jumpers onboard to set the mode.
So things aren't so different for the programmer, but for direction inputs if problem isn't solved directly through hardware.
It was a bit more different for the graphic designer, first because of the rotation, and second because the aspect ratio MAY have an influence on design with some video modes, because not only are the pixels still not square, but they are also oriented in the opposite direction as usual.