123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- MZM file format: MZX image
- //////////////////////////////////////////////////////////////////////////
- NOTE: These formats have been superceded by MZM3. Please use MZM3 instead.
- //////////////////////////////////////////////////////////////////////////
- This file format is a simple format that describes graphically a
- rectangular area.
-
- b = byte (8bit)
- w = word (16bit)
- d = dword (32bit)
- sN = string of N size (ie N bytes)
- bN = N bytes
- wN = N words
- dN = N dwords
- header:
- pos size description
- 0 s4 "MZMX" tag
- 4 b width
- 5 b height
- 6
- . reserved
- f
- data:
- The data is composed of w * h (width * height) blocks, where each
- block is 6 bytes and contains the following:
- pos size description
- 0 b ID (5 for overlay)
- 1 b param (char for overlay)
- 2 b color
- 3 b under ID (0 for overlay)
- 4 b under param (0 for overlay)
- 5 b under color (0 for overlay)
- MZM2 file format:
- This file format is a simple format that describes graphically a
- rectangular area.
-
- b = byte (8bit)
- w = word (16bit)
- d = dword (32bit)
- sN = string of N size (ie N bytes)
- header:
- pos size description
- 0 s4 "MZM2" tag
- 4 w width
- 6 w height
- 8 d location in file of robot table (0 for no table)
- c b number of robots
- d b storage mode
- e b robot storage mode
- f reserved
- data:
- Width * height cells are then stored.
- In storage mode 0 the cells consist of the following 6 bytes:
- pos size description
- 0 b ID
- 1 b param
- 2 b color
- 3 b under ID
- 4 b under param
- 5 b under color
- All robots are stored with param 0.
- In storage mode 1, the cells consist of the following 2 bytes:
- pos size description
- 0 b character
- 1 b color
- Then, an optional robot table may be stored. The table consists of n
- robots listed in the same order that their representative ID's appear
- in the cell table.
- The robots comply to the MZX 2 world format in mode 0 and MZX 2.80
- save format in mode 1. Reserved fields are in place to retain compatability
- with the MZX 2 world format (and thus can be loaded by an MZX 2 compatabile
- loader)
- If the robot storage mode is 0, the robot data is as follows:
- pos size description
- 0 w program length
- 2 reserved
- 4 s15 robot name
- 13 b robot character
- .
- . reserved
- 29
- . robot program, stored in MZX2 Robotic bytecode format
- ??
- If the robot storage mode is 1, the robot data is as follows:
- pos size description
- 0 w program length
- 2 reserved
- 4 s15 robot name
- 13 b robot character
- 14 w current line
- 16 b current position in line
- 17 b current cycle
- 18 b cycle total
- 19 b bullet type
- 1A b locked status
- 1B b lavawalk status
- 1C b walking direction
- 1D b last touched direction
- 1E b last shot direction
- 1F
- . reserved
- .
- 23 b status
- 24
- . reserved
- .
- 27 loop counter
- 29 d32 local counters
- 49 d stack size
- 4D d stack pointer
- 51
- . stack (stack size bytes)
- ??
- . robot program, stored in MZX2 Robotic bytecode format
- ??
|