Jump to content
DeputyMoniker

Extracting sprites from ROM's?

Recommended Posts

I need the character sprites from Burgertime. How would I extract them from a ROM? (or is there an easier way to do it?)

Edited by DeputyMoniker

Share this post


Link to post
Share on other sites

It depends on what you want to do with them.

 

To be honest, it may well be easier to just play the game in an emulator and take screenshots. Reproducing them in any graphics editing program would be pretty trivial. If you want them in actual machine code, or formatted for IntyBASIC, it wouldn't take more than a few minutes of work to bang out the bit patterns.

 

Unless someone's actually disassembled Burgertime, in which case that might be a smidge easier. If not... "sprite data" is just data in a ROM. It's not labeled or really specified in any way. So you'd need to take the game apart to figure it out anyway.

 

It's always possible to load the ROM code up in a hex editor and display each byte as binary 1s and 0s (or Xs and Os, or whatever you like) and see if you can spot the sprite data that way, but again it depends on how clever the programmer got with it. Sometimes it's sorta obvious, but often it's not. Especially when they're using multi-layer sprites like Burgertime (you'd need to ferret out each layer separately).

 

The long and the short of it is, it's almost certainly easier to just re-create them yourself by hand, unless someone's already done all the work for you.

Edited by freeweed

Share this post


Link to post
Share on other sites

It depends on what you want to do with them.

 

To be honest, it may well be easier to just play the game in an emulator and take screenshots. Reproducing them in any graphics editing program would be pretty trivial. If you want them in actual machine code, or formatted for IntyBASIC, it wouldn't take more than a few minutes of work to bang out the bit patterns.

 

Unless someone's actually disassembled Burgertime, in which case that might be a smidge easier. If not... "sprite data" is just data in a ROM. It's not labeled or really specified in any way. So you'd need to take the game apart to figure it out anyway.

 

It's always possible to load the ROM code up in a hex editor and display each byte as binary 1s and 0s (or Xs and Os, or whatever you like) and see if you can spot the sprite data that way, but again it depends on how clever the programmer got with it. Sometimes it's sorta obvious, but often it's not. Especially when they're using multi-layer sprites like Burgertime (you'd need to ferret out each layer separately).

 

The long and the short of it is, it's almost certainly easier to just re-create them yourself by hand, unless someone's already done all the work for you.

my original way i made them i looked at the screen and drew each pixel to make some pics. Later on i just used the screen captures to do it. No need to make your own cause the internet already has them. I used them to make a burgertime intellivision brotherhood crest and a pic for intellivisiondude.

 

this is correct size

post-30773-0-79395400-1427695260_thumb.png

 

this one is enlarged

post-30773-0-19758000-1427695610_thumb.png

 

Edited by pimpmaul69

Share this post


Link to post
Share on other sites

Does hw zooming affect the way data are stored in rom ?

Does it work on line by line basis ?

 

The tiles in GRAM and GROM are 8x8 or 8x16, with a single bit per pixel to indicate on or off. The hardware zoom effect just doubles / quadruples / octuples the pixels by repeating them. The hardware mirroring just flips the image horizontally or vertically.

 

Many game sprites are made by overlaying multiple MOBs, to give the characters more colors, and maybe push them beyond an 8x8 or 8x16 mold. The chef in Burger Time, wizards in Thunder Castle, Duncan in Thin Ice, the farmer in Worm Whomper, your car in Bump 'N Jump, and so on are examples of using multiple MOBs to create a multi-color character.

 

(Ok, technically, the tiles in GRAM/GROM are 8x8 only, but you can set a MOB to 8x16 mode, in which case it grabs two consecutive GRAM/GROM tiles to form its image. The upper 8 rows must come from an even-numbered tile and the lower 8 rows must come from an odd-numbered tile.)

Edited by intvnut

Share this post


Link to post
Share on other sites

 

The tiles in GRAM and GROM are 8x8 or 8x16, with a single bit per pixel to indicate on or off. The hardware zoom effect just doubles / quadruples / octuples the pixels by repeating them. The hardware mirroring just flips the image horizontally or vertically.

 

Many game sprites are made by overlaying multiple MOBs, to give the characters more colors, and maybe push them beyond an 8x8 or 8x16 mold. The chef in Burger Time, wizards in Thunder Castle, Duncan in Thin Ice, the farmer in Worm Whomper, your car in Bump 'N Jump, and so on are examples of using multiple MOBs to create a multi-color character.

 

(Ok, technically, the tiles in GRAM/GROM are 8x8 only, but you can set a MOB to 8x16 mode, in which case it grabs two consecutive GRAM/GROM tiles to form its image. The upper 8 rows must come from an even-numbered tile and the lower 8 rows must come from an odd-numbered tile.)

if i am correct doesnt the 8x16 get squished into the size of an 8x8 creating "half height pixels"? Ie: the characters in christmas carol

Share this post


Link to post
Share on other sites

if i am correct doesnt the 8x16 get squished into the size of an 8x8 creating "half height pixels"? Ie: the characters in christmas carol

 

MOBs can indeed have half-height pixels as compared to the BACKTAB. The bit pattern is still 8x8 or 8x16, but the displayed height is equivalent to 8x4 or 8x8 pixels of BACKTAB.

 

EDIT: Just to be clear, MOBs have separate horizontal and vertical zoom levels, and one of the vertical zoom levels gives half-height pixels. Most BACKTAB pixels take up two scanlines in a field, while half-height MOB pixels take only one scanline per field. That's why I say MOBs can have half-height pixels. They're not required to, though.

Edited by intvnut

Share this post


Link to post
Share on other sites

 

 

To be honest, it may well be easier to just play the game in an emulator and take screenshots.

 

 

I think that's what I'll do. I'm going to need sprites from other games and other systems, and this has to be the easiest way to do it.

Thanks!

Share this post


Link to post
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.

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...