I have been asked by a couple of people about adding csync support for ATI cards. This uses a single VGA output for a true csync value. There will be no been to combine your sync signals anymore.
Would adding this functionality be of a benefit to you?
I'd like to propose a project for an official cable for a MME4CRT setup.
I've been working on quite a few PCB projects in EAGLE in the last decade and would like to contribute to MME4CRT with this.
(If everything works out, maybe the final thing could be sold here, we'll see...)
There are quite a few options to connect your PC to a CRT Television or Monitor, but my personal opinion is that none of them is really able to perform a seamless transformation from a PC to a videogame console... either you need a separate PSU or you end up with bulky scart-to-scart leads (or at least monstrous cable-beasts that carry video signals, sound and power in separate leads). Last but not least I think none of the available options are cost-efficient for the end-user.
In the past I came up with an idea - I integrated a small PCB inside a SCART connector which can hold many different parts depending on whatever the purpose may be.
I will design 2 circuit boards that will feature everything to get the best possible visuals, audio and all the voltages that your TV requires to switch into RGB mode and enable 4x3 non-letterboxed format. The first PCB will go inside a little case and has inputs for USB, VGA and Audio. The second PCB will be situated in the SCART connector to ensure an easy assembly.
Setup could be like this:
PC -> (short cables) -> little box with inputs -> (Scart or BNC cable) -> [TV or Monitor]
Here's my feature list:
Open-Source Design: Build your own or buy one, whatever suits your budget without losing any features
Properly shielded cables
H/V Sync-combiner-circuit for true C-Sync output
0.7 Vpp @75 Ohms within specs of what any TV expects to receive
Separate Audio-Ground for noise-free sound
StepUp-Converter to provide 12V for switching to 4:3 mode (Scart-Pin#16)
Optional proper Stereo/Mono conversion, switchable (nice2have if your TV only has mono)
Inputs:
VGA -> Video
USB -> 5V Power
3.5mm Headphone -> Stereo Audio
Outputs:
9-Pin MiniDIN to Scart
-> R, G, B, C-Sync, Audio-L, Audio-R, Audio-GND, 5V Power, GND
VGA Connector with switchable SYNC (H/V or C-SYNC)
-> to be used with a VGA-to-BNC cable (for professional studio monitors like Sony PVM etc.)
Extra Audio connectors via CINCH
15KHz Lock Mode (disables the output if the signal is out of range)
So, this is it. I'd like your feedback about the feature list and any other ideas and wishes are welcome.
There's no release schedule or masterplan until I start working on it and report some progress.
This is a thread I plan on updating over time so we have a log of how things are progressing. I'll also be adding actual video timings when I get the chance.
The ultimate goal is to get every console looking as close to the real hardware as possible in terms of geometry and this is a pretty tall order at the moment given that the same resolution on two different consoles can have very different video timings leading to quite different looking video output. The issue being that right now, we can't differentiate between cores or systems. This will hopefully change in the future but right now, we have to make compromises.
I don't think we are doing too badly with all that said, but core and Retroarch settings need to be documented (sticky incoming) to get the best from MME4CRT. The "beetle" (Mednafen) cores are a particular problem with their use of static heights and in some cases static widths.
So for now, on with the show!
Real Megadrive via composite (only cable I had to test with at the time):
Retroarch with composite on the same TV using my own composite converter which uses the same composite encoder as the Megadrive:
I'll update this thread as and when new comparisons are made or the code changes and I have access to the consoles.
It has been found the bug fix used in MME4CRT for interlaced resolutions has adverse effects. It has been noted that some Linux kernels after a certain revision have caused this issue. Changing the way it handles VSYNC.
The interlaced patch will be removed from MME4CRT. In its place will be a patched kernel within The commingling MME4CRT OS public release
The OS built for MME4CRT for accurate 15khz emulation on a CRT. It will contain the following.
15kz 240p boot menu (Grub) This will be 31khz LCD or 31khz CRT unless convert scripts are run. ✅
15khz 480i Lubuntu installer This will now be a dual installer for 15khz and 31khz CRT and standrd LCD (post setup scripts to change mode) ✅
Patch kernel for interlaced bugs fix ✅
First time boot script to set your video card type (used to determine the best boot resolution). ✅
Openbox desktop environment with mouse click menu items for MME4CRT shortcut * ✅
Pre-installed with all cores included patched Bettle-Saturn resolution reporting ✅
All MME4CRT assets pre-downloaded ✅
MME4CRT pre-setup - enabled CRTSwitRes at super resolution 1920 (So that all video cards will display it card). This can be changed to native or dynamic. ✅
Current frontend will be RGUI running in 240p with the choice to switch to Emulationsataion ✅ - Emulationstation coming soon
Mono - To run ✅
Skrapper to download and install all 3D box art and menu videos for Emulationstation ✅
Linux module for GonCon2 - This will be released as an update later.
*
1. Desktop resolution restore in case of MME4CRT crash ✅
2. Terminal emulator ✅
3. Web browser for rom download ✅
5. MME4CRT Updater ✅
6. Arandr to configure dual screens ✅
As the GunCon module may take a while Mubuntu will be released soon
I was just setting up an ubuntu retroarch machine for a crt monitor. I tried with retroarch mainline first, but the modelines generated by crt switchres were off-center.
I tried mme4linux and the issue, while slightly different, still persists.
For example, the modeline generated for genesis (genesis-plus-gx) is as follows (xrandr output):
Code:
CRT7_320x224_59.92 (0x4db) 6.131MHz -HSync -VSync
h: width 320 start 330 end 357 total 392 skew 0 clock 15.64KHz
v: height 224 start 234 end 237 total 261
The modeline I was using previously using under windows for crtemudriver is this:
Checking with the underscan option of my bvm, I can see that the image starts right at the left edge of the screen, rather than being centered.
I tested with a couple of fba games, nestopia, and snes9x, and they all present the same issue. I tried playing with the X Centering option without much success (setting it to 4 kinda freaked out the bvm).
I am using ubuntu server with nodm + openbox, compiled mme4crt by hand, gl driver.
Let me know if I can provide any more information.
Fantastic work Alphanu, some things that you publish we are using in RGBuntu distro. In few days we are going publish the distro in first final version. RBGuntu are much light (1.4 GB with MME4CRT, EmulationStation, Kodi and Systemback), if you want you can use for your system, and you can purge anything of this distro. Is based in minimal Ubuntu with OpenBox.
In our test we see than MME4CRT not working with Master System and Game Gear. This system show a white line.
Thank so much for your great work. And sorry for my horrible english.
Screen Resolution:
256 x 224 (H) 30.000000 Hz
.....
[INFO] [Audio]: Set audio input rate to: 22050.00 Hz.
[INFO] [Video]: Timings deviate too much. Will not adjust. (Display = 60.00 Hz, Game = 30.00 Hz)
[INFO] [Video]: Video @ 897x672
....
[INFO] Environ SET_GEOMETRY.
[INFO] Setting refresh rate to: 50.000 Hz.
[INFO] Setting refresh rate to: 30.000 Hz.
[INFO] Setting refresh rate to: 30.000 Hz.
[INFO] Threaded video stats: Frames pushed: 1, Frames dropped: 0.
[INFO] [Audio]: Set audio input rate to: 22050.00 Hz.
[INFO] [Video]: Video @ 897x672