Tore Posted July 14, 2009 Share Posted July 14, 2009 I just added a new guide to the guides section. This is a simple guide on how to install C&C and RA on 64 bit systems. I will create some new guides when I have time. The guide section is incomplete. Link to comment Share on other sites More sharing options...
Nyerguds Posted July 15, 2009 Share Posted July 15, 2009 lol. For C&C95, I can actually install it without the installer, using my trusty WinPack 3 app (which can unpack the installer archives). Though of course, you're missing the registry stuff that way. Link to comment Share on other sites More sharing options...
pichorra Posted July 15, 2009 Share Posted July 15, 2009 " this is becasuse the installer is a 16bit program" What??? The AUTORUN.EXE is a 16-bits executable, the installer isn't, the 16-bits program not have the "version": http://support.microsoft.com/?scid=kb;en-us;320127&x=8&y=11 Link to comment Share on other sites More sharing options...
Nyerguds Posted July 17, 2009 Share Posted July 17, 2009 You're wrong. Look at the second part of that guide you linked to. While the C&C95 autorun has no Version tab, running it doesn't spawn an Ntvdm.exe or wowexec.exe process. The INSTALLER, however, while it DOES have a Version tab, DOES spawn the Ntvdm.exe and wowexec.exe processes, a typical indication of a program being identified as needing 16-bit compatibility to run. [edit] My disassembler confirms this. The autorun uses 32-bit CPU registers (eax, ebx, ecx and edx), which can hold values from 00000000 to FFFFFFFF (4294967295). The installer's code doesn't have those at all; it only uses the 16-bit registers (ax, bx, cx and dx), which can only handle values of 0000 to FFFF (65535). So the autorun is 32 bit, and the installer is indeed only 16 bit Link to comment Share on other sites More sharing options...
pichorra Posted July 17, 2009 Share Posted July 17, 2009 I'm not good with it, but, i have disassembled the AUTORUN.EXE, and it calls the ADVAPI32.DLL, KERNELL32.DLL, GDI32.DLL, USER32.DLL and the WINMM.DLL, who are 32-bits DLL but, the SETUP.EXE calls only the KERNEL, GDI, USER and KEYBOARD, the same files who INTALL.EXE call too, these is a 16-bits files (i use the W32Dasm Version 8.9, so, if i'm wrong, tell to me) oh man, what mass! sorry. Link to comment Share on other sites More sharing options...
Irony Posted July 19, 2009 Share Posted July 19, 2009 eax, ebx, ecx, edx, etc are registers not stack variables Link to comment Share on other sites More sharing options...
Nyerguds Posted July 20, 2009 Share Posted July 20, 2009 gah. Sorry, Messing with stack operations in asm has made me half crazy Link to comment Share on other sites More sharing options...
Irony Posted July 22, 2009 Share Posted July 22, 2009 push pop push pop Link to comment Share on other sites More sharing options...
Nyerguds Posted July 23, 2009 Share Posted July 23, 2009 not that... actually reserving space for variables in the stack, like a 40-byte string... and then accessing variables behind that one, while keeping in mind how many pushes I've done before that. mov, eax, [esp+48] Using printf in assembler is practically nothing but that mess. Link to comment Share on other sites More sharing options...
Irony Posted July 23, 2009 Share Posted July 23, 2009 Yeah, I've used printf in asm. I hate using the stack, just because it's so tedious trying to count how many bits to change the stack pointer to when you want that variable you pushed 100 lines ago I prefer to stick with my C++ though tbh Link to comment Share on other sites More sharing options...
Nyerguds Posted July 24, 2009 Share Posted July 24, 2009 well dunno, I'm getting pretty good at this. Managed to read my own custom named ini files for the new language system in C&C95 v1.06c [Language] Language=FRE --> game reads "lang_FRE.ini" from updat*.mix files (using printf to insert the language name in "lang_%s.ini") --> if found, reads the info in it, which tells the game which filenames and other strings to replace for the French version Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now