Skip to content

Conversation

@matjam
Copy link

@matjam matjam commented Jan 19, 2026

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.

    VGA (DB-15 Male)                    DB-9 RGB (Male)
    ================                    ===============

    Pin 1  (Red)   <-----------------   Pin 3 (Red)
    Pin 2  (Green) <-----------------   Pin 4 (Green)
    Pin 3  (Blue)  <-----------------   Pin 5 (Blue)
    Pin 13 (HSYNC) <-----------------   Pin 7 (Composite Sync)

    Pin 5  (GND)   <-----------------   Pin 1 (Ground)
    Pin 6  (GND)   <-----------------   Pin 2 (Ground)
    Pin 10 (GND)   <----+
                        +------------   Ground wire

    NOTE: Bridge Pin 12 and pin 15 of the VGA DB-15 connector with a
          470Ω resistor to enable 15Khz mode.

    Not connected:
    - DB-9 Pin 6 (Intensity) - not used
    - DB-9 Pins 8, 9 - not used

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

  • Commodore 1084S-D2

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

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.

DB-9 Pin Wire Color Signal VGA DB-15 Pin
1 Black Ground 5
2 Brown Ground 6
3 Red Red Video 1
4 Orange Green Video 2
5 Yellow Blue Video 3
7 Blue Composite Sync 13
Shield Bare Wire Ground 10

Bridge pin 12 & 15 on the VGA DB-15 adapter with the 470Ω resistor.

Copy link
Contributor

@gardners gardners left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ok to me, so long as testing confirms no regressions created. Well done on consolidating this feature.

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

Successfully merging this pull request may close these issues.

2 participants