VOGONS


First post, by Gwhite

User metadata
Rank Newbie
Rank
Newbie

I'm trying to use DOSBox to rescue some old engineering software. By using the Windows CVS build, most things seem to work pretty well. One thing I've discovered is that there are some quirks that appear when I try to plot anything. The system uses VGA graphics, and long straight lines have regularly spaced gaps that are probably only one pixel long. In addition, the text characters (which are draw with 1 pixel lines) appear to be missing the right hand column of pixels. For example, the last vertical stroke of "M" and "W" aren't drawn, and the right most tips of "X" are missing.

I'm running the latest CVS build, but the problem also exists in 0.63. The problem occurs on a high end Dell, and an IBM laptop, so I don't think it's a hardware issue. Both systems are running Windows XP Pro. The problem occurs whether the program is running in a window or full screen.

I've created a small stand-alone executable that illustrates the problem, in case anyone wants to check it out.:

http://users.rcn.com/gwhite/APL/DBoxPlot.zip

I seached the archives & came up empty, so I don't know if this is a known issue or not. It doesn't prevent anything from running, but I thought folks should know about it (if they don't already).

Thanks!

Reply 1 of 16, by Lofty

User metadata
Rank Member
Rank
Member

Strange. Seems to work fine for me. (ykhwong's build, March 8th). Can you paste your dosbox.conf ?

Reply 2 of 16, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Indeed, Ykhwong's build works, regular CVS does not.

1+1=10

Reply 3 of 16, by Gwhite

User metadata
Rank Newbie
Rank
Newbie

So, what would be the likely difference between Ykhwong's build and the CVS/0.63 builds? Differences in actual sourcecode, or compiler differences? I'm assuming sourcecode, in which case, how does one track it down?

Reply 4 of 16, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Compiler shouldn't make a difference, but vasyl's patches
change the vga/svga system at a lot of points.
The vga bios emulation isn't the problem, don't know more.

Reply 5 of 16, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Oddly enough, it is something else. I've tested the executable with CVS with my patch only and it shows the same problem as pure CVS. There are more than 20 patches in ykhwong's build, most can be excluded. It can be side fix in D3D, OpenGLHQ, or vertical retrace sync. The rest are hardly related, although it may be side effect of one of three patches in "Improvements" section: http://ykhwong.x-y.net/bbs/zboard.php?id=compile.

Reply 6 of 16, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

It doesn't seem to work with 31.3 ykhwong's cvs. It also does not work with my build so it's not d3d or openglhq as I include those.

http://www.si-gamer.net/gulikoza

Reply 7 of 16, by ykhwong

User metadata
Rank Oldbie
Rank
Oldbie

Use my stable build (Jan.30.2006) to fix the bugs.
I have no idea why the bugs disappear.

Reply 8 of 16, by TeaRex

User metadata
Rank Member
Rank
Member

I suspect that it might be my font patch, which you (ykhwong) included only once, before it was rejected because it contained data from a commercial VGA card, which of course is really a no-no for open source software.

In most real VGA cards only the leftmost 7 pixels are used in most characters of the 8x16 font. But in dosbox, several characters (M,m,W,w,X,Y and some more) use all 8 pixels.

Probably the application in question draws text in graphics mode, using the leftmost 7 pixels of VGA characters from emulated ROM.

I've recreated the patch "by hand" (drawing the new characters myself) so it should be without legal hassels now. I'm attaching it here. Maybe you could try this patch, and then see if the problem goes away. If yes, I'll try resubmitting the patch.

tearex

Reply 9 of 16, by ykhwong

User metadata
Rank Oldbie
Rank
Oldbie

I found the reason why. Use dynamic core to fix the bugs. 😀
It seems to work on all other cvs builds.

I set core=dynamic in my older builds, but I don't do that any more for compatibility.

TeaRex, I have applied your font patch till now.
Thanks for a new patch.

Reply 10 of 16, by TeaRex

User metadata
Rank Member
Rank
Member

Ok, so then my guess was obviously wrong. Glad you found the real fix.

tearex

Reply 11 of 16, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

interresting.
by disabling dynamic opcodes it should be possible to determine where it comes from

Water flows down the stream
How to ask questions the smart way!

Reply 12 of 16, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Most likely the flags.

Reply 13 of 16, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

They require the rotate opcodes to return flags on full-rotates.

Reply 14 of 16, by arromdee3

User metadata
Rank Newbie
Rank
Newbie

I suspect that it might be my font patch, which you (ykhwong) included only once, before it was rejected because it contained data from a commercial VGA card, which of course is really a no-no for open source software.

Well, it would still be okay in the US, because bitmapped fonts are not copyrightable (and if we're talking old VGA cards, it's a bitmapped font).

Reply 15 of 16, by TeaRex

User metadata
Rank Member
Rank
Member

Yeah, but I figure DOSBox wants to be legal around the world, and well away from any "gray" areas. So Qbix was IMHO right to reject it.

Anyway the new version of the patch does the trick just as well and has no such legal problem. I just converted the fonts to a bitmaped graphic, loaded them into the GIMP, looked at the 8x14 font already in DOSBox (which doesn't have the problem of too wide characters) and simply redrew the too wide 8x16 characters following that model (but of course a bit taller).

tearex

Reply 16 of 16, by Gwhite

User metadata
Rank Newbie
Rank
Newbie

The original problem with the text getting truncated is fixed by the "Dynamic" switch. I suspect the gaps in the lines and the text issue were the same. The characters in this program are drawn, rather than being pulled from a font file. They can be scaled somewhat arbitrarily.

Thanks for the detective work, everyone. I'm off to hunt for more bugs, but they are getting harder & harder to find...