• Please review our updated Terms and Rules here

720x348 on VGA?

SomeGuy

Veteran Member
Joined
Jan 2, 2013
Messages
4,438
Location
Marietta, GA
I've been trying to get some screen shots of a program called Freestyle, ironically it is sort of a screen shot/annotator program but it can't take screen shots of itself. This has turned in to more of a puzzle than I expected.

It seems that this program, when used on VGA, attempts to run in 720x348 monochrome similar to Hercules Monographics. But that is not a documented mode for any VGA card.

It is very hit or miss if it works on a particular VGA card. Some just can't/won't do it. A few actually work. I'm guessing that it is doing something very wonky underneath the hood. I tried PCXDUMP on a compatible card, and it just gives me a garbled image.

Here is what I have tried so far:
Works - MCT-VGA-16 "Paradise" TD3588A ISA card, and NVIDIA Vanta AGP card
Sort of works and graphics are drawn, but text is corrupted - Video 7 VGA 1024i
Blocky "doubled" screen (half appears on the top and half appears on the bottom) - NVIDIA GeForce 8400GS
Scan lines doubled but in wrong place? - PCem set to just VGA
Half of the scan lines are drawn as black - PCem other VGA cards
Black screen - Lenovo with some integrated crap

I'd sort of assume this would work on genuine IBM VGA and PS/2s.

Here is what it looks like on my CRT with a card that works:
Freestyle CRT.jpg

Here is what PCem set to IBM VGA does:
Freestyle PCEM15 VGA.png

Also, PCem set to other video does:
Freestyle PCEM15 Other.png

Ideally, if I could just get this working in an emulator, but if this is something that really shouldn't work...

Of course, WTF is it doing trying to emulate Herc? Why not just use 640*480 or similar? No wonder this program flopped.

It was actually designed to run on a custom high-resolution card, the Wang 9229, with a high resolution monitor. I think the resolution was supposed to be 1024*something, and meant for desktop publishing. (Anyone want to try emulating that? :) )
 
Weird.

Would it be possible to connect the working card to a monitor that has a menu system that will tell you what frequency and refresh the monitor is running at? In principle I'd guess it should be *possible* to construct a mode like that by setting up the registers so it triggers the monitor to use the EGA compatible 350 line mode (which runs at the same 70hz frequency as the 400 line text mode but changes the overscan) but using the 720 pixel dot clock that's set for the standard text mode. Actually, it looks like just such a Mono mode appears on some collections of VGA timings as "mode 7"; that appears to be a text mode, not graphics, though?
 
Right, the on screen menu for this monitor shows "31.6khz 70hz PN". It does not show the X*Y values in this mode.
 
Have you tried using PCEM with the display set to Hercules? Freestyle supported the Wang display standards of Hercules and the special 1024x1024 mode of their own high resolution display plus monitor. I think that Wang EGA (multimode video controller) was a model that also supported Hercules.

The Wang brochure sure seems to indicate that Freestyle sets the system into a strange video mode. EGA needs to be attached to a multi-sync montor and monochrome EGA/VGA won't work with it. My guess is that unless it detects the PS/2 VGA, Freestyle dives into Hercules mode and one better have a controller and multisync monitor that lets it do that.
 
Based on your screenshot, it's displaying it's graphical overlay on top of a 80x25 text mode screen. The character matrix is 8x12 with 4 extra rows between the next character line, for a total of 8x16. Based on that, the screen resolution in your "working card" photo is 640x400, not 720x350.

640x400 is doable by VGA cards; there was a Microsoft Flight Simulator v3 (or v4, can't remember) screen driver that let you run the program in 640x400x16 which allows the 256K of a stock VGA card to have exactly two video pages, 128k each. Since I only see monochrome, it's my guess that Freestyle is initializing mode 11h (640x480 2-color) and then altering timings to get 400 lines instead of 480. Mode 11h is already not well supported by emulators, and further modifying it would likely confuse some video cards and emulators further, so I'm not really surprised you're running into issues.
 
It's kind of goofy because the manual for Freestyle Light says that to work right anything that runs underneath it has to be limited to modes 3h, 10h, and 12h, which are standard modes any VGA card and monitor should be able to do, but then it also has that verbage that it *requires* a multisync monitor. If it really is creating some bizarre tweaked video mode for itself instead of just using 12h it's kind of hard to wrap your head around why.
 
Based on your screenshot, it's displaying it's graphical overlay on top of a 80x25 text mode screen. The character matrix is 8x12 with 4 extra rows between the next character line, for a total of 8x16. Based on that, the screen resolution in your "working card" photo is 640x400, not 720x350.

Dunno - I'd agree with 720x350... I'm counting 9 scanlines for the capital letters and 5 scanlines of spacing, so the height would be 14; I'm not so sure about width, but the horizontal spacing looks more consistent with 9-dot wide characters, even though the font uses narrow "8-dot-style" characters like M, W, T etc. (The "M" and "o" in "Module" look like they're two dots apart, not one.) :p

Hercules support was a minor selling point with early VGAs (ATI's VGA Wonder and others), so at least some chipsets could pull off this mode by emulating Hercules' funny 4x memory interleave. The emulated shots in the first post kinda look like two different failure modes resulting from this interleave not being emulated.
 
Last edited:
Normally I'd ask for a much better, much closer screenshot to verify this, but I usually defer to VileR's assessment in these matters. Still, a very close shot of the screen might be informative, preferably with some ASCII #177 somewhere.

The 350 lines is puzzling. The 720 makes a hair amount of sense, if it really is using the 9-dot characters and trying to represent them graphically. Maybe they went with 8x14 cells to justify 350 lines so that the space for a 720x350 mono/color screen could fit into 32k/128k. If they'd tried to represent with 8x16 characters, it would have spilled over and they would have lost two video pages in 16-color mode (if it uses 16-color mode, anyway). A review of the program in InfoWorld says the bitmaps created by the program are quite small, so yeah, maybe it really is 720x350 for the reasons listed above.

A design consideration of the program was likely that it not clobber video memory at a000 or b800, so placing the graphics in b000 and staying within 32k is one way to do that without needing to save/restore video memory, so maybe that's the final clue as to why they're doing this.
 
I was mainly going by what the PCem window sizes appeared to be.

I'll try to get a photo or something with a better image on the screen to better gauge the actual resolution, when I get a chance. BTW the "text" on the screen is just what was captured when the program was invoked, which happened to be the program's loading text.

If needed, I could post a 1.44mb boot disk configured to unzip in to a ram drive, that I have been using to test. The software refuses to run under anything later than DOS 4, even with setver.

Good point about just getting screen shots with a Hercules card configured. It should look the same. It is supposed to support that, but I think I need to re-install it to get that support.
 
Back
Top