Some image conversions I made

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

In Zap Ruder, my Zapper experiment ROM, the "zapkernels" are responsible for measuring how far down the screen the Zapper is pointed. What they do is add 256*2/3 to a variable every scanline and use BCS to waste an average two-thirds of a cycle in the branch taken penalty.

Code: Select all

  clc
  lda subcycle
  adc #$AA
  sta subcycle
  bcs :+
:
That said, I'm working on collecting some pictures to make a slideshow ROM.
User avatar
Roni
Posts: 114
Joined: Fri Sep 26, 2008 7:55 pm
Location: Montreal
Contact:

Post by Roni »

it was tough, but I got it pretty damn close...using a whole bunch of test code that is now vestigial :P

I had to forgo toggling the color emphasis bits as it seemed not to work the way I wished. is it not possible to toggle that register between scanlines?
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Good job. On hardware (PowerPak), there are artifacts to the left and right of the top half of the picture, as if the nametable isn't getting completely cleared. But I'd advise against using the emphasis bits for anything important. They screw up on PlayChoice, Famicom Titler, and some famiclones.

I'm still working on my own photograph to NES conversion path. It tries to work around the strong diagonal lines that dithering causes by intentionally triggering the 3-phase colorburst sequence. Look at my pictures:

RGB121 demo
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

That looks really good, tepples! The flickering is much less distracting than it usually is with these pictures! The photographs look great, better than most Sega CD FMVs, I think!
User avatar
infiniteneslives
Posts: 2104
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Post by infiniteneslives »

It looks REALLY good now Roni! There is effectively no jitter or movement. Here's a pic incase you're not able to see if for yourself, the emu doesn't do it justice.

Image

Your slide show is pretty interesting Tepples. The 'motion' is difficult to ignore but the images still look really good and portray the image well IMO.
User avatar
Roni
Posts: 114
Joined: Fri Sep 26, 2008 7:55 pm
Location: Montreal
Contact:

Post by Roni »

yeah, the lines are quite noticeable, especially when I shake my eyes at it.
User avatar
Macbee
Posts: 120
Joined: Sat Nov 26, 2011 8:31 am
Location: Brazil
Contact:

Re:

Post by Macbee »

tepples wrote:Good job. On hardware (PowerPak), there are artifacts to the left and right of the top half of the picture, as if the nametable isn't getting completely cleared. But I'd advise against using the emphasis bits for anything important. They screw up on PlayChoice, Famicom Titler, and some famiclones.

I'm still working on my own photograph to NES conversion path. It tries to work around the strong diagonal lines that dithering causes by intentionally triggering the 3-phase colorburst sequence. Look at my pictures.
Impressive!! Is there a tutorial to create slideshows of interlaced images just like yours?
I'm still playing with NES image converter every day (see results on http://mcbremakes.blogspot.com.br/ ) - and I'd love to be able to make slideshows like this. :D
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Re:

Post by thefox »

Macbee wrote:I'm still playing with NES image converter every day (see results on http://mcbremakes.blogspot.com.br/ ) - and I'd love to be able to make slideshows like this. :D
The Predator and Superman ones look nice. One of those back in the day would have definitely kicked some ass. :)
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
Macbee
Posts: 120
Joined: Sat Nov 26, 2011 8:31 am
Location: Brazil
Contact:

Re: Re:

Post by Macbee »

thefox wrote:
Macbee wrote:I'm still playing with NES image converter every day (see results on http://mcbremakes.blogspot.com.br/ ) - and I'd love to be able to make slideshows like this. :D
The Predator and Superman ones look nice. One of those back in the day would have definitely kicked some ass. :)
Thanks thefox! I'm very happy to know you liked something I've created with your software.
By the way are you planning to update it? It's a near-perfect program to me but I always wonder if you have plans to add EVEN MORE amazing features there. :D
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Re:

Post by thefox »

Macbee wrote:By the way are you planning to update it? It's a near-perfect program to me but I always wonder if you have plans to add EVEN MORE amazing features there. :D
Not in the near future. I originally wrote the tool so I could use it in a demoscene production, so if/when I start to work on a new demo I might revisit the tool. It definitely should be possible to improve the results.

I could document the image viewer data layout though, if somebody else wants to make a converter to the same specs. The format is kind of already documented in "concat.c" file that's included with the tool. It goes like this:

Code: Select all

PRG data:
- OAM data for the 1st frame (using 8x16 sprites)
- OAM data for the 2nd frame
- Palette for the 1st frame (32 bytes)
- Palette for the 2nd frame
- Attribute data for the even attribute rows of the 1st frame (attributes cover a 16x8 area)
- Attribute data for the odd attribute rows of the 1st frame
- Attribute data for the even attribute rows of the 2nd frame
- Attribute data for the odd attribute rows of the 2nd frame
CHR data:
- Background CHR tiles for the 1st frame (covering a 32*30 tile area, so 32*30*16 = 15360 bytes, padded to 16 KB)
- Background CHR tiles for the 2nd frame
- Sprite CHR tiles for the 1st frame (2 tiles for all 64 8x16 sprites, so 128*16 = 2048 bytes total)
- Sprite CHR tiles for the 2nd frame
I know, the format isn't size efficient, but that was not the point of this tool.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Some image conversions I made

Post by thefox »

I should rewrite this tool some day, I just noticed it makes some obviously wrong choices in some trivial pictures. E.g. if image is mostly black, and contains just some white, for some reason it makes the entire palette black. And sometimes it only fills the first 4 palette colors even though there are other colors in the source image. Seems to be a bug in the palette selection algorithm.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
Macbee
Posts: 120
Joined: Sat Nov 26, 2011 8:31 am
Location: Brazil
Contact:

Re: Some image conversions I made

Post by Macbee »

thefox wrote:I should rewrite this tool some day, I just noticed it makes some obviously wrong choices in some trivial pictures. E.g. if image is mostly black, and contains just some white, for some reason it makes the entire palette black. And sometimes it only fills the first 4 palette colors even though there are other colors in the source image. Seems to be a bug in the palette selection algorithm.
I can't wait for an update :D
I've made almost 400 conversions using this software for last 14 months. Probably 99% of all posts on my blog are Roms made with the help of 'Nes Image Converter'.
Many people here in Brazil likes this tool too. I'm about to write a Brazilian Portuguese tutorial for friends on a big Message Board.

But yeah, the only flaw of "NIC" is related to some wrong color conversions (not that I'm complaining - I'm just trying to inform some bugs).
I use to have 4 problems there:

1- Color 00 is ALWAYS converted to black. It will never appear as the color it should (dark grey)
Solution: I have to manually edit the rom on a Hex editor and change the wrong color to 00.

2- "Minimalistc" images (with few graphics of few colors) usually aren't good candidates for conversion.
Take this 4-color vertical gradient image for instance: http://i5.photobucket.com/albums/y191/m ... d8f1b5.png
Solutions: Images with a few colors usually have to be VERY detailed to be successfully converted.
Images with a few graphical elements need to have many irrelevant extra drawings added on Photoshop - to be manually removed later on progams like YY-CHR.

3- Images with many colors will hardly work. During my tests only one 12-color image was properly converted. This one: http://i5.photobucket.com/albums/y191/m ... df8ad9.png
Solution: Make images up to 7 colors. A 7 color image is usually properly converted.

4- Some random images aren't properly converted no matter how I try to optimize them.
Like this one for instance: http://i5.photobucket.com/albums/y191/m ... 40e259.png (not even reducing the number of colors will make it work).
Solution: Move over to another project. Seems there's nothing to do.

===================================================================

I also have five gazillion suggestions for new features but I'll spare you from it.
The only one I would *REALLY* like to see would be a way to also send two images (instead of only one) to NIC.
A new version of NIC could have 3 modes of conversion:

Mode 1 (1 image required) - The same, intact conversion method we already have on current Nes Image Converter.
It's perfect for conversion of photographs and all sorts of line-flickering images.

Mode 2 (2 images required) - User would provide both "odd" and "even" images. It would be perfect to make checkerboarded pattern images for instance (today I have to create 2 roms, mix them, edit many unmatching sprites on YY-CHR and colors on Hex editors to achieve this).

Mode 3 (2 images required) - First image would be made ONLY of background tiles. And second one would be made ONLY of sprites. Instead of a 2-frame screen, both images would be blended into a single screen (final result would be something like characters standing on a background). It would be perfect to create fake, static in-game images.

===================================================================

Feel free to ignore my suggestion but let me thank you again for NIC, thefox.
It's probably the most entertaining and educational NES-related tool (for non-programmers) ever released.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Some image conversions I made

Post by thefox »

Macbee wrote:But yeah, the only flaw of "NIC" is related to some wrong color conversions (not that I'm complaining - I'm just trying to inform some bugs).
I use to have 4 problems there:
Thanks for the feedback, and sorry for not replying earlier.

I checked the source code some time ago and I immediately spotted causes of some of those bugs. Unfortunately the code is so bad I'd rather rewrite it than try fixing it. One of these days...
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
Macbee
Posts: 120
Joined: Sat Nov 26, 2011 8:31 am
Location: Brazil
Contact:

Re: Some image conversions I made

Post by Macbee »

thefox wrote:
Macbee wrote:But yeah, the only flaw of "NIC" is related to some wrong color conversions (not that I'm complaining - I'm just trying to inform some bugs).
I use to have 4 problems there:
Thanks for the feedback, and sorry for not replying earlier.

I checked the source code some time ago and I immediately spotted causes of some of those bugs. Unfortunately the code is so bad I'd rather rewrite it than try fixing it. One of these days...
You're welcome thefox! It was a pleasure to help.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Some image conversions I made

Post by thefox »

I decided to completely rewrite this tool over the previous weekend. It now has a proper GUI and a much less buggy conversion algorithm. Hopefully the results are a little bit better as well. Here's a screenshot:
nes-image-converter-2-shot.png
And here's the download: http://kkfos.aspekt.fi/downloads/nes-im ... -2-v01.zip

Sorry for the bloated size, Qt 5 includes 20 MB worth of internationalization DLLs in its default build.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
Post Reply