1

Hello,
I'm working on a new Neogeo/NeogeoCD Graphicseditor (called NGFX = NeoGeoGFX) - any request or recommendations?
Check my Blog for status..

2

I've been beta testing it, and it's a pretty damn good program. You guys will like it.

I've written two preview articles about it already:
avatar

3

Wow, this Graphicseditor looks fantastic, can't wait to try it out top

Are the previewed colors really "Neo Geo save"? That means, are the colors displayed in the editor exactly the same compared to the colors the real video hardware is able to display?
I found out a while ago that there is a significant difference in the color display between Emulators, Neo Geo CD and MVS systems.
topics/163491-submarine-shooter-project-neo-geo-mvs-development/2#post-41
Also HPMAN has detected a non-linear color output:
topics/163491-submarine-shooter-project-neo-geo-mvs-development#post-22

Suggestions:
- Would suggest a "Datlib .png export" to have the option to export .png graphics which are "color optimized" to be converted into the correct pallette when using HPMANs "buildchar.exe".
(topics/163491-submarine-shooter-project-neo-geo-mvs-development/2#post-39)
- I have read that the tool supports conversion of graphics to 16 colors per image, would it be possible to have a conversion to 16 colors per tile? I would like to see the glory of 4096 on-screen colors wink

4

Nice to see new tool for NeoGeo. top

5

Would be cool to have a Photoshop-like color picker with indexed Neo Geo colors (similar to the indexed web colors mode in Photoshop).

color-picker.jpg

6

@ freem:
thanks for all the tests, help & reviews! smile

@ NeoHomeBrew:
- colors are linear, not neogeo-save... yet. it can be easily added but I need a complete color-table. the tables you posted seems incomplete (#1??)
- 'Datlib .png' compatible export-feature will be added
- color picker with indexed (save) NeoGeo colors will be added. (but i need a correct table!)
- 256*15 colors (color#0 is transparent!) + backgroundcolor = 3841 colors on screen... use 'REG_LSPCMODE' to switch palbank gives you 7682 colors! wink

7

That is really fantastic Blastar! This will be the graphics editor of my dreams smile
colors are linear, not neogeo-save... yet. it can be easily added but I need a complete color-table. the tables you posted seems incomplete (#1??)

rgb-conversion-table.png
Color #1 in the chart should also be "000" (pure black with dark bit off).
The color chart is based on rounded DAC resistor values in ohms (from M.A.M.E.) which HPMAN is using for palette generating in his Buildchar tool.

topics/163491-submarine-shooter-project-neo-geo-mvs-development#post-24
use 'REG_LSPCMODE' to switch palbank gives you 7682 colors! wink
I definitely want to see a graphic like that on my MVS eek

8

You really want to add a palette per tile mode, 1 palette is ok for characters but won't do the job on backgrounds smile

Easy sys file is pretty cool tho.

9

@NeoHomeBrew:
this chart is ok but i also need the other color-table... this one seems incomplete! 0x8000 = 0x0000 ? really?

@HPMAN:
wink I wrote this in 5min, it's possible but looks like a JPG, needs more work!
I do not know how to integrate this into NGFX, maybe as a extra tool?

colorconvert_151204.png

10

I was thinking palette per tile while drawing, not specifically photo import.

That's a pretty complex task to avoid the blocking effect. Plus a full screen image is 280 tiles, not enough palettes, so some tiles have to share.

11

palette per tile in editor? eek possible but needs a lot of memory and will be slower..

12

I doesn't have to be strictly 1 per tile.
Real world scenario would be something like a ~1500 tiles background using 50 palettes. You need the ability to select the palette for each tile and draw using it.

13

Hi Blastar,

Yes, you are right, there were some errors in my color charts. I was a bit confused that some colors are doubled when the dark bit has only minor effect on them (in the upper dark area).
I have made a new visualisation for you today and this time it should be correct - I hope it will be useful for you.

While making this color chart it came to my mind, that it is not possible to mix dark-bit and non-dark-bit RGB values like
47-20-47 => 190-77-190 (non-dark-bit - dark-bit - non-dark-bit )
because the dark-bit has always effect on all three RGB values. This explains why the Neo-Geo can "only" display 65536 colors (32*32*32*2) and not 262144 colors (64 * 64 *64)
Therefore it would be recommendable to handle the 32 dark-bit and the 32 non-dark-bit colors separately in the color picker and to add a checkbox to switch between them (like in the palette editor).

neo-geo-rgb63-to-rgb255-steps.png

14

blastar (./11) :
palette per tile in editor? eek possible but needs a lot of memory and will be slower..

Maybe you could add a switchable grid which tells you how many colors are used for each tile and mark the tiles which exceeds the 15-colors-limit.
This would be very helpful when drawing backgrounds with more than 15 colors and multible palettes. By the way, is it possible to have more than 1 palette per graphic in the editor?
Something like this:

tile-grid.png

15

blastar (./9) :
colorconvert_151204.png

Wow, that is really impressive! This could be a great feature when using pre-rendered CGI graphics for backgrounds.
Maybe the slight "blockiness" could be avoided if the color count is reduced for the whole image first (maybe to 256 colors?) before breaking the palettes down per tile?
blastar (./9) :
I do not know how to integrate this into NGFX, maybe as a extra tool?

I like the style of your importing window you have posted in your blog (http://blastar.citavia.de/content/public/upload/import_0_o.png), maybe you could show the image before converting and after converting in switchable tabs?

16

@NeoHomeBrew:
thanks, your latest tables are implemented, but the difference between linear- and save-colors is only noticable with gadients. It's implemented as option, switchable on the fly.

I do not handle the 32 dark-bit colors , only the non-dark-bit colors - there is a simpler solution: COLORVALUE * 2 + 1 - DARKBIT = value from table.

NEW importwindow shows both images, original (left) and processed (right). it is resizeable and zoom with mousewheel is supported, swap colors by using drag-and-drop.
there are 4 simple modes for color reducing:
-> 16colors
-> 256colors -> 16colors
-> 16colors (dithered)
-> 256colors -> 16colors (dithered)

sorry, only one palette (16colors) per fix/spr but I understand what you mean - what you request is more like a very special paintprogram.

17

blastar (./16) :
@NeoHomeBrew:
thanks, your latest tables are implemented, but the difference between linear- and save-colors is only noticable with gadients. It's implemented as option, switchable on the fly.
Hi Blastar,
great work, thank you a lot for adding it smile
Seems that your NGFX Graphics Editor handles the color values now better than the graphic tool SNK had back in the day, even Metal Slug 3 has incorrect gradients if you look closely at the montain in the background.
I think SNK's artists certainly have worked with a linear color palette which results in quite strange color combinations on the real hardware sometimes.

linear-vs-nonlinear.png
blastar (./16) :
I do not handle the 32 dark-bit colors , only the non-dark-bit colors

Yes, the difference between them is very minor, I would also say it's more an icing on the cake than a real advantage to have them.
blastar (./16) :
NEW importwindow shows both images, original (left) and processed (right). it is resizeable and zoom with mousewheel is supported, swap colors by using drag-and-drop.

Looks lucid and intuitive, there is no need for an external tool in my opinion. The color reduction and the dithering generate really impressive results. top
blastar (./16) :
sorry, only one palette (16colors) per fix/spr but I understand what you mean - what you request is more like a very special paintprogram.

That's kind of sad, hopefully you may could add something like a "Multi-Palette Drawing Mode" in a future version when the main work is done. There is no other graphic editor (I am aware off) which
can handle multible color palettes which are connected to their respective tiles. Using multible palettes per graphic is the best way to save sprites and to reduce calculating time
(for re-positioning the graphics) which results in a much higher FPS. What I want to say is, please re-think your desicion to limit the capability of NGFX to only 15 colors per object.

18

19

The left screen doesn't look that bad in my opinion.

20

This is close to final... it's easier to use linear colors.

21

Great stuff Blastar king
Incredible how much influence the limited Neo-Geo palette has on gradients.
Your graphic editor will be very helpful for finding and selecting the best-looking color combinations.

If you are in the mood for a different approach, it would be very intersting to see also a color rainbow like the following, maybe it will give a better result?

ColorPicker.png

22

hsl-style:
neogeohsl_0_o.png

23

Thank you for your amazing work in the middle of the night wink
Cool, that looks much better and in my opinion you should add this as 2nd alternative option to pick colors in NGFX, what do you think?
Could you please do me a big favor and re-post the graphic without the text overlay? Then I could use it as color reference when working with Photoshop/ImageReady.

24

more colors & more gaps:
neogeohslunpro_0_o.png

25

Cool, now with the bright upper area - thank you a lot, it will be very useful for me! enflamme

26

3rd image contains only the non-darkbit colors but is rendered using the table you posted. if datlib is using the same table it should be datlib-compatible.

27

Hi,

today, I have used a part of the 3rd image to make a DATlib import test.
I have scaled the image by factor 4 and have then divided it into 12 x 256 pix strips placed on 4 images to bypass the 15-colors-by-tile limit. I was in luck because
the colors of the 4 images have filled 255 of 256 available palettes (69 + 66 + 64 + 56 palettes). The result was perfect, the MAMEUI32 output (uses irregular steps)
has displayed exactly the same colors of the original image. That means, your exported colors are 100% DATlib compatible.

After that, I have burned the project roms to eproms to make a real system test. Surprisingly, the color gaps are not as big as expected on my MVS system. I have tried
to take a photo from my CRT screen, which was a little bit difficult and the result looks quite bad but anyway, in the following are the two output pictures for comparison.
It seems the DAC resistor values from MAME are not 100% correct, the big question is how to re-measure them? You may want the roms to test it by yourself?

mame-mvs-hsl-colors.png

28

Video DAC is an analog image device, mame rounds the values to issue a digital image.

This plus typical resistor tolerance is 5%, so output can have variation I guess?

Upgrade your resitors to 0.05% tolerance ones grin

29

There are different devices (MVS/AES/CD) over a longer period of time (10 years?), there are differences (resistor tolerance, hardware-revisions, ntsc/pal ) from device to device and the NeoGeo is designed for analog CRT's. it's really useful to distinguish between linear colors and resistor-based colors? confus

30

If you want my opinion, I would say: Yes, the closer to the real hardware output the better. There are definitively irregular color steps and you should take this into account.
I own several MVS systems (with different board revisions), AES systems and CD systems - if there is interest, I would take photos of the test image from all of them.
It would be interesting how to measure these DAC resistor values, could it be done with a multimeter? Maybe we could find out values which come closer to the average
real system output, if we do our own measurements on our systems ... who knows how many systems and which systems the guys from MAME have measured to get their values?
Is there any source or additional information about that?