Double horizontal resolution
In fact, the video snooping logic reads two pixels during each Gigatron cycle. It reads them from the same address but from potentially different banks. The two pixels are then fed into the output register at double the Gigatron frequency. When the two pixels are read from the same bank, they're identical, and we get the usual Gigatron horizontal resolution. If we select different banks, we get double horizontal resolution. The format is a bit annoying because successive even and odd pixels are stored at the same address but in different banks.
Thanks to another version of the GLCC console library, I could try MSCP with double horizontal resolution.
Double vertical resolution
Doubling the vertical resolution relies on the patched ROM, which, optionally, increments the scanline page number before scanline C. With this scheme, each entry of the video table describes two successive scanlines whose pixels are located in consecutive pages. There is a small problem because there are not enough pages in a single bank to store the 240 rows of the double vertical resolution screen. The solution was to use the highest bit of the page number found in the video table as the lowest bit of the video bank. The full scheme is that one controls the video snooping process with a four bit register XXYZ. Even pixels are read from bank XXYS and odd pixels are read from bank XXZS where S is the high bit of the page number found in the video table and recorded when the Gigatron outputs the first pixel of each scanline.
Another version of the GLCC console library uses the last four banks 12 to 15. Banks 12 and 14 contain the even and odd pixels of the first 120 rows from address 0x800 to 0x7fff. Banks 13 and 15 contain the even and odd pixels of the last 120 rows. Anyway, here is MSCP running with a 320x240 screen able to show 30 lines of 52 characters.