Thanks for the info, I was thinking of removing some of the original chips from the CGA card and fittings sockets, and it would be interesting to see how far the horizontal resolution could be pushed? but having and extra mode of 640x200x 16 colours would be a great addition on its own, I have read about others using 30 pin and 72pin Simms to upgrade​ the ram in vintage computer not designed for them, and a 8bit 1mb 30pin simm is easy to get and cheap, you are right redesigning the CGA card from scratch would be more sensible, but I want to expand the original design and stay 100% comparable, I have payed for a Sam's book on the Compaq portable it's looks like it will have scmatics ect to should shed some light on the 32k vda card option, software switchable character ROM, should be easy, or maybe even have user defined ROM using a bit of sram?
Unfortunately the only socketed chip on a standard CGA card is the character ROM so unfortunately there isn't a whole lot that could be done there. You can't even really add switchable fonts that way since there's no mechanism to send a message to a ROM-socket-daughterboard that couldn't be accidentally triggered by a legitimate state of the CGA. It'd probably make more sense to make a new board from scratch but still using RAM, ROM, CRTC and discrete logic to stick to the spirit of the game. Are 30-pin SIMMs simple enough to interface with that it could be done with discrete logic? I've not played around with doing that myself.
The Hercules cards couldn't get 350 lines on a CGA CRT - they required a monochrome monitor (or an EGA monitor for Hercules InColor). Not sure about the 32kB option in the Compaq portable. Some CGA-ish clones could do 640x200x4 and 320x200x16 modes - perhaps that's what that is for. These are probably not standard modes so would require software to be specially written to support them.
By sacrificing frame rate, you can increase vertical resolution arbitrarily by using different interlace structures (one experiment I want to try sometime is to make something that generates an "infinite resolution" image on a 15kHz monitor by making the ratio of the flyback rates an irrational number, but I'm not sure about the best way to go about it - perhaps an FPGA).
Hi rory! I'm afraid I haven't done much more in the way of fantasy CGA redesigning since that post - I've been concentrating on pushing the limits of the unmodified CGA card (and I think there are still some untapped possibilities). CGA monitors have 200 scanlines in standard modes, but the horizontal resolution is only limited by how fast the card pushes out pixels and the dot pitch of the monitor. If the card pushed out pixels fast enough then you could greatly increase the number of colours even on a standard RGBI monitor by means of very high-resolution dithering. Vertical resolution is more difficult to change as the horizontal and vertical flyback rates must be within a certain small range, but you can increase the vertical size a bit before your image goes off the edges of the monitor.