[Close window]

Snowclimber, relocated version

Snowclimber is a nice two players demo game written by Vincent Van Dam some years ago for the "Snowfall Challenge" contest, and it's still available at www.msx.org website. The demo was packaged as a 16K ROM file loading at address $4000. That's bad news if you want to BLOAD this game on your 32K-RAM or 16K-RAM real MSX machine: you simply can't, unless you:
  • 1) check that code+data may simultaneously fit into your RAM memory
  • 2a) get the source code and recompile the game at a different address
  • 2b) if no source code is available, try to debug the machine-language code looking for memory accesses and absolute jumps you want to relocate

Fortunately, Vincent made the source code available to everyone, so we could choose step 2a). Be aware that step 2b) is boring, difficult, time-consuming, prone to errors... if you still need to work this way, I suggest to use an old MS-DOS utility called "DAO", it was meant to recompile MSX games to PC, but may help in this task as well.

Vincent warned me that Snowclimber was originally built to work on emulators, and needed some minor changes to work properly on a real MSX. I will quote my own email:

Game logic/gfx is unchanged, there are just some minor internal changes i.e.:

  1. retouched syntax details (parentheses and/or something more I don't remember) so that I could assemble it under ASMSX 0.12g.
  2. replaced OTIR instructions with a call to subroutine (which works the same as OTIR but with some nops included)
  3. added a couple of nops here and there around some OUT instructions
  4. code origin has set at $C000 address, and $FE/start/end/exec codes have been included in the snowclmb.asm file
  5. bold text is now created byte-by-byte instead of the previous read all / bold all / write all approach
Steps 2), 3) and 4) made the demo BLOADable and running on my real MSX machine. Address $C000 was because I have a 32K-RAM-MSX (Philips VG8010), it should BLOAD even with 16K-RAM.

Step 5) turned out to be a pointless attempt that I made in order for the game not to crash on my real MSX; I left these harmless changes in the game sources.


Hope you enjoy; if you own a less-than-64K-RAM-MSX, please drop me an email to [email protected] to let me know if/how it runs, thanks in advance for your collaboration.

As usual, no guarantee: use this software at your own risk, though I did my best effort to avoid anything harmful. I tested on my own MSX (Philips VG8010 32K RAM) and it still works happily :) Sincere thanks go to the original author, Vincent Van Dam, for his collaboration and permission to publish his software here, you may have a look at the nice Lotus F3 game he created for MSX, togheter with Daniel Vik.