Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C128 high-res monochrome on RGBtoHDMI mono & lumacode #385

Open
c0pperdragon opened this issue Jun 7, 2024 · 2 comments
Open

C128 high-res monochrome on RGBtoHDMI mono & lumacode #385

c0pperdragon opened this issue Jun 7, 2024 · 2 comments

Comments

@c0pperdragon
Copy link
Contributor

Nearly all of my customers who buy the VICIIdizer128 also take the RGBtoHDMI Mono & Lumacode board.
I don't know how many of those would also want to somehow utilize this with the VDC. Maybe it would be a nice option to support at least a grayscale picture with this hardware, because a full support will require a second RGBtoHDMI (or some other quite tedious solution as discussed in #381.

The DB9 connector carries a monochrome signal on pin 7 (unused by CGA) with 4 luminance levels. This would be a perfect fit for the RGBtoHDMI Mono & Lumacode. I could just build and sell a simple adapter that plugs into the DB9 and provides an RCA jack. By swapping the cable between this and the lumacode output the user can switch between 40 and 80 columns mode. A simple audio switchbox may also work.

The monochrome signal is created inside the C128 by OR-ing the R,G,B signals together to get a digital color-or-black signal. The emphasis bit is mixed into this and also an XOR-combination of HSYNC and VSYNC. I don't exactly know how these 4 luma levels would look like. Maybe emphasized black is too close to non-emphasized color. In this case the user will only be able to get 3 levels of grey if he does not want to modify the signal mixing circuitry. Still for many use cases this would be good enough, like for GEOS or most CP/M applications.

@IanSB
Do you want to give this a try if I build the adapter and send this to you? It will require some time because I would order PCBs using the cheapest delivery option.

@c0pperdragon
Copy link
Contributor Author

I studied the schematics a bit more and now I am pretty sure that there are only 3 brightnes levels after all.
When R,G,B bits are all zero it is always black, no matter what the intensity bit says.
When either of R,G,B is one, when we get either gray (no intensity bit set) or white (intensity set).

@c0pperdragon
Copy link
Contributor Author

A customer will probably install a switch into the C128 to switch between Lumacode and VDC mono output. If I see this correctly autoswitching the profile on the RGBtoHDMI may not work when both signals have just 312 lines and a very similar horizontal frequency. But there is a difference in how the sync signal looks.
The VICIIdizer creates a sync pattern with short serration pulses (with 32us spacing), then some half-sized vsyncs pulses (only about 30us long) and more short serration pulses.
The composite sync signal from VDC on the other hand is created by just XORing HSYNC and VSYNC.

@IanSB Is there a chance that the RGBtoHDMI will be able to use this information for auto-switching?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant