mkarcher wrote on 2022-10-27, 19:03:This is not exactly true. MDA monitors are specified for one single h/v frequency pair, which is 18.4 kHz horizontal sync and 50 […]
Show full quote
Jo22 wrote on 2022-10-20, 08:33:
That's because HGC can be put in an 640x400 "mode", also - so the TTL monitor can display this.
This is not exactly true. MDA monitors are specified for one single h/v frequency pair, which is 18.4 kHz horizontal sync and 50 Hz vertical sync. Dividing the horizontal rate by the vertical rate results in about 370 scan lines. The original MDA text mode uses 720 horizontal pixels and 350 active lines. The viewable area of MDA monitors tolerates slightly more lines, but you will get distortion when you get near 360 visible lines at 370 total lines. You can operate MDA-compatible monitors out of spec at like 45 Hz to squeeze more scanline into the mode, possibly adjusting vhold for it. You might need adjust vertical size, too, to get about 400 lines displayed. The EGA card doesn't need to pull any of these tricks with the MDA displays: As all high-res modes on the EGA use the same pixel clock as the original MDA card, what mode 0Fh really does is adding black bars so the 720x350 mode is reduced to 640 by 350, and runs at exactly the same timing as the MDA.
On the other hand, you are indeed right that there is a custom 640x400 mode usable with (some) Hercules-compatible cards. As far as I know, this is actually 640 x 200 letterboxed into the standard 720x350 timing, and then adding on interlace to it get to 640 x 400. This is not what the standard EGA modes do. Both mode 07h and mode 0Fh are plain 350-line modes at the original MDA timing.
It's interesting to understand that the EGA modes at 21.8kHz use the same dot clock as MDA modes at 18.4kHz. The key points to reaching the higher horizontal frequency are (1) reducing the number of visible pixels from 720 to 640, and at the same time (2) implementing an extremely fast (for the time) horizontal retrace in the ECD. They say the 350-line timing is so tight that you can't even fit an overscan border on the high-res EGA modes. The increased horizontal rate allowed the ECD to run 350-line modes at 60Hz instead of 50Hz as the MDA monitor does. This allowed the ECD to use short-persistence phosphor enabling ghosting-free animations, whereas the 50Hz MDA mode requires medium-persistence phosphor for flicker-free displaying.
Hi again, I've just revisited this thread and realized that I haven't replied yet.
I'd like to thank you for this brief explanation, it was very interesting.
I must admit that EGA was a bit before my time, also.
To me, and a few others from the VGA days, "EGA" was more of a video mode that's being part of VGA, rather than its own graphics standard. That's how it "felt" at least.
I mean, in every day use of the 90s, "EGA" was being available as a video mode list in popular programs like Turbo Pascal, Turbo C or Quick Basic.
They supported using EGA screen modes, on the average VGA card.
These EGA video modes had been useful to complete VGA, to allow using less common resolutions not available in the VGA-specific modes.
For example, to upgrade CGA-ish and Hercules-like high-res modes to a higher colour depth.
CGA 640x200 mono -> EGA 640x200 16c
Hercules 720x350 (348) -> 640x350 16c
That was being handy for upgrading old programming examples listed in existing computer books.
The coordinates didn't need much changing, for example.
It allowed trying out things casually in a quick&dirty fashion.
Another use of EGA was that text-mode with more columns.
Some applications, like programming IDEs or DOS Shell had a command line parameter to run in a higher-than 80x25 mode.
Ok, strictly speaking, some early Super EGA/VGA cards had 132 columns mode, too.
But I assume few applications had supported this, the highly commercial products excluded here (WordStar, Lotus 1-2-3 etc did support that).
Btw, there seem to be a few programs that use Hercules with a 640x400 signal.
These Korean DOS games come to mind (Korean Dungeon Boy?), or that C64 emulator.
But especially that C64 emulator never had worked for me on real hardware.
Except for an OAK VGA in Hercules emulation mode (in 80286 PC).
On real hardware (HGC clone, no-name MDA compatible monitor) the C64 emulator would cause weird graphics.
Flying lines and a whining sound are all that the monitors presents.
I wonder if that C64 does the trick with the 640x200 line mode that's being letterboxed&interlaced.
Because, the C64 resolution is very low-res. Below CGA's 320x200 mode.
So in order to display BASIC V2 with the original, unmodified font, the C64 emulator would have been fine with a low-resolution mode.
The use of that trick you described earlier would also have been made the graphics look full-screen, which is the case.
In DOSBox and other emulators, the C64 emulator surprisingly appears in a 4:3 resolution, without aspect correction being activated.
With same emulators, games like Prince of Persia still look stretched Hercules-style.
That's why I'm really curious what's going on.
Unfortunately, I don't have the expertise to analyze this properly.
I'd be glad if you could have a look at this sometime, if you have some spare time.
But it's not urgent, of course.
Again, thanks for the explanation about EGA and Hercules handle monochrome graphics.
Even if it's a bit late to thank you. Sorry about that. 😅
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//