| |||
Views: 88,318,128 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 03-29-24 10:43 AM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 2 guests |
Main - ROM Hacking - Micro Machines - General and Editor | New thread | New reply |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 945/1145 EXP: 3028873 Next: 138241 Since: 07-06-07 From: Québec Last post: 3599 days Last view: 2851 days |
Once again, I decided to step into unknown terrain and explore a game that, to my surprise, have apparently been left alone completely in the hacking world. This game is Micro Machines. I don't know if it used to be a popular game, but I know I spent countless hours on it on a real NES...
This game uses compressed graphics, and the algorithm is more complicated than regular RLE... And again, I guess that it's one of the reasons noone did anything significant with it... I'm not at the point of being able to edit tracks, yet, but that's my goal for now. I successfully exocised the demons and made a decompression algorithm for the graphics, so I end up with a cool matrix of tiles. Each block is made of 6 rows of 6 tiles. This is the graphics matrix for the Jeeps courses, using a fixed, arbitrary palette... That's it for now. If anyone has information that could help, please let us know... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 985/1145 EXP: 3028873 Next: 138241 Since: 07-06-07 From: Québec Last post: 3599 days Last view: 2851 days |
Some news about this game, for those interested. I finally clocked and found that row types are 12 tiles wide, and not 6. So a track part is 12x12 tiles. Each part has 12 row codes. The complete set of 55 track parts of the Jeeps courses is displayed here:
Again, colors are arbitrary. Color mappings are defined in the same data blocks as track parts row definitions. Each data block is 0x16 bytes. The first C bytes are for the row codes, and the remaining is for color mappings. Each quarter of a track part can be divided into 9 squares (2x2 tiles), each of these have their color coded with 2 bits of a byte. So there's actually 9 bytes used for color mapping, so I have no idea about the last byte... Got all that? Some track configurations were found as well, so the editor may become basically functional pretty soon. Stay tuned... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 986/1145 EXP: 3028873 Next: 138241 Since: 07-06-07 From: Québec Last post: 3599 days Last view: 2851 days |
Yes, as predicted, it is very easy to map the tracks and display them in a matrix. One byte = one track part. All tracks are the same size, i.e. 0x400 bytes, 0x20 rows of 0x20 bytes. The first Jeeps track takes less than 25% of the grid, the rest is just floor tiles. There's potential for very cool courses here...
So that's the result so far: Jeeps 1 Track Anyone knows this game? Monologuing is no fun... Mah... Stay tuned, anyway... |
Haz |
| ||
Fuzz Ball Level: 64 Posts: 359/956 EXP: 2119277 Next: 94820 Since: 03-02-10 From: Michigan, USA Last post: 3980 days Last view: 1911 days |
Yes I know the game. Yes it is amazing. Yes you are amazing for making this. Ergo, you are micro machines... that might not be how it works...
Seriously though, I used to love this game, the multi-player mode was great. I'll use this once you finish it, if not to make a hack then just to give it a shot. Keep up the good work. |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 989/1145 EXP: 3028873 Next: 138241 Since: 07-06-07 From: Québec Last post: 3599 days Last view: 2851 days |
Update! Colors are now mapped correctly. The track parts are 12x12 tiles. Each block that defines the 12 row types also have data for palette mappings. Just like any background tiles, it's 2 bits for a group of 4 tiles.
12 X 12 = 144 tiles 144 / 4 = 36 groups of 4 tiles 36 / 4 = 9 bytes 9 bytes are needed to map a track part. The editor is becoming more functional, with a brush selection matrix: Editor with Jeeps 1 Track And an option to export an entire track to an image file. I trimmed the extra floor tiles in these pictures: Jeeps 1 Track Jeeps 2 Track Jeeps 3 Track That's it for now. Any questions? |
Haz |
| ||
Fuzz Ball Level: 64 Posts: 367/956 EXP: 2119277 Next: 94820 Since: 03-02-10 From: Michigan, USA Last post: 3980 days Last view: 1911 days |
Is this on a mac? |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 990/1145 EXP: 3028873 Next: 138241 Since: 07-06-07 From: Québec Last post: 3599 days Last view: 2851 days |
Yes, it's for Mac OS X, you can tell by the style of the window... |
Haz |
| ||
Fuzz Ball Level: 64 Posts: 370/956 EXP: 2119277 Next: 94820 Since: 03-02-10 From: Michigan, USA Last post: 3980 days Last view: 1911 days |
Posted by Trax Yeah that's what I thought, damn. Is there a chance of you making it work on windows as well? |
Naulahauta |
| ||
Red Paragoomba Level: 19 Posts: 24/56 EXP: 30413 Next: 5364 Since: 10-27-09 Last post: 3676 days Last view: 457 days |
^ And if not, would you consider releasing the source once you're done?
EDIT: No whine intended or anything, I'm a macfag too but it'd be great to have shoes on both legs for once :3 (also linux lol) ____________________ oh |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 991/1145 EXP: 3028873 Next: 138241 Since: 07-06-07 From: Québec Last post: 3599 days Last view: 2851 days |
The chances that I'd give any thought about Windows programming is almost zero. I have no knowledge of Windows-based APIs, and I don't want to spend time learning any of them. There are plenty of good Windows programmers out there. However, I don't mind giving any source code or ROM offsets to anyone asking for it... |
Haz |
| ||
Fuzz Ball Level: 64 Posts: 372/956 EXP: 2119277 Next: 94820 Since: 03-02-10 From: Michigan, USA Last post: 3980 days Last view: 1911 days |
I'd like to try, you should definitely make the source code public so anyone with the skill can take this editor for an amazing game and use it on their own OS |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 1001/1145 EXP: 3028873 Next: 138241 Since: 07-06-07 From: Québec Last post: 3599 days Last view: 2851 days |
At last some good news about the editor. I disassembled quite a lot of the ROM, and got many tables deciphered. The computer cars AI is now displayable, the editing will be done eventually. Each tile has a matrix of 6x6 arrows that tells the computer cars in which direction to steer. Direction codes are 4 bits, so 0-F. You get the whole circle with 16 directions...
In the Track Configuration tables (0x400 bytes each), the Tile Codes are defined by bits 0-5, so 0-3F. Bit 6 denotes a 180 degree rotation for each arrow. Note that it's not the arrow's position that changes. Each arrow is rotated and/or transformed individually... Elsewhere in the ROM, there's a transformation equivalence table, that tells what direction code becomes what. You can flip the arrows in any of the four basic planes, i.e., horizontal mirror, vertical mirror, and both diagonal mirrors. That's what Bit 7 is for. Bit 7 means, apply a transformation in this table. Which one? This is defined in yet another table where a 2 Bits code defines what transformation should be done to the Tile's arrows. You can then add the 180 degrees rotation to that with Bit 6. Confused? If you need more info or explanations, email me... Here's what the editor looks like now: The colors overlay is a legend to get an idea of the Tile's attributes. Red = 40 (180 degrees rotation only) Green = 80 (Tile-specific transformation only) Blue = C0 (Tile-specific transformation + 180 degrees rotation) As for the source code, it's as usual. If someone really wants to make a port of some kind or just start working on his own editor, just let me know personally. Also, it would be wise to at least wait until the editor is minimally functional, which is not the case, yet. Stuff is displayed, tiles can be edited, but nothing can be saved... |
Main - ROM Hacking - Micro Machines - General and Editor | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 92, rows: 123/124, time: 0.017 seconds. |