Points of Required Attention™
Smaghetti, a new Super Mario Advance 4 editor, is currently in development! Check out the thread HERE!

Please chime in on a proposed restructuring of the ROM hacking sections.
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
Posted on 03-06-10 07:09 PM Link | Quote | ID: 128097


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
Posted on 07-18-10 06:16 AM Link | Quote | ID: 133088


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
Posted on 07-22-10 04:04 AM Link | Quote | ID: 133274


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
Posted on 07-22-10 05:40 AM Link | Quote | ID: 133276


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
Posted on 07-25-10 08:51 AM Link | Quote | ID: 133374


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
Posted on 07-25-10 11:07 PM Link | Quote | ID: 133394


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
Posted on 07-26-10 01:21 AM Link | Quote | ID: 133401


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
Posted on 07-26-10 01:40 AM Link | Quote | ID: 133403


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
Yes, it's for Mac OS X, you can tell by the style of the window...

Yeah that's what I thought, damn. Is there a chance of you making it work on windows as well?

Naulahauta
Posted on 07-26-10 01:47 AM (rev. 2 of 07-26-10 01:49 AM) Link | Quote | ID: 133404


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
Posted on 07-26-10 05:45 AM (rev. 2 of 07-26-10 05:46 AM) Link | Quote | ID: 133411


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
Posted on 07-26-10 05:49 AM Link | Quote | ID: 133412


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
Posted on 08-14-10 09:32 AM Link | Quote | ID: 134329


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

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.024 seconds. (340KB of memory used)
MySQL - queries: 92, rows: 123/124, time: 0.017 seconds.