Comments

The Olivetti card isn't a Hercules clone, it's actually one of those oddball early 80s 25khz (or in this case, closer to 26khz) 640x400 jobs that provides line-doubled CGA modes plus its own extra hi-rez mode, and clearer text (well, at least in the vertical direction). 720x348 isn't anywhere in its gameplan, unlike the ECGA installed in the Compaq Deskpro and its descendants, but with a (Zilog Z8000 based!) M20 emulator card installed in the computer it can do 512x256...

Standard memory complement only allows 320x200 in 4 colours (the familiar rubbish fixed CGA palettes) and all other modes in mono, but with the addition of a separate VRAM expansion board (which the monitor then connects to directly, and can be populated with 32, 64 or 96kb) low rez is expanded to 16 colours (free choice of the RGBI gamut), and the hi-rez modes all to free choices of 4, 8 or the full 16 colours (they use a slightly odd bitplane structure to deal with the CRTC's 16kword limit, as well as being somewhat bandwidth limited with all 640-wide modes running at 24MHz and 512 at 19MHz, so there's no colour depth bonus for reducing down from 640x400 before 320x200; 512x256 is actually limited to 8 because the M20 it emulates was only RGB not RGBI)... or greyscales, if you're using a mono monitor, which is certainly something that MDA and Herc can't do.

If you choose to install some other video adaptor to the machine, most likely using the 8-bit IBM compatible slots (which still run at the regular 4.77MHz thanks to the adaptor card having its own clock, useful as the rest of the system works at 8MHz instead), the standard card has to stay in place because of how it bridges the expansion riser to the motherboard. It actually has DIP switches on it for controlling what mode an add-in card uses (of course, there's also the ability to install an MDA alongside the "CGA" anyway, at least if you haven't expanded the memory, because then you can just plug in two monitors anyway, somehow), but there is no switch for "disable onboard video". Instead you have to remove a certain socketed chip from the board and replace it either with a special bypass chip from Olivetti, or just bridge some of the socket pins with jumper wire (because that's literally all the bypass does anyway)... weirdly clunky given that a well placed DIP would have done the exact same job with less stress.

Actual scan rates for the screen are something I'm still working out from what documentation I can find and first principles... if you've got a moment to hook the actual thing up to an accurate digital oscilloscope, that'd be a real boon... right now it looks like 24.000 MHz / 912 pclk (or 12.000 MHz / 464) = 26,316 Hz horizontal (even though other reports I've seen say 25.7 to 25.9 kHz), and 518 lines for a remarkably low (but, eh, MDA/Herc-like) 50.80 Hz vertical... It all seems rather odd and arbitrary, but that's the early 80s for you.

(512-mode allegedly uses a "19.66 MHz" clock... one expects to widen the image to fill the monitor horizontally, though whether it doubles the lines and has a very tight vertical retrace, or displays them singly with the monitor somehow signalled to provide some vertical stretch a la VGA's three different height modes, who knows. 512/19.66 x 24 = 625 pixel equivalent; 912/24 x 19.66 = 747.1 pclk... closest round number of characters is either 744, giving us approx 26.425 kHz and ~520 lines for the same vertical refresh... alternatively, to match the M20's steadier 70.7 Hz vsync, that could be cut to 374 lines, which with the monitor signalled to stretch everything by about 50% would give a reasonable compromise between letterboxing, overly tall pixels (and dangerously overextended deflection voltages), and wasted scan area.

Not that anyone's likely to ever use that mode again, I just find these things interesting to contemplate whilst trying to come up with an imaginary supercompatible period system that could have almost any monitor you happen to have lying around plugged into it...