Page 6 of 7 FirstFirst ... 234567 LastLast
Results 126 to 150 of 171

Thread: CM 2 - Downloads

  1. #126
    Quote Originally Posted by Nick+Co View Post
    @Villepin: Many thanks for that! So I took that image and did the following:
    1) Extracted the CM2 directory from the image using cdmage
    2) Added DosBox.exe + its config and dlls
    3) Removed LaserLok from cm2.exe (to do this you just need to remove the header from the exe - i.e. search for MZN as a string in the exe with a hex editor and delete any previous bytes - tah dah!)
    4) Added a config.dat (that points only to the CM2 directory - so doesn't require a CD)
    5) Ran SetSound.exe and set up the audio to work with DosBox
    6) Zipped it all up and put it here: https://nic.hopto.org/open/cm0102/CM2ItalianLeagues.zip

    So just unzip that and double-click DosBox.exe for the full Scudetto experience (And Baggio is still at Milan - so this is the 1995 version as Villepin said )
    It had to be you, hero as always Nick


  2. #127

    Join Date
    18-07-15
    Posts
    738
    This is the Scandinavian version of CM2 based on the CD Villepin uploaded.

    https://nic.hopto.org/open/cm0102/CM2Scandinavia.zip

    This has Norway, Sweden and Denmark available to play (just unzip and run DosBox.exe)

    Nerd Notes: This doesn't use laserlock for copy protection. Instead it checks that the drive it reads sounds and commentaries off is different to the drive the game is on. Then it tries to open a big (366mb) SCANDV20.DAT file from the CD and makes sure it's a big file. But you can turn off all these checks with just one byte change (which is what I did). The original exe is also there in each folder as CM2.ORIG.EXE (just for posterity) .

  3. #128

    Join Date
    20-09-12
    Posts
    634
    Quote Originally Posted by Nick+Co View Post
    @Villepin: Many thanks for that! So I took that image and did the following:
    1) Extracted the CM2 directory from the image using cdmage
    2) Added DosBox.exe + its config and dlls
    3) Removed LaserLok from cm2.exe (to do this you just need to remove the header from the exe - i.e. search for MZN as a string in the exe with a hex editor and delete any previous bytes - tah dah!)
    4) Added a config.dat (that points only to the CM2 directory - so doesn't require a CD)
    5) Ran SetSound.exe and set up the audio to work with DosBox
    6) Zipped it all up and put it here: https://nic.hopto.org/open/cm0102/CM2ItalianLeagues.zip

    So just unzip that and double-click DosBox.exe for the full Scudetto experience (And Baggio is still at Milan - so this is the 1995 version as Villepin said )
    Awesome. Let's take Viola to the title


  4. #129

    Join Date
    18-07-15
    Posts
    738
    I've taken off the 30 season limit on CM2 1.37. I'm wondering how long it can run for before breaking




    If one wanted to do the same to the 97/98 version of the game (2.93) you'd apply:
    Code:
    00075625: 75 EB
    EDIT: Not long till it breaks! looking into if I could get it running - Season 2027/28 is causing me issues right now
    EDIT2: Fixed that one too - and season 27/28 running fine now Will see where it breaks next!
    EDIT3: Hitting some fun issues. it stores for instance 2025 as 125 internally. Which is all fun and games until hitting 2028, when 128 just pushes it over the signed single byte limit and the year becomes 1772. Fixed that, but still got some oddities lol

    EDIT4:
    Current 1.37 patch:
    Code:
    # Make sure we can continue past 30 seasons
    0005BF5E: 75 EB
    0007BB14: 7D EB
    
    # Correct the date on the main page
    0005C0A6: F8 E8
    
    # Correct the date on the top right
    0007B473: BE B6
    
    # Correct the date on the comp history
    00078829: F8 E8
    
    # Correct the Closing Season date
    0007B3A0: BE B6
    The game has never been played this far in the future before:


    EDIT5: Currently crashes hard in Season 35 / Year 2029 - without better debugging I can't work out why. So will leave it there
    Last edited by Nick+Co; 03-08-20 at 10:56 PM.

  5. The Following 3 Users Say Thank You to Nick+Co For This Useful Post:


  6. #130
    Hi Nick, this is very interesting to me.

    I am wondering, as you found that 2025 is stored as 125 and 2028 as 128 and you were also able to play around with those values... are you also able to change the starting year of the game? I would be mostly (but not only) interested in v2.00.

    Thanks.

  7. #131

    Join Date
    18-07-15
    Posts
    738
    @Andrea71: Yes I can. In 1.37 its this code:
    Code:
    cseg01:0003CD46                 mov     byte ptr dword_4187D2+1, ah
    cseg01:0003CD4C                 mov     byte ptr dword_4187D2+3, dl
    cseg01:0003CD52                 mov     byte ptr dword_4187DA+2, ah
    cseg01:0003CD58                 mov     byte ptr dword_4187D6+1, ch
    cseg01:0003CD5E                 mov     dh, 5Fh                                       <------ Is 95. Changing that to 60h will make it start in 1996.
    cseg01:0003CD60                 xor     ecx, ecx
    cseg01:0003CD62                 mov     byte ptr dword_4187D6, dh
    cseg01:0003CD68                 mov     byte ptr dword_4187D6+3, dh
    cseg01:0003CD6E                 mov     byte ptr dword_4187DA, dh
    Why would you want to do this with v2.0?

    EDIT: Just tried it with 97/98. Changing byte 0xAB085 to 0x77 let me start the game in 2019
    Last edited by Nick+Co; 03-08-20 at 11:09 PM.

  8. The Following User Says Thank You to Nick+Co For This Useful Post:


  9. #132
    Thanks for your reply.

    I am a long time CM2 updater, CM2 was my version of choice for over 20 years. I made the switch to CM0102 around 2017.

    I still have a few updates/mods on my hd and I could modify the exe with an hex editor a little bit.
    I also wrote a simple vba macro to import/export (various versions of) db1 files from/to xls files which sped up the update process dramatically. It also work for v2.93 files. Not too different from an hybrid TransferTool/DBUpdater.

    Most of my updates are lost, but I think, for instance, I still have an Italian 2013-2014 working update applied over a modded English v2.00 exe. It would be nice if you (we) could change the starting date, and perhaps, doing something about the competition history and so on. Then I surely have an half working Brazilian update from about the same period applied over a modded Norwegian v1.1CS which has some playoff issues. I also still have a very nice but broken Italian legends DB which would be nice to resurrect.

    I also have some memory/experience/familiarity about what you can do and what will break the game (replacing clubs often breaks the game, though I don't know why, max number of safely allowed players for v2.00 is around 2300, max number of clubs is around onethousandsomething, if the games breaks it will probably do at 1/8 or 20/8 of a WC year don't know why, because it seems to lock around the time the ECL seeding takes place, etc).
    If there is an interests around (and you can do some of your wonders on the exe), I could probably evaluate to produce some updates, maybe even an English 2020 update over v.2.00.

    I am not in the position to promise too much, though (I am usually very busy with update team duties and time is never enough).

  10. The Following User Says Thank You to Andrea71 For This Useful Post:


  11. #133

    Join Date
    18-07-15
    Posts
    738
    @Andrea71: ahh gotcha. Well to change the start year:
    Code:
    00064B69: 60 77
    ^ Would make v2.0 start in 2019
    (Assuming you are using a CM2 2.00 with laserlock protection removed (else it'd be a different offset))

  12. The Following User Says Thank You to Nick+Co For This Useful Post:


  13. #134
    Hi Nick (and everyone else interested),

    after you provided us with a change starting year feature for v2.00_ENG, I thought to send you some feedback. If you feel like spending some more time tweaking/investigating CM2, here's a few points.

    v2.00 ENG is a 1996/97 game, which means its starting date is the same year of (edit: mistake fixed) an European Championship and two years before a World Cup. Let's call this WC+2.

    I tried to set the starting date to all possible combinations

    2013/14 - WC+3 : Tried twice. First run crashed immediately. Second run crashed at second season (2014 WC was not run too). Very weird.
    2014/15 - WC+0 : 2016 EC was not run (not so sure anymore...), but worked fine for a few season thereafter, then I quit.
    2015/16 - WC+1 : 2016 EC was not run, worked fine for a few season thereafter, then I quit.
    2016/17 - WC+2 : Worked great, but ended in 2025 for the 30 seasons limit, which was not the case anymore (not starting in 1996!).

    So my first findings are: WC+3 is problematic, WC+0 and WC+1 are ok when you can accept skipping the first International Comp and WC+2 works perfectly (hopefully), if you could provide your 30 season limit removal fix for v2.00 too.

    I decided to go one step further and check how many season I could run if I backdated the game for a few years. After all it looks like the implementation doesn't actually counts the seasons but has a 2025 hardcoded end...

    So I run a 1984 - WC+2 with the idea to verify if I could make a flawless run of ca. 40/45 seasons and get to the 2025 limit. The test is far from being finished (still at 1989 as I'm writing this) but already disappointing. It skipped 1986 WC, then it skipped 1988 EC and 1990 WC. I'm afraid it won't run any International Competition at least until 1998 (edit: confirmed, 1998 WC is played).

    There's a few reasons that make me think that CM2 could be a good resource for simple historical DBs, therefore, in my opinion, not being able to backdate is a significative letdown. v2.00_ENG also has no limitations on foreigner players which would be nice to customize if possible.

    Thanks for reading this.
    Last edited by Andrea71; 05-08-20 at 01:07 AM.

  14. #135

    Join Date
    18-07-15
    Posts
    738
    @Andrea: Thanks for all your testing! I'll take at the things you mentioned. Doing this for CM2 is so much harder than for CM0102 as there's no good debugger (like Olly) I can use. But I'll have a look

  15. The Following User Says Thank You to Nick+Co For This Useful Post:


  16. #136

    Join Date
    18-07-15
    Posts
    738
    Code:
    00037701: 75 EB
    0003783E: F8 E8
    00054A19: F8 E8
    0005757C: BE B6
    0005764F: BE B6
    00057CD7: 7D EB
    ^ Is the patch for 2.0 so that it doesn't quit at the hardcoded date (but it will crash eventually)

  17. The Following User Says Thank You to Nick+Co For This Useful Post:


  18. #137
    Thanks for your help Nick.

    Just an update on my tests. I found those interesting, and maybe someone else could find those interesting too. Sorry for the long post.

    The 1984 test run for 41 seasons, reached the 2025 mark and it was stopped with the 30 seasons end message.

    Which means:

    1) The games has the technical potential to run much longer than 30 seasons.
    2) The 30 seasons end message is hardcoded in 2025.

    ----------------------------------------------------

    So my next test was starting in 2026 to check what happens after the hardcoded 2025 end. I expected it to run more or less until 2028, when the 8bit signed variable containing the year offest surpasses 127 and falls into negative dominion.

    And so it did, it crashed in August 2027, while creating the 2028 season.
    The same crash happened when I tried to create a game in 2027.

    Which means:
    1) Even if we removed the 2025 hardcoded message, the games will crash when switching from 2027 to 2028 (I assume this is what Nick wrote a few minutes ago ).

    ----------------------------------------------------

    Then I tried to create a game in 1900/1905/1910... which was impossible. First working year was 1970.
    Then I tried to create a game after 2028 to avoid the variable discontinuity crash... it was impossible as well.
    The game crashed when at 88% of game generation.

    ----------------------------------------------------

    We were not stuck yet. I had another idea. If I could find the place in the save game where the date is stored and how, I could just generate the game in a "working year". Then save, exit, open the save game and move it in whatever year you like. Which I did (the date is right at the beginning of the gndataX.svg file in a quite understandable format, byte 0 is number of seasons, byte 3 4 and 5 is the date: 01 08 60 when you start). I could move the game everywhere in the 256 range of the 8 bit variable.

    But moving it over the 2028 year, means you are falling in the negative range of the variable so that the 2028/2029 season is reset to 1772/1773 (somewhere shown in a funny format). I assume that this is what Nick already found and fixed for v1.37 too.

    Which means:

    1) Even if we removed the 2025 hardcoded message, the games will crash when switching from 2026/2027 to 2027/2028. Even if you could skip the crash, you'll find yourself in 1772/1773 instead of 2028/2029.

    As said, the 1772 issue was already found and fixed by Nick for the v1.37. I think it's the same here... wrong visualization on the main page, on the top right, on the comp history and the closing season date.

    I don't know whether it's worth to go on working on this, Nick. I'm personally enjoying it, but also I have the feeling we are probably going nowhere because of the 2027/2028 crash, the save game hack described above, the WC/EC problem. And my last test finally crashed at the beginning of the 1773/1774 season. This is all becoming very messy and time consuming. Anyway, if you are still enjoing this too and you feel like fixing the dates visualization for v2.00 as well... it could be useful.

    Otherwise, one completely different and promising way... we know the year is kept in an 8 bit variable which is meant to be used from 0 (though it doesn't work very well below 70) to 127 (I mean, as on offset). The offset is summed to a base which, is, obviously, 1900. If we could instruct the game to use a different value as the base (instead of working on the offset), probably we could move the starting year in a better working way.

    Thanks a lot for reading all of this stuff.

  19. #138
    I dont know if I am alone in this but I am really enjoying your tests and investigations!

  20. The Following User Says Thank You to Cam F For This Useful Post:


  21. #139

    Join Date
    18-07-15
    Posts
    738
    if you are still enjoing this too and you feel like fixing the dates visualization for v2.00 as well... it could be useful
    Already fixed that and the hardcoded date with this post:

    Code:
    00037701: 75 EB
    0003783E: F8 E8
    00054A19: F8 E8
    0005757C: BE B6
    0005764F: BE B6
    00057CD7: 7D EB
    ^ Is the patch for 2.0 so that it doesn't quit at the hardcoded date (but it will crash eventually)
    You then get a crash in August 2029 - which I haven't been able to track down yet. I'm assuming although I catch the visualisation overflows where it goes negative, I imagine it's doing it in the code elsewhere too and the negative numbers are causing craziness.

    My next approach is to let the game run and think that it's starting in 1996 - but then change the visualisation everywhere so it says whatever date we want. Just changing the base might be a smart way of doing it! (I was just going to add code to plus and minus the year just before visualisation) I hadn't actually thought of that! Will see how far I get.

  22. The Following 2 Users Say Thank You to Nick+Co For This Useful Post:


  23. #140

    Join Date
    18-07-15
    Posts
    738
    So, with a fresh CM2 2.0 (so without the other patches):
    Code:
    # Make sure we can continue past 30 seasons (not particularly needed - but no harm in adding)
    00037701: 75 EB
    00057CD7: 7D EB
    
    00037841: 6C 84
    0004F59A: 6C 84
    00054A1C: 6C 84
    00057109: 6C 84
    00057172: 6C 84
    00057580: 6C 84
    00057599: 6D 85
    
    # Make it so it's "Season 2020/21" rather than "Season 2020/1"
    000575E6: 74 90
    000575E7: 15 90
    000575EA: 03 02
    000575EB: 75 7C
    
    # Double digit hack (adding 0x18 on)
    00057651: BE 83
    00057652: 64 C2
    00057653: 00 18
    00057654: 00 83
    00057655: 00 FA
    00057656: 89 64
    00057657: D0 7E
    00057658: C1 03
    00057659: FA 83
    0005765A: 1F EA
    0005765B: F7 64
    0005765C: FE 66
    
    000576CE: 6C 84
    0005EE2C: 6C 84
    0005F0A4: 6C 84
    0007A346: 6C 84
    0008030E: 6C 84
    ^ That will change all the visualisation so the game appears to be in 2020 (Even though the game internally is running as 1996). The players birth years all shift too (so the ages are correct, birth years are shifted 24 years forward)

    Seems to work, but need to test more.
    Last edited by Nick+Co; 07-08-20 at 03:21 PM.

  24. The Following User Says Thank You to Nick+Co For This Useful Post:


  25. #141

    Join Date
    18-07-15
    Posts
    738
    https://nic.hopto.org/open/cm0102/CM2Year.zip

    ^ This is a DOS based app - so run it from DosBox with:
    CM2YEAR CM2.EXE 2020

    Will set a CM2 2.0 executable to start in the year 2020 with this new approach. Previous years should work too (like 1992, etc). The ages of all players should be the same as they were in 1996 (but the birth year will appear changed).
    (the very basic source code is included - it just applies the patch from the above post)

    I need to do a lot more testing. But then need to make some apps to build up CM2 data from the CM0102 Data updates

    EDIT:

    I started in 2028 - think this will just run for 30 seasons no issue.

    EDIT2:

    ^ Still a bargain
    (I've also found where I can put multipliers around the contract/value/etc money values)
    Last edited by Nick+Co; 07-08-20 at 06:54 PM.

  26. The Following 3 Users Say Thank You to Nick+Co For This Useful Post:


  27. #142
    Wow Nick, that is really impressive!

    Most members of this forum obviously know how much talented and skilled you are, but what you are achieving on CM2 in just a few days of work is almost unbelievable.

    @CamF: thanks for your nice words, I was afraid I was just buliding some useless walls of text

  28. The Following User Says Thank You to Andrea71 For This Useful Post:


  29. #143

    Join Date
    18-07-15
    Posts
    738
    @Andrea: Your text is very useful! Keep it coming

    Written the code to read & write the player files for CM2 2.0 now (and dump to a CSV so I can check it)



    Already have code to read CM0102 data - now just got to do all the boring code of mapping teams/leagues/player for England.

  30. #144
    Hi Nick, nice to see you're progressing so quickly.

    I have a couple of notes from my memory, if I remember correctly.

    PLAYERS
    -------

    This game supports 3392 players (or something around that).

    The official DB1 files contains much more, around 5700, probably. The game then proceeds to only load 3392 correct players.

    But, when I prepare my own db1 files, if I put more than 3392 players:

    1) sometimes it works fine (3392 loaded players, can't remember how selected).
    2) sometimes it makes disasters (3392 loaded players, many of them with wrong club, dob, nationality etc.)
    3) sometimes the errors are limited to a small subset of players (so that you have errors and the risk not to realize it).

    While writing your new app, you may want to keep an eye on that. Moreover, 3392 players are enough to enjoy the game, but sometimes I have the feeling it would be nice to increase the number of players. As it is now, the tradeoff between putting enough obscure players in third/fourt playable tiers and enough famous players in foreigner non-playable but "buyable" leagues is sometimes challenging. Maybe you can check if an improvement is possible.

    TEAMS
    -----

    The game supports around 1100 teams more or less (clubs + nations). You should be safe up to 1090. A little bit too few in my opinion. (EDIT: not so sure anymore, but I counted 1096 teams in the tmdataX.svg...)

    The game is very sensible about removing teams. Delete the "wrong" club and the game will crash. That may be related to many of them being referred in the exe (but sometimes that happened to me simply trying to rename Real Oviedo <-> Oviedo or Sporting Gijon <-> Gijon), I could never clarify the reason.

    Honestly, I can't remember if this version allows to change the number of clubs for divisions (I think it's 20-24-24-24) or if it crashes if you attempt to do so.

    CRASHES
    -------

    If the exe doesn't like your DB1s, it obviously crashes. This may happen during the game generation (usually freezes) or in the first couple of months of the game (usually crashes back to dos). Often it freezes on the report page between 30 Sep 1996 and 1 Oct 1996.

    Unfortunately, there's a third kind of crash, which is the most common one. For some reason most DBs crashes (back to dos) while seeding the Champions Cup Groups around 25 Aug of a WC year (2002 - 2006 - 2010 - 2014 etc.). Why the ECL seeding of a WC year is obscure to me, so I could very well be wrong, but anyway, the cohincidence is there. In some cases it also crashes when it's not a WC year.
    Usually the crash is stable. If you reload from your last save, it repeats again and again on any new attempts. In other cases the crash is not stable and after reloading, it doesn't happen a second time.

    That means if you want to be sure your DB is ok, running a couple of seasons is not enough. You should run a full 30 seasons test, and probably more than once.

    SUGGESTIONS
    -----------

    Turning the English CM2 exe into an exe for another country is very easy. For instance I changed a dozen strings in the exe (competions names, national adjectives) and turned it into a fully working Italian exe.
    Which means, when you will be done with your tool to convert cm0102 DB into an English CM2 DB1, you could probably generalize it adding the option to select the country of your choice.

    MAYBE. The game is too easy when played with a centralized tactics (and probably direct tactics) and probably there are too many scored goals. MAYBE.
    Last edited by Andrea71; 08-08-20 at 06:02 PM.

  31. #145
    The thing I love about CM2 is the Clive Tydsley commentary, it's quite funky, would be cool if in all your experiments it still stays, I know in the original version for English league it would say actual players names like Cantona tries a shot, does a looping pass...etc


  32. The Following User Says Thank You to Cam F For This Useful Post:


  33. #146

    Join Date
    18-07-15
    Posts
    738
    My first attempt at automating an update from CM0102 data direct to CM2 data:





    Lots of obvious irregularities to clean up - but a good start at least!
    (EDIT3: Updated the team pic as there were some obvious things that needed fixing! So that's the nth attempt )

    EDIT2:

    Getting there...(still need to sort out the leagues)
    Last edited by Nick+Co; 10-08-20 at 08:58 AM.

  34. The Following 2 Users Say Thank You to Nick+Co For This Useful Post:


  35. #147
    How frigging cool.


  36. #148

    Join Date
    18-07-15
    Posts
    738
    Minor update: I got super stuck! kept getting the errors "addname 1" and "genfictplyr 1".

    addname 1 = There are 13000 bytes for storing all the names of everything, and I couldn't believe I was using them all. Well I wasn't, but you're not allowed v.long names. Even though the data file can hold 35 characters, I crop now at 20, 25 (which was the longest name I was pulling) caused this issue.

    genfictplyr 1 = This was all due to Newport County. In the 2.0 data its nation is set to EXTINCT and its not in any division. I was putting it rightly in Division 3 - but it not having England as its nation caused this error.

    Literally took a day to solve the above! But now back on track All major English leagues are in with ~30 players with their birthdates, stats, etc all from the CM0102 2020 update. Seems to be working well. Now just got to update all the other players, get managers right and then do something about the histories......
    ....so a little way to go. But think I've done the hard bit now.

  37. The Following 2 Users Say Thank You to Nick+Co For This Useful Post:


  38. #149

    Join Date
    18-07-15
    Posts
    738
    2nd Minor Update:

    Player Histories are generally in (with some caveats):


    I spent a lot of time yesterday making it so that CM2 could take more than the ~3000 players. Which meant expanding out its data segment, moving the place where it stores names and then changing all the "fixup" tables in the linear executable to point to this new block. It does work - but not as well as I'd like. I thought I could have almost "infinite" players (as its a 32 bit executable) - but still get stuck around the 4000 mark (but at least it doesn't crash - there must be some other barrier where it just stops loading at around 4000).

    The worst culprit is teams - it's very hardcoded to be 1100 teams and that will be tricky to expand (but not impossible). What makes this worse is that you can't have a player history point to a team that doesn't exist. So where players where at Teams that I don't have in the DB, it's just listing the team as "Unknown" in the history.

  39. The Following 2 Users Say Thank You to Nick+Co For This Useful Post:


  40. #150

    Join Date
    18-07-15
    Posts
    738
    3rd Minor Update (for literally the only other 2 people on the planet other than myself that care )





    Foreign league players are now in (with their histories).

    I worked out how to get around properly the ~3400 player limit. Not sure how many I can push it to - currently have 3156 domestic players and 1412 foreign players (4568 total). All with histories.

    The 1100 club limit is still proving hard to get around! But working within it right now (as that's not too bad seeing as there's only English and Scottish leagues to actually play in). Will revisit expanding it soon (spent a day on it so far and didn't get very far!)

    Need to sort out managers next - and the Scottish leagues (not really touched them yet!) then probably have something playable I can upload.

  41. The Following 2 Users Say Thank You to Nick+Co For This Useful Post:


Page 6 of 7 FirstFirst ... 234567 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •