VOGONS


First post, by Barry_Purplelips

User metadata
Rank Member
Rank
Member

I'm having problems with this ancient virtual fishtank. As you run the installer, 2 resolution choices pop into view; regular (376x348) and hi-res (640x400). Normally I'd settle for 640x400 (which works great, just like the 640x480 update patch), but today I decided I'd go for 376x348 just for the kicks, but after installation completed, ELFISH.EXE just doesn't want to work, nothing happens when executed.

Here's a sample crash log from XTRACE.TXT

*** Exception 0D : General protection, code = 06C0

CS:IP = 0028:000C

AX=06C2 BX=18B6 CX=3F00 DX=0720 SI=0000 DI=0000 SP=7110 BP=0000 FL=0046
DS=0018 limit=7911
ES=0000 limit=****
SS=00D4 limit=8000 segment 01 C:\ELFISH\ELFISH.EXE

[SS:SP] = 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
[SS:BP] = 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
[CS:IP] = 8E D8 8C 06 AE 04 26 A1 2C 00 A3 B2 04 54 58 3B C4 B8 24 00

[call chain] =
-bp---cs---ip-

For what it's worth, it used to crash like that on my first 486 under the exact same circumstances (never crashed on my 386 though) but I never really cared because higher resolutions were available.

Oddly enough, VIEWER.EXE works fine.

But that's only part of the story. For some strange reason (maybe it's applying some kind of extra aspect ratio correction for this unusual mode?) DosBox doubles El-Fish's regular horizontal resolution which results in 752x348 being outputted instead, and there doesn't seem to be a way to make it work correctly.

Any ideas?

Thanks in advance.

Reply 1 of 4, by rfnagel

User metadata
Rank Oldbie
Rank
Oldbie

Similar things have always plagued me throughout the years with El-Fish... even on my old 486DX4-100, and with ALL of the various installed video resolutions. One thing that I noticed back then (not sure if it will help when running the program under DOSBox though):

Seems that after El-Fish crashed (generating that XTRACE.TXT crash log), you could keep running it over and over. *EVENTUALLY* the program would run, and then each procedeing time that you exited the program and re-ran it, it would run fine. That is, until you reboot... and you'ld have to start the whole process over again (run/crash/run/crash until it would finally run properly).

I had so many problems like this way back when that I created a simple batch file that would run El-Fish, check for the existance of the XTRACE.TXT crash log file, and if it existed; delete it and re-run El-Fish. It would loop until eventually when El-Fish ran properly (and not create the XTRACE.TXT file).

Dunno if any of that will help under DOSBox though.

Rich ¥Weeds¥ Nagel
http://www.richnagel.net

Reply 2 of 4, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

If it's really a matter of the processor, try with low fixed cycles, and change the cputype setting to the prefetching core.

Reply 3 of 4, by rfnagel

User metadata
Rank Oldbie
Rank
Oldbie
wd wrote:

If it's really a matter of the processor, try with low fixed cycles

I have a hunch that's prolly the problem. I remember that before I upgraded my 486 to a DX4-100 (actually, the bus speed was set to 50MHz; so more like DX2-100) El-Fish worked fine. The older processor was a DX50, which El-Fish seemed to like 😀

One thing that always bugged me about the program though:

El-Fish had some sort of CPU speed indentification built into it (which, come to think of it, may actually be the cause of this problem). The CPU speed check was so that the program wouldn't draw too many fish simultaneously on the screen to keep the framerate at a respectable level.

Unfortunately, the speed check was geared towards much older and slower CPUs, and misreported the actual speed on anything faster than 75MHz or so. Hence, even though one might have a processor capable of displaying a large number of fish on the screen at the same time, the misreported speed check would cause the program to display only two or three fish at the same time (inadvertently thinking that your CPU was *much* slower than it actually was) 🙁

Drove me NUTZ, as my original El-Fish box and documentation included a *coupon* for a discount on a future purchase of Intel's first Pentium processor... which, of course, had the above-mentioned problem 🤣!

Anyhow, back in my W98SE days (El-Fish ran fine shelled out of W98SE) I used the utility "CPU Killer" to slow things down in order to have more fish on the screen. I remember at the time that it took a lot of twiddling with the CPU Killer slowdown setting, as you had to find that "magic number" that would cause El-Fish to run as fast as possible, yet not have the problem of the limited amount of simultaneous fish displayed.

(edit) P.S. Wiki article refering to the CPU speed check bug -> http://en.wikipedia.org/wiki/El-Fish#Performance

P.P.S. I've never seen the "Mindscape" version of the game that they are refering to on the Wiki page though.

Rich ¥Weeds¥ Nagel
http://www.richnagel.net

Reply 4 of 4, by Barry_Purplelips

User metadata
Rank Member
Rank
Member

@rfnagel: thanks for the hint, never thought of running it more than thrice in a row! sort of seemed pointless, but sadly it doesn't seem to do the trick on DosBox.

And here's one more interesting thing about the CPU speed detection problem; my P4 3.0ghz seems to be able to fool it so I get like 15 fish on screen at the same time without using any type of CPU-slowing application, but that's only from XP (if I run El-Fish from real DOS, it crashes on startup). My older 1.8ghz couldn't, though, I was lucky to get 3 fish.

@wd: I really have no idea what to blame this on. CPU could indeed be offender here, but no combination of core-cputype-cycles appears to have any effect, so it either requires very, very specific and precise settings or...? certain degree of accuracy not yet available in DosBox?

There's also the horizontal stretching problem. Have any of you looked into that? I'd be surprised if it had anything to do with the CPU.