enable 15khz csync mode for retro monitors #934
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for 15khz mode and potentially addresses #452. To enable 15Khz mode, your cable needs to bridge pin 12 and 15 with a 470Ω resistor.
Interlace is enabled just for this output (not for HDMI) if V400 mode is enabled. You can still toggle on interlace for HDMI (why?) via
POKE $D031, PEEK($D031) OR 1. Interlace however is kinda garbage as I've not figured out how to offset the interlace signal so it's actually interlaced. Probably a followup PR.Tested as a slot 0 core, and confirmed everything all works as expected.
The cable is wired the same as what is needed for the C64MEGA65 core, except for the
addition of a 470Ω resistor which will not interfere with the C64 core operation.
Call for testing
It would be useful to test the core on as many displays as possible. I'm particularly interested in knowing if it will also work with SCART - I don't have any SCART devices.
The build is available here: https://builder.mega65.org/job/mega65-core/job/PR-934/
You will also need the latest beta Mega65 ROM installed or you'll just see a blue screen as this PR is based off the Development branch. Its available at https://files.mega65.org/?id=mega65-rom-beta
To test, copy the core to your sdcard and flash it to a spare slot, and plug in a cable
with the resistor prepared as above.
I have an R6 device so I've only tested it on that, but it should work on the other
MEGA65 devices.
Known Working Monitors
Example cable
If you want to make your own cable you can use the following parts off Amazon. This cable also works with the C64 core (the impetus for this whole thing).
Required Parts
DB-9 cable (pre-wired, colored conductors, 3 ft):
https://www.amazon.com/dp/B0C6K1MNDQ
VGA DB-15 screw terminal adapter:
https://www.amazon.com/dp/B08155LH92
1000 Pcs 25 Values Resistor Kit:
https://www.amazon.com/dp/B08FD1XVL6
(potentially you have a 470Ω resistor; values smaller than that might also work)
Wiring Pinout (DB-9 to VGA DB-15)
The DB-9 cable wire colors are matched to the pins to make
it easier to build the cable. So, connect the Black wire to
pin 5, etc.
Bridge pin 12 & 15 on the VGA DB-15 adapter with the 470Ω resistor.