The PC-8801 from SR onwards has a graphics function that displays 640x200 pixels and 8 out of 512 colors.
Since the number of colors that can be produced simultaneously is 8, it may be difficult to choose anything other than the basic 8 digital colors, and there are very few opportunities to use a DAC that can display 512 colors.
One pixel is represented by one bit of RGB each.
If we consider 2 horizontal pixels as 2 bits each for RGB, the horizontal resolution will be halved, but the color depth will be doubled, which means 320x200 pixels and 64 colors can be displayed simultaneously.
It does the same thing as the PC-8001 mkII's 640x200 monochrome 320x200/4 color display switching function.
The circuit to be added consists of the XC9536 and the two removed 7406s.
The power supply unit is placed above IC16 and IC20, so there is not much room for height.
Here is the contents of XC9536.
In order to output 2 pixels together as 6 bits, it is necessary to correctly determine the boundary between each 2 pixels.
Therefore, we decided to assign all intermediate colors to the palette and detect the transition from the 8 digital colors to the intermediate color to determine that boundary.
Specifically, all green components of the palette are set to G2=0, G0=1, and R1, G1, and B1 are used as RGB components.
If G2=0, G0=1, it will be graphics, otherwise it will be the border color or text.
If the displayed content on the text screen does not match by 2 pixels horizontally, the synchronization will be lost and the display will become strange, so set the text to 40 horizontal character mode or semi-graphics mode.
An I/O port for switching between 640x200 / 320x200 modes is provided on the expansion slot and connected to additional circuits.
I don't mind a switch, but it's just a matter of taste.