Official Codex Discord Server

  1. Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.
    Dismiss Notice

Interstate '76 no-cd!

Discussion in 'General Gaming' started by SCO, Aug 20, 2010.

  1. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    Click here and disable ads!
    Edit: this no-cd is pointless since the in-game music is still missing doh!


    So all the interstate '76 no-cd's floating around on the net are shit. I thought something stinked when none of them asked to copy anything from cd 2, that has, you know, the movies. So naturally the movies don't play unless you mount cd 2. Some "no-cd". This aims to make the game somewhat portable (as good as i can make it).

    Besides that the registry entries are needed otherwise a crash happens, probably purposefully - naturally the "hacker" missed it. I think i have created a portable version of the game - I don't claim to be certain that this works, since i'm still to play it beyond the first mission, i don't know much of anything about assembly - and the programmers were obviously 'tricky' - i would appreciate some confirmations.

    1) install the game, you need to use Britain language settings, in wine it is
    export LANG='en_GB.utf8'
    in a terminal before
    wine SETUP.EXE (same terminal).
    On windows it is a setting somewhere.
    recommended install, don't install directx5 obviously.
    2) install the gold patch (i76gpat16.exe)
    3) unzip the database fix in the game dir: http://www.localditch.com/interstate-76/database.zip
    4) copy the cutscene folder on cd 2 to the game dir.
    5) if you want, install some glide emulator to the game dir: http://dege.freeweb.hu/ is the best because it can be used from the game dir (portable). Limit memory to 4mb like they say on the net. Play around with the other settings if you want (resolution).
    6) edit the executable
    i76.exe md5sum : 968c4e5a1ad753f64d900e38518cebb3


    At 70130 there are the bytes
    A0 2C D9 58 00
    change them to
    B0 2E 90 90 90 (this would return the drive letter of the cd-drive, we changed it to '.')

    At 704D6 there are the bytes
    3B C3
    change them to
    B0 01 (it's the cd check, copied from one of the cracks)

    At FCE94 there are the bytes
    20 3A 5C 63 75 74 73 63 65 6E 65 5C
    change them to
    2E 5C 63 75 74 73 63 65 6E 65 5C 00 (" :\cutscene\" to ".\cutscene\" duh)


    edited i76.exe md5sum : 6b681f44f3bfd577234efc57c57bae91
    The hacked exe has to have the same name, but save the original with another name.

    7) Export the activision registry entry to the game folder so you can register it when you need to (naturally, you only need the interstate entries - you can delete others manually if there are any by treating the file as text.
    It will look like this:
    Name it add_game_entries.reg.

    Also do a copy named "delete_game_entries.reg and edit it by adding a - to each key thus:
    8) create a shortcut to launch the game that calls either "i76.exe -glide" or "i76.exe -d3d" if you did 5) or not.
    Like this this Start.bat here:
    9) Set the compatibility of the game to windows 98
    NOTE: i haven't been able to find a way to enable compatibility mode for a executable from the command line. If you know of a way please tell!

    The splash executable wont allow you to play. I've not hacked it. But the i76.exe will and you can pass the -glide or -d3d arguments to play with that.

    Copy the game somewhere else, uninstall, run the batch file to see if works.
    You can create a batch file one folder up and put the game folder inside another created folder with the batch file to make it obvious.


    Fucking copy protections. I'm not sure if anything is missing, or this is stable. Does the melee options have movies?
     
    ^ Top  
  2. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
  3. Sceptic Prestigious Gentleman Arcane Patron

    Sceptic
    Joined:
    Mar 2, 2010
    Parrots:
    10,424
    Divinity: Original Sin
    Yes. Yes it is.

    And the music, god damn it the MUSIC...
     
    ^ Top  
  4. Suchy Arcane

    Suchy
    Joined:
    Nov 16, 2007
    Parrots:
    5,831
    Location:
    Potatoland
    Is there any other game like this? Except I'82 which was shit.
     
    ^ Top  
  5. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    Right. Fuck. The ingame music appears to be cd music, so t is missing. Oh well, back to non-portable iso mounts. Sorry to waste time people (the exe is still better than the no-cd cracks. In fact as the game has cd music, using no-cd cracks doesn't seem advisable, maybe that one that added new software resolutions).
     
    ^ Top  
  6. spekkio Arcane

    spekkio
    Joined:
    Sep 16, 2009
    Parrots:
    7,394
    I really don't get this "portable versions" idea for pc games.
    Extract images from the archive, mount, install, use cracks/patches/fixes, play. You do everything yourself, so you know what you're doing.
    Portable version are for consolefags too stupid to run old PC games on their own.
    Or even worse: lunix-fags (lol I can play DOS/Windows games on linux, I'm awesome)... Well, nobody cares, boot to Windows you morans.

    :rpgcodex:

    tl;dr

    Thanks for the effort, I appreciate it actually...
    More tips about running I'76 on modern systems (I post this every time somebody mentions this game):
    http://www.ntcompatible.com/compatdb/de ... ndows.html
     
    ^ Top  
  7. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    It's very simple. You can't mount where you have no permission to install a cd driver - i have a portable hardrive - capisce?.
     
    ^ Top  
  8. BethesdaLove Arbiter

    BethesdaLove
    Joined:
    Aug 7, 2008
    Parrots:
    1,998
    Cant be that many tracks on the cd. 20 tops. Find all references. Patch to play from root directory.
     
    ^ Top  
  9. spekkio Arcane

    spekkio
    Joined:
    Sep 16, 2009
    Parrots:
    7,394
    And where would that be?

    :M

    And how would he play CD-Audio tracks from the HD directory? Game should use .wav files or something?

    :M
     
    ^ Top  
  10. Texas Red Whiner

    Texas Red
    Joined:
    Sep 9, 2006
    Parrots:
    7,044
    I had a dream about this game yesterday. I was thinking about it today but couldn't remember the name. Curious.
     
    ^ Top  
  11. BethesdaLove Arbiter

    BethesdaLove
    Joined:
    Aug 7, 2008
    Parrots:
    1,998
    First question. Not your concern. He wants it.

    Second question. Yeah. Play the wav files. Since the cd tracks had no seeking, it will work.

    push pszSound
    push 0
    push fdwSound
    call PlaySound

    Profit.

    This is from my google-fu. The function is used to play cd tracks. 4 vars.
    http://msdn.microsoft.com/en-us/library/dd757161(VS.85).aspx

    PlaySound is 3 vars and if he is lucky, they all will fit. If not, fuck around with the PE file to get some free space at the end. jmp there, execute commands.
    http://msdn.microsoft.com/en-us/library/dd743680(VS.85).aspx
     
    ^ Top  
  12. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    That's very interesting - i might even do it. Unfortunately my master plan has another flaw - the game needing the registry - while on wine editing the registry is not a privileged operation, on windows it is, so the game wouldn't work anyway on windows (without massive editing that i'm sure to fuck up).

    Oh well installing cdemu kernel module.
     
    ^ Top  
  13. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    At university.
     
    ^ Top  
  14. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    Yes cdemu works (and is needed on linux - prehistoric mount command).
     
    ^ Top  
  15. commie The Last Marxist Patron

    commie
    Joined:
    May 12, 2010
    Parrots:
    1,864,800
    Location:
    Where one can weep in peace
    Divinity: Original Sin Project: Eternity Divinity: Original Sin 2
    I-82 was about the first example of consoletardation of a game, without it being made for consoles. This alone should seal it's place in infamy.

    The music was good though.

    I-76 was the dogs bollocks though. They were a good few years for Activision from the mid to late 90's what with this, Battlezone, MechWarrior.
     
    • Shit Shit x 1
    ^ Top  
  16. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    What is this shit about replacing a dll file in mission 13?

    Does anyone that played this when the gold version came out had to do this, or is it a compatibility bug?
    GoG could hire some starving assembly artists so they don't release not working games.
     
    ^ Top  
  17. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    This is just a investigation, as we have knowledgeable people here, maybe we can brainstorm this fucking bug.

    Naturally, i don't know shit of assembly, but i can handle a streamlined dissasembler.
    (for some reason it's really hard to debug in wine real time - the game window corrupts the debugger one).

    Wine tells me where the exception originates. It's a simple move (the one before ret). It also tells me why
    I'm talking out of my ass from now on
    ECX is a counter register, but google tells me that in object oriented languages it can also hold the "this" pointer. The mov fails because:
    "Unhandled page fault on read access to 0x00000070 at address"
    So ECX is zero, a impossible position for a object reference to be, unless it is null ofcourse. This with the highly suggestive 'No Salvage' part of the mission 13 conclusion is probably why it's not working.
    It's difficult to tell because of no debugger.

    Now there is another example of a no-salvage situation in the game, the dream mission 3 or 4. If the code could be transplanted...
     
    ^ Top  
  18. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    What exactly does the gold patch add? I'm thinking of reverting to 1.08. The gold version has no notes.
     
    ^ Top  
  19. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    Patch 1.083 has no glide support

    :rage:
     
    ^ Top  
  20. BethesdaLove Arbiter

    BethesdaLove
    Joined:
    Aug 7, 2008
    Parrots:
    1,998
    Just forget it.
    MOV EAX,DWORD PTR SS:[ARG.1] ; i76_without_cd_music.00467470(guessed Arg1) // moves the addr from stack into eax
    MOV ECX,DWORD PTR DS:[EAX+3BC] // eax+3bc into ecx, which is used as a general register for anything
    MOV EAX,DWORD PTR DS:[ECX+70] // ecx+70 to eax

    The error say that there is a 0 in ecx, meaning the previous mov moved it there, meaning the eax+3bc is wrong, meaning the previous mov to eax could be wrong and the stack contains something wrong. And so on.
     
    ^ Top  
  21. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    I managed to put the debugger window working. I just had to use the glide version ("-glide" argument) & found where the game is loading that function from.

    I found something interesting setting the breakpoint on the function that calls the function above. It is called many times before it crashes. First time appears to have correct arguments (or so it seems) - then there is a lot of code, and then ( i didn't step through it all) - it is called again, (11 times in total counting the first), all it correct values except the last, wauto_somesuffix until it crashes. Stinks of missing data or corrupted data files or off by one or something.
     
    ^ Top  
  22. Sceptic Prestigious Gentleman Arcane Patron

    Sceptic
    Joined:
    Mar 2, 2010
    Parrots:
    10,424
    Divinity: Original Sin
    Now you know what the Gold patch does :smug:
     
    ^ Top  
  23. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,297
    Shadorwun: Hong Kong
    Besides introducing a crash bug you mean :M
     
    ^ Top  
  24. Sceptic Prestigious Gentleman Arcane Patron

    Sceptic
    Joined:
    Mar 2, 2010
    Parrots:
    10,424
    Divinity: Original Sin
    You gotta take the good with the bad and all that...

    Incidentally the Glide version only went to 640x480 if I recall. Unless using a wrapper allows higher resolutions, you may want to use software rendering anyway to get to the higher resolutions. Then again at the time I got the game I had a crap CPU and a Voodoo 2 so Glide gave much better FPS. Does the game look any different visually√Č
     
    ^ Top  

(buying stuff via the above buttons helps us pay the hosting bills, thanks!)