VOGONS


Reply 20 of 35, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Do they though? The VGA mono setup I've seen is just mono on the green connector with monitor working at VGA scan rates, not Hercules. Got a VGA mono monitor in the stash, white phosphor.

Edit: By the way I think this is why pentium and even PII machines turn up with Trident 9000 ISA graphics in, that card supports VGA mono mode properly, won't display anything "invisible" because it's all red or blue. The mono monitors were used for low eyestrain DOS terminals for stuff like hotels, POS, travel agents etc.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 21 of 35, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie
BitWrangler wrote on 2022-10-19, 00:18:

Do they though? The VGA mono setup I've seen is just mono on the green connector with monitor working at VGA scan rates, not Hercules. Got a VGA mono monitor in the stash, white phosphor.

Edit: By the way I think this is why pentium and even PII machines turn up with Trident 9000 ISA graphics in, that card supports VGA mono mode properly, won't display anything "invisible" because it's all red or blue. The mono monitors were used for low eyestrain DOS terminals for stuff like hotels, POS, travel agents etc.

Certainly, I had a VGA card with both 9 pin and 15 pin connectors .

It had a 16 bit isa card edge but I used it in an XT without issue.

Set the dip switches correctly and you could attach a CGA or MDA screen to said card (or EGA if that is what you had)

Reply 22 of 35, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

But isn't that MDA/Herc or mono CGA modes to the monitor and not VGA modes, which I thought was what was implied.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 23 of 35, by Jo22

User metadata
Rank l33t++
Rank
l33t++
BitWrangler wrote on 2022-10-19, 03:01:

But isn't that MDA/Herc or mono CGA modes to the monitor and not VGA modes, which I thought was what was implied.

The monitor type defines the video modes available by the VGA card.

An MDA monitor can be used for EGA monochrome mode (640x350 mono) sometimes, I vaguely remember.
That's because HGC can be put in an 640x400 "mode", also - so the TTL monitor can display this.

Anyway, there are multiple things that come into play behind the scene.
Vertical/horizontal resolutions and sync rates, synchronization polarities, refresh rates, etc.

"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//

Reply 24 of 35, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2022-10-20, 08:33:
The monitor type defines the video modes available by the VGA card. […]
Show full quote
BitWrangler wrote on 2022-10-19, 03:01:

But isn't that MDA/Herc or mono CGA modes to the monitor and not VGA modes, which I thought was what was implied.

The monitor type defines the video modes available by the VGA card.

An MDA monitor can be used for EGA monochrome mode (640x350 mono) sometimes, I vaguely remember.
That's because HGC can be put in an 640x400 "mode", also - so the TTL monitor can display this.

Anyway, there are multiple things that come into play behind the scene.
Vertical/horizontal resolutions and sync rates, synchronization polarities, refresh rates, etc.

It always disappointed me that those multi-standard VGA cards couldn’t emulate 320x200 vga on an MDA or CGA screen, though if memory serves you could run 320x200-16 colors on a CGA monitor using that card,
I vaguely remember 320x200-16 working on a MDA screen (very poorly) using that card, I think it just dropped down to 4 grayscales and no dithering

Reply 25 of 35, by Jo22

User metadata
Rank l33t++
Rank
l33t++
rmay635703 wrote on 2022-10-20, 18:23:

It always disappointed me that those multi-standard VGA cards couldn’t emulate 320x200 vga on an MDA or CGA screen, though if memory serves you could run 320x200-16 colors on a CGA monitor using that card,
I vaguely remember 320x200-16 working on a MDA screen (very poorly) using that card, I think it just dropped down to 4 grayscales and no dithering

Hi! They did support all this what you care for.. on a multi-sync monitor.
There used to be multi-sync monitors with both analog input and high-quality digital inputs (TTL RGB/RGBI)..

Main problem were the different timings, I think.
A lot of scanrate conversion etc. would have been necessary to support EGA and Hercules modes on lower end CGA monitors (hacked TV sets essentially).

- A real EGA monitor with 640x350 support is/was much more versatile here.
It can handle both negative/positive polarity, can handle different sync frequencies (15,75 KHz, 18 KHz, 21,85 KHz line frequencies)..

Best thing possible is feeding the old CGA monitors with a Composite signal.
Then, a VGA card could drive it in all VGA its modes. Either directly by changing the timings to compatible NTSC settings or by using a VGA-AV converter box.

Such things existed in the early 90s, even. There was this VGA cheese, or how it was called.
A yellow box with VGA in and CVBS out..

Another idea was using that ATI Small Wonder card.
It had many weird options for video output..
It didn't support VGA/EGA, though, did it?

Edit: Another problem was the limit of the 640x200 resolution of CGA monitors.
The CGA board does produce a fake progressive scan video signal by omitting either the odd or even lines (not sure which), which halves resolution.
That does away with the flickering.

However it also reduces the resolution from the possible max digital resolution of the normal NTSC with interlacing enabled (about 640x480).

Some of the EGA modes can be displayed on CGA monitors, maybe. My memory is a bit sketchy about it, sorry.
- The low-res 320x200 video modes with 16c (standard palette, not using 64c palette switching)
- The rarely used 640x200 16c EGA mode

Edit: I remember Quick Basic 4.5 help describing the EGA modes working on CGA monitors.
There's also a demo with a donut, which uses them..

CGA compatible EGA: https://www.youtube.com/watch?v=Z0_bQ7-_Hl8

Full EGA: https://www.youtube.com/watch?v=O3lynYSr2vM

HGC: https://www.youtube.com/watch?v=yKXjroaoAp4

Real VGA: https://www.youtube.com/watch?v=AgscncfBayM

"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//

Reply 26 of 35, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I've got an "interesting" monitor stashed, hasn't been powered in years though. 5 BNC input, and I used it as basic VGA, went 640x480 max, bit of a fishbowl for a tube. Seemed to do some low frequency modes. I'll have to pair it up with an EGA Wonder or VGA wonder and try some stuff. It kinda looks like the shape of an original IBM mono or CGA monitor half morphed towards later monitor styling, can't pull the name of it out of my brain, something with Ts in Techtronic or something like that. It's 3 stacks deep though in a far corner, not easy to access.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 27 of 35, by mkarcher

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2022-10-20, 08:33:

An MDA monitor can be used for EGA monochrome mode (640x350 mono) sometimes, I vaguely remember.

Exactly. Mode 0Fh on the CGA card is specifically meant to be displayed on MDA monitors. This is in contrast to mode 10h (also 640x350, but 16 colors) which is designed to be displayed on the Enhanced Color Display. People grown up with VGA or higher might be surprised by the fact that the monochrome 640x350 mode only works if a monochrome display is connected and is not available at all when an EGA monitor is connected. This is very different to the VGA card that allows all modes on a VGA monitor. The only modes that are actually monitor-dependent on the EGA cards are the text modes 0-3. They exist in a 15.7kHz CGA variant with 200 scanlines and a 21.8kHz EGA variant with 350 scanlines. They do not exist in a 18.4kHz MDA variant, though. Modes 4,5,6 generally use CGA timing. Mode 7 is a 80x25 text mode, just like modes 2 and 3, but it only exists in a 18.4kHz MDA variant. Modes 0Dh and 0Eh (320x200 and 640x200) generally use CGA timing (15.7kHz), mode 0Fh uses MDA timing (18.4kHz) and mode 10h uses EGA timing (21.8kHz) again. In contrast, on a VGA cards, all supported modes output 31.5kHz at 350, 400 or 480 scanlines, no matter wheter a grayscale or a color VGA monitor is connected. All 200-line modes are double-scanned on VGA cards. VGA cards do not support monitors at legacy frequencies. The amount of available modes on TTL-compatible VGA cards with TTL monitors (CGA, EGA, MDA) depends on the vendor.

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.

Reply 28 of 35, by Jo22

User metadata
Rank l33t++
Rank
l33t++
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//

Reply 29 of 35, by mkarcher

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2024-02-20, 10:05:
These EGA video modes had been useful to complete VGA, to allow using less common resolutions not available in the VGA-specific […]
Show full quote

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.

That's indeed a very sensible use of the VGA card. Especially considering that the "native" VGA graphics mode has the disadvantage of running at 60Hz, and most VGA monitors I experienced in the 90's had flicker that annoyed me in case of bright backgrounds. A 640x400 (at 70 Hz) mode would also be useful in this regard: Nice upgrade from 320x200 4 color CGA to 640x400 16 color VGA, exactly doubling the resolution in both horizontal and vertical direction. There is absolutely no technical reason to not offer that mode as a dedicated BIOS mode, as the EGA 640x200 16c mode you already mentioned actually is[/is] implemented as exactly this 640x400 mode, but with the VGA set to "double scan" to artificially reduce the horizontal resolution from 400 lines to 200 lines.

It's also likely that IBM designed the Enhanced Color Display (ECD, 5154) and the EGA modes to run at the same 350 lines as the MDA / IBM 5151 did. This allowed IBM to provide the same resolution (640x350) on both the 5154 (16 of 64 colors) and the 5151 (4 choices from black/normal/bright or any blinking combinations of those).

Jo22 wrote on 2024-02-20, 10:05:
Another use of EGA was that text-mode with more columns. Some applications, like programming IDEs or DOS Shell had a command li […]
Show full quote

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.


I guess you mean "text-mode with more rows" in your first sentence. As you mentioned in your last sentence (in that quote), 132-column modes are strictly "Super-" territory. No standard BIOS mode on the EGA or VGA card includes a text mode with more than 80 characters per line. Modes that do not violate the standard video timings or exceed into areas traditionally reserved for "overscan" go up to 720x480, which is a 90x60 text mode at an 8x8 character box. The author of my favorite technical book about the EGA and VGA cards suggested that you could get up to record-winning 90x80 characters by designing an 8x6 font, but if you do, you should include a magnifying glass with you software. You can get an EGA-like 80x43 text mode on an Hercules RamFONT aka HGC Plus, if you reprogram the vertical timing and the character height. This does not require any different monitor than used with the MDA or HGC. The Hercules successor cards (Plus and InColor) did not get much market penetration, though.

Jo22 wrote on 2024-02-20, 10:05:

But I assume few applications had supported this, the highly commercial products excluded here (WordStar, Lotus 1-2-3 etc did support that).


The "more text line" modes had some support. While initializing these modes required invoking an "arcane" font loading call after setting the video mode (instead of just defining a new mode number for the high-line-count text modes), the mode then was perfectly supported by the BIOS functions, so any software that did not reset the video mode itself (many full-screen applications did) and checked the EGA-type "line count" byte in the video data area or invoked a BIOS function to report that line count could easily operate in it. Anything exceeding 80x43 (EGA) or 80x50 (VGA) on the other hand required special support bypassing the BIOS, and thus was only usable in applications that included dedicated support for those modes, or applications that used a dedicated video driver interface and allowed custom video drivers (WordStar, Lotus 1-2-3, MS Word were examples of tha latter class).

Jo22 wrote on 2024-02-20, 10:05:
Btw, there seem to be a few programs that use Hercules with a 640x400 signal. These Korean DOS games come to mind (Korean Dungeo […]
Show full quote

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.


So this clearly shows that this 640x400 mode is clearly not compatible with any run-off-the-mill MDA monitor. The Hercules cards is able to produce a lot of different timings, and "flying lines" sounds like the monitor lost horizontal synchronization. The whining sound fits the picture, too. The 18.4kHz of the HGC are high enough that most people don't hear that sound, but if the HGC is reprogrammed to produce an image at CGA timings (which would be around 768x200 pixels in the 640x200 CGA area), the frequency drops to 15.6kHz, which is audible. There were dual-mode monitors that could sync to either MDA or CGA timings already in the early 80s, like the one supplied with early Compaq DeskPro computers. Those computers would run text modes at 720x350 at MDA timings and CGA graphics modes at 640x200 using CGA timings. A monitor like that would have no issues syncing that signal. Activating interlacing to get 640x400 will fail on a CGA card (for one, because the IBM CGA circuitry around the 6845 is incompatible with interlacing, AFAIK, and also because the CGA doesn't have sufficient video RAM for 640x400), but would work on some Hercules-type cards.

Jo22 wrote on 2024-02-20, 10:05:

I wonder if that C64 does the trick with the 640x200 line mode that's being letterboxed&interlaced.


Either that (possibly with less letterboxing to get from 25Hz full-frame (50 interlaced) to something like 30Hz full-frame or slightly higher, or it is actually non-interlaced, increasing the horizontal scan rate from 18.4kHz into EGA-like 21kHz, to get 400 lines into the standard MDA 350-line timing of 50 frames per second. If the horizontal oscillator of a monochrome monitor is able to capture that high sync rate (as you experienced, your monitor was unable to capture that rate, whether it was too low or too high), it could work with the same deflection electronics and vertical oscillator. You would get a more narrow picture unless you build a true multi-sync monitor that switches the horiztontal deflection circuit to cope with higher sync rates.

Jo22 wrote on 2024-02-20, 10:05:

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.


If I'm not completely mistaken, the C64 video resolution of the BASIC screen is 24 or 25 lines of 40 characters, at an 8x8 font, so very much like CGA mode 1. Also the horizontal and vertical timings of US C64 computers and the CGA card are very similar, because both are derived from the "television system M" timings (colloquial known as "NTSC timing").

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.



Can you post a link to or a product name of "that C64 emulator"? In that case, I could research what the emulator does.

Reply 30 of 35, by Jo22

User metadata
Rank l33t++
Rank
l33t++
mkarcher wrote on 2024-02-20, 17:49:
Jo22 wrote on 2024-02-20, 10:05:

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.

Can you post a link to or a product name of "that C64 emulator"? In that case, I could research what the emulator does.

Hi, sure, yes. It can be found in many places (FTPs, shareware compilations etc), but this C64 site seems to a more legitimate source , I think.
http://www.zimmers.net/anonftp/pub/cbm/crossp … sdos/index.html

A few users once thought the emulator was a joke program, but it can really run simple BASIC programs.
I was successful at running some text adventures, even. Ironically, these were among the most naughty ones.

Which in retrospect is a little bit embarrassing, I think. To my defense, though, these were also plain text adventures.
So maybe that's why they worked. Other adventure games tried to draw some graphics.

There's a picture of the C64 emulator in an older posting of mine: Re: 286 EGA build mk2

"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//

Reply 31 of 35, by mkarcher

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2024-02-20, 20:37:

Hi, sure, yes. It can be found in many places (FTPs, shareware compilations etc), but this C64 site seems to a more legitimate source , I think.
http://www.zimmers.net/anonftp/pub/cbm/crossp … sdos/index.html

Sure, this is a custom 640x400 graphics mode at 20 kHz / 45 Hz. You might find some MDA-like monitors that are able to sync to it, but it is definitely out of spec. That mode is used to simulate a 40x25 character screen with a character box of 16x16 pixels. This 16x16 pixel box is used to dither 5 shades of gray from an 8x8 character box.

That emulator might actually work with slight changes on real hardware I own: A V20-equipped Turbo-XT with an HGC-compatible graphics card and a multisync TTL monitor. It seems I have to slightly patch the keyboard interrupt handler for XT compatibility, though. If I ever get around to try that, I can post a photo of that thing running on bare metal hardware.

Reply 32 of 35, by mkarcher

User metadata
Rank l33t
Rank
l33t
mkarcher wrote on 2024-02-21, 07:32:
Jo22 wrote on 2024-02-20, 20:37:

Hi, sure, yes. It can be found in many places (FTPs, shareware compilations etc), but this C64 site seems to a more legitimate source , I think.

That emulator might actually work with slight changes on real hardware I own: A V20-equipped Turbo-XT with an HGC-compatible graphics card and a multisync TTL monitor. It seems I have to slightly patch the keyboard interrupt handler for XT compatibility, though. If I ever get around to try that, I can post a photo of that thing running on bare metal hardware.

The emulator worked without any changes. Here are some pictures

The attachment C64_dir.jpg is no longer available

Showing the standard HGC text mode

The attachment C64_HGC.jpg is no longer available

Showing this Hercules C64 emulator. In the full resolution picture, the dithering is clealy visible. The background color is "intensity level 1" on a scale of 0..4, with only 1 out of 4 pixels bright.

Booting the virtual C64 took around 10s until a garbage pattern for the on the screen, and another 3 seconds until basic was ready to take input. Entering a basic program worked without noticable lag. Scrolling (if you output too many lines) is awfully slow though. Test system: A Turbo XT with a V20 processor at 10MHz, an original Hercules RAMfont cards (in this scenario, it behaves identical to the original HGC or any of the cheap clones) displaying on a EIZO Flexscan 8060S monitor (with a custom cable that connects the "monochrome video" output pin of the Hercules card to the "green" input pin on that monitor). While looking at the internals of the emulator, I didn't notice anything that would require a V20 or 80286 processor, so the cited requirement for an "AT" in the documentation is likely just for performance reasons.

I do not recommend to test this C64 emulator with fixed-frequency monitors, but it will likely work nicely on appropriate NEC MultiSync monitors as well.

Reply 33 of 35, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2022-10-09, 21:04:

Most programs using native Hercules graphics (720x348, as opposed to CGA emulation modes) only use the first page.
But there's also plenty of exceptions: Windows 3.1 with Hercules Monochrome driver uses the second, and Blockout game uses both for double-buffering.

Yeah, that's exactly the issue that I've been running into. I'm trying out a Hercules clone card with an IBM 5151 monitor that I fixed, and I've been wanting to use it with Windows 3.11 on a Dell Optiplex G1 Pentium III system, but unfortunately that PC has no way to manually disable the on-board VGA graphics, so when I start Windows 3.11 with the Hercules driver, I just get garbled output on the monochrome monitor (as well as on any VGA monitor, if connected) whenever any software tries to use the second page (page 1) of the card's graphics memory. That also explains why I intermittently got saw those same artifacts in BlockOut. At first I thought those artifacts were due to timing issues, since I was running that game on a P-III.

Does anybody know of a way to force the Hercules driver for Windows 3.x to use Hercules graphics in page 0 mode?

At any rate, it does show that tinkering with actual vintage/retro hardware is quite educational. It's increased my understanding of how Hercules monochrome graphics could be used as a secondary monitor in DOS back in the day, albeit with the cost of the second page.

By the way, I can confirm that the Hercules driver that comes with OpenGEM does correctly use the card in page 0 mode, even though I briefly see the same artifacts on the screen at the beginning, implying that the driver initially tries to switch to page 1 mode for some reason.

Reply 34 of 35, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2022-10-09, 21:04:

Most programs using native Hercules graphics (720x348, as opposed to CGA emulation modes) only use the first page.
But there's also plenty of exceptions: Windows 3.1 with Hercules Monochrome driver uses the second, and Blockout game uses both for double-buffering.

You can add Microsoft Flight Simulator 4.0 to that list as well. It constantly switches between page 1 and page 0 (probably also for double-buffering), although it appears to spend most of the time in page 1, judging from artifacts on the monitor.

Darn, I really need to find a way to disable the on-board VGA card on this Optiplex G1 while it has a Hercules card installed.

Reply 35 of 35, by Jo22

User metadata
Rank l33t++
Rank
l33t++
mkarcher wrote on 2024-02-27, 23:50:

The emulator worked without any changes. Here are some pictures

Thank you very much for all your efforts and pictures! 😎 👍

digger wrote on 2024-07-13, 16:05:

Does anybody know of a way to force the Hercules driver for Windows 3.x to use Hercules graphics in page 0 mode?

I'm not sure. MSHERC /HALF and HGC utility are all I tried so far.

However, I got both Windows 2.03 and Windows 3.0 to run on an XT
with both on-board CGA circuit and a no-name Hercules compatible card ("made in W-Germany").

All I did was choosing Hercules or CGA for installation, no conflicts.
Both monitors (composite and TTL) were switched on and I saw no glitches on the "inactive" monitor.

That's because I was testing dual-monitor setup at the time.
(MODE MONO and MODE CO80 can be used to switch between them; for output on DOS command line)

That's at least how I remember. I can't remember any glitches, at least.
My XT is currently non-available for testing, so I can't verify. 🙁

"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//