Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Motocross Maniacs/Notes
Jump to navigation
Jump to search
Motocross Maniacs | |
Internal Name | xxx |
Region Code | xxx |
Type | Grayscale Game |
SGB Support | xxx |
Cartridge Type | xxx |
License Code | xxx |
ROM Size | xxx |
ROM Checksum | xxx |
SRAM Size | xxx |
Header Checksum | xxx |
The goal of these notes is to provide enough elements for someone to build a basic level editor. The ROM only contains 2 banks!
Level data
General idea
The track of levels 1 to 8 are simply a sequences of track objects, such as ramps, bumps, etc. Below is the level 1 track: floor, small triangular ramp, floor, etc.
A track object is an array of metatiles, where each metatile is itself a 2x2 array of regular 8x8px tiles. Below is a small triangular ramp object: it's made of 4 metatiles (each in a different color), and each metatile is made of 4 tiles.
Track data
Track data structure
In the ROM data, a track is a sequence of 3-byte words YY XX ZZ: * ZZ = objectID * YY XX = coordinates from top left of the level Below is a sample of level 1 data, with 3-byte word highlighted. The first floor object (ID=x0F) is at (x00,x00), the second small triangular ramp object (ID=x0E) is at (x0A,x01), etc.
Track data location in ROM
* 0x4760-0x476F - table of 8 pointers to the 8 tracks * 0x4770-0x4908 - track 1 data * 0x4909-0x4AE3 - track 2 data * 0x4AE4-0x4C8E - track 3 data * 0x4C8F-0x4E9C - track 4 data * 0x4E9D-0x5062 - track 5 data * 0x5063-0x52A0 - track 6 data * 0x52A1-0x54C0 - track 7 data * 0x54C1-0x56CB - track 8 data Note that each chunk of track data ends with xFF.
Track object data
Track object data structure
In the ROM data, a track object is defined by a sequence of bytes XX YY AA BB.... * XX YY define the metatile array's dimensions: XX rows and YY columns. * AA BB... are the metatileIDs that will fill the array, one line at a time. Below are the first two objects of level 1: a floor object, followed by a small triangular ramp object. * The floor object is a row of x0A metatiles with ID x09. * The small triangular ramp object is a 2x2 array of metatiles x0A, x0B, xC and x0D.
Item data
Item data structure
Items are the various power-ups you can collect throughout a level: N for Nitrous boost, T for tires, S for speed, etc. They are placed on
Item data location in ROM
* 0x5EAB-0x5F0A - table of 8 pointers to item data for each of the 8 tracks * 0x5F0B-0x4908 - track 1 data * 0x5F54-0x5F90 - track 2 data * 0x5F91-0x4AE3 - track 3 data * 0x5FBF-0x4C8E - track 4 data * 0x5FF9-0x4E9C - track 5 data * 0x603C-0x5062 - track 6 data * 0x60AD-0x52A0 - track 7 data * 0x6079-0x54C0 - track 8 data Note that each chunk of item data ends with xFF.