Previous Messages |
Posted By
Litwr on 2024-03-16 04:22:48
| Re: sic-p4 image converter
What an interesting thread! Sorry I missed it in 2018. I was not even aware of bubis's DFLIConv2, Larry's FLI Converter, and DFLICONV2GUI. It is slightly sad that DFLICONV2GUI and SIC-P4 are platform dependent tools without sources while DFLIConv2 is open. I got some ideas how to improve my simple converter. It is interesting that IstvanV's FLICONV and Larry's FLI Converter use completely different methods to represent a HR picture.
|
|
Posted By
Csabo on 2024-03-13 16:38:49
| Re: sic-p4 image converter
I uploaded the 64-bit version (the only one I had), it's now hosted here on Plus/4 World: SIC-P4.
dfliconv2gui is different.
|
|
Posted By
bszggg on 2024-03-12 21:04:23
| Re: sic-p4 image converter
the download url is broken.. Can somebody upload this program somewhere?
Or the dfliconv2gui is same?
|
|
Posted By
bubis on 2018-10-30 05:38:48
| Re: sic-p4 image converter
Hi,
Please note, that the last 62x40 pic is not FLI at all. It is simple multi bitmap + rastering color0, color3 and xshift.
Dithering is a problem indeed. It is a generic well know issue that you lose details and error diffusion methods sometimes produce ugly patterns. I haven't found a good solution for both but there are very promising new dithering methods that solve one or the other. This is also on my list.
As for 320x200, I may add support for it but I don't think that is too interesting, maybe that will remain your special feature.
The motivation for this converter came from concrete cases what I needed but weren't supported by any other converters. That is done now, but I am sucked into this a little bit and I want to try out some of my ideas. So, I will work on this converter a little more and maybe come back to it time to time later on.
Stay tuned, I accidentally exploded the number of FLI modes and that will be included in the next release.
Update:
As for exploding the number of FLI modes: Do you remember what FLI stands for? Flexible Line Interpretation. So, in the next release it will be really-really flexible! You can decide for every rasterline in a character row what kind of DMA (badline) you want. For instance 'clllllll' will mean you want one chroma update and 7 luma updates per char row. 'clllclll' will have one chroma and three luma updates for every 4 rasterlines. 'c--l---l' will produce a normal badline sequence with one extra luma update in the middle of the character (semi-qfli ?). You can even have 'llllllll' or 'cccccccc' where you have either luma or chroma updated in every rasterline!!! In that case the other component is pre-loaded before the screen window starts rendering and fixed for the whole column on the screen because we don't have time to update it (of course).
I think my converter is not 100% up to the task yet for these new modes but the results are already pretty good so, I will release this as an experimental mode later this week.
|
|
Posted By
Sandor on 2018-10-26 17:27:11
| Re: sic-p4 image converter
I have tested your converter myself and I got pretty similar results as the ones you posted here.
I personally think my results are still better, especially when it comes to detail retention and dithering precision. However I think that's probably very subjective and some people might prefer your output instead.
I love the fact that your converter handles oversized image formats as well and all the output formats. It's clearly at a much advanced state than mine in those aspects.
One thing I would note though is that I don't understand why everyone is insisting on using only 312x200 instead of full 320x200? We know exactly how the shifted in pixels are filled, so the converter can easily do full 320x200, the only issue is you can't dither the first few pixels that are shifted in since they will all be set to 0. My converter does use those pixels though and I would suggest you add support for it as well. If you need help with it, I'll be happy to help.
I am thinking to make a separate app for pre-processing the pictures only that can be used to prepare the pics for all plus4 converters. I think the place where we can make a huge difference is in pre-processing. Shifting the hue of certain colors can massively improve some pictures and doing it in photoshop and reconverting is not the best workflow.
|
|
Posted By
bubis on 2018-10-26 10:20:30
| Re: sic-p4 image converter
PNG preview output (-p option) is supported on my side. It can be re-converted with no dithering after retouch. The example pictures above are all previews created by the converter.
I am also thinking about re-loading the previously saved outputs to create a baseline for the optimization. This would speed up converting the frames of an animation and would help the converter to re-optimize only the parts of the image that has changed after retouch.
|
|
Posted By
Chronos on 2018-10-26 08:36:00
| Re: sic-p4 image converter
guys! Please think about the possibility of retouching the picture on pc (ps or paint shop pro) after the conversion is done (bmp, png format?) . It may increase quality a lot! thx.
|
|
Posted By
bubis on 2018-10-25 18:28:57
| Re: sic-p4 image converter
Hey, first release of DFLIConv2 is available here:
https://github.com/dotscha/dfliconv2/releases
This is a command line converter, run it with
> dfliconv2 -h for help.
See more deatils here.
This is only a v0.1 for early birds, more of a proof of concept, but it already has pretty good results. The converter is written in Java, so it is multi-platform and it is open-source.
You can download the Java runtime from here: https://www.java.com/en/download/help/download_options.xml
dfliconv2.bat -m hires-dfli -i city.jpg -o city -f none -p -d fs
dfliconv2.bat -m "hires-dfli(45,25)" -i tiger.jpg -o tiger -f none -p -d bayer4x4 -s 2
dfliconv2.bat -m hires-dfli -i cherry.jpg -o cherry -f none -p -d fs -s 1.5
dfliconv2.bat -m hires-dfli -i car.jpg -f none -p -d fs
dfliconv2.bat -m multi+(62,40) -i car2.jpg -o car2 -f none -p -d point5 -s 1.2
original
|
|
Posted By
Mad on 2018-10-16 14:22:02
| Re: sic-p4 image converter
Impressive images! Nice to see this progress on the image conversion!
|
|
Posted By
bubis on 2018-10-15 13:17:03
| Re: sic-p4 image converter
Those are good heuristics for those specific cases I guess. My experience is that this local optimum algorithm is perfectly fine for finding colors. I can't really say that the results of p4fliconv is really better than the results of my (work in progress) optimizer and p4fliconv also uses brute force for finding colors. So, brute force search for colors looks like an overkill to me. What really can change the quality of the results is finding good values for the "global" parameters of the picture like xshift. My hope is that some heuristic search for non-color values combined with local optimum search for colors (which will tell which "global" value can yield better results overall) will produce good results. I am yet to find out ...
|
|
Posted By
Sandor on 2018-10-15 08:38:04
| Re: sic-p4 image converter
I was talking about the 2 colors only.
I am finding the x-shift values before I search for the colors and I am doing it by converting the image to plus4 palette without dithering and then testing all 64 x-shift combinations to see which combination results in the lowest number of colors per 8x2 squares. Those are the values that I am using for x-shift.
The multicolor extra 2 colors would go after the x-shift values and the method I am planning to use is to ignore all squares that have 2 or 1 color when remapped to plus 4 palette and then taking the most used color from the 3+ color squares, and then the most used color from 4+ color squares (since 3 color squares are already taken care of by using the 1st color + 2 character colors). Once I get both color pairs for the even and odd scanline, I test all color combinations in the same way I do for the 2 color DFLI.
The number of combinations for the normal DFLI is not that excessive, with some optimization it goes pretty fast anyway.
Can't wait to see your results though, but I am always a huge fan of brute force approach because in some cases brute force can find things that you can't find in any other way.
|
|
Posted By
bubis on 2018-10-15 07:55:45
| Re: sic-p4 image converter
That's just color1 and color2, you have color0 and color3 in multi too, and you can raster them. For dfli you have (121*60)^2 combinations of color0 and color3 for two raster lines and 121*60 combinations of color1+color2 for each character. To do all the combinations for only 4x2 (multi) pixels it is about 3.7*10^11 cases. I guess you don't try them all, especially if you play with xshift too. So, to speed up the search, you need some heuristics to find local minimums at least because the searching space it too big. The method I mentioned typically finds the local minimum for a normal multi image in 10-15 steps and it optimizes color0 and color3 too. I will get back to this topic with sample conversion results when I have support for dfli + xshift too. My method can't optimize for xshift, so I have to combine it with some other heuristics.
|
|
Posted By
Sandor on 2018-10-12 20:17:48
| Re: sic-p4 image converter
I actually used a method that is better.
- dither the image to plus4 palette - keep the original image
step 2: For each 8x8 (or 8x2 for dfli) block: - remap to all color combinations for colors 1 and 2 - measure the total error for the block in LAB colorspace - the 2 colors that produce the least error are the best solution - if the best solution has only 1 color used, run the entire conversion using the pre-dithered image again - once the 2 colors are found remap the dithered picture to those 2 colors
|
|
Posted By
bubis on 2018-10-11 13:18:06
| Re: sic-p4 image converter
My code will be on github if anyone interested. I won't really have a conversion method. I will define variables and how those variables define the picture and the output file as well as an error function. I will have one or more generic optimizers on top of this and that's all.
One optimization idea worth shring: So, you are using a limited palette of your full palette to interpolate pixels on an image. Let's say you used color C from some limited palette to interpolate P1,P2,...,Pn on the picture and the average of those colors is P. Any color on your full palette closer to P than C yields a better interpolation. Let's say you walk through your palette, optimize it this way, interpolate the pixels again, repeat. You have reduced the overall error in every step but you have finate combinations, so this will converge to a local minimum.
|
|
Posted By
Sandor on 2018-10-10 14:40:56
| Re: sic-p4 image converter
That's why I started this one as well.
It's just in a very very early stage at the moment. But the idea is to have multi screen, character mode (with number of character restrictions), etc. If you want we could cooperate in some way - sharing conversion methods or whatever.
|
|
Posted By
bubis on 2018-10-10 12:35:12
| Re: sic-p4 image converter
Oh, I am writing a converter again. None of the existing ones can serve my current needs (like optimizations for multi-screen images). This will convert to everything and it will be extendable without programming knowledge. I need a very flexible one now, so this will be data driven and one generic optimization algo will do the work, so it will be very slooooooow.
|
|
Posted By
Sandor on 2018-09-27 16:02:46
| Re: sic-p4 image converter
Thanks. All the bugs are gone as far as I can tell. So that means 320x200 dfli with x-shift finally works.
|
|
Posted By
siz on 2018-09-27 14:38:06
| Re: sic-p4 image converter
I've added a new image to my album from yesterday with the image of this new car.prg.
|
|
Posted By
Sandor on 2018-09-26 23:30:35
| Re: sic-p4 image converter
@siz: Can you please check my new .prg on the real machine? I think I managed to get rid of all bugs, but it would be nice if someone could confirm. Both the mid screen color bug and the left side artifacts should be gone now.
Here is the updated .prg: car.prg
@George I'll have the border color in the next version. I do have a few more ideas for fine tuning, but not sure if it's going to be in the next version or later. If you can be a bit more specific on what options you're missing, I can probably add those quickly. Right now I am working on the multicolor mode(s), but I am really open to any suggestions.
|
|
Posted By
George on 2018-09-26 17:56:32
| Re: sic-p4 image converter
Hi Sandor... i tried your converter...its really good an i like it.
* I like the easy and clear interface. * The speed is good. * I missed a setting for the border color, when you save the *.prg. The bordercolor is important for the overall perception of a picture (for my taste) * I missed more settings for finetuning.
Your native HR mode (i always prefer native modes and no dither) comes very close to my preferred Istvans Converter (which has a little more finetuning options to get the best results).
Keep going.. Greetings George
|
|
Posted By
Sandor on 2018-09-26 17:33:38
| Re: sic-p4 image converter
@MMS: Thanks, I will add more dither options later, it is still work in progress. It's very very far from complete right now.
@siz: Now that is some useful stuff. I can see that the left side of the screen on the real machine is EXACTLY the same as in plus4emu and it seems to me that it should be quite possible to fix the issue and get to full 320x200 dfli with x shift. I can also see that the bug I have with a random color in mid of the screen is present on the real machine as well. At least now I know I can test for the bug in plus4emu. Thanks.
|
|
Posted By
siz on 2018-09-26 17:16:06
| Re: sic-p4 image converter
I've loaded the images to my real plus/4. Here are the results: https://photos.app.goo.gl/JPRZg6ddQt8TGRqCA. Sorry for the image quality, they were taken using a mobile phone from a CRT monitor.
An advice: when you save a program with a BASIC start please do not save the byte $1000 into the file. Normal BASIC programs load from $1001.
|
|
Posted By
MMS on 2018-09-26 15:39:30
| Re: sic-p4 image converter
Nice list of improvement, and the quality also greatly enhanced. :-)
Some personal comments from me on conversion (I am not the professional one here, but in the last 8-10 years converted some hundred pictures just for fun :-) )
Floyd-Steinberg never really worked for me. While Bayer looks like an old AppleII / MAC B/W picture scan, Floyd is only one step better in my eyes.
In IstvanV converter I prefer Jarvis, Stucki and Sierra2 (in this sequence). I think they do a nicer dithering and more natural transient between colors than Floyd, and they do not let big areas converted without shading. Not all work for all the pictures, if I have a "bad" area after conversion I try out the others too, playing with the parameters. To convert a picture with sharp text, floyd is better, but for dithered color photos the Jarvis looks much better.
There are some good articles comparing the different dithering methods for photos. There are good quality pictures you can compare them to each other. (so I know, that there are newer and even better ones). Maybe worth to check out Atkinson and Burkes too. Sierra is more for speed.
https://brucebcampbell.files.wordpress.com/2013/04/dithering-methods.pdf http://www.tannerhelland.com/4660/dithering-eleven-algorithms-source-code/ http://ijiet.com/wp-content/uploads/2015/03/46.pdf
|
|
Posted By
Sandor on 2018-09-26 10:54:39
| Re: sic-p4 image converter
Samples here
I am really curious if there are any artifacts on the left side of the screen because all emulators display that differently.
|
|
Posted By
siz on 2018-09-26 06:28:10
| Re: sic-p4 image converter
Sandor: are there download links somewhere to your converted images? I'm really curious to see them on the real machine.
|
|
Posted By
MMS on 2018-09-25 06:15:54
| Re: sic-p4 image converter
About emulators YAPE gives a really faithful picture. Plus4emu Quality 3 setting overdithers the picture and looks better than the real iron. I made the mistake to use it on my fitlrst slideahows, aand i was more satisfied than it was in reality. Plus4emu Qulaity1 setting is the closest one to Yape (without CRT emu or scanlnes)
|
|
Posted By
Sandor on 2018-09-25 01:11:42
| Re: sic-p4 image converter
Version 0.4.2.6 is out!
Let's start with the download links: SlowImageConverter for Plus4 - 64bit version 0.4.2.6
SlowImageConverter for Plus4 - 32bit version 0.4.2.6
Changes: - it is now much slower than the previous version (especially if you turn on all of the pre-processing options) - added pattern dither and noise dither modes (previous version only had floyd-steinberg) - changed the way colors for dithering are selected to result in less noisy images - changed the UI so that the options are in the same order the process flow is performing them - the window can now be resized - the UI state is now saved to registry on exit (and restored when the program is started again) - added 4 import modes: 320x200 crop, 320x200 fit, 327x207 crop and 327x207 fit - added smart cropping (the 327x207 modes), where the program tests 64 possible crop positions to select the one with the best conversion output - added HDR processing (it increases local contrast so that the conversion is easier) - increased sharpen quality - added input color range options (you can extend the color range of the input image to match to more different plus4 colors to get more output color detail - especially useful with relative colorimetric) - the X-shift mode is now using full X-shift, not the 0-4 one used previously - fixed the output file sizes so that extra bytes at the end of the files aren't saved anymore
Known bugs: - for some reason a 8x2 square gets the one color with wrong luminosity sometimes in DFLI modes
Here are some sample images with different program settings (left ones are exported to normal 8x8 colormap mode and right ones are in 8x2 X-shifted DFLI)
car: 327x207 crop, No HDR processing, Sharpen - hi, Don't oversaturate, Maximum input color range, Relative colorimetric, Floyd-Steinberg
cherry: 327x207 crop, Hi HDR processing, No sharpen, Oversaturate max, Maximum input color range, Relative colorimetric, Floyd-Steinberg
city: 327x207 crop, Low HDR processing, Sharpen - low, Oversaturate mid, High input color range, Relative colorimetric, Floyd-Steinberg
tiger: 327x207 crop, No HDR processing, Sharpen - low, Oversaturate max, Normal input color range, Absolute colorimetric, Floyd-Steinberg
PS: Can anyone test out what is going on with the XS-DFLI mode on a real machine? Every emulator is giving me different results and I don't have an actual working machine. Also, I want to add some more experimental modes, so if anyone is interested to collaborate on the plus4 asm code, please let me know.
|
|
Posted By
George on 2018-09-19 13:58:52
| Re: sic-p4 image converter
@Sandor Do you also have a 32-bit Version of your tool?
|
|
Posted By
Sandor on 2018-09-18 20:25:48
| Re: sic-p4 image converter
@George: You can get pretty similar results if you turn the dither off.
@Larry: I don't think your converter is working properly on my PC for whatever reason.
I don't have any options at all, only a checkbox for dither+ which I had on. In settings I have bordercolor and disable shifting. There are 4 buttons in total, "open picture", "save fli", "start" and "+4 mode/c64 mode". When I converted I used the best pic I could get with that.
|
|
Posted By
Larry on 2018-09-18 15:47:51
| Re: sic-p4 image converter
Very good development, congratulations! But: If you're working with my converter, please be sure to work with the correct and accurate settings. (Color optimization ... -> Dither)
|
|
Posted By
George on 2018-09-18 14:50:25
| Re: sic-p4 image converter
@Sandor Congraulations for your new tool. I am downloading it now (sorry slow connection) and i will try to convert your cherry-pic too. Meanwhile i converted your original picture (i think it counts to the difficult ones) with my preferred coverter "p4fliconv" in my own conversion style (natural Hires-Mode). Hopefully your tool can top this.
P.S: Seem that your tool is 64bit. Sorry i have only 32bit Win7
|
|
Posted By
Sandor on 2018-09-18 08:47:19
| Re: sic-p4 image converter
@Chronos Intersting idea. I could resize/crop to 327x207 and then find the best possible global x/y deltas. It would help a lot, especially with the normal mode with 8x8 colormap.
@Csabo The $4002 is a bug. I should end at $3f3f, I was just lazy with the length calculation, will fix it in the next version 100%.
As for the pics, yeah, I was pretty excited about adding in the xs-dfli, so I just ran all the conversions with that setting. Here is the apples to apples:
(old pics at left, new ones at right)
edit: Forgot to add anywhere, I am not using a variable x-shift like the others converters do, I am using no shift for every even line and shift of 4 pixels on ever odd line. The reasons for this are: - my "smart" x-shift calculator gave worse visual results than the silly 0-4 shift (I tried 3 different methods) - with the shift being 0-4 always you can still relative easily modify the images from plus4 code - I really like the effect this shift pattern has on the dithering - especially for gradients
|
|
Posted By
Csabo on 2018-09-18 08:15:16
| Re: sic-p4 image converter
Unless I'm mistaken, you switched the tiger and cherry from plain hires to hires DFLI (wth horizontal shift?). Perhaps for a more apples-to-apples comparison, stick to the same settings. Or did I miss your point entirely, and you just wanted to show off that horizontal shift is now available?
Anyway, thank you for implementing my suggestions! I'd like to think they were useful ones. More comments: - It's still pretty fast - The C16 sized PRG ends at $4002. That's problematic, cause $00/$01 will get overwritten, but let's not get into that, just "agree" that it should end saving at $3F40. - Resizing the window; I think this is a big one that people would actually need. Anchor the controls to bottom/left and stretch the image to the remaining available space. - Save/restore UI settings on exit/startup.
|
|
Posted By
Chronos on 2018-09-18 07:44:13
| Re: sic-p4 image converter
just a little thought. precropping and downsizing a picture can increase the quality, you can shift the pixels under the blocks perfectly and its noticeable on the final picture
|
|
Posted By
Sandor on 2018-09-18 08:22:12
| Re: sic-p4 image converter
I am using lab for measuring, but I am using linear RGB for dithering. It's a full colorspace mess: - load pic in sRGB - convert to linear RGB - apply saturation - apply sharpening - convert to plus4 color profile (absolute or relative depending on settings in app) - convert to linear RGB - convert to LAB (but keep linear) - pick closest colors in LAB then dither in linear (a second linear buffer in fact) - convert the dithered image to LAB - use both the dithered and original LAB picture to select the 2 colors (if there are 2 or more plus4 colors per square, use original, if there is just 1 color, remap using the dithered square) - remap the dithered pic to the 2 colors per square
That's the process right now (unless I forgot something).
Oh and the 2 color selection is done by remapping the pic to all the possible 2 color combinations and then picking the 2 colors that had the lowest LAB error in total.
|
|
Posted By
bubis on 2018-09-18 05:56:20
| Re: sic-p4 image converter
This is stating to be very interesting! Well done, very good progress and funny commentary!
I haven't had the time to check this out but I will. Actually, I have some plans with the qfli mode.
One suggestion: Try to use the Lab color space for measuring "color distance". Lab is designed in a way that same distance measured in Lab feels the same for humans, so in practice it is better suited to find close colors than RGB.
|
|
Posted By
Lavina on 2018-09-18 03:54:41
| Re: sic-p4 image converter
"- made it slower (still need to work on this)" LOL
Anyway, nájsz progressz.
|
|
Posted By
Sandor on 2018-09-18 03:17:20
| Re: sic-p4 image converter
Version 0.4.1.0 is out!
Download link: http://s000.tinyupload.com/index.php?file_id=77633784817173749300
Changes - massively improved color selection - added x-shift dfli modes (full 320x200 with x-shift) As per Csabo's suggestions: - made it slower (still need to work on this) - it now accepts several image formats, not just png and it will resize/crop to 320x200 if needed - added "convert again" button so the people can play around with settings - the title bar now contains program name and version - normal hires images now work on C16
Now for the fun part, here are the 3 images converted using the updated routine:
I think the quality difference compared to the previous version is pretty obvious.
|
|
Posted By
Stinaris on 2018-09-17 19:38:36
| Re: sic-p4 image converter
|
|
Posted By
Csabo on 2018-09-17 09:01:01
| Re: sic-p4 image converter
Had a bit more time to look at it, so here's some random feedback. - It's really not that slow, in fact, on my machine, the conversion was pretty fast (few seconds). - Having to pre-process the picture (scale down/crop) is a bit of a minus, since the other two converters work on pictures of any size. - In terms of the UI: the way I see people using it is this: select a single picture, play with settings, convert. Play with settings, convert, etc. Perhaps it would make more sense to select the picture first, then have a single button to convert it again with the new settings. - The title bar should have the program's name and more importantly version number. As you said you'll be updating it; so us (sites that catalog software) and users will need a way to be able to tell which version they are running. - When saving PRG files for normal hires images, the PRG should run on C16... There's really no reason not to. I understand why you structured things the way you did, but IMHO it wouldn't be a big deal to make an exception. In other words, reset + GRAPHIC 1 should reveal the picture.
I want to stress that none of these are a big deal. Just stuff that I thought of while trying it out for the first time. I'm glad you're working on Plus/4 stuff, and you've created a solid conversion program, so kudos for that
|
|
Posted By
bubis on 2018-09-17 05:31:51
| Re: sic-p4 image converter
I am almost sure that Larry's converter can do much better with different options.
Actually, qfli mode (is this a name we use?) is a good idea, none of the previous converters support that as far as I know.
|
|
Posted By
Sandor on 2018-09-16 18:10:30
| Re: sic-p4 image converter
I just did a conversion of the same image with all the apps, and this is the result:
Note: my converter doesn't do the x scroll register modification so the 8x2 squares for the DFLI are much more pronounced than in the other converters. At the same time an image without the x scroll modification is easier to modify from plus4 code.
Note2: this is not yet the final version, but it was stable enough for a release ;)
UPDATE: I have updated the original post with link to an improved version, the version originally posted had a nasty bug with color selection.
|
|
Posted By
Csabo on 2018-09-16 15:34:00
| Re: sic-p4 image converter
Looks interesting!
Just out of curiosity, have you seen or used p4fliconv (the converted that comes with Plus4Emu) and Larry's FLI Converter? If yes, did you try the same pics with those programs? How did the results compare?
|
|
Posted By
Patrick on 2018-09-16 15:30:44
| Re: sic-p4 image converter
wow, nice pictures!
|
|
Posted By
Sandor on 2018-09-16 18:13:30
| sic-p4 image converter
Hey,
I thought some people might find this useful. I made an image converter from 320x200 truecolor png images to plus4 formats.
It's called sic-p4, which stands for Slowest Image Converter for Plus4. (You can also call it Sandor's Image Converter, but if you ever run it you'll see that the Slowest Image Converter is indeed the right name).
Here is the download link: http://s000.tinyupload.com/?file_id=22116727138162831901
Output formats: normal - 320x200 graphic mode, 2 colors per 8x8 pixels qfli - 320x200 graphic mode, 2 colors per 8x4 pixels dfli - 320x200 graphic mode, 2 colors per 8x2 pixels
The program outputs a .prg file for plus4 or a .png image for viewing on PC. The .prg file has the bitmap data at $4000 and the color data starting from $6000. It also has an assembler code for showing the picture at $2000 and a basic code that calls the assembler code included.
Prorgam feature explanation: "Load and convert" button - loads a 320x200 png image and converts it using the current settings
"Saturation" scrollbar - you can adjust the saturation of the image from 100% to 200%. This is needed because the plus4 palette doesn't have desaturated colors, so on some images there will be too many gray areas after the conversion
"Sharpen" combo box - you can add sharpen effect to the conversion pipeline, the options here are "no sharpen", "sharpen low" and "sharpen hi". This is needed because there is always a detail loss during the conversion which can be especially bad when dithering is enabled. The sharpen routine used is actually a negative Bokeh effect performed in linear color space, so there is no color distortion during sharpening.
"Conversion mode" combo box - you can select the output format from "normal", "qfli" or "dfli"
"Relative colors" check box - when changing from sRGB colorspace to plus4 color profile, you can use absolute or relative conversion. Absolute is the default because it keeps the colors if possible. However relative conversion can be very useful because it scales saturation values instead of clipping them when remapping to plus 4 color space
"Dither" - turns floyd-steinberg dithering on/off. This also affects the selected colors because the program tries to find colors that can be used for dithering, not just colors without dithering and then trying to dither using those.
"Save .PNG image" - saves a png image of the converted output
"Save plus4 .prg" - saves the output .prg file that can be used on the plus4.
I am open for suggestions for more options, and will gladly give explanations on what the program actually does and why if there is interest.
Also, here is a tiger converted to normal 320x200 graphic mode:
A cherry in normal 320x200:
And a city in DFLI mode:
|
|