VOGONS


First post, by jal

User metadata
Rank Oldbie
Rank
Oldbie

I didn't notice earlier, but since DOSbox 0.62 there seems to be a bug in the VGA BIOS emulation. When starting Rick Dangerous 1 or 2 (but probably more programs suffer from this feat, as RD uses standard BIOS calls only), instead of the green/red/yellow/intensity mode, the game starts in cyan/magenta/white/no-intensity mode. When setting machine to cga, RD1 works correctly. When played from the commandprompt (even on Win2k), the correct mode is used, so this must be a DOSbox problem. In DOSbox 0.61 everything works as expected.

JAL

Reply 3 of 7, by jal

User metadata
Rank Oldbie
Rank
Oldbie
icemann wrote:

That`d be a game specific bug, not a bug ingeneral with dosbox. You`d be better off posting this in the games section.

I could of course flame you for insulting my judgement, but instead I'll try to convince you. Attached is a simple program that displays the text "Test" in 320x200x4 graphics mode (BIOS mode 4). The 'T' has a different color than "est". When running with machine=cga, it runs correctly: the 'T' is green, "est" is yellow, with intensity. When running with machine=vga, it runs incorrectly: the 'T' is blue and "est" is white, without intensity.

DOSbox thus must be incorrectly handling the int 10h call ah=0bh, set palette, since that's the one I use for changing the palette to green/red/yellow from the default cyan/magenta/white. Shouldn't be too hard to fix, I guess.

JAL

Attachments

  • Filename
    TESTBUG.EXE
    File size
    2.27 KiB
    Downloads
    202 downloads
    File license
    Fair use/fair dealing exception

Reply 4 of 7, by getaaron

User metadata
Rank Newbie
Rank
Newbie

I agree there's a VGA problem in 0.63. Check out the second scene of Conquest of the Longbow in Dosbox 0.63 compared with Dosbox 0.60. It seems that the characters are placed BEHIND the scene...except for certain pixels (perhaps certain shades of brown?). When the sprites animate, you can see the pixels change colors, and they eventually disappear when a character leaves the scene.

Also notice the white bar at the bottom of the window.

This also happens in fullscreen mode, and I have tried adjusting the cpucycles and frame skip to no avail.

Attachments

  • LONGBOW.jpg
    Filename
    LONGBOW.jpg
    File size
    188 KiB
    Views
    1453 views
    File comment
    Two screenshots.
    File license
    Fair use/fair dealing exception

Reply 6 of 7, by priestlyboy

User metadata
Rank Oldbie
Rank
Oldbie

It could be your graphics card drivers. I've had problems from time to time that I've had to uninstall my nVidia drivers, clean them with Driver Cleaner Pro, and then reinstall them.
I just tested it in 0.63 and in the latest CVS and there's no missing sprites.

Ieremiou
----------
Helping Debug DOSBox.

Reply 7 of 7, by jal

User metadata
Rank Oldbie
Rank
Oldbie
priestlyboy wrote:

It could be your graphics card drivers. I've had problems from time to time that I've had to uninstall my nVidia drivers, clean them with Driver Cleaner Pro, and then reinstall them.
I just tested it in 0.63 and in the latest CVS and there's no missing sprites.

Since DOSbox displays complete VGA-buffers (and there's no hardware accelerated sprites on VGA), it's not possible for the Windows graphic card drivers to have any effect on partial screen display in this manner. The only reason I can think of the sprites are missing, is that they are stored in a memory area (graphics memory or main memory) that somehow is accessed wrong in DOSbox 0.63 (maybe it's a protected mode game?) causing the copy to copy random or incomplete sprites.

Edit: not entirely true, of course it could also be a true VGA-bug, and the copying of the sprites is done from vidmem to vidmem, with some rarely used registersetting (otherwise more games would be affected).

JAL