Jetfighter

Having problems with a specific game or application? Post your problems here!

Jetfighter

Postby dsimcha » 2006-8-14 @ 20:21

I have come across an interesting fact concerning the original Jetfighter game. Apparently, it does not even run on newer CPUs in pure DOS. I remember seeing, back in the 386 days, a warning in the instruction manual for this game that it may not work on some 486DX2 CPUs. It worked fine, of course, on my 386 under DOS. However, it has not worked under pure DOS (i.e. no Windows, just a bootable MS-DOS floppy or a restart in MS-DOS mode in Win 9x) on the following CPUs: AMD K6, AMD K6-2, AMD Athlon XP, Intel Pentium II Celeron, Intel Pentium III, and Intel Pentium 4 Celeron. It fails on these CPUs the same way it does in DOSBox: It freezes at the title screen. Also, I noticed that DOSBox, according to Windows 3.1 MSD, appears to emulate a 486DX in all core modes. Is it possible that this and maybe a few other games could be made to work by using very strict 286 or 286 emulation, rather than 486 emulation? Maybe there were some bugs in Intel and AMD's real mode where there were minor incompatibilities w/ a small amount of old binaries.
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-14 @ 20:40

Doesn't have much to do with the 80486 identification, most likely
they do tricky stuff with the prefetch queue. Up to the 80386 (and
early 80486) had a buggy implementation wrt self modifying code,
which was used by some very in-depth copy/exe protections.

A few games that are known to use the prefetch queue could
be made working by emulating the pq (partially at least) but this
might slow things down and isn't really safe as is.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby dsimcha » 2006-8-14 @ 23:31

Just as a sidenote: you mention copy protection. The manual for this game explicitly states that it is NOT copy-protected. Also, as far as speed, for anything ancient enough to not be able to run on a 486 speed isn't much of an issue. Therefore, at least from that perspective it makes sense to me to add a "strict 8086", "strict 286" and/or "strict 386" core to DOSBox with accurate prefetch emulation. Don't know how difficult it would be or if anyone out there is willing to do it but I think it would be a good thing.
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-15 @ 08:51

> The manual for this game explicitly states that it is NOT copy-protected

Well i don't know the executable, but looking at it in a hex-editor you might
judge about it better than believing what they say in the manual ;)


> it makes sense to me to add a "strict 8086", "strict 286" and/or
> "strict 386" core to DOSBox

Well the idea is to have as few cores as possible, so this was kicked.
The thing about the prefetch queue was just an idea (and imo very
likely as from your posting) but might not be the real reason for this
game not to work.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby dsimcha » 2006-8-15 @ 14:09

I believe there were two iterations of this game: the original and the Memorex re-release. I have the Memorex re-release. Also, I looked at jf.exe in a hex editor, and almost nothing in it is in any way human-readable and there was no evidence, from what I could see, of copy protection.
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-15 @ 17:10

> and almost nothing in it is in any way human-readable

Then it's crypted or packed, which means it DOES contain some sort
of protection.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby wd » 2006-8-15 @ 17:58

attached some older build that emulates the prefetch queue,
works with some games that are known to deploy those tricks

just set core=prefetch (create a clean dosbox.conf before!)
Last edited by wd on 2006-8-16 @ 16:01, edited 1 time in total.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby dsimcha » 2006-8-15 @ 18:13

How do I get this working? It keeps performing illegal ops when I copy sdl.dll and sdl_net.dll from my default dosbox installation. I think that's probably the problem, but where do I get the correct versions of these files?
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-15 @ 18:27

The dlls don't matter (those from the 0.65 release work fine).
Does the game behave the same (using core=normal) like the
release does?
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby dsimcha » 2006-8-15 @ 18:55

I guess I wasn't clear before, so let me restate: I can't even get this thing to run. It gives me an illegal op before it gets to a command prompt. I also tried it on my laptop, same error, so it's not just my computer. If this has any strange CPU-specific optimizations, I need a version that is compatible w/ an Athlon XP or a Pentium III.
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-15 @ 19:09

Odd, optimizations are at pentium-level only. Maybe i'll add the stuff
to a newer build by times and repost it.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby dsimcha » 2006-8-15 @ 19:19

If you could do that it would be much appreciated. I've wanted to play this game ever since I dumped my 386, and have been curious how it could not work on a supposedly binary-compatible CPU or even an emulator. I guess Intel and AMD's claims that their modern X86 CPUs are 100% binary compatible with all previous X86 CPUs is not true in a few obscure cases.
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-15 @ 21:08

Well newer processors didn't take over all bugs of the 80386 ;)

Found some short snippet about the prefetch queue at
http://www.etext.org/CuD/40hex/40hex007
in case you're interested what's it all about.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby dsimcha » 2006-8-15 @ 23:00

In the mean time, can you give me the details of how you got that prefetch build working, i.e. what CPU, OS, sdl dll files, etc.? Also, can you post the dosbox.conf file that it worked with?

Lastly, if anyone else has a prefetch queue emulating build, please post.
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-16 @ 12:05

Well it's a straight msvc build, running it on a p4 under XP. dlls are the
same as for the 0.65 release. No dosbox.conf (default settings).

Maybe you got some other pc to try.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby wd » 2006-8-16 @ 16:03

Lowered the optimization settings, and removed the debugger.
Maybe it works now.
Attachments
db_prefetch.rar
(344.01 KiB) Downloaded 437 times
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby dsimcha » 2006-8-16 @ 16:12

Tried the dosbox prefetch version on a P4 celeron, and it worked. Seems like somehow there were SSE2 instructions in it or something. Jetfighter worked perfectly w/ the prefetch core and did the normal errors with the normal core. Much appreciated. If possible, at your convenience, please re-compile this and double-check the settings to make sure it can run on an Athlon or P3, or just send me the source and I'll do it myself. Also, I would love what you suggested about patching a later version of DOSBox with this. IMHO this prefetch core should be in the main tree.
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-16 @ 16:18

See above. Maybe the curses.dll was compiled with different settings.

So never believe them if they tell you they didn't add any protection ;)
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Jetfighter

Postby dsimcha » 2006-8-16 @ 18:15

Yep that latest build works on my Athlon. Only problem is apparently it's a really ancient build and the timing is all off and the graphics are screwy and stuff.
dsimcha
Newbie
 
Posts: 11
Joined: 2006-8-10 @ 03:02

Re: Jetfighter

Postby wd » 2006-8-16 @ 21:18

Well it should just serve as a test whether they really used some prefetch tricks.
That stuff is very difficult to detect, but happily only very few games actually
make use of it.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Next

Return to DOSBox Games/Apps

Who is online

Users browsing this forum: Bing [Bot] and 1 guest