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:

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.
Tony West
AKA Mr Jelly
Adelaide
South Australia
August 24th 2008