VOGONS

Common searches


First post, by SysGOD

User metadata
Rank Member
Rank
Member

hi everyone, i want to upgrade future shock to hires (like skynet).

i know that this can be done through the installation process of skynet.
the main problem is, that both games are downloaded versions and i dont have any CDs.

ok here is what ive done so far:

both games are located in my dosgames folder that is already mounted as drive c: in dosbox.
to get the install.exe of skynet started (it has some sort of copyprotection), ive mounted the skynet directory as cd-drive d: with dosbox and modified the INSTALL.dat to match the settings.

now i can start the install.exe and go to the point where it asks if future shock is installed on my system. i click on "YES" and it will try to find it. but on the next second it tells me that "fshock CANT be located on the system".

it looks like it never starts any searching process on my harddrive it goes directly to the next screen with the message above.

i have no idea whats wrong with that.

maybe someone can tell me how i can modify the game manually, or the files which are modified to get the game running in hires.

need help here, please.

and sry for my bad english 😉

Reply 1 of 30, by Miki Maus

User metadata
Rank Member
Rank
Member

Go to the SkyNET folder and edit INSTALL.DAT to resemble something like this:

[skynet]
fspath=.\shock
installpath=.
sourcepath=.
type=net_large

Where fspath is path where you installed Future Shock.
You will also need some Future Shock vids, but as you don't have them just create dummy files. They go to GAMEDATA folder and the filenames are:

begin.vid
end.vid
logo.vid
start.vid
virtual1.vid
virtual2.vid
virtual3.vid
virtual4.vid

Also try using DOS32A instead of DOS4GW.
Hope this helps. 😀

Reply 2 of 30, by SysGOD

User metadata
Rank Member
Rank
Member

thanks for the very good advise, but it does not work. 😢

first i added the line: fspath=c:\fshock to the INSTALL.DAT from skynet.
then i created the missing .vid files you mentioned above in my fshock\gamedata folder but it gave me the same result.

i also tryed some other things, like mounting only the fshock folder as drive c: and using an unpatched version of both games.
... nothing works.

ok my last idea is to figure out hows the correct directory structure of the skynet CD. Burn it and run the whole thing with VDMS.

i let you know if this works...

Last edited by SysGOD on 2006-08-25, 16:44. Edited 2 times in total.

Reply 3 of 30, by SysGOD

User metadata
Rank Member
Rank
Member

oh about that DOS32A extender:

i replace DOS4GW with it in the .exe using the sb tool ("sb /b /r skynet.exe" as example).
works good in dosbox, but then i run both games under VDMS i get an error:

DOS/32A run-time (6001): exception 0Dh
Identity: general protection fault at 01BF:04260008
Unrelocated crash address 1:00220008, error code pushed on stack 00000000
...

any idea?

Reply 4 of 30, by Miki Maus

User metadata
Rank Member
Rank
Member

Yeah, I know about DOS32A crashing under NTVDM, it works for me 1/20 times 😉
Now about Future Shock under SkyNET, this is how i got it running:

SkyNET in c:\skynet
Future Shock in c:\skynet\shock

Missing vids should go in c:\skynet\gamedata (I was wrong before)

SkyNET INSTALL.DAT:

[skynet]
fspath=.\shock
installpath=c:\skynet
sourcepath=c:\skynet
type=net_large

And setup sound through SETUP.EXE.
Forget about INSTALL.EXE because it only changes INSTALL.DAT which we have done manually.

Now run SkyNET, and you should be able to play Future Shock by going New game -> Future Shock.

Also you can patch SkyNET and Future Shock, just search with google for SKYNET11.ZIP and SHOCK130.ZIP.

Hope this works for you.

Reply 5 of 30, by SysGOD

User metadata
Rank Member
Rank
Member

YES it works!! 😁

i thought that some skynet files must go to the fshock folder to run it in hires, but its the other way. hehe

big thanks to you again! 😉

Reply 6 of 30, by Count Knobula

User metadata
Rank Newbie
Rank
Newbie

Hey. Great thread, used it to get skynet and future shock running in SVGA and it worked (with VDMsound). However performance is rather choppy.

I'd like to replace the dos4gw.exe in the skynet directory with dos32a. However every time I try to delete, rename, move dos4gw I get a message saying the file is in use. I have no idea why. Tried closing loadsa programs and have restarted multiple times. Still the same thing. Any ideas?

Reply 7 of 30, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

You can thank the lovely SECUROM copy protection for saving you from deleting your DOS files:

Read this thread: locked files

DOSBox Compilation Guides
DosBox Feature Request Thread
PC Game Compatibility List
How To Ask Questions The Smart Way
Running DRM games offline

Reply 8 of 30, by SKARDAVNELNATE

User metadata
Rank Oldbie
Rank
Oldbie

Anyone know the reason it fails or doesn't look? I don't think .\shock would be the default. That would mean Skynet looks for another game in its own folder, one that hasn't been created yet at that stage in the instalation. With Future Shock in Skynets folder it still isn't detected.
I have the discs for both games, neither has any virtualx.vid files.

Reply 9 of 30, by WolverineDK

User metadata
Rank Oldbie
Rank
Oldbie
SKARDAVNELNATE wrote:

Anyone know the reason it fails or doesn't look? I don't think .\shock would be the default. That would mean Skynet looks for another game in its own folder, one that hasn't been created yet at that stage in the instalation. With Future Shock in Skynets folder it still isn't detected.
I have the discs for both games, neither has any virtualx.vid files.

You can use the free program named unlocker to delete the file.

http://ccollomb.free.fr/unlocker/ but it can also rename, and other stuff.

Reply 10 of 30, by SysGOD

User metadata
Rank Member
Rank
Member

Anyone know the reason it fails or doesn't look? I don't think .\shock would be the default. That would mean Skynet looks for another game in its own folder, one that hasn't been created yet at that stage in the instalation. With Future Shock in Skynets folder it still isn't detected.
I have the discs for both games, neither has any virtualx.vid files.

i did a lot of testing (tryed dosbox, different mounting options,vdms) before posting this thread, but never got the installer to detect fshock. maybe its a problem with modern file systems or dosbox itself. or maybe future shock must be in a specific folder or drive to be detected... i have no clue.
i think the fspath=.\shock line or similar is normally added to the install.dat after the installation of skynet.
iam going to test the installer with both games on my oldskool rig with native dos when i have time, maybe thats the key...

you should also take a look in your skynet manual or readme if there is some advice about that problem...

You can use the free program named unlocker to delete the file.

http://ccollomb.free.fr/unlocker/ but it can also rename, and other stuff.

ah thanks for the link but i think you have quoted the wrong post.
you mean using the unlocker to remove/rename/replace dos4gw files if this "nice" SECUROM copy protection is installed, am i right? 😉

Reply 11 of 30, by WolverineDK

User metadata
Rank Oldbie
Rank
Oldbie
SysGOD wrote:
[ […]
Show full quote

[

You can use the free program named unlocker to delete the file.

http://ccollomb.free.fr/unlocker/ but it can also rename, and other stuff.

ah thanks for the link but i think you have quoted the wrong post.
you mean using the unlocker to remove/rename/replace dos4gw files if this "nice" SECUROM copy protection is installed, am i right? 😉

Yup, you can rename and all that, even though securom is fucking with you.

Reply 12 of 30, by ripa

User metadata
Rank Oldbie
Rank
Oldbie

I managed to upgrade Future Shock to SVGA using Skynet's installer in Dosbox with the debugger enabled. The reason the installer doesn't work is that it thinks "C:" is a remote drive*.

Here's how to do it. Start up the debugger version of Dosbox and start the Skynet installer. Go up to the point where it asks if Future Shock is installed. At that point break the program (Alt-Pause) and focus on the debugger window. Set a breakpoint by typing in BP 180:1954A3. Hit F5 to continue the program and go further in the install until it hits the breakpoint. Focus on the debugger and change the value of the EAX register by typing in: SR EAX 1. Disable the breakpoint using BPDEL * and continue the program with F5. The installer should search for Future Shock and find it.

I have no idea whether the code is always loaded at the same location. If this doesn't work for you, replace the breakpoint with another: BPINT 21 44. When the program halts (make sure EAX ends with 4409, if not, continue the program until it breaks with that value), step (F10) until right before the subroutine returns (the cursor is at a RET instruction), at which point do the SR EAX 1 trick.

You can get the debugger version of Dosbox here:
DOSBox debugger

* The installer uses INT 21, 44, 9 to determine whether a drive is remote or local. The interrupt places a value in DX. According to http://heim.ifi.uio.no/~stanisls/helppc/int_21-44-9.html if the drive is local, DX's 12th bit is clear, and that's what Dosbox gives. However, the installer expects the 12th bit to be set, which is what I assume is given by MS-DOS (where the installer works).

Reply 13 of 30, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Did you check what is returned to the installer at the respective location
when using msdos? Maybe they return an error for some reason?
Bit12 being zero is correct looking at other sources.

Reply 14 of 30, by ripa

User metadata
Rank Oldbie
Rank
Oldbie

Took me a while to figure out how to run MS-DOS inside DosBox to get access to the nice debugger :^)

MS-DOS 6.22 returns 0x8C2 in EDX, i.e. the 12th bit is set. CF is cleared - no error.

Reply 16 of 30, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

0x8C2 in EDX, i.e. the 12th bit

Being consistent with the intlist, bit12 is zerobased thus 0x1000 so not set.
The other bits are the device attribute word, bit11 (which seems the one
that the game tests for) is "open/close supported" so should maybe be set.

Reply 17 of 30, by ripa

User metadata
Rank Oldbie
Rank
Oldbie
wd wrote:

12th bit or bit12?

Sorry for the ambiguity. The installer ANDs the result with 0x0800 (so I guess it's bit 12 instead of 12th bit) and checks if the result is 0 and jumps accordingly. Here's the disassembly, if you're interested:

0180:1A3C25  CD21                int  21
0180:1A3C27 7218 jc 001A3C41 ($+18)
0180:1A3C29 B800000000 mov eax,00000000
0180:1A3C2E 668BC2 mov ax,dx
0180:1A3C31 66250008 and ax,0800
0180:1A3C35 663D0000 cmp ax,0000
0180:1A3C39 7406 je 001A3C41 ($+6)
0180:1A3C3B B801000000 mov eax,00000001
0180:1A3C40 C3 ret
0180:1A3C41 B800000000 mov eax,00000000
0180:1A3C46 C3 ret

EAX == 1 --> the caller looks for Future Shock
EAX == 0 --> the caller skips the drive

Reply 19 of 30, by SysGOD

User metadata
Rank Member
Rank
Member

ive tested the skynet installer with the newest dosbox CVS and it works perfectly.
it now searches correctly for the future shock installation and finds it also.

great work guys and thanks for fixing it so fast! 😀

sysprofile.png