VOGONS


CGA Bugs

Topic actions

First post, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I must commend the maintainers of DosBox for their support of older games. However, I must report two don'display properly with the cga machine setting. These two are Icon and The Seven Spirits of Ra. Both games hacked the 40 column text mode to shorten the character cell size from 8 lines to 2 lines. These games use the shortened ASCII characters with separate foreground and background color picked from the 16 color palette. This gives a 40x100 text mode but its still 320x200 pixels. Ironically, Icon will work properly if the vga machine is selected, but Seven Spirits will not be playable. In the CGA mode, Icon will not show a correct graphics display and Seven Spirits will not even start.

Reply 1 of 4, by jal

User metadata
Rank Oldbie
Rank
Oldbie
Great Hierophant wrote:

However, I must report two don'display properly with the cga machine setting. These two are Icon and The Seven Spirits of Ra.(...) In the CGA mode, Icon will not show a correct graphics display and Seven Spirits will not even start.

I checked with the original icondemo (attached here), and it indeed doesn't work correctly. The Seven Spirits of Ra not starting may be due to a different problem, however, as the program cannot know whether DOSbox correctly implements the CGA-emulation or not (especially since all CGA registers are write-only).

JAL

Attachments

  • Filename
    icondemo.exe
    File size
    61 KiB
    Downloads
    182 downloads
    File license
    Fair use/fair dealing exception

Reply 2 of 4, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I remember one of them doing something very nasty with rewriting some bios table and then setting the videomode which isn't exactly supported 😀

Reply 3 of 4, by jal

User metadata
Rank Oldbie
Rank
Oldbie
Harekiet wrote:

I remember one of them doing something very nasty with rewriting some bios table and then setting the videomode which isn't exactly supported 😀

They set the characterheight, and disable the blinking bit, that's about it, afaik. There's very little trickery possible with CGA, due to it limited number of registers. There's only one BIOS-table used for CGA, which stores the current value of the CGA registers (since the actual registers are write-only). A call to the BIOS to set the videomode would overwrite these. Besides, why wouldn't this be "exactly supported"? I presume the CGA emulation of DOSbox is aimed at 100% CGA hardware compatibility? (Okay, safe maybe some screenadjustment CRT-regs, which can be ignored most of the time.) It's a bug Harekiet, go fix it you lazy ... 😀

B.t.w., did anyone check Round42 or Bricks? They use the same trick.

Update: I checked Round42, it works as supposed.

JAL

Reply 4 of 4, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

While I'm on the subject of text bugs, I might mention two other games that suffer from them. Microsoft Adventure, released with the IBM PC Model 5150 back in 1981 uses the 40-column text mode. With all DosBox graphics options, the first three text columns are blacked out, making it difficult to read the remaining text. Also, in King's Quest booters for the IBM PC and Tandy 1000, the inventory screen will be totally black unless the VGA graphics mode is selected. It does work in King's Quest II and The Black Cauldron booters using CGA and Tandy modes.