Monty On The Run with SID sound

Hello all,

sometimes in the middle of November 2021 I ventured into an unexpected but for me most awaited and new journey I probably ever undertook on ZX. MB03+ and eLeMeNt ZX were given SID implementation. SID is one of the most famous sound chips in an 8 bit computer era. It was the one I always dreamt of to have inside my ZX. David Whittaker said, SID was the first popular synthetiser.

So I could not have resisted and took one of the most famous SID tunes and remade it for ZX and embeded it in the ZX game, Monty On The Run (further reffered to as MOTR).

Important!! You will hear the SID sound in MOTR on MB03+ or eLeMeNt ZX, only!!!. Both devices described on

Why I chose MOTR?
1) MOTR is a classic.
2) It won an award as the best platform game of 1985 at the time.
3) Rob Hubbard is classic.
4) (Now,this is the true reason). Simply, disassembled code for MOTR was available which was the main driving force to remake MOTR. The C64 commented source is here:

As a source I took a SID file with MOTR, it contained 3 tunes+ 15 sound effects.

What to load on ZX?
You can load the TAP files either in Divide or DivMMC modes, or extract them on MB03+. These are the runnable files in the package you will want to load into your ZX machine:

INTRO.TAP: intro- I recommend to load it first. There is basic info+ some extras for you
MOTR_CHEAT.TAP: game cheater. Load it if the game is too difficult for you
MOTR_SID.TAP: game itself. Load it if you do not want to cheat.
MOTR_ORIG.TAP: original ZX game

The game and SID sound
Game controls are either Kempston joystick or keys 6-0.

I tried to keep as close to C64 original as possible. But sometimes I had to improvise. The SID file contains 15 sound effects, but in the game I located only 12. Most probably 3 of them were not used in the game at all. They are effects nr. 9, 14 and 18. I decided to use them anyway, and placed them in the game on my own decision. I placed one to the game finish, one as a teleporter's sound, and the last as Monty's kit selection sound in the game very start. Blame me or not, it would be a shame not to use them, if they were available, wouldn't it?

If you press "1" anywhere in the game, it toggles sound behaviour. I created this feature, despite being a music lover, because listening to the music all over again can be very tiring. So:

BLUE BORDER- mutes the sound completely, so that you can focus on the pure gaming
RED BORDER- sound effects only- all sound effects are deployed here, and I recommend to pick this one to enjoy fully the sound acompanying the game
GREEN BORDER- only music will be playing
MAGENTA BORDER- music and selected sound effects are deployed. Why selected sound effects? If all sound effects were used with music, than probably you would hardly hear any good music, which then would be constantly interrupted with effects.

In the cheater, "R" runs the game. If you keep it pressed, it shows game version after a while. Current version is 1.

Tools I used:
VICE C64 emulator
SID edit- an excellent tool for looking around inside SID file.

My big thanks go to the following people. They provided me either with real advice or moral support. I hardly could finish the work wihout their help:

NEO Spectruman- for his excellent SID player which brought us all a lot of energy to start doing things about SID on ZX Spectrum

SCJoe- he pointed me out to Monty On The Run disassembly and gave some courage to start. He also did final testing.

LMN- for adding SID chip support to eLeMeNt ZX and MB03+. For final SID sound testing. He also did final testing.

Busy- for getting me acquainted with C64 assembly language, seeking errors in final code and giving advices about the game behaviour.

Velesoft- for the game behaviour consultation.

Lanex- for preparing such a beautifull picture slideshow in INTRO. He also did final testing.

Maniac of Crux- for the intro MOD music

PCH from C64 scene- for giving me basic info about SID, for testing assembly code of MOTR and other useful advices

Comos from C64 scene- for finding his free time and helping to locate some missing sound effects in the game.

Personal impression
With big relief in my heart, I release this work. In principle very easy to do. Ie. Convert player routine from C64 to Z80, then implement it. In reality, terrible heaps of work.

First I had to rewrite C64 player code routine for ZX. Once I made the new player code playing on the ZX, I had to extract sound effects. Then I took the whole and embedded it into game, wchich meant also: rewrite the IM2 routine behaviour, find all trigger points for 3 tunes and 15 sound effects, slow down lift's motion, slow down ship motion, speed up Monty's teleportation, etc, etc, etc.

Surprisingly, I did not get fed up with all that music and sound effects that I had to listen to hundreds of times. I am already looking forward to playing the game from the very start.

Hood 18.3.2022