Some time ago I wrote a tool in C# to convert arbitrary images to be displayed in NES demos etc. I thought I'd share some of the images I've converted using it (most found from the interwebs). The tool isn't completely automatic, it requires preprocessing in Photoshop/some other image editor.

The above image was captured from Nestopia with NTSC filter turned on, although I had to manually blend the "interlace" frames together in Photoshop because GIF can't animate fast enough. It's pretty close anyways.

The images are "bitmapped", i.e. CHR bank is switched 3 times while rendering. Nametable is also switched every 8 scanlines for 16x8 attribute area. Sprites are overlayed on top for more detail, with varying results. Also (in some images) a different image is displayed every two frames for bigger (pseudo)resolution. Total amount of data per image is about 20KB, twice that for interlaced ones. Some of my personal favourites are "cry", "hui", "hui2", "kompovoittaja", "koopa", "luut", "testi" and "woo". "testi" is special, it has slower flicker rate to give it a 3D feel.

There are 35 images in the pack. Nestopia is preferred. Some images are NSFW.

I should note that the ROMs when loaded in Nestopia with its Region option set to "Auto" (the default) do not appear to work correctly -- they appear to resort to NTSC. Forcing PAL in the emulator fixes it.

The problem is that the header on the ROMs is incorrect. Taken from angel2.nes, file offset 0:

I should note that the ROMs when loaded in Nestopia with its Region option set to "Auto" (the default) do not appear to work correctly -- they appear to resort to NTSC. Forcing PAL in the emulator fixes it.

Thanks, I didn't know Nestopia checks (and honors) that flag. Not going to update the zip right now though.

Quote:

EDIT: The Famitracker playback code apparently automatically detects an NTSC or PAL console; possibly you could use the same technique to ensure that the ROMs work on both regions?

Yeah I'll probably do that when I get around to polishing the code. Pornotracker iNES player does the same.

Well I see your passion for girls is still as intense. (and 60's supposedly herotic stuff isn't my thing but oh well everyone likes different things)

The quality of images is really breathtaking ! It remembers me a C64 utility that was called Project One (if I remember well....) that could convert any pic to be displed on the C64, and it was similar. I worked also wonder with hentai-ish pics, not so well with real pics.

Why are some pics flicering (well a good half of them actually) ? I prefer the still ones. Are they supposed to be interlaced ? If so it'll only work on modern displays (like mine) but then you have 1/2 chances of having lines reversed, how can you prevent that ?

Of if they aren't supposed to be interlaced, but are supposed to average the colors, then I beg you to give up this idea. Batman's intro looks horrible on all displays I tried it on (interlaced and not, emulated and not), I don't want this error to be repeated.

But yeah the quality is really awesome ! Hard to imagine you had to work with the limiations of the NES, which are complex to handle, as opposed to the limitatoins of the C64 which doesn't have this attribute table thing.

_________________Life is complex: it has both real and imaginary components.

The quality of images is really breathtaking ! It remembers me a C64 utility that was called Project One (if I remember well....) that could convert any pic to be displed on the C64, and it was similar. I worked also wonder with hentai-ish pics, not so well with real pics.

Thanks! I also think the result are decent. I've also used Project One (trivia: it's called that because it's made in Visual Basic and the default project name is Project1 ).

Quote:

Why are some pics flicering (well a good half of them actually) ? I prefer the still ones. Are they supposed to be interlaced ? If so it'll only work on modern displays (like mine) but then you have 1/2 chances of having lines reversed, how can you prevent that ?

Of if they aren't supposed to be interlaced, but are supposed to average the colors, then I beg you to give up this idea. Batman's intro looks horrible on all displays I tried it on (interlaced and not, emulated and not), I don't want this error to be repeated.

Yeah it's supposed to average the colors, there's no way to combat that 50%/50% problem to display a real 256x480 interlaced image and even then, like you said, it would only work on modern displays.

I was aiming for "average the colors" with flickering (I have source images which are 512x240 or 256x480)... so it basically simulates resampling 512x240 or 256x480 image to 256x240. That's what I mean with "pseudo resolution". Personally I like the effect, but I guess it's not for everybody.

I think Batman is little bit different though, in most of these images the flicker effect is quite subtle (large pixel areas usually stay static) whereas in Batman it flickers between two completely different screens. I'm not fan of that intro either.

Now this is all very beautiful, and I'm pretty sure you might have considered this idea, but as a challenge do you think you would be able to pull off a water ripple effect with the dithering? Maybe you can find an image of someone looking at their reflection in a puddle or something.

Well, I think one should never make something blinking if it's not supposed to flicker.

For example, if your hero is invincible after getting hit, make him flicker. If you want to add a cool effect to animated fire, make it flicker. But, by all means, if you want something to be transparent or some way to average color, DO NOT MAKE THEM FLICKER.
This is the global consensus, no matter if it's still screens or wathever. I mentionned Batman's intro, but there is also the water area in Castlevania 3, which are the same problem.
Konami throught "well we'll make Trevor's leg's flickering so that the color will average, and they'll look like they're in water". NO THEY DON'T they look like crappy filtering legs (emulator / old display) or like horizontal vermicelli (modern display with interlacing).

Also I tested them on my new monitor, and apparently it switches the even/odd interlacing every half second or so for some reason, so it looks horrible, it flickers at about 1 Hz, which is even worse.

The pics that doesn use flickering, such as Angel 2, Joku, Teen and Teen2 looks really amazing.

The individual frames in most flickering images looks really good by themselves, but you have to pause emulation to really admire the pic.

When the flickering is very slight, such as in "retarded", it might actually look decent. The worst is as seen in "cry", there is a lot of flickering full areas which looks just horrible.

Quote:

60's where?

Well some of those pics are just 60's old-fashioned (or it might be 70's, to me it's the same).

_________________Life is complex: it has both real and imaginary components.

Now this is all very beautiful, and I'm pretty sure you might have considered this idea, but as a challenge do you think you would be able to pull off a water ripple effect with the dithering? Maybe you can find an image of someone looking at their reflection in a puddle or something.

Other than converting each animation frame separately (at 20KB a pop) can't really be done. Would still make a funny tech demo so I might give it a go if I find a good animation. ~10 or so frames should make a pretty good repetitive animation.

tokumaru wrote:

Unfortunately, flickering doesn't work as well as we'd like. The result is too distracting and hard to look at, killing all the beauty of the images.

Still, most of these images look nice, even though flickering at 50Hz is even worse than flickering at 60Hz. The tricks with the vertical stripes are very nice, and more suited to actual games IMO.

Yeah, some images work better than others, much of it is up to randomness (and tweaking the parameters). The two flicker/interlace frames are converted separately without knowledge of each other so sometimes large areas might receive completely different colors, so it doesn't always look that great.

Well, I tested Rad Racer, to see what it would look like. When you turn "3D glasses mode", outside of the road the blank area flickers between solid red and solid green, so that's a good test :

- PAL : It looks like very flickering, the colors definitely don't blend
- NTSC : The colors blends pretty much OK, but you can see some interference going slowly downwards. Likely due to the difference between NES's almost 60Hz refresh and my 60Hz refresh.

My laptop screen only supports 60Hz refresh, so I can't change that. On my old CRT I could put it at 72 Hz, but I can't any longer.

EDIT : Oh in fact it supports 60Hz and 50 Hz. So I put it in 50Hz mode, and MAN THE FLICKERING IMAGES LOOKS RIDICULOUSLY BETTER. The colors blend together perfectly, you can still see that downwards interference.
Cry still looks bad (visible flickering on some colors + blocky), but the others looks amazing, with more colors.

So yeah this flickering method works only if the host's screen refresh rate is the same as the emulated NES.

To bad I'm afraid on real HW this won't work as well.

_________________Life is complex: it has both real and imaginary components.

I updated the code to be both PAL/NTSC compatible with automatic detection, here's an example: http://thefox.aspekt.fi/nes/hui-ntsc.nes. I'll see about updating the rest of the images later. I don't have an NTSC console so I couldn't test this on real NES, so there might be attribute glitches. If somebody can test it for me I'd be grateful, altho it might be hard to spot the glitches on that specific image.

Bregalad wrote:

To bad I'm afraid on real HW this won't work as well.

Why is that? I don't think it should look too bad on a CRT. It does look like shit on my HDTV but that is to be expected when it treats the signal as 480i. Need to get me that upscaler...

Who is online

Users browsing this forum: No registered users and 3 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum