VOGONS


First post, by trebor

User metadata
Rank Newbie
Rank
Newbie

Tried under both aep's 10-16-05 build & ykhwong's 11-03-05 CVS builds. Both produced the same results.

Jr. Pac-Man:

CGA mode has major graphic corruption. EGA mode just crashes to a DOS prompt.

Super Pac-Man:

CGA mode works - Although very choppy gameplay and Pac-man "death sequency" is extremely slow. However, I do not recall if that is just the way the game port played originally.

EGA mode - Music plays but screen is blank. However, when exiting (CTRL F9) you briefly see the graphics.

The Jr. Pac-Man EGA results could be the results of 'bad hacking', as the 'hacker' eludes to possible problems in the include doc. I believe Super Pac-Man is fine. Nonetheless, perhaps someone with more expertise can shed some more light on these games/titles and the results in DOSBox.

Any others who want to test and do not possess the titles can find them where 'Underdogs live'.

-Trebor

Reply 2 of 22, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> EGA mode just crashes to a DOS prompt.

Obviously they don't supply the ega version of the game
(just look at the names of the exe-files).

> CGA mode has major graphic corruption.

Don't use the dynamic core then.

> Super Pac-Man

The ega-version addresses the graphics attr registers in a way
that is invalid on a vga card (at least produces different results
causing a black palette).

Reply 3 of 22, by HunterZ

User metadata
Rank l33t++
Rank
l33t++
wd wrote:
> Super Pac-Man […]
Show full quote

> Super Pac-Man

The ega-version addresses the graphics attr registers in a way
that is invalid on a vga card (at least produces different results
causing a black palette).

So this is an example of a game that works on true EGA hardware but not on VGA hardware? Is this a good case for adding a specific EGA machine mode to DOSBox?

Reply 4 of 22, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

for one game ? 😉

but yes oneday there will an ega mode as well.
no hurry though 😀

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

Reply 5 of 22, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Two other games never seem to work correctly in VGA mode. Ultima I: The First Age of Darkness has a certain known bug in the color and drawing of text characters. Monkey Island 2's EGA mode doesn't display correctly on DOSBox, it shows a 640x350x2 instead of a 640x350x16 mode. These may be other examples of a game that works only on a true EGA or even IBM's EGA card.

Reply 6 of 22, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Qbix: That's a good enough answer for me, thanks 😀

Monkey Island 2 would be low-priority as it also supports VGA. The high-priority games are the ones that support EGA as their "best" mode but don't work in DOSBox (due either to bugs in DOSBox or incompatibilities between EGA and VGA).

Reply 7 of 22, by trebor

User metadata
Rank Newbie
Rank
Newbie
wd wrote:
> EGA mode just crashes to a DOS prompt. […]
Show full quote

> EGA mode just crashes to a DOS prompt.

Obviously they don't supply the ega version of the game
(just look at the names of the exe-files).

> CGA mode has major graphic corruption.

Don't use the dynamic core then.

> Super Pac-Man

The ega-version addresses the graphics attr registers in a way
that is invalid on a vga card (at least produces different results
causing a black palette).

Well, that was pretty stupid of me concerning Jr. Pac-Man. I didn't even think of checking over the file names...sorry. My second apology for the dynamic core setting. I have individual conf files for all my games. I always (Well I guess 'usually' now, 🤣) set the core to normal. It figures this time I missed it, and it affected the game so negatively. Thanks again, wd. Didn't mean to waste yours (Or anyone else's) time.

Interesting note on the Super Pac-Man EGA setting. Thanks for the insight!

Gratefully,
Trebor

Reply 8 of 22, by trebor

User metadata
Rank Newbie
Rank
Newbie
Great Hierophant wrote:

Two other games never seem to work correctly in VGA mode. Ultima I: The First Age of Darkness has a certain known bug in the color and drawing of text characters. Monkey Island 2's EGA mode doesn't display correctly on DOSBox, it shows a 640x350x2 instead of a 640x350x16 mode. These may be other examples of a game that works only on a true EGA or even IBM's EGA card.

Jr. Pac-Man may (probably?) be added to list of games as well. Both Super Pac-Man and Jr. Pac-Man appear to be very similar in presentation.

Unfortunatly, I cannot verify the statement because I am failing miserably in locating the EGA version/file. Everyone seems to have the same package as HOTU.

-Trebor

Reply 10 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Which version do you have? The version that comes from Monkey Island Madness collection does not work properly, showing black and white. Does exactly the same on the real system. Interestingly enough, according to debug log it uses mode 2. I vaguely remember that there was some trick that allowed to create non-planar 320x200x16 mode. I'll have to take a closer look.
Most differences between EGA and VGA were limited to some ports being write-only on EGA, also lightpen support on EGA, but apparently there were others.

Reply 11 of 22, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Will see if i can get a different monkey version, suppose i
have the newer one.

The colour-bug in Ultima1 is caused by the vga bios, has nothing
to do with ega/vga discrepancies. Should be fixed in the CVS.

Reply 12 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Found different version of Monkey Island 2. Just great:
Interpreter version 5.2.28cd (9/6/1996) -- does not work.
Interpreter version 5.2.02 (11/21/1991) -- works fine.
The first (28cd) version is probably the most common, it is included in Monkey Island Madness collection. I don't even know if that version actually works on the real EGA. Quite possible that somebody broke EGA support while updating the interpreter (removing manual check, adding MT-32 port settings) and no testing was ever done. For some reason the broken graphics looks suspiciously like Hercules. Probably, just a coincidence.

Reply 13 of 22, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I think you may be right about that. The other feature they broke is the support for the "easy mode", which you also selected before the main program began. I think the breaking of the feature transformed the game from using color Mode 10 to monochrome Mode F. It would look very much like a Hercules mode, as Hercules graphics are mono 720x348 and EGA graphics Mode F is 640x350. I wouldn't be surprised if you could tweak EGA to show a 720x348 mode, but the memory map is very different so Hercules emulation would require more.

Reply 14 of 22, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> I don't even know if that version actually works on the real EGA.
> Quite possible that somebody broke EGA support

Hm, interesting idea. Anyways, could you check if the game uses
the vga attr register in some unusual way? If so, try adding the
following line to vga_attr.cpp:
IO_RegisterWriteHandler(0x3c1,write_p3c0,IO_MB);
Enables graphics for Super Pac-Man (maybe writes to 3c1 clear
the flipflop on EGA cards or something like that).

Reply 15 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

No effect. Actually, Monkey Island 2 never writes to 3c0 or 3c1. However, there is something interesting going on PEL data port (3c9, vga_dac). The new (broken) version loads apparently monochromatic palette into that port. The older version never writes there. That port is VGA-specific, right? So, the game is intentionally broken on VGA cards???

Reply 16 of 22, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Ultima I - The latest CVS I have access to is ykhwong's 11/03 build, and the problem is still present.

Monkey Island 2 -

That port is VGA-specific, right? So, the game is intentionally broken on VGA cards???

Monkey Island 2 only came out for VGA, there was no EGA version available (The Secret of Monkey Island is the last SCUMM game with separate EGA graphics.) Why would a new version load mono graphics data in the VGA's DAC registers instead of color graphics data in the EGA's palette registers? What would happen if the executable was modified to remove that behavior? The EGA has no defined register at 3C9, and as the 1991 interpreter would be written to the EGA spec, it would not access such a register while EGA graphics were selected.

Reply 17 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Beats me. That behavior in MI2 does not make any sense. I've just tried that thing -- blocked all writes to 3c9 from the game. The game works and looks fine after that.
I did not patch the executable itself, modified vga_dac.cpp instead. If you try that don't forget that all calls originated from int10 should go through. There are a lot of calls so I just added static variable and changed after the mode change.

EDIT: Patching the executable works as well. Assuming that you have the same version as I do, this should work:

0001030C: EE 90
00010316: F2 90
00010317: 6E 90

I expected this to break VGA but it did not...

EDIT2: Looks like there are only three different versions of MI2 for DOS: 5.2.02 (11/21/1991), 5.2.25cd (9/26/1994), and 5.2.28cd (9/6/1996). The problem is present in both "cd" versions but not in the oldest one.

Reply 19 of 22, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Well, the patch seemed to work for me as well. I have version 5.2.28cd (9/6/1996). However, I did notice an odd behavior for the dialogue text of some characters during the game, and I wonder if this is intentional or not. See the posted screenshots, below.

Attachments

  • monkey2_000.png
    Filename
    monkey2_000.png
    File size
    21.59 KiB
    Views
    2706 views
    File comment
    In the EGA mode, the text usually appears just like in the VGA mode, but look at the text of this pirate.
    File license
    Fair use/fair dealing exception
  • monkey2_001.png
    Filename
    monkey2_001.png
    File size
    21.64 KiB
    Views
    2706 views
    File comment
    Here, you can see the difference. Use a magnifier if necessary.
    File license
    Fair use/fair dealing exception
  • monkey2_002.png
    Filename
    monkey2_002.png
    File size
    12.33 KiB
    Views
    2706 views
    File comment
    This is another example of a character who exhibits the odd text, but it should be common throughout the game.
    File license
    Fair use/fair dealing exception