VOGONS


First post, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Hello,
i have problem my Civilization I on my fast (X58 plat.) pure Dos machine, i tried slowdown program, i doesnt help.. I always got freeze i moment when is first game menu loaded..

So i googled and i found this thread:
https://forums.civfanatics.com/threads/civ-1- … r-intro.625227/
Were is that problem is caused by MGRAPHIC.EXE support file and that someone fixed problem with some hex editing (not my cup of tea, but i dont mind to learn it)

Affected is at least P3 450 and faster.

Here is info:
I believe I have found the offending code. It is inside MGRAPHIC.EXE by Kerl:

seg000:06C1 assume es:nothing
seg000:06C1 mov al, 1
seg000:06C3 mov es:440h, al
seg000:06C7
seg000:06C7 loc_106C7: ; CODE XREF: seg000:06CCj
seg000:06C7 cmp es:440h, al
seg000:06CC jz short loc_106C7

seg000:06CE mov si, [bp+6]

-- // Files comparision:
I:\games\civil>fc /b MGRAPHIC.BAK MGRAPHIC.EXE
Comparing files MGRAPHIC.BAK and MGRAPHIC.EXE
000008CC: 74 90


I find out that this file / library is used by at least 10 other Microprose games, i tried file from newer ones to use with Civ1 - i got same error, there is list:
Night hak F117a Stealth Fighter 20 -1991
Lightspeed -1990
F19 Stealth fighter - 1987
Darklands - 1992
Sword of Samurai - 1989
Railroad Tycoon - 1990
F15 Strike Eagle III
Coach club NFL Footbal 1993
F15 Strike Eagel II
F14 Tomcat
F14 Fleet Defender

I tried to play one of them Darklands and i crashes to on my machine, i cant be sure if it is caused by this file, but there is high chance..

Of course maybe that fixed file would be maybe some patcher.. - something like fixSpeed target.exe

Here is unpatched file for

The attachment mgraphic.exe is no longer available

Darklands and other games are using other, probably newer version..

Last edited by ruthan on 2018-08-03, 10:13. Edited 1 time in total.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 1 of 17, by Srandista

User metadata
Rank Oldbie
Rank
Oldbie

I changed that data on location 8CC, and command fc /b MGRAPHIC.BAK MGRAPHIC.EXE gives me the same result. You can try attached file.

Socket 775 - ASRock 4CoreDual-VSTA, Pentium E6500K, 4GB RAM, Radeon 9800XT, ESS Solo-1, Win 98/XP
Socket A - Chaintech CT-7AIA, AMD Athlon XP 2400+, 1GB RAM, Radeon 9600XT, ESS ES1869F, Win 98

Reply 2 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie
Srandista wrote:

I changed that data on location 8CC, and command fc /b MGRAPHIC.BAK MGRAPHIC.EXE gives me the same result. You can try attached file.

Thanks its working, when i used it i got classic runtime error 6003, what is normal too quick machine solvable problem - i solved it by disabling L1 cache with setlmul L1d. Now im on game map and longer gameplay would be needed but i think it would be good.

Pleas check mgraphics.exe from Darklands if it could be saved by same way or not.

The attachment MGRAPHIC.EXE is no longer available

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 3 of 17, by Srandista

User metadata
Rank Oldbie
Rank
Oldbie

Try it, I change same hex value as in the first file, and result from fc command is also the same.

Socket 775 - ASRock 4CoreDual-VSTA, Pentium E6500K, 4GB RAM, Radeon 9800XT, ESS Solo-1, Win 98/XP
Socket A - Chaintech CT-7AIA, AMD Athlon XP 2400+, 1GB RAM, Radeon 9600XT, ESS ES1869F, Win 98

Reply 4 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie
Srandista wrote:

Try it, I change same hex value as in the first file, and result from fc command is also the same.

This one seems to not fixing Darklands blackscreen when is started combat - black screen (problem could be everywhere else in game code), i tried it in Dosbox - first time i got freeze when it worked before - but i had added some CPU cycles, i tried it second time with default 3000 cycles and it was ok.. I will try it on physical machine with some slowdowners.

BTW i discovered that Civilization I, also have EGRAPHIC.EXE and TGRAPHIC.EXE for EGA and Tandy, i cant test Tandy, but Ega freeze is the same.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 5 of 17, by Srandista

User metadata
Rank Oldbie
Rank
Oldbie

Yeah, I can't help you any more, if it wouldn't work, because I don't know, how to analyze actual game code. I just used hex editor on same value as in Civilization.

Socket 775 - ASRock 4CoreDual-VSTA, Pentium E6500K, 4GB RAM, Radeon 9800XT, ESS Solo-1, Win 98/XP
Socket A - Chaintech CT-7AIA, AMD Athlon XP 2400+, 1GB RAM, Radeon 9600XT, ESS ES1869F, Win 98

Reply 6 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Darklands on physical even with setmul l1e still freeze at start of combat - black screen so problem would be elsewhere.. where it would need some debugger work in Dosbox.

Try pleas one more Railroad tycoon version 1990, i simulated title screen freeze when in Dosbox with max cycles.

The attachment mgraphic.exe is no longer available

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 7 of 17, by Srandista

User metadata
Rank Oldbie
Rank
Oldbie

In this file, there's not the same sequence of hex values as in previous files, so I don't know, what to change. Sorry.

Socket 775 - ASRock 4CoreDual-VSTA, Pentium E6500K, 4GB RAM, Radeon 9800XT, ESS Solo-1, Win 98/XP
Socket A - Chaintech CT-7AIA, AMD Athlon XP 2400+, 1GB RAM, Radeon 9600XT, ESS ES1869F, Win 98

Reply 8 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie
Srandista wrote:

In this file, there's not the same sequence of hex values as in previous files, so I don't know, what to change. Sorry.

Ok thanks for trying.. to Darklands - one more guess ins such sequence in file multiple times?

More probable is that this fix could fix only problems with game start which as have minimally Civ 1 and Railroad tycoon, Darklands have probably also other problem.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 9 of 17, by Srandista

User metadata
Rank Oldbie
Rank
Oldbie

Maybe try to get in a touch with guy, who find the fix for Civ on their forums. When I will know, which hex value on which place I should change, I will do that for you, no problem.

Socket 775 - ASRock 4CoreDual-VSTA, Pentium E6500K, 4GB RAM, Radeon 9800XT, ESS Solo-1, Win 98/XP
Socket A - Chaintech CT-7AIA, AMD Athlon XP 2400+, 1GB RAM, Radeon 9600XT, ESS ES1869F, Win 98

Reply 10 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

I did some more testing with Darkladns, problem is not mgraphic.exe related, when i boot with SB at IRQ 7 i have no longer combat black screen.. sound is still not working but its of topic..

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 11 of 17, by Srandista

User metadata
Rank Oldbie
Rank
Oldbie

And with original, unedited for you didn't even get to the game like with Civ, or there is no change between unmodified and modified for?

Socket 775 - ASRock 4CoreDual-VSTA, Pentium E6500K, 4GB RAM, Radeon 9800XT, ESS Solo-1, Win 98/XP
Socket A - Chaintech CT-7AIA, AMD Athlon XP 2400+, 1GB RAM, Radeon 9600XT, ESS ES1869F, Win 98

Reply 12 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

No Darkland got in game, even without fix, so they probably fixed it... But Railroad tycoon freeze is the same, i didnt tested other games yet.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 13 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Ok i simulated same problem with max Dosbox cycle with Lightspeed game - i has same start menu as 2 other problematic games.

The attachment mgraphic.exe is no longer available

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 14 of 17, by kerll

User metadata
Rank Newbie
Rank
Newbie

Hi,

As discussed in the civ forums, from those games only lightspeed is not working in my at all P3. It requires patching two files.

Comparing files LIGHTSPD.BAK and LIGHTSPD.EXE
0000ABC7: 74 90
0000ABC8: 0A 90
0000ABD1: 74 90
0000ABD2: FA 90

Comparing files MGRAPHIC.BAK and MGRAPHIC.EXE
000008D2: 74 90

The attachment MGRAPHIC.zip is no longer available
The attachment LIGHTSPD.zip is no longer available

I believe I have also fixed colonization - testing it at the moment and working also on master of magic

Reply 15 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Im not sure of Master of Magic is afftected by this bug too, because regarding of my compatibility matrix, its running at least on some fast machines:
https://docs.zoho.com/sheet/published.do?rid= … 04bf92a9209e034

Otherwise you have skill to fix such problems, try to look on this thread Runtime error 6003 so far, we dont have any general fixer for it, and quite a lot game are affected - list in thread is much shorter than reality..
Runtime error R6003 integer divide by 0 - real Fixes for fast CPUs, no slowdown workaround..
In pure theory it could be same problem, or very similar.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 16 of 17, by kerll

User metadata
Rank Newbie
Rank
Newbie

Hi,

Yes MoM works now, perhaps because i switched to DOS 6.22 from Win98 DOS.
Stargunner works fine for my system - any other game that gives this error?

Reply 17 of 17, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Look at first post, i dont have all of these games, but i suppose that error would be the same.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.