Author Topic: Remove Background to capture sprites only for NES games?  (Read 47876 times)

0 Members and 8 Guests are viewing this topic.

Offline snesmaster

  • Full Member
  • ***
  • Posts: 181
Remove Background to capture sprites only for NES games?
« on: June 20, 2008, 01:08:15 pm »
Hi, I would like to be able to capture Sprites (like enemy graphics) from NES games.  The only problem is you have to take the time to try to remove the background from them.  Also sometimes you can't tell where the sprite ends and the background begins.  Especially if the enemy sprite has black in it and it is on a black background.



Is there a way to turn off the background layer?  I use fceu-0.98.12.win and that lets me turn off the sprites with "F4" but I can't figure out how to turn off the Background if it lets you.  Also turning off the background is not enough.  I need something so I can change the color of the background to like solid Pink so I can easily remove the background from the enemy sprites.



Thanks for any help on this subject.

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
RE: Remove Background to capture sprites only for NES games?
« Reply #1 on: June 20, 2008, 01:29:37 pm »
Using SHIFT + F4 will remove the background and leave on the sprites. Only as you feared, everything is replaced by black, which is a color used in many sprites, so someone would have to hack in that option. From checking FCEUltra's site, development is apparently still alive, albeit limited at the moment. You could try asking the coders there to include such an option.



At the moment, I usually use FCEUXD, a port of FCEUltra with a lot of extra debugging features included, among them the ability to see all the sprites and background tiles in memory. They won't be the right colors of course, but you'll at least see where the border of a sprites are, in addition to being able to fully see tiles that are sometimes only partially visible on screen.



Hope that helps a little :)



---

Current projects: Ristar-The Shooting Star (Gen), Sonic The Hedgehog (Gen), Sonic CD (Sega CD), Mega Man Zero (GBA), Battletoads (NES), Bucky O'Hare (NES)
Current project:
Mega Man: Powered Up (PSP)

Offline snesmaster

  • Full Member
  • ***
  • Posts: 181
RE: Remove Background to capture sprites only for NES games?
« Reply #2 on: June 21, 2008, 05:05:39 am »
Thanks the Shift F4 works for removing the BG, and I sent an e-mail to the developers to see if they would make the color black customizable.

Offline vorpal86

  • Full Member
  • ***
  • Posts: 208
RE: Remove Background to capture sprites only for NES games?
« Reply #3 on: July 28, 2008, 11:14:28 pm »
Hey guys. I could say that if you need to capture a sprite that has like a black outline or is mostly black. One of the easiest ways, when available is to snapshot the screen while the dark sprite is on a lighter color.



As far as I know, the NES only uses 2 layers, the sprite layer and the bg layer unless any multiple layers are programmed in by the game designers. Games like Ninja Gaiden 2 Train Level, Battle Toads levels etc.



Unlike the SNES and Genesis having multiple layers its easier with those system emulators. One thing I'd like to see in a future version of Zsnes or Snes98, is a way to when taking a snapshot of the screen, you could either take a regular snap, or take a snap of the entire level in memory. THAT would be extremely handy for us mappers. :)

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
RE: Remove Background to capture sprites only for NES games?
« Reply #4 on: July 29, 2008, 02:33:25 pm »
Heck, I've gotten so used to Visual Boy Advance's Map Browser that I find most other emulators really limiting in terms of mapping.



I remember there being an old DOS utility that could display and export the various layers in memory from a SNES savestates called BgMapper. It's usable but not that impressive since most of the time there's only a little portion of a stage loaded in memory at any given time, except for games using Mode 7 like F-Zero in which case a large portion is usually visible.



Thanks to Maxim, we now have a customized version of Gens KMod which allows us to change the overscan color so that when removing layers, the "empty" color will be something easy to remove instead of more black (I like to use a purple that can't be used by the Genesis so I'm certain that I can remove it without a second thought).



---

Current projects: Ristar-The Shooting Star (Gen), Sonic The Hedgehog (Gen), Sonic CD (Sega CD), Mega Man Zero (GBA), Battletoads (NES), Bucky O'Hare (NES)
Current project:
Mega Man: Powered Up (PSP)

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Remove Background to capture sprites only for NES games?
« Reply #5 on: July 30, 2008, 05:31:46 am »
The thing to realise is that on older systems, there wasn't much of a virtual world outside the visible screen area most of the time. On the Master System, the "map" is 256x224 pixels, compared to a 248x192 screen. On the Mega Drive, they're either 512x512 or 1024x256 pixels with a screen size of 256x224 or 320x224. So the CPU spends a lot of time drawing off-screen, and the "map" is still often only a smallish window onto the game world.



Regardless, being able to dump the map image would still be helpful a lot of the time.

Offline DarkWolf

  • Hero Member
  • *****
  • Posts: 640
RE: Remove Background to capture sprites only for NES games?
« Reply #6 on: July 31, 2008, 08:25:57 am »
Since vgstitch didn't work out too well (at least I never found it very useful), I was thinking of writing some GUI image tools.  One of them would be a diff for images.  That would help in ripping sprites that are on static backgrounds.

Offline Revned

  • Hero Member
  • *****
  • Posts: 1094
RE: Remove Background to capture sprites only for NES games?
« Reply #7 on: July 31, 2008, 09:10:33 am »
That would indeed be useful. Can't believe I never thought of it....

Offline dammit9x

  • Newbie
  • *
  • Posts: 16
RE: Remove Background to capture sprites only for NES games?
« Reply #8 on: August 04, 2008, 04:57:11 pm »
New version of FCEUX (2.0) has separate controls sprite and background display:

http://tasvideos.org/forum/viewtopic.php?t=7137



This version unifies the features of FCEUXD and fceu rerecording, which we use for making TASes. By the way, the original developer of FCEU quit long ago, so this really is the official version, not a fork.



If you want to request making the BG color customizable, now is the time. The coders are active and paying attention.


Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
RE: Remove Background to capture sprites only for NES games?
« Reply #9 on: August 04, 2008, 05:21:47 pm »
I don't know how old my version of FCEUXD is, but I never completely switched to it as my main NES emulator mostly because the emulation was far from smooth, with chopped sound and poor framerate. I'll be sure to give FCEUX 2.0 a try :)



---

Current projects: Ristar-The Shooting Star (Gen), Sonic The Hedgehog (Gen), Sonic CD (Sega CD), Mega Man Zero (GBA), Battletoads (NES), Bucky O'Hare (NES)
Current project:
Mega Man: Powered Up (PSP)

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
RE: Remove Background to capture sprites only for NES games?
« Reply #10 on: August 04, 2008, 09:25:56 pm »
Well, I've tried it and so far it's exactly what it claims to be: a "best of" of all the best features from all the ports and variations of FCE Ultra.



Though allow me to bitch at the fact that they changed the savestate format and all my existing savestates are thus rendered useless with it >:(



---

Current projects: Ristar-The Shooting Star (Gen), Sonic The Hedgehog (Gen), Sonic CD (Sega CD), Mega Man Zero (GBA), Battletoads (NES), Bucky O'Hare (NES)
Current project:
Mega Man: Powered Up (PSP)

Offline dammit9x

  • Newbie
  • *
  • Posts: 16
RE: Remove Background to capture sprites only for NES games?
« Reply #11 on: August 14, 2008, 08:15:12 pm »
New version, support for old savestates is restored:

http://tasvideos.org/forum/viewtopic.php?p=175197#175197



This is a little older, but the new rerecording Gens has working savestate support for Sega CD. So Sega CD games should be easier to map now.

http://tasvideos.org/forum/viewtopic.php?p=173509#173509

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
RE: Remove Background to capture sprites only for NES games?
« Reply #12 on: August 14, 2008, 08:48:50 pm »
Now all that's needed is Maxim's custom Kmod applied to the new Gens and we get the best of everything!



And thanks for mentioning the savestate thing! You have no idea how much I loathed the idea of playing through all the games I've already done savestates for!



---

Current projects: Ristar-The Shooting Star (Gen), Sonic The Hedgehog (Gen), Sonic CD (Sega CD), Mega Man Zero (GBA), Battletoads (NES), Bucky O'Hare (NES)
Current project:
Mega Man: Powered Up (PSP)

Offline dammit9x

  • Newbie
  • *
  • Posts: 16
RE: Remove Background to capture sprites only for NES games?
« Reply #13 on: August 14, 2008, 09:29:41 pm »
Oh, so they did. Maybe it's been there since 2.0. For those who can't find it, look in the config file for a line called gNoBGFillColor. Change it to, e.g, 100 for a bright pink BG.

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Remove Background to capture sprites only for NES games?
« Reply #14 on: August 15, 2008, 03:04:41 am »
TerraEsperZ Said:
Now all that's needed is Maxim's custom Kmod applied to the new Gens and we get the best of everything!



And thanks for mentioning the savestate thing! You have no idea how much I loathed the idea of playing through all the games I've already done savestates for!



*EDIT*



NO. WAY. THEY ADDED AN OPTION TO CHOOSE THE BACKGROUND FILL COLOR!!!



---

Current projects: Ristar-The Shooting Star (Gen), Sonic The Hedgehog (Gen), Sonic CD (Sega CD), Mega Man Zero (GBA), Battletoads (NES), Bucky O'Hare (NES)

I might see if I can contribute it to their project - it's nothing to do with TAS but it'd be good to benefit from the other stuff (it seems they make it possible to map any key for screenshots, for example).