Jump to content
IGNORED

Reversing ROMs


CV Gus

Recommended Posts

So far, I've had some luck altering the appearance of certain games, most noticeably Omega Race and Boulder Dash. I'd actually like to get them put on cartridge.

 

 

This is done using Hex Edit, and some logical guesswork. But I have NO IDEA how to find the parts that determines Screen Color (except by trial and error) or SPRITE COLORS. Can anyone help me here?

 

 

I'm also trying to alter the look of Frogger, but have had zero luck with the alligator's color.

 

 

THE most important thing, though, would be a way to take a ROM and instead of a series of hexadecimal numbers "re-translate" it back into something one can actually read. For example, I'd like to make Mr. Do! a two-color character by adding a new sprite, but a jumble of numbers tells me nothing.

 

Thanks in advance!

 

 

 

post-11032-0-67957000-1475089863_thumb.png

post-11032-0-93459800-1475089909_thumb.png

Link to comment
Share on other sites

Altering colors is probably the easiest thing aside from taking out the "55 AA" header in a Colecovision ROM. The TI graphics processor can only do 15 colors and transparent (16 total). These are numbered... wait for it... 0 through 15 (albeit in hexadecimal, which becomes 0 through F). As I mentioned in your other thread, Dr. D had this in plain view on his site, but it's also all over the internet, as the TI processor was used in many machines.

 

That said, all you have to do is open a hex editor and look for the color that you see displayed. The 3 shades of green are difficult to discern, so look for something easy, like the "dark red/brown" color listed as "60" or "06" (if it were combined with a transparent color).

 

I just checked out the Wikipedia article for the "TI TMS9918 Graphics Processor" and looked at the article references at the bottom. You'll find there is a link to the Programmer's Guide. The hex codes for color are listed in section 2.3 (screenshot attached).

 

Take Coleco's Donkey Kong for instance. All of the girders on screen one are made up of tiles, that are made up of 2 colors (looks like one, right?). The two colors are a.) transparent (code "0") and b.) magenta (code "D"). Combined, these make a hex code of:

 

0D (or D0)

 

Open the ROM in a hex editor and do a simple search for "0D" and you're off on the right foot.

 

Good luck!

 

EDIT: I know I addressed tile colors, and you asked for screen colors and sprite colors, but the rules of the color codes still applies for sprites. For background (screen) color, I've noticed it's not always as straight forward, and I've had to do some poking around.

post-28334-0-57424100-1475092950_thumb.png

Edited by phattyboombatty
Link to comment
Share on other sites

Well, I already know about hexdecimal and CV colors, and the Omega Race screenshot shows that I can change screen color using trial and error- but since certain color coding could appear in three or even four ways, there could be a couple of hundred such numbers; surely there's a more efficient way of doing it?

 

I'm currently redesigning the Amoeba in Boulder Dash so it can be multi-colored, but I have not yet figured out how colors are changed from screen to screen yet. Obviously it is not simply by a new set of numbers. In Frogger, I've made the logs and vehicles look better, but still haven't tracked down the alligator's colors; the only ones that look like they might have nothing to do with it- is it even a custom character, I wonder, or a sprite, as unlikely as that might seem? The only way to get the frog to look better is with an extra sprite, as in Mr. Do!

 

Even now, I much prefer "my" version of Boulder Dash to the regular one. Likewise Omega Race. CV Centipede would require shifting the works to Mode 2 and then figuring out how to code in the colors, which would be more extensive.

 

 

Now, how does one "disassemble" a ROM? Can it be done in a way that Newcoleco's software can change it back into a ROM again? Or would the disassembler do this too? Where would I get the software? And where are instructions for coding CV games in C, like what Newcoleco's programs use?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...