MiSTer CRT Guide - WIP
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
MiSTer CRT Guide - WIP
I finally have something resembling a pre-final draft, so to speak, but before I make it live on the wiki I'd like some other people to read through it and see if they could find the inevitable mistakes, fill the remaining holes, or even add entirely new sections.
The places I'm most unsure about were tagged with [???] for convenience. The Intro and Troubleshooting/Resource sections still need doing, also some formatting, but for now I'd just like to iron out the possible errors in the most important core sections included.
The whole thing is too long to post here, and best viewed in Markdown anyway, so I attach a zip with a text file you can copy/paste into a Markdown editor like this one, or use the MiSTer wiki which has a preview section if you click on New Page.
EDIT: You can now view the page here: https://github.com/MiSTer-devel/Main_Mi ... -CRT-Guide
- Attachments
-
- CRT GUIDE WIKI.zip
- (8.28 KiB) Downloaded 1638 times
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Top Contributor
- Posts: 1018
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 315 times
- Been thanked: 238 times
Re: MiSTer CRT Guide - WIP
I think having a resistor on sync pin in the SCART cable is recommended whether you use direct video or not? The problem is that the VGA standard for sync is TTL? and therefore too high. Certainly I've seen advice that this is an issue for the I/O board itself.
The problem with direct video over component is specifically SoG. Component passes sync information over the luma (green colored) cable. The Mister I/O board takes care of this, with the SoG switch either turned ON or OVR (override) depending on the board. However this switch has zero effect on the HDMI out, so you must add SoG after the fact. A relatively simple circuit to add SoG is shown here, albeit simple only for someone who is familiar with circuits in the first place. I don't think there is anything known off-the-shelf other than converting from standard HDMI or VGA to component.
The same BNC cable you listed for direct video adapters should also work with the Mister.
Actually I think there is potentially a reverse problem with direct video. If you use Mister to combine h/vsync into c-sync, can that c-sync be passed through the HDMI port and then the HDMI->VGA converter? Will the converter only want to produce separate H/V signals? Can the converter even sync with c-sync? This may also vary based on the converter because its a non-standard thing to ask of an HDMI->VGA converter.
Settings
Component does not need composite_sync=1. H and V sync lines are completely omitted on the VGA->Component cable. That's why you need SoG to add sync to the green/luma line.
vsync_adjust refers to the scaler only. I.E. HDMI port with direct_video OFF, or I/O port with vga_scaler ON. That and the whole world of video mode, vscale, border, etc. etc. is completely ignored with "pure" analog output, which seems to be what this guide is focused on. We could spell some of that out, but these settings are also settings used in standard HDMI output and therefore might be redundant here.
There are however a few cool tricks you can pull in the settings that aren't relevant to LCDs though, like changing the video blank to control the amount of overscan, creating an ultra-wide resolution for scaling that gets naturally squashed to 4:3 by the CRT, or creating 240p/120hz modes for natural scanlines on a 31khz+ monitor. I think this is edging more into learning how to create your own modelines though rather than just grabbing random stuff on the forums. Maybe that's complicated enough to be its own guide and we just hand people some presets in this one.
Core HUD Settings
Dunno what you want to call this section but there are a few crucial things to mention here. First is the ScandoublerFX, occasionally called Scanlines. Turning this option on is going to force 31khz output on most cores, which isn't going to sync with SD TVs, so its something you have to watch out for. It's also the primary tool for faking scanlines on 31khz+ displays for 15khz cores. This setting is saved per-core, so just disabling forced_scandoubler does not adjust this setting, something to watch for when switching between a VGA monitor and SD TV.
Second thing is that several cores have toggles between 60hz on and off. AO486 often runs refreshes like 70 or 75hz, the Wonderswan core is also at 75hz. The 60hz mode lets you push 60hz even over the default analog output, without having to invoke the scaler with vsync_adjust=0. Again crucial to get these cores to sync with many TVs.
Third is that in the new video processing menu, most things there only apply to the scaler, however color correction applies to the analog output as well. The default correction profiles provide a number of options to raise the gamma curve (and therefore raise contrast, at the risk of losing shadow detail)
I truly applaud this initiative and hope we can come together to make something useful!
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: MiSTer CRT Guide - WIP
I appreciate your comments, they are all spot on & relevant, though for now I'll just concentrate on the stuff regarding the basics (Cables/Settings), so I can publish this thing. After that, you, and anybody else, can go and edit it - it's a wiki after all. Or we can chisel stuff out here and add it as it goes.
I'll try to do it in the next few days and ask here if I'm unsure about anything. Hopefully some other folks can chime in too in the meantime.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
- lamarax
- Top Contributor
- Posts: 472
- Joined: Wed Nov 11, 2020 6:28 pm
- Has thanked: 33 times
- Been thanked: 202 times
Re: MiSTer CRT Guide - WIP
A reason I first got my MiSTer, was that it advertised to be easily connected to a CRT. In reality, I went scuffing bits off from the internets to make my rigs work (which finally didn't, at least to a satisfactory degree; see: RGB PAL, "tate" etc, etc)
So thank you for trying to digest all the knowledge that's available to a concise format!
-
- Top Contributor
- Posts: 1018
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 315 times
- Been thanked: 238 times
Re: MiSTer CRT Guide - WIP
There have been complaints recently of HDMI->VGA scalers not working with direct_video, but I wonder whether this is a direct_video problem or more of a problem specifically with csync being supported by some adapters and not others. I've tried three different adapters with my VGA monitors and had no problems. I don't have any csync displays I can test with though.
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: MiSTer CRT Guide - WIP
I haven't added it to the main sidebar yet, so there's still time for another round of tweaking before it gets truly visible. You can now edit this wiki if you have the account on github, or post your suggested changes/additions here and I will do it myself. If you do some edits please mention it here as well so we can cross check the info.
Some comments re @FoxbatStargazer's post:
Yes, that's true, I just had a hangover from when this info was only listed on Direct Video wiki page. I did correct it now and have linked to that RetroRGB article, even though I think it might be a bit on the alarmist side. I have used a few TVs with a MiST cable which I don't think has this resistor and they survived just fine, so I think it might be more of a possibility than certainty. Still, it's best to just stick with theFoxbatStargazer wrote: ↑Tue Mar 22, 2022 5:23 pm I think having a resistor on sync pin in the SCART cable is recommended whether you use direct video or not? The problem is that the VGA standard for sync is TTL? and therefore too high. Certainly I've seen advice that this is an issue for the I/O board itself.
"better safe than sorry" line in a public guide.
The problem with direct video over component is specifically SoG.
Have a look at this again, I did include a link to this scheamtic before but maybe it needs more info.
I have no idea, that's all black magic to me. But you might well be onto something. Like I said elsewhere, my adapter generally works fine with most cores, but a few refuse to sync (unless I use dedicated VGA2SCART adapter instead of MiSTer cable). Perhaps it is related.Actually I think there is potentially a reverse problem with direct video. If you use Mister to combine h/vsync into c-sync...
Also, it might be related to what you mention in your second post, about people saying that "HDMI->VGA scalers not working with direct_video". It's tricky to figure if that's down to MiSTer side, the adapters, or user error, to be honest. But definitely something we could put on the To Investigate list.
Ok, I removed that CS setting. Do you need to use that SoG switch on I/O board in all cases of using Component? Or is it something that "might need" doing (my wording from Wiki)?Component does not need composite_sync=1. H and V sync lines are completely omitted on the VGA->Component cable. That's why you need SoG to add sync to the green/luma line.
I left them for now with reference to Custom Video Modes. Speaking of which...vsync_adjust refers to the scaler only. I.E. HDMI port with direct_video OFF, or I/O port with vga_scaler ON. That and the whole world of video mode, vscale, border, etc. etc. is completely ignored with "pure" analog output, which seems to be what this guide is focused on. We could spell some of that out, but these settings are also settings used in standard HDMI output and therefore might be redundant here.
My idea was to have a very brief how-to on modeline creation in the CVM section (I left a placeholder for that). You, or @thorr, or somebody else who knows this stuff real well would have to write it. Just to give an idea on what to do, and which variables are important to tweak, the more in depth stuff can be linked to (I already placed one link there to @Shogun's guide)There are however a few cool tricks you can pull in the settings that aren't relevant to LCDs though, like changing the video blank to control the amount of overscan, creating an ultra-wide resolution for scaling that gets naturally squashed to 4:3 by the CRT, or creating 240p/120hz modes for natural scanlines on a 31khz+ monitor. I think this is edging more into learning how to create your own modelines though rather than just grabbing random stuff on the forums. Maybe that's complicated enough to be its own guide and we just hand people some presets in this one.
About the examples you mention, they could be included there or perhaps in the FAQ section, because eg the 240p/120hz modes are a distinct topic. I'd like to have some example presets for people like me who aren't really good at maths or don't have time to learn it in depth and just want to copypaste some stuff that works. So that's how the CVM section is structured now.
Great idea, but, again, I don't know enough about this stuff. You or somebody else would have to write that. I left a placeholder section called CORE OSD SETTINGSCore HUD Settings
Dunno what you want to call this section but there are a few crucial things to mention here.
************************************
I've also added a placeholder for "FAQ" section - that's for all the troubleshooting and "other" solutions/ideas.
Anotehr one is "Remaining problems" section - meaning to list problematic cores and such
Apart from all that, these things are also on my immediate TO DO list:
-add section or descriptions for @tsowell's latest merge - I think it is possible to use it for everything, not just ao486?
-add more cable sources
-where to buy dv & io
-check other adpaters for composite and S-Video I've seen mentioned
-perhaps add RESOURCES section
-DOSBOX OR SCUMM how to / is possible?
As always, all comments / suggestions / further corrections would be most appreciated.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Top Contributor
- Posts: 1018
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 315 times
- Been thanked: 238 times
Re: MiSTer CRT Guide - WIP
I think covering the HUD settings is most crucial of all, anything that can cause your SD TV to fail to sync is a pain to deal with. And yeah I don't mind inserting that myself.
I don't really know enough about potential c-sync + direct video issues to say anything definitive. It's just something I wondered about. Was hoping more could chime in with their findings.
-
- Posts: 11
- Joined: Sun Dec 06, 2020 4:29 am
- Has thanked: 1 time
Re: MiSTer CRT Guide - WIP
Settings I have are
[MiSTer]
key_menu_as_rgui=0 ; set to 1 to make the MENU key map to RGUI in Minimig (e.g. for Right Amiga)
forced_scandoubler=1 ; set to 1 to run scandoubler on VGA output always (depends on core).
ypbpr=0 ; set to 1 for YPbPr on VGA output.
composite_sync=0 ; set to 1 for composite sync on HSync signal of VGA output.
vga_scaler=1 ; set to 1 to connect VGA to scaler output.
hdmi_audio_96k=0 ; set to 1 for 96khz/16bit HDMI audio (48khz/16bit otherwise)
keyrah_mode=0x18d80002 ; VIDPID of keyrah for special code translation (0x23418037 for Arduino Micro)
vscale_mode=1 ; 0 - scale to fit the screen height.
; 1 - use integer scale only.
; 2 - use 0.5 steps of scale.
; 3 - use 0.25 steps of scale.
vscale_border=0 ; set vertical border for TVs cutting the upper/bottom parts of screen (1-399)
;bootscreen=0 ; uncomment to disable boot screen of some cores like Minimig.
;mouse_throttle=10 ; 1-100 mouse speed divider. Useful for very sensitive mice
rbf_hide_datecode=0 ; 1 - hides datecodes from rbf file names. Press F2 for quick temporary toggle
menu_pal=1 ; 1 - PAL mode for menu core
hdmi_limited=0 ; 1 - use limited (16..235) color range over HDMI
; 2 - use limited (16..255) color range over HDMI, for VGA converters.
direct_video=4 ; 1 - enable core video timing over HDMI, use only with VGA converters.
fb_size=0 ; 0 - automatic, 1 - full size, 2 - 1/2 of resolution, 4 - 1/4 of resolution.
fb_terminal=0 ; 1 - enabled (default), 0 - disabled
osd_timeout=30 ; 5-3600 timeout (in seconds) for OSD to disappear in Menu core. 30 seconds if not set.
; Background picture will get darker after double timeout
osd_rotate=0 ; Display OSD menu rotated, 0 - no rotation, 1 - rotate right (+90°), 2 - rotate left (-90°)
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: MiSTer CRT Guide - WIP
That's normal, some arcade cores are vertical / horizontal / flipped by default. You can rotate them using the scaler, but am not sure if it's possible on VGA. More info here: viewtopic.php?t=3494ItsTigerTime wrote: ↑Fri Apr 01, 2022 7:24 am ive just got a new old CRT Monitor here in Australia with VGA got it working finally on my mister after a few days my issue is some of the arcade games are upside down or sidewards have no idea how to fix it
"Direct_video=4" in your mister.ini is wrong, it can be only 0 or 1, but you're probably not using it anyway.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Top Contributor
- Posts: 1018
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 315 times
- Been thanked: 238 times
Re: MiSTer CRT Guide - WIP
Some cores might let you flip the original resolution but others won't, in which case those settings will only apply to scaled output.
If you only want to apply the scaler to arcades add the following section to your mister.ini.
Code: Select all
[arcade]
forced_scandoubler=0
vga_scaler=1
Re: MiSTer CRT Guide - WIP
I was wondering if SVGA CRT monitors require a separate section. This is merely a suggestion though but in my experience with a 1600x1200 SVGA custom video_mode is a superior setting to scandoubler. Scandoubler on my SVGA more than often doesn't allow the cores to use all the real estate available on the screen, centering the image and filling the screen requires manual adjusting on every core and scanlines look better using the native resolution. I can't tell if this is true for all SVGA monitors, I'm using a Sony multiscan 400 ps with a native res of 1600x1200 @ 75 hz. Using a custom video_mode the most I ever need to do is press the "auto sizing and centering (ASC)" button (using scandoubler this button doesn't adjust anything).
-
- Top Contributor
- Posts: 1018
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 315 times
- Been thanked: 238 times
Re: MiSTer CRT Guide - WIP
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: MiSTer CRT Guide - WIP
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: MiSTer CRT Guide - WIP
It certainly could be mentioned as, say, FAQ section item. If you could provide the modeline and initial settings then that would do nicely. The rest is indeed out of scope of this guide and could be linked to. Linked to, if there is anywhere to link to, that is, seeing as the Video Filters section on the Wiki was last updated in May 2020...
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: MiSTer CRT Guide - WIP
It's also in the Wiki's sidebar under "Extra Features / Creating custom modelines" and I have linked to it from within the CRT guide. Any comments and alternative advice on modeline creation is always welcome.
Also thanks to cursedverses for new PSX modelines and people from shmups.system11 boards for advice on alternative S-Video converters.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
Re: MiSTer CRT Guide - WIP
Great CRT guide! Was the Modeline guide ever posted? I can not seem to find it.
Also, is there a way I can force all arcade cores to use the same output refresh rate and resolution that NES or SNES uses? What would I need to add to this?
[arcade]
forced_scandoubler=0
vga_scaler=1
I have a direct video HDMI to VGA adapter with VGA component cables that is working well for most cores except genesis and cps1&2. I would love to just force the same output that I know works. Is this possible? Thank you for any help!
My mister Information says the resolutions are:
512x224 15.75KHz 60.1Hz
640x240 12.59Mhz 60.1Hz
Is it possible to just force this for all arcade cores?
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: MiSTer CRT Guide - WIP
https://github.com/MiSTer-devel/Wiki_Mi ... TION-GUIDE
The CRT guide itself is in need of updating, but I've been out of the loop for some time and also am away from my CRTs atm so can't test things.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
Re: MiSTer CRT Guide - WIP
akeley wrote: ↑Sat Sep 02, 2023 4:00 pmhttps://github.com/MiSTer-devel/Wiki_Mi ... TION-GUIDE
The CRT guide itself is in need of updating, but I've been out of the loop for some time and also am away from my CRTs atm so can't test things.
Thank you!