Thanks Jim,
I didn't have the time to make tests, yet. I discovered an external USB Floppy is not working on Windows 10 64 Bits. So I didn't have the time to move the BIOS file you sent me from the "internet connected domain" to the old 1986 domain of an M24 or M240, to reverse engineer the BIOS and create a .DBG file with the complete disassembly of the BIOS itself.
In the early nineties, I used debug.com to create assembly programs. I hated to write Assembly text in an editor at that time, so I used debug to code directly assembly instructions. It was complicate, especially for the realative "short" jumps and conditioned jumps.
I took a BIOS I got from a Paradise board and installed it in RAM using a TSR scheme(DOS Int 21 Function 31h,of I remember well). I then replaced the original INT10 interrupt vector pointing to Olivetti VGA (OVC board) and redirected it to the INT10 entry point of the original Paradise BIOS installed in RAM and made resident there.
I was able to get 640x400x256 colors and "see" the first high res graphic files in 256 colors with a decent resolution. I was using the software PICEM at that time.
This had a drawback. The standard mode 40h and 48h were not available anymore.
I had in mind to make a modification similar to the one present in the VDC BIOS. Make a prior test in my INT10 selection routine located in RAM. If the function called is Set Video Mode for mode 40h or 48h, or the current active video mode (for the other INT10 functions called) is 40h or 48h (you get them from the stored Current Video Mode in the BIOS Data Area at 40h segment), then forward it to the Olivetti INT10 original BIOS routine in OVC's ROM. For all the rest forward it to the Paradise VGA Video BIOS resident in RAM.
The Paradise mode 58h (640x400) was working flawlessly. Of course it was slow for the power of an 8/10Mhz computer, but it worked. Redraw a page would take more than 1 second.
I also tried mode 5Fh, 640x480x256, bit of course it was missing RAM and the image was overlapping when addressing the top 255B. Olivetti OVC has limited memory, with only 256KB soldered on the board and no expansion possible.
I made a last attempt to try 800x600x16 mode (58h) but my CDU1431/MA41 (from Matsushita/Panasonic) wasn't able to manage that resolution. Additionally, that mode required a 36Mhz oscillator that wasn't available on the OVC. Well, there was a 36Mhz but it was dedicated to the Mclock input line to the PVGA1A.
I did it quick and dirty.
I connected the output of that 36Mhz oscillator to the PCLK2 input of the PVGA1A, keeping it connected to MCLK (I know it may not be good for the oscillator itself because he maybe doesn't have enough drive capabilities to drive 2 LS-TTL inputs) and I switched to mode 58h. It actually worked, as I could see characters on the screen, despite the lack of horizontal and vertical stability of the image, due to the impossibility of the monitor to drive a 36MHz pixel rate and 35Khz horizontal frequency, being limited to 31.5Khz and with a maximum bandwidth of 28.322.Mhz.
Other problem was the maximum clock of the DAC. On my OVC I had a 40mhz IMGS176 chip rated at 40Mhz. On some other OVC boards there was a 35Mhz one, so a dot clock of 36Mhz may fall slightly beyond the rated frequency of the video DAC.
Those were good times, when I was young and brave, doing great hacks and crazy things.
Regards, Vincenzo.