News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

sound driver integration DONE

Started by llm, January 17, 2014, 02:21:34 PM

Previous topic - Next topic

llm

i've developed a tool that combines the stunts game.exe with the ad15.drv (adlib/soundblaster) driver (but pc15.drv is also possible)
parts of the game getting patched for disableing the driver (un)loading

why (still same reasons):
-for fun
-reduce the amount of runtime loaded code down to 0% (hope that is reached now) - IDA likes it more then :)

seems to work perfectly - someone want to try?

just copy the attached game_drv.exe into your stunts1.1 directory and start without commandline parameters



RacerBG

Hmm, that's good but where is the deal? Thanks to this we can delete safely ad15.drv and/or pc15.drv and still the game will run fine? Which .exe file is involved? And what about the in progress re-compiled .exe file?

Thanks for the work anyway. :)
Stunts full crazy man with top perfomance from backwards!

llm

QuoteHmm, that's good but where is the deal? Thanks to this we can delete safely ad15.drv and/or pc15.drv and still the game will run fine? Which .exe file is involved?

the attached game_drv.exe is the mcga,soundblaster version of stunts1.1 (kalpen version)

so the following files are not needed to run stunts using game_drv.exe
   AD15.DRV
   CGA.COD
   CGA.DIF
   CGA.HDR
   EGA.CMN
   EGA.COD
   EGA.HDR
   LOAD.EXE
   MCGA.COD
   MCGA.DIF
   MCGA.HDR
   MT15.DRV
   MT32.PLB
   [MTENG1.VCE] - not loaded anymore
   [MTSKIDMS.VCE] - not loaded anymore
   PC15.DRV
   [PCENG1.VCE] - not loaded anymore
   [PCSKIDMS.VCE] - not loaded anymore
   SETUP.DAT
   SETUP.EXE
   [SETUP.PIF]
   ST.COM
   STUNTS.COM
   stunts_k.exe
   TD15.DRV
   [TDENG1.VCE] - not loaded anymore
   [TDSKIDMS.VCE] - not loaded anymore
   TDY.COD
   TDY.DIF
   TDY.HDR

and the game_drv.exe does not load any code dynamicaly - that
means its easier to reverse

QuoteAnd what about the in progress re-compiled .exe file?

its an side/alternative project of re-stunts - my hope is to statical recompile stunts
to 32/64bit sometime - to reduce dynamic code loading is one of the steps to ease the process

RacerBG

So this driver integration is not directly in relation with re-stunts? I like this project a lot and yes - 32/64 bit Stunts sounds more than amazing. :)
Stunts full crazy man with top perfomance from backwards!

llm

QuoteSo this driver integration is not directly in relation with re-stunts?

partialy - i use the exe combiner from clvn to get the combined mcga stunts exe (base of the re-stunts project)
and my own program to integrate the sound-driver

Quote32/64 bit Stunts sounds more than amazing.

currently the re-stunts project suffering of beeing kept in the
16 bit dos evironment that means debugging in DosBox or old TurboDebugger etc. it makes
the ultra hard reversing even harder so my hope is to convert the original 16 Bit
asm source code to something like 16Bit-asm-behaving like C-Functions
inside of an 32/64 Bit C/C++ Projekt
this way the reversers can mix C and fake-asm and do the analyse and stuff under
linux/windows with the prefered development environments

but it sounds much easier than it is in real :)

i try to release the stuff in small steps with the hope that someone give it a try and find bugs - because
due to the reverse nature of the project its very hard to find bugs the way like in normal source based projects



RacerBG

I can test this, it's not a big deal but I can not do other useful stuff for this project. ;D
Stunts full crazy man with top perfomance from backwards!

llm

QuoteI can test this, it's not a big deal

does the game_drv.exe run fine?

Quotebut I can not do other useful stuff for this project.

testing is always the biggest thing to do :)

RacerBG

#7
I had tried different things...the game works as expected but I noticed a few things:

1. The game does not remember the options in Graphic Levels - FULL, Slow video mgmt ON, Fast simulation speed.
2. The game seems to be stable but for some reason from time to time it crashes when I'm on the track (DEFAULT) and pressing Esc at the same time. The first time weird text error occured at the top part of the screen and the game crashed. The second time the whole screen went crazy (like in the picture below). The third time the game just crashed without any errors. And this errors happened with different cars on the same track and probably with opponents only - time trial was fine all the time. I tried to re-create this errors but they never occured again... ::)

Little statistic for you:

1. I'm using Stunts 1.1 from 12th of February 1991 (from the Wiki) no mods.
2. 28 files were deleted - 102 remained (without playing the game).
3. Looks like "FULL" graphics is remembered but the other options are too lazy to do that.

Question: Can I use Zapper's engine sounds with this .exe file and how I can change the sound options while setup.exe is gone?

Picture:
Stunts full crazy man with top perfomance from backwards!

llm

very unexpected errors :)

Quote1. The game does not remember the options in Graphic Levels - FULL,
Slow video mgmt ON, Fast simulation speed.

that could be maybe a problem with missing files - does that also happen with an full-install with just added game_drv.exe

Quote2. The game seems to be stable but for some reason from time to time it crashes when I'm on the track (DEFAULT) and pressing Esc at the same time.

my only idea is that dosbox can be responsible for the problem - stunts crashes for example more often when using the haevydebug version of dosbox

did you saw anything like that ever with the normal stunts executable?


RacerBG

Quotedid you saw anything like that ever with the normal stunts executable?

I think I did. This crashes were so random that game_drv.exe seems to be not responsible.

About the graphics - the same thing happens with the original files also with game_drv.exe when nothing is deleted... Strange game. ;D
Stunts full crazy man with top perfomance from backwards!

llm

QuoteI think I did. This crashes were so random that game_drv.exe seems to be not responsible.
About the graphics - the same thing happens with the original files also with game_drv.exe when nothing is deleted... Strange game

so i get it right that game_drv.exe is as buggy as the original - or?

RacerBG

Quote from: llm on March 27, 2014, 11:10:20 AM
QuoteI think I did. This crashes were so random that game_drv.exe seems to be not responsible.
About the graphics - the same thing happens with the original files also with game_drv.exe when nothing is deleted... Strange game

so i get it right that game_drv.exe is as buggy as the original - or?

I can't comment on that because I'm not the developer but one thing is sure - it's more polished. ;D

Anyway if this things are equal to the vanilla game so everything is fine. Your future plans are...?
Stunts full crazy man with top perfomance from backwards!

llm

QuoteYour future plans are...?

(0. get more time)

1.build a simple emulator: my idea is to reduce http://sourceforge.net/projects/fake86/ down to stunts needs and
grab most of the fake assembler functions from this real-mode and 16bit only and well tested codebase

2. try to replace parts of the emulated code with real code - hope that is easy copy&paste

remove more and more of the emulated code - until finished



RacerBG

Quote from: llm on March 31, 2014, 10:56:33 AM
QuoteYour future plans are...?

(0. get more time)

1.build a simple emulator: my idea is to reduce http://sourceforge.net/projects/fake86/ down to stunts needs and
grab most of the fake assembler functions from this real-mode and 16bit only and well tested codebase

2. try to replace parts of the emulated code with real code - hope that is easy copy&paste

remove more and more of the emulated code - until finished

I wish you good luck! :) Write on the forum again if you have some news.
Stunts full crazy man with top perfomance from backwards!

llm

QuoteQuestion: Can I use Zapper's engine sounds with this .exe file and how I can change the sound options while setup.exe is gone?

you can't change the sound device due to the adlib/sdblaster driver integration - what other sound options?