Reply 20 of 30, by gulikoza
- Rank
- Oldbie
Nice work...tomb rider is indeed a lot faster. It maxed out at about 25K cycles on my comp, now it goes up to 55K. It unfortunately does not help Dark Forces.
Nice work...tomb rider is indeed a lot faster. It maxed out at about 25K cycles on my comp, now it goes up to 55K. It unfortunately does not help Dark Forces.
Dark Forces does not use the fpu, only occasionally. Didn't
find anything odd in there, and seems to run at fine speed
for me anyways.
wd
i tried quake today (after I fixed vbe2 detection and setpalette)
and it almost doubled performance!
@wd
fpu struct doesn't seem to be the problem, i declared it as extern
into dynfpu.h, anyway i'll check again.
it might be wise to submit official patches.
an all in one changes patch is not likely to be accepted.
small parts at a time are more likely.
Water flows down the stream
How to ask questions the smart way!
Sorry, missed the external.
Try the following for FLD STi:
gen_protectflags();
gen_load_host(&TOP,DREG(TMPW),4);
gen_dop_word_imm(DOP_ADD,true,DREG(TMPW),decode.modrm.rm);
gen_dop_word_imm(DOP_AND,true,DREG(TMPW),7);
gen_call_function((void*)&FPU_PREP_PUSH,"");
gen_load_host(&TOP,DREG(TMPB),4);
gen_call_function((void*)&FPU_FST,"%Dd%Dd",DREG(TMPW),DREG(TMPB));
fpu.top is modified by prep push, but the parameter (the i in STi)
is based on the unmodified value.
At least Quake runs then, the other opcodes are fine afaict.
wd
thanks wd, now all works correctly.
I didn't notice there was a reason it saves stv(sub) before
the push. too much time far from programming. 😦
ps: is there a fpu test utility around?
I was using TestFloat from
http://www.jhauser.us/arithmetic/TestFloat.html
for the x86 fpu, it didn't find the FLD STi-bug as
it seems to only check arithmetic/tig functions
and so (has nice precision tests).
wd
Is there a way a normal person who doesn't have C++ compilers at home can easily use the enhanced code to run games like Tomb Raider ?
Retro game fanatic.
IBM PS1 386SX25 - 4MB
IBM Aptiva 486SX33 - 8MB - 2GB CF - SB16
IBM PC350 P233MMX - 64MB - 32GB SSD - AWE64 - Voodoo2
PIII600 - 320MB - 480GB SSD - SB Live! - GF4 Ti 4200
i5-2500k - 3GB - SB Audigy 2 - HD 4870
Ask someone who's already compiled it, wait for CVS, wait for official ver, get a free compile and compile it yourself.
uploaded a patch on sourceforge with wd dynamic fpu version.
it gives a noticeable boost to fpu-demanding games. try it!
DosFreak wrote on 2005-04-15, 21:43:Ask someone who's already compiled it, wait for CVS, wait for official ver, get a free compile and compile it yourself.
Sorry for digging up this old thread, but I was in the need of a DOS FPU tester myself and wanted to attach a link to my compiled version here so that other ppl searching for it have a download link and don't need to compile it themselves:
https://github.com/leecher1337/ntvdmx64/files … 1/testfloat.zip