koala.jpg

((Note; November 2009; additonal information for Intel video chipsets posted after MrJelly's explaination))


EAW 7217 error explained and solutions (From Mr Jelly)

Submitted by RAF_Dumoulin

The definitive 7217 stuff!
The cause of the 7217 error.

The error most commonly occurs when a user tries to run EAW on a PC which has an nVidia card and driver.
It happens when the eaw.exe runs this routine in the "setup" module which tests and reads settings at the start of the game:
if (!ddInit(ScreenWidth, ScreenHeight, 8))
clean_exit(7217, NULL);



In the first line of that code snippet it is testing that your graphic card/driver can handle 8 bit grapics.
If it cannot, then the the second instruction tells it to exit the program and print the 7217 error message.

After the driver version 66.93 most nVidia drivers no longer contained the code to handle 8 bit graphics, so the first solution was to roll back to the 66.93 version.
However, some users may have other software on their PCs which require later drivers, and this rules out the 66.93 option.
I had an nVidia 6600GT. The supplied driver gave the 7217 error but rolling back to 66.93 solved the problem.
Furthermore, as HDDs are relatively cheap these days, I set up my PC with HDDs in caddies, so I had on HDD with XP and the 66.93 driver and EAW installed, and another with XP and the latest driver without EAW.

This card eventually started to overheat seriously, and I replaced it with the 8400GS card. I found that series 8 and later cards cannot use the old drivers, so the 66.93 option was no longer available.
What I found almost by accident when I treated myself to a laptop was that the 7217 error does not occur with Vista. I bought a new caddy and drive, installed Vista, and I regularly fly EAW V1.28 online.

Other solutions:

As members of "The Code Group" have access to the source code Sydbod checked for the occurrence of "7217", and re-numbered them to "72171", "72172" and so on. He compiled an eaw.exe and sent it to me for testing on my 7217 prone machine.
Naturally I got the 7217 error but it read "Error Num: 72172" so it identified where this was occurring.
We changed the code to:

if (!ddInit(ScreenWidth, ScreenHeight, 16))
clean_exit(7217, NULL);


It was now testing 16 bit capability, and it worked in the sense that we did not get an exit with the 7127 error. However, there were still massive problems.
When EAW was written and HDDs were expensive and had very limited storage a number of space saving techniques were applied. All of the selection screens were written in 8 bit graphics, then compressed in size to a proprietary format.
The changed code "conned" the eaw.exe into reading the 8 bit screens as though they were 16 bit screens, This meant that they were displayed as technicolor nightmares, and selection was virtually impossible.
This accounts for the garbled screens when people try the early 7217 fixes. I tried to make some simple blank screens, and by using them a number of menu selections became possible with right clicking showing the various hotspots.
I was also able to find the bytes in the stock eaw 1.2 which needed to be changed from 8 to 16 and we had a 1.2 exe which worked with these screens.

An extension of this was to my writing the JIMMSN program. This allowed all of the single mission parameters to be set in an external program with readable screens including maps, and saved in a "*.msn" file in the "Savedata" folder.
It was then possible to use the simple screens, and load the "*.msn" files from the hangar screen. Then right clicking to find "Fly" and lft clicking launched the game.
At this point I must add that the game graphics are not 8 bit so the 7217 error does not come into play once you are flying.

Another approach, which is still being used for single missions only, is the use of "JIM".
This one uses a special eaw.exe which I compiled from source code. The mission parameters are set externally using the JIM program, and then saved in a special file.
The special exe reads this file to get the settings and then goes straight into the "Fly" routine. Hence it does not use any 8 bit screens at all.
The JIM program allows you to save the settings files, and to re-laod them, so there is no need to have to re-make them every time.
Of course, it is useless for careers or multiplayer games which need the 8 bit screens.

Will Gee's work:
Will was one of the original EAW programmers. He helped the Code group in the earlier stages, and found some code which overcame the 7217 error and displayed the 8 bit screens normally, other than the Mission Parameters target/homebase selection maps, and the career maps.
There was some loss of speed, and jerky mouse movements, but running EAW was entirely possible. Will was hoping to improve what had been done, but real life prevented him from doing much more.
When 1.28 was released I produced a version with Will's additional code for testing by the 7217 club. It works on many cards such as the 6600GT and some series 7 cards too, but the release showed that a new problem occurred with series 8 cards and later.
This is the "screen tearing" problem.
The 8 bit screens are displayed, but a continuous screen refresh routine garbles them so that they look like this:

Jelly-7217.jpg

Selections are completely impossible. We are trying to solve the problem, but at this juncture we have not got too far.

My most recent work:
I am currently developing a new version of the "special" exe based on the latest 1.28 code (which is even more advanced that the code used in the 1.28 release) to use with JIM.
Of course, it can only be used for single missions, and does not use any EAW screens.

Problems with JIM:
Obviously EAW allows some settings to be changed via the configuration screen. This is not possible with JIM, so there needs to be some version of editing the "eaw.ini" file.
As the author of the OAWSelector I use the capability of that program to edit the "eaw.ini" to make a "tailor made" version. The bonus is that I can use the OAWSelector to load a "DAW" or "Pacific" scenario, and then run "JIM".
I can get "JIM" to make a new selection map, and pick my target and home base, along with the other settings.

Alternative solutions:
This document specifically sets out the facts regarding 7217, as it applies to PCs with nVidia cards. Therefore I am not elaborating on other solutions, such as switching to RADEON cards, or getting an older "legacy" PC to run EAW on.
My intention is to let a user who gets the 7217 error know what there options are, so they do not head odd down a myriad of blind alleys which appear to offer hope, but eventually no solution.
This must be most frustrating for the 7217 victim, and accounts for the high percentage who appear to give up in disgust, without realising that there are some working solutions.

I hope that the information here can become or be included in a "Sticky" in the EAW SimHQ forum, with links to the various pieces of 7217 software that are available.

The installer:
http://www.users.on.net/pam_biddell/JIM220808.zip

A link to the tutorial:
http://www.users.on.net/pam_biddell/JIMTut/JimTut.html

Download the tutorial:
http://www.users.on.net/pam_biddell/JIMTut.zip

You probably need the VisualBasic6 runtime files if you have never installed any of my stuff.
http://www.sandbaggereaw.com/jelly/JelsVB6Runtimes.zip

Tony West
AKA Mr Jelly

Adelaide
South Australia
August 24th 2008



More Information............. Q and A's
Posted by RAF_Roy november 2009

Intel video chips / cards, and why prior to chipset 965 they do not work for EAW, unless you provide;

1. A way to bypass the 8-bit menu screens (JIM) or have 16-bit or above screens (not yet implemented in EAW.exe although it can be in the future.)
2.------------- changed since Sybod posted info
(update November 30, 2009)

..Sydbod:

Hi Roy,
The EAW flying part of the code looks to see if the video card supports 8bit in the 3D mode and if it does not support this then it switches into 16 bit 3D mode. This was originally done by the EAW creators to support some of the early (I think it was ATI) cards that did not support 8bit in the 3D mode, but did support 8bit in the 2D mode.

I believe (but have not personally tested it) that the Intel video should work fine if one gets past the 2d menu part of the code and straight into the 3D part. Maybe some one wants to try it with JIM?



ammended from threads posted at SimHQ;

Q. ..
..by PFC_Priceless
So I've found my EAW cd after years of it hiding and I installed it today. At first I got the 7212 error, fixed that by downloading the 128c patch. Now when the game loads I don't see the starting animation, and I get a chopped up screen at the menu. I read some of the other topics but I can't seem to find a fix for this problem. I tried changing the ini file but it didn't seem to work. If it helps I'm running windows xp on a sony vaio laptop pn# VGN-FE660G

A. ..
..MrJelly
There is a possibility that the forthcoming 1024x768 mod by Crashin' Jack will fix the screen tearing.
The test version worked for some people, but not others.
If you are happy to just fly single missions then JIM is fine- check out the threads about it

..Crashin' Jack
Just to clarify - the 1024x768 project works by changing the basic resolution of the menu screen system from 640x480 to 1024x768. It has no effect on the flying portion of the game when using 3D cockpits, nor does it change from 8 bit color.

A..
.. RAF_Roy
I looked up your laptop at the sony site for support driver downloads, etc:
http://esupport.sony.com/US/perl/swu-list.pl?mdl=VGNFE660G

It show under 'Video' 2 possible video cards from what I can tell of the drivers available:
(under the link;) Video - 2 file(s)
nVIDIA® GeForce® Go Graphics Controller
or
Intel® 945GM Express Video
Which card do you have?
Easiest way to check and post info do this;
From the Windows 'start menu', select 'run', type in:
dxdiag
to launch the directX diagnostics tool which will show all information and you can print it too a text file to post here by using the 'save all information' button, save as DxDiag.txt

..by PFC_Priceless
Here is what i got with the dxdiag
Display Devices

Card name: Mobile Intel(R) 945GM Express Chipset Family
Manufacturer: Intel Corporation
Chip type: Intel(R) Calistoga Graphics Controller

.. RAF_Roy
Yes you have the Intel Video
from the Sony specsheet;
Graphics
Processor: Intel® Graphics Media Accelerator 950
Video RAM: 128MB [Dynamically Allocated Shared
(RAM/Video) Memory]
Chipset: Intel® 945GM
Interface: VGA Out with Smart Display Sensor

from Intel
http://www.intel.com/support/graphics/

I did review the Documentation from Intel on the 945GM chipset
Intel® 82945G/82945G/82945GC GMCH and 82945P/82945PL MCH Datasheet 27
3D Graphics Rendering Enhancements
⎯ 1.3 Dual Texture GigaPixel/Sec Fill Rate
⎯ Flat and Gouraud Shading
⎯ Color Alpha Blending for Transparency
⎯ Vertex and Programmable Pixel Fog and Atmospheric Effects
⎯ Color Specular Lighting
⎯ Z Bias Support
⎯ Dithering
⎯ Anti-Aliased Lines
⎯ 16- and 24-bit Z Buffering
⎯ 8-bit Stencil Buffering
⎯ Double and Triple Render Buffer Support
⎯ 16- and 32-bit Color
⎯ Destination Alpha
⎯ Maximum 3D Resolution Supported: 1600x1200x32 @ 85 Hz
⎯ Fast Clear Support

under the 3D it only lists 16- and 32-bit Color


..RAF_Roy
Has anyone Intel Graphics currently or ever working with EAW?
..iron mike
Not according to previous posts
..Col. Gibbon
The Intel graphics chip has never worked with EAW.
..ruuf
hmmm on my laptop I have a Mobile Intel 965 Express Chipset family.
Up to 1.28a useless, works with 1.28b and 1.28c.
I do get garbled/teared main screen and menus, but can fly.
From the work of CJ I have received a test version of the 1024 modification, which fixes the screen garbling/tearing, but that is a work in progress.

..RAF_Roy
Are you sure? If so that's good news ruuf, then the later supports 8-bit
Back to PFC_Priceless;
So then to re-explain as best as I know it, if a video chip doesn't support 8-bit then it means to get it to run EAW you would need;
1. A way to bypass the 8-bit menu screens (JIM) or have 16-bit or above screens (not yet implemented in EAW.exe although it can be in the future.)
2. A way to have 16-bit or above graphics in the game, which we do have ability currently, that ability is when you use .bmp 'skins' for all plane skins, cockpits and other textures; terrain, skies,etc. and 3d object skins
We have this since 1.28a:
24 Bit In-Game Environment
All the textures used by the game, except for screens can be painted in 24bit colour. Tmods need to have a full set for a particular model, which is normally 4 textures, in 24bit BMP format. For tiles to work you'll need a full set of BN and LR tiles. Airfield, sky, and horizon textures, likewise can be replaced in 24bit. This is all thanks to Allen, who got this mod working in the exe.

So you would need skins which are .bmp file for all objects.
AFAIK there is not a complete set of skins anyone has done for all objects, as it time consuming, but using the right set of mission files that only place objects that have the .bmp skins (as well as a .bmp terrain, etc.) then it should work.
Currently we are on the verge of this in the Code Work, to be able replace all with 16-bit or greater including the menus, but there is still a ways to go, and we are short of programmers, and the ones we do have either not enough time or inclination to do it soon, or like me not enough skill to do so alone.
Also we have the 'garbled briefing screen' issue which is seperate, but likely solved much more quickly.
So it will be awhile before both the (aka 7217) 8-bit issue and the 'briefing screen' issue is part of the past
I don't understand the difference between a 24 bit vs 32 bit as far as the skins except roughly, and and D3d rendering, so unsure if card doesn't support 24 bit if that is an issue?


-------------
A.
(update November 30, 2009)

..Sydbod:

Hi Roy,
The EAW flying part of the code looks to see if the video card supports 8bit in the 3D mode and if it does not support this then it switches into 16 bit 3D mode. This was originally done by the EAW creators to support some of the early (I think it was ATI) cards that did not support 8bit in the 3D mode, but did support 8bit in the 2D mode.

I believe (but have not personally tested it) that the Intel video should work fine if one gets past the 2d menu part of the code and straight into the 3D part. Maybe some one wants to try it with JIM?