Page 6 of 6 FirstFirst ... 23456
Results 126 to 143 of 143

Thread: CM 2 - Downloads

  1. #126

    Join Date
    03-03-12
    Posts
    2,900
    vCash
    7500
    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
    726
    vCash
    0
    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
    624
    vCash
    500
    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
    726
    vCash
    0
    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

    Join Date
    07-03-17
    Posts
    720
    vCash
    1700
    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
    726
    vCash
    0
    @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

    Join Date
    07-03-17
    Posts
    720
    vCash
    1700
    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
    726
    vCash
    0
    @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

    Join Date
    07-03-17
    Posts
    720
    vCash
    1700
    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
    726
    vCash
    0
    @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
    726
    vCash
    0
    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

    Join Date
    07-03-17
    Posts
    720
    vCash
    1700
    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

    Join Date
    03-03-12
    Posts
    2,900
    vCash
    7500
    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
    726
    vCash
    0
    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
    726
    vCash
    0
    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; Yesterday 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
    726
    vCash
    0
    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; Yesterday at 06:54 PM.

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


  27. #142

    Join Date
    07-03-17
    Posts
    720
    vCash
    1700
    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. #143

    Join Date
    18-07-15
    Posts
    726
    vCash
    0
    @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.

Page 6 of 6 FirstFirst ... 23456

Posting Permissions

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