Wanted! Monty Mole

Version : ZX Spectrum

NOTES
 
Room 2C
  Room 2C is not compiled the same way as the other rooms:
The room layout is held at address F14B
e
ach byte represents one tile.
The colour layout is held at CF54.
The tile graphics are held at address 7C00
Montys start position is hard coded at address
CD5F
(Y), CD60 (X).
 
Y coords
  Monty Mole does not use normal coordinates in the Y axis.
Counts from the bottom, up.
First point equals 20h and counts up to ADh.
 
Sprites
  All animated sprites are 4 frames.
 
Killers
  Each object can either be stationary, by setting the velocity to zero
Alternately if the status has been set to 2 then the object will move in one direction for the allotted time, and then be disabled.
When killer objects are disabled, during game play, they are not deleted.
The best way is to make another killer object appear over the top which will then erase the original.
All objects, even static ones, must have a direction.
 
Crusher
  Crusher bitmap starts at 8E7Ah
But is changed to 8E80h when moving up.
This shifts graphic to include extra blank spaces at bottom of bitmap, which saves deleting bitmap each time.
 
Sliding Floors
  Sliding Floors are made up of two sections, left and right.
If a position of zero is given to both X & Y then the floor is omitted.
The right hands' length is equal to the left hand section.
Therefore the right hand sections start position must be double the difference between the start and end of the left hand section.
 
Hard coded data
  Some information has been hardcoded into the program.
 
Monty Mole
  When starting in room 2C, monty's start position is held at CEA1h
 
Water
  Rooms 08, 09, 0A & 0B all have some animated water.
This is a bitmap (7C00h) and is rotated using routine (8F9Fh)
 
Walls
  A flag (F7D1h) decides whether certain rooms have a blocking wall or not.
This is handled by routine (F6A7h) which follows the following rules:
 
FLAG (F7D1h)
BIT ROOM COALS NEEDED
0 14 40
2 not 14 40
3 0F 30
4 0B 20
5 06 10
  Everytime the right number of coals has been collected when reaching the right room the corresponding bit is set.
However bits 2-5 need to be set before the last wall in room 14 disappears.