VOGONS


Best CGA & Hercules monochrome games

Topic actions

Reply 300 of 309, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Grzyb wrote on 2023-12-29, 22:20:
dr.zeissler wrote on 2023-12-29, 18:45:

What's about the aspect ratio of hercules? seems that lot's of games tend to be "extreme widescreen" in hercules mode on a real hercules crt-monitor?

I guess you mean that a lot of games use the 640x200 CGA emulation mode, instead of the native 720x348:
Re: CGA/MDA/HGC test program

Hi again, I've just revisited this thread and there's something that comes to mind.
The old Sierra AGI titles do indeed make use of Hercules resolution, but perhaps not in the way that comes to mind first.
What they make use of is the better text quality, they use a higher quality font for in-game messages.

The game graphics itself are remaining unchanged, pretty much.
Sierra's AGI interpreter works with a view-port of 160x120 pixels, which isn't even making full use of CGA in 4c mode.
For comparison, the original beige Gameboy did 160x144 pixels in four shades of green. Which too wasn't state of art at the time.

However, it may utilize full effective resolution of Composite CGA with the NTSC artifact colours.
So playing Larry 1 on a Composite monitor isn't a bad idea, either. It also seems to have more colours than with EGA.

I suppose that's because the Sierra interpreter was similar to an CHIP-8 emulator and tried to provide best hardware abstraction.
Because like CHIP-8, AGI interpreter could be ported to most lower end 8-Bit computers of the early/mid 80s.
Home computers with specs like the Apple II, Dragon 32/64, TI-99/4A, Acorn Electron.

"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 301 of 309, by AndrettiGTO

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2024-01-02, 10:57:

PS: I've taken some more pictures, for you and Grzyb. It's about Blockout on CGA.
Depending on the CRT monitor, the dithering really works. 😄

Excellent example of a game designed to maximize the hardware it’s running on. CGA had many unsupported display modes that several publishers of the time took advantage of.

It's all fun and games 'till someone loses an eyeball

Reply 302 of 309, by Jo22

User metadata
Rank l33t++
Rank
l33t++
AndrettiGTO wrote on 2024-02-20, 01:57:
Jo22 wrote on 2024-01-02, 10:57:

PS: I've taken some more pictures, for you and Grzyb. It's about Blockout on CGA.
Depending on the CRT monitor, the dithering really works. 😄

Excellent example of a game designed to maximize the hardware it’s running on.
CGA had many unsupported display modes that several publishers of the time took advantage of.

Thanks, I admit I have a bit of a love/hate-relationship with CGA.
One one hand, I love to tinker with it, while simultaneously wished there was "more".
There were missed opportunities so to say.

Like a 4 colour mode for 640x200 resolution or a 640x400 mono mode.
Both would have helped at increasing the level of detail in games back in the day.

Ok, strictly speaking, such CGA modes do exist!
..just not for official IBM CGA. 🙁

640x200 4c is being part of Plantronics and Tandy/PCJr, which are "Super CGAs" of some sort.
Plantronics has full 32KB of RAM, for example.
The full RAM expansion that IBM CGA should have had from very start.

I'm saying this because IBM CGA uses 16KB of RAM, but has an 32KB wide framebuffer slot.
Ie, it uses 16KB for graphics data, but it's being doubled (the cause was incomplete address decoding, I assume. A hardware bug).
Some games/applications may even depend on that mirror copy, not sure.

When that's not the case with some applications, though, CGA can have 200 more lines! 😃
That's exactly what the Olivetti M24/AT&T6300 graphics hardware does.

In high-res mode, it adds more lines to the image, using the memory location where the duplication of CGA image data would be.
(So it wouldn't exceed the official CGA framebuffer area, even!)

But the drawing is done not by adding more lines below the existing one, but in-between.
I don't know how to put this into words properly.

Let's just think of it as an image with stripes.

In normal CGA high-res mode on the M24 monitor, there would be 200 black lines (stripes) visible between the actual CGA picture
(in reality, the M24 hides this for better readability. It duplicates each line in normal CGA modes; like VGA does).

With the 400 lines Olivetti/AT&T mode, these black lines (stripes) wouldn't be black (empty) but would contain lines with actual graphic data.

Thus, the image would be twice as detailed.

But now the really interesting part.
If such a 400 line image would be cross-loaded on a plain CGA card, the image might still being visible.
The extra Iines that sit "in-between" would be merely missing. The picture would be more grainy looking.

Edit: As a visual aid, please have a look about how interlacing of graphics files works.
Like interlaced GIF, for example.
I've recorded a quick video about that a few years ago. 😅

Again, depending on the hardware/application.
It might be possible that under some circumstances, the missing "copy" of the second,
identical 16KB CGA image block (the alias) would cause weird effects, not sure.

Anyway, speaking under correction. I just found this to be interesting.
Because, in practice many CGA cards weren't just plain CGA cards.

In same way like almost all "VGA cards" were Super VGA cards, really.
Same goes for many EGA clones. They had extra modes we may not know of.

Let's just think about it. How many CGA cards or Hercules cards do secretly feature enhanced functionality? 😃

Many CGA cards supported Plantronics or the AT&T mode, especially if being part of a system
with built-in monitor (which can do more than 200 lines thanks to custom timings).

PC emulator cards for Atari ST and Amiga did support Tandy and AT&T/Olivetti or Toshiba modes, too.

They also did Hercules, in clever way.
Some ran the monitor with special timings, used interlacing or used a scrolling feature.

Personally, that's what I find so fascinating about old hardware and software!
There's still something new to learn and to discover each time! 😃

Edit: Edited. I've taken some screenshots for the M24/Olivetti thing.
I hope the OP doesn't mind. Art found online, if someone knows the artists, please tell so I can provide credits. 😀

Attachments

  • m24cga_400lines.png
    Filename
    m24cga_400lines.png
    File size
    70.87 KiB
    Views
    412 views
    File comment
    400 lines M24 "CGA" image data, in 640x400 mono mode (M24 Hi-Res, 400 lines)
    File license
    Fair use/fair dealing exception
  • m24cga_200lines.png
    Filename
    m24cga_200lines.png
    File size
    62.26 KiB
    Views
    412 views
    File comment
    400 lines M24 "CGA" image data, in 640x200 mono mode (CGA Hi-Res, 200 lines)
    File license
    Fair use/fair dealing exception
  • m24cga_200lines-pic_400lines.png
    Filename
    m24cga_200lines-pic_400lines.png
    File size
    41.5 KiB
    Views
    412 views
    File comment
    200 lines CGA image data, in 640x400 mono mode (M24 Hi-Res, 400 lines)
    File license
    Fair use/fair dealing exception

"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 303 of 309, by mkarcher

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2023-12-29, 19:35:
Technically, it had the ability to do that. There were two video pages (one shared with CGA) and an intensity pin. […]
Show full quote
digger wrote on 2023-12-29, 16:27:

It's really a shame that the Hercules Graphics Card didn't support a graphics mode that allowed for mixed high and low intensity pixels. As I understand it, it certainly had the video memory for it. That, combined with dithering, would have resulted in even more amazing high-res monochrome graphics in games!

Technically, it had the ability to do that.
There were two video pages (one shared with CGA) and an intensity pin.

The intensity pin was used in text mode to draw characters in low/high intensity (normal, bright).

Problem was that the video memory could only hold a monochrome bitmap (0/1).

So in order to draw a very bright pixel, the intensity pin would have to be toggled manually by software, at the right moment.

I know this post is old. Let me add some explanation, though: While the hercules card indeed has enough memory (two pages = two times as much memory as you need for a single bit) to store the required image data, the HGC provides no way to control the intensity pin in graphics mode, neither from video memory contents nor by software/CPU control. If you can tolerate 25Hz refresh, you can page-flip between the two pages on every vsync, and generate a new "dim" brightness by pixels that are only set in one of the two pages, and a "normal" by pixels that are set in both pages. If you apply a simple cross-hatch dithering pattern to choose which page the "dim" pixels are set on and which page they are cleared on instead of blanking all the dim pixels at once, this can yield quite usable results (did the experiment on 80's hardware in the late 90's).

Reply 304 of 309, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

That's a neat trick.... kinda dreaming of seeing it combined with a Black and White TV colorizer kit, which was a piece of film to go over the screen which was blueish for sky at top, pinkish for flesh in the middle, and greenish for grass at the bottom, then we got full color Hercules graphics! 🤣 ..... Though there was actually a '70s console that had overlays a bit like that.

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 305 of 309, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie
BitWrangler wrote on 2024-02-20, 20:48:

That's a neat trick.... kinda dreaming of seeing it combined with a Black and White TV colorizer kit, which was a piece of film to go over the screen which was blueish for sky at top, pinkish for flesh in the middle, and greenish for grass at the bottom, then we got full color Hercules graphics! 🤣 ..... Though there was actually a '70s console that had overlays a bit like that.

Vectrex.

My collection database and technical wiki:
https://www.target-earth.net

Reply 306 of 309, by Alexis78

User metadata
Rank Newbie
Rank
Newbie

I enjoyed a lot the first Test Drive in CGA, I never liked that kind of graphics, I only played VGA or at least EGA, but CGA was for me like archaic. But with TD was different, this video game was an addiction to me. Was a surprise find a really good video game in CGA.

XAj4exe.jpg

Reply 307 of 309, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2024-02-20, 11:37:
Thanks, I admit I have a bit of a love/hate-relationship with CGA. One one hand, I love to tinker with it, while simultaneously […]
Show full quote

Thanks, I admit I have a bit of a love/hate-relationship with CGA.
One one hand, I love to tinker with it, while simultaneously wished there was "more".
There were missed opportunities so to say.

Like a 4 colour mode for 640x200 resolution or a 640x400 mono mode.
Both would have helped at increasing the level of detail in games back in the day.

Ok, strictly speaking, such CGA modes do exist!
..just not for official IBM CGA. 🙁

640x200 4c is being part of Plantronics and Tandy/PCJr, which are "Super CGAs" of some sort.
Plantronics has full 32KB of RAM, for example.
The full RAM expansion that IBM CGA should have had from very start.

I'm saying this because IBM CGA uses 16KB of RAM, but has an 32KB wide framebuffer slot.
Ie, it uses 16KB for graphics data, but it's being doubled (the cause was incomplete address decoding, I assume. A hardware bug).
Some games/applications may even depend on that mirror copy, not sure.

The frustrating aspect of CGA is that it had a leftover 384bytes of ram that was used for very little

At a minimum IBM could have had all 4 colors palletized into the 16 available allowing for pallette rotation and other tricks but they instead used a strange selection of very limited fixed pallets with only the background selectable.

384 bytes (which conviently align pretty well to rows) is enough to have a full 192 pallet changes per screen (without extra cpu overhead)

Even with 4 colors out of 16
if 192 of the 200 lines vertical resolution could be palletized independently would allow for some amazing effects despite the per line limitation.

Lots of possibilities if ibm would have been motivated to make their hardware as flexible as possible within the limitations of the time.

Maybe 50 cents of added cost would have made CGA much more user and programmer friendly CGA had more logic than it needed, streamlined for functionality it could have been much more interesting

Reply 308 of 309, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

I'm afraid DRAM would be too slow for palette.
The color lookup table in RAMDAC chips is implemented as SRAM.

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 309 of 309, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2024-04-16, 22:27:

I'm afraid DRAM would be too slow for palette.
The color lookup table in RAMDAC chips is implemented as SRAM.

The card itself would just mirror each rows pallet into the sram at the start of the probe when in blank it would be no different than the card having 641 (or 322) columns. Which is in spec for all the chips.

Would be a set it and forget it situation as the dram speed wouldn’t matter. Any author could then choose to use or not use the pallet region as n each row of ram.