| |
Eyeth Account closed
Registered: Apr 2002 Posts: 98 |
The Art of Wiring
Hello, CSDb denizens;
I'm thinking of doing two small demos; One for the SuperCPU and one for a plain c64. I already have some ideas I'd like to try out in these demos.
I will be cross-assembling it and testing it out under winVICE and of course, on the real machine for the SuperCPU one.
Anyway, I'd appreciate any tips in wiring graphics and pictures for my nascent c64 demo efforts. I already wired a Santa piccy for my SuperCPU full-screen FLI demo and managed to muddy the conversion.
That said, I do have high standards and I want to adhere to them. So, I need to do a better job in wiring graphics/pictures to show for it.
First of all, I wonder if it's possible to use a painting program like Photoshop or Paint Shop Pro for the initial production of the picture? I heard there was a c64 palette of 16 or 256 colors for those PC programs? How do I use this palette under those programs?
Should I then save the resulting file to a .BMP, .GIF or .JPEG? What conversion program should I use? Any intermediate steps? I've already used ConGo with my Santa conversion and it didn't go over too well, so I'd like to explore/use other utilities other than ConGo.
I'm thinking of using the drazlace (interlaced Multi-Color Mode) mode for my c64 demo effort and an IFLI mode for my SuperCPU demo effort. Hopefully conversion efforts will yield good results for these two modes I'm contemplating.
Thanks,
-Todd Elliott |
|
| |
Black Belt Jones Account closed
Registered: Apr 2002 Posts: 57 |
well ive toyed with low color pics like cartoons and stuff, and under paint shop pro you can load a pallette, a c64 pallete and it will then give you options on how to convert the picture to that 64 pallette. ie. dithering, nearest colour, etc. i then converted it to drazlace with either BMP2Ifli or congo, and it comes out surprisingly good! but i havent tried it with photo-like shots. anyways if you want the pallette ive got one i downloaded and on i made myself which i feel works a bit better, shoot me an email and ill send it to you ok? |
| |
Optic Account closed
Registered: May 2002 Posts: 28 |
Hey!
I want that palette too! :) |
| |
CyberBrain Administrator
Posts: 392 |
You should also have a loot at xray64 (is in CSDb ofcause) - i haven't testet it much, but it's easy to use, and as far as i could see on my pc-monitor, the results are good. |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Wasn't there another tool for Windows too? It was recently released by a guy called Algorhytm (or something like that). I tried that and liked it, although the customization options of xray are much better. |
| |
Shake
Posts: 133 |
Yes Steppe, that is BMP2IFLI by Algorithm, easy to use and the result is good |
| |
Zeitgeist Account closed
Registered: Dec 2001 Posts: 22 |
Quote: Hey!
I want that palette too! :)
... and I want one for Photoshop, men :-). |
| |
QuasaR
Registered: Dec 2001 Posts: 145 |
Hi guyz! Bug Groepaz to release his RAYDOMAT which is (what I have seen...) the most advanced graphic-converter... |
| |
Eyeth Account closed
Registered: Apr 2002 Posts: 98 |
Hello.
I came across a site by Philip "Pepto" Timmermann giving out an excellent treatise on c64 colors.
I went into Photoshop and created a c64 palette using his RGB values. The conversion results were surprisingly good. I would load in a JPEG and convert it to indexed color using the 16 color palette and Photoshop is very good at this.
However, it's an intermediate step. I still need to convert the resulting image into a suitable c64 format.
Also, is there an IFLI palette? What are the RGB values for the IFLI mode of 136 colors? I could create one for Photoshop and use that.
Enjoy.
-Todd Elliott |
| |
JCB Account closed
Registered: Jun 2002 Posts: 241 |
There isn't really such thing as an IFLI palette ie you can't load a picture into photoshop and apply those colours because IFLI relies on your TV being crap and blending 2 of the 16 (yes 16 not 136 hehe) colours together when they're next to each other, so converting a picture in photoshop wouldn't give you the correct 2 interlaced pixels but rather 1 which was the resultant "blended" colour.
I'm pretty sure there are tools around on PC to convert straight from a PC bitmap to an IFLI one and select the correct mix of pixels to create that "more than 16 colours" effect.. If not I could probably do one when I've got time. |
| |
Zeitgeist Account closed
Registered: Dec 2001 Posts: 22 |
Quote: Hi guyz! Bug Groepaz to release his RAYDOMAT which is (what I have seen...) the most advanced graphic-converter...
... which I do hereby officially :-). Come on, Groepaz, get yourself together.
|
| |
Six
Registered: Apr 2002 Posts: 293 |
If anyone comes up with a RGB palette that aproximates IFLI mode, let me know. I need one for the IFLI painter in my suite of cross-development tools.
S.o.D. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
Zeitgeist: to be honest, i was trying my best to get the thing released before christmas (hogging on it for several years now :=P)....however, unfortunatly i got stuck on the SDL port (ie linux) and i dont want to release a windoze-only version for that matter.... oh well :o)
Eyeth: if you have access to a windos pc that can run plain dos-apps (ie no w2k/nt/xp) drop me a mail...you might want to be one of my betatesters :=) hehe |
| |
MagerValp
Registered: Dec 2001 Posts: 1074 |
Quote: If anyone comes up with a RGB palette that aproximates IFLI mode, let me know. I need one for the IFLI painter in my suite of cross-development tools.
S.o.D.
#include <stdio.h>
unsigned char vic_r[16] = {0x00, 0xff, 0x68, 0x70, 0x6f, 0x58, 0x35, 0xb8, 0x6f, 0x43, 0x9a, 0x44, 0x6c, 0x9a, 0x6c, 0x95};
unsigned char vic_g[16] = {0x00, 0xff, 0x37, 0xa4, 0x3d, 0x8d, 0x28, 0xc7, 0x4f, 0x39, 0x67, 0x44, 0x6c, 0xd2, 0x5e, 0x95};
unsigned char vic_b[16] = {0x00, 0xff, 0x2b, 0xb2, 0x86, 0x43, 0x79, 0x6f, 0x25, 0x00, 0x59, 0x44, 0x6c, 0x84, 0xb5, 0x95};
typedef struct _rgb {
unsigned char r;
unsigned char g;
unsigned char b;
} rgb;
void mixtwocols(rgb *c, char c1, char c2) {
c->r = (vic_r[c1] + vic_r[c2]) / 2;
c->g = (vic_g[c1] + vic_g[c2]) / 2;
c->b = (vic_b[c1] + vic_b[c2]) / 2;
}
int main(void) {
rgb mixcol;
/* mix red with light red */
mixtwocols(&mixcol, 2, 10);
printf("red mixed with light red: r=%2x g=%2x b=%2x\n", mixcol.r, mixcol.g, mixcol.b);
return(0);
}
|
| |
Zeitgeist Account closed
Registered: Dec 2001 Posts: 22 |
Quote: Zeitgeist: to be honest, i was trying my best to get the thing released before christmas (hogging on it for several years now :=P)....however, unfortunatly i got stuck on the SDL port (ie linux) and i dont want to release a windoze-only version for that matter.... oh well :o)
Eyeth: if you have access to a windos pc that can run plain dos-apps (ie no w2k/nt/xp) drop me a mail...you might want to be one of my betatesters :=) hehe
That's the definite definition of a SOMETHING! I'm looking forward to seeing anything ...
Hiram|Zeitgeist |
| |
algorithm
Registered: May 2002 Posts: 705 |
Many convertors take into assumption that the image is a 320x200 16 color bitmap mapped to the c64's colors (dithering or no dithering etc)
After seeing some of the quality of pics converted with the eciwire program, this got me motivated to create another convertor
This time in IAFLI mode but making use of the 136 mix colors. The program simply dithers the image to the 136 mix colors, then a brute force routine analyses the colors in each 8x1 area, and uses the two colors (mix colors) which generate the least error. (plane one contains the first c64 color and plane two the next c64 color)=mix color
The results are quite impressive to say the least. They actually look more closer to photo images rather than the 'dither to 16 color approach'
There is huge room for improvement however as an extra two mix colors can be generated for each 8x1 line
eg. ink+ink2, paper1+paper2, ink1+paper2, ink2+paper1
Does anyone have a comprehensive list of any examples of IAFLI. this mode is not very common |
| |
A Life in Hell Account closed
Registered: May 2002 Posts: 204 |
Quote: Many convertors take into assumption that the image is a 320x200 16 color bitmap mapped to the c64's colors (dithering or no dithering etc)
After seeing some of the quality of pics converted with the eciwire program, this got me motivated to create another convertor
This time in IAFLI mode but making use of the 136 mix colors. The program simply dithers the image to the 136 mix colors, then a brute force routine analyses the colors in each 8x1 area, and uses the two colors (mix colors) which generate the least error. (plane one contains the first c64 color and plane two the next c64 color)=mix color
The results are quite impressive to say the least. They actually look more closer to photo images rather than the 'dither to 16 color approach'
There is huge room for improvement however as an extra two mix colors can be generated for each 8x1 line
eg. ink+ink2, paper1+paper2, ink1+paper2, ink2+paper1
Does anyone have a comprehensive list of any examples of IAFLI. this mode is not very common
I posted such a thing (iafli convertor) in another thread with a bunch of examples. I found I still needed some dithering for best results - and also that gamma correction was vitally, vitally important in this mode. Should I dig up the archive and repost it?
EDIT: also, seriously consider flicker reduction code :) |
| |
Tch Account closed
Registered: Sep 2004 Posts: 512 |
I have a certain finger you can convert. ;P |
| |
Richard
Registered: Dec 2001 Posts: 621 |
Quote: I have a certain finger you can convert. ;P
OMG, not the dreaded middle finger showing that symbolises the famous (censored) :D
|
| |
A Life in Hell Account closed
Registered: May 2002 Posts: 204 |
Quote: I have a certain finger you can convert. ;P
Dear Sir,
I understand that, as a pixel monkey, you are required to hate converters. However, understand that, as a coder and not a graphic monkey, I could not give a fuck about your finger, the train that it road in on, or the precious sanctity of pixelling. If someone cannot out pixel a stupid computer algorythm, then that is their problem in exactly the same way as it would be if they could not out compose a music generator or out code a code generator - also neat technical challenges, by the way. In summary of my position, you can all go and get fucked.
Love Always,
Jaymz. |
| |
Tch Account closed
Registered: Sep 2004 Posts: 512 |
Quote: Dear Sir,
I understand that, as a pixel monkey, you are required to hate converters. However, understand that, as a coder and not a graphic monkey, I could not give a fuck about your finger, the train that it road in on, or the precious sanctity of pixelling. If someone cannot out pixel a stupid computer algorythm, then that is their problem in exactly the same way as it would be if they could not out compose a music generator or out code a code generator - also neat technical challenges, by the way. In summary of my position, you can all go and get fucked.
Love Always,
Jaymz.
Thanx for the SIR-thingy.. ;)
Oh,I don´t hate converters..but they kinda suck! ;P
EDIT:
When I think further about what you say,
it comes to this:
Nobody codes,makes music or draws.
It will be like TV!!
Enjoy the indifference of computer-generated entertainment.
|
| |
A Life in Hell Account closed
Registered: May 2002 Posts: 204 |
Quote: Thanx for the SIR-thingy.. ;)
Oh,I don´t hate converters..but they kinda suck! ;P
EDIT:
When I think further about what you say,
it comes to this:
Nobody codes,makes music or draws.
It will be like TV!!
Enjoy the indifference of computer-generated entertainment.
You know, it's funny that you put it like that - it's the same thing that my canvas artist friends say about computer artists, and the same thing that my "real" musician friends say about computer musicians. I never did understand it from them, either... |
| |
Tch Account closed
Registered: Sep 2004 Posts: 512 |
Quote: You know, it's funny that you put it like that - it's the same thing that my canvas artist friends say about computer artists, and the same thing that my "real" musician friends say about computer musicians. I never did understand it from them, either...
Well,did you hear some off the `new´ musics,lately?
"Remixes" all over the place.. ;) |
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
try my editor 8)
Project One V0.5
btw eyeth, using wired pictures in a demo was considered lame even 10 years ago.. (unless its not retouched by a gfx artist.)
and secondly, choosing random pictures with only the 'coolness' factor in mind is nineties thinking, nowadays you have to have some connection to atleast the effects, but in best case you have a consistent theme and the pictures support that. |
| |
algorithm
Registered: May 2002 Posts: 705 |
I have seen your examples (eciwire) very nice. Still a bit more to do. At the moment the program loads,dithers and converts to Interlaced AFLI, but only utilises two mix colors per 8x1 pixel. Considering maybe even adding a sprite layer for each HIFLI as well as the additional 2 mix colors which can be produced each 8x1 line. (although memory would be tight) could use the left side of the screen to store sprites or the bottom)
At the moment I get good results by using a program such as adobeimageready. I select the 136 mix color to dither the image and in realtime i can adjust the brightness and contrast and see how the dither and quality would look. Usually with low contrast and brightness, it looks better (and would flicker less on a C64) this is then imported to my program (with dither turned off) which converts it to IAFLI. At the moment the dither is not working efficiently and is producing poor results in my program. Soon to be fixed |
| |
algorithm
Registered: May 2002 Posts: 705 |
I have seen your examples (eciwire) very nice. Still a bit more to do. At the moment the program loads,dithers and converts to Interlaced AFLI, but only utilises two mix colors per 8x1 pixel. Considering maybe even adding a sprite layer for each HIFLI as well as the additional 2 mix colors which can be produced each 8x1 line. (although memory would be tight) could use the left side of the screen to store sprites or the bottom)
At the moment I get good results by using a program such as adobeimageready. I select the 136 mix color to dither the image and in realtime i can adjust the brightness and contrast and see how the dither and quality would look. Usually with low contrast and brightness, it looks better (and would flicker less on a C64) this is then imported to my program (with dither turned off) which converts it to IAFLI. At the moment the dither is not working efficiently and is producing poor results in my program. Soon to be fixed |
| |
algorithm
Registered: May 2002 Posts: 705 |
Apologies for the double post. Oswald, Yes I have tried your program, its great. If you can maybe add the facility to utilise mixcolors and sierra/floyd steinberg dithering.
Ordered dither is good enough (it also compresses better), but error diffusion methods also look good.
|
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
algo, I think error diffusion dithering is something that looks ugly on the c64, imho you need more colors and higher reso for good results. (and the opposite, ordered dithering is something not for high reso, and lot of colors)
mix colors: this is the 2nd thing I never wanted to support, sorry :) the reasons for this: interlace is going out of fashion (ufli, mufli, etc), and secondly I am lazy to come up with an algorithm that considers both the resolution and color increase that comes from interlace. I think a really good converter should do that. |
| |
algorithm
Registered: May 2002 Posts: 705 |
Yeah, the UFLI and MUFLI modes are really decent, but there will always be the limit of 16 hardwired colors regardless (although colors tend to mix on the c64 due to PAL)
Ordered dithering looks more neat and arranged and yes, it is true that floyd steinberg dithering looks worse at lower resolutions.
But after many tests, (using photoshop, etc) and 16 c64 colors as the index, floyd steinberg wins over ordered dithering in 320x200 mode (especially in interlaced AFLI which utilised 136 colors)
|
| |
Jetboy
Registered: Jul 2006 Posts: 299 |
Where can one see eciwire examples? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
Quote:But after many tests, (using photoshop, etc) and 16 c64 colors as the index, floyd steinberg wins over ordered dithering in 320x200 mode (especially in interlaced AFLI which utilised 136 colors)
thats only the case though if you completely ignore the horrible flicker... if you limit yourself to use only colors with same luma for interlace (so they almost dont flicker at all) you have a lot less colors, and ordered dither wins again. |
| |
algorithm
Registered: May 2002 Posts: 705 |
using the method of picking colors via luma, wouldnt that make the final mix colors less accurate (but with less flicker)? I was thinking of utilising x/y interlace with darker colors to minimize the flicker instead |
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
Quote: Quote:But after many tests, (using photoshop, etc) and 16 c64 colors as the index, floyd steinberg wins over ordered dithering in 320x200 mode (especially in interlaced AFLI which utilised 136 colors)
thats only the case though if you completely ignore the horrible flicker... if you limit yourself to use only colors with same luma for interlace (so they almost dont flicker at all) you have a lot less colors, and ordered dither wins again.
If you choose colors of the same luma, you don't need dithering at all. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
Quote:If you choose colors of the same luma, you don't need dithering at all.
hu? one has little to do with the other no? generating "new" colors by interlacing, and using said "colors" in some ordered dithering pattern to have even more "colors" can be threatened completely independend. |
| |
algorithm
Registered: May 2002 Posts: 705 |
Quote: Quote:But after many tests, (using photoshop, etc) and 16 c64 colors as the index, floyd steinberg wins over ordered dithering in 320x200 mode (especially in interlaced AFLI which utilised 136 colors)
thats only the case though if you completely ignore the horrible flicker... if you limit yourself to use only colors with same luma for interlace (so they almost dont flicker at all) you have a lot less colors, and ordered dither wins again.
I will post some examples and a 'test' version of the program sometime in the weekend. with comparisons etc. using the similar luma method is great for near non flickering pixels, but as you had mentioned yourself it results in a far lesser selection of colors. I will add another option in the program (it will consist of several color reduction methods) to use only specific mix colors to reduce the flickering, I have tried this, but the quality is nowhere near as good. Furthermore, the flickering in the 136 mix color mode is minimized anyway due to the alternating dither and low brightness/contrast |
| |
algorithm
Registered: May 2002 Posts: 705 |
Some examples of the converted pics.
On a real c64 or emulator, they will obviously flicker, but this will be reduced somewhat
|
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
the fake 136 color pics are nice, but they are lying... waiting for the flickering version.. :) |
| |
algorithm
Registered: May 2002 Posts: 705 |
Fake?? why not zoom into the picture and see indeed that there are 2 cols (each of which comprise of 2 c64 cols=mixcol) in each 8x1 cell. and I never claimed that they will not flicker, flicker they will, but not bad as expected. Furthermore there is room for another two mix cols in each 8x1 cell |
| |
algorithm
Registered: May 2002 Posts: 705 |
oooppsss. just realised, these picture grabs have been saved as gif which dithers the converted image resulting in more cols.. A link to the application image (PNG Truecolor) is as follows. Any comments or criticisms welcome.
http://www.naveedkhugiani.com/test4.png
|
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
I said they lie because there's no flicker. Its not a suprise a picture with 136 colors looks nice. But its nowhere near how it would look on the real shit. |
| |
algorithm
Registered: May 2002 Posts: 705 |
I suppose the same can be said for any interlaced mode such as IFLI, IUFLI etc, One good idea was the similar intensity color mixing which would dither colors only to the mix colors which produced the least flicker (eg not white and black=Flicker hell, green and pink=less flicker etc) It will flicker no more than IFLI does in the worst case scenario. |
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
sure the same can be said for any other laced modes. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
posting 136 cols pics is pretty pointless, everyone can do conversions that look good that way. post executables that we can check on the real thing instead :) |
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
And stick a tune and scroller on at least, make a bit of a show of it. =-) |
| |
algorithm
Registered: May 2002 Posts: 705 |
Does anyone want to volunteer to create the display code for C64. Not standard IAFLI displayer, something more snazzy, maybe with VSP, scroller, etc
|
| |
Scout
Registered: Dec 2002 Posts: 1570 |
|
| |
algorithm
Registered: May 2002 Posts: 705 |
Hey Scout!! That is not funny. Look at the original and see if that contains the same. Someone ban this fucker
|
| |
Scout
Registered: Dec 2002 Posts: 1570 |
Quote: Hey Scout!! That is not funny. Look at the original and see if that contains the same. Someone ban this fucker
;(
---
8Bit Mayhem - The C64 Scenemusic Podcast
http://8bitmayhem.untergrund.net |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
Quote:Does anyone want to volunteer to create the display code for C64. Not standard IAFLI displayer, something more snazzy, maybe with VSP, scroller, etc
wtf is "IAFLI" ? are you talking about "ECI" ? |
| |
algorithm
Registered: May 2002 Posts: 705 |
Not sure what the correct term is IAFLI (Interlaced AFLI) ECI is the same. both Hires FLI
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
yes, interlaced hires fli == eci :) |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
What's AFLI btw? I know that's what some people call hires FLI, but what does the A stand for? |
| |
ptoing
Registered: Sep 2005 Posts: 271 |
Good point with the A, could be advanced, but that would not make that much sense. WTF does ECI stand for? I is for interlace, but I can not think of any logical results for E and C. |
| |
Tch Account closed
Registered: Sep 2004 Posts: 512 |
Quote: What's AFLI btw? I know that's what some people call hires FLI, but what does the A stand for?
Alternative? |
| |
ptoing
Registered: Sep 2005 Posts: 271 |
Oh, btw, if your images only have 2 colours per 8x1 you don't use the mode to it's full extent, you could have up to 4. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
AFLI = advanced fli
ECI = extended color interlace
now dont ask me who came up with those silly terms and why =) |
| |
ptoing
Registered: Sep 2005 Posts: 271 |
Haha, those are both pretty nonsensical. Hires FLI or Hires Interlace FLI or stuff like Multicolour Underlay FLI at least makes sense. Hmmmmm, shouldn't MUFLI be called MUHFLI? I mean if we wanted to be correct :B |
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
Quote: AFLI = advanced fli
ECI = extended color interlace
now dont ask me who came up with those silly terms and why =)
ECI comes from the demo of the same name (Extended Colours with Interlace) by Super Swap Sweden and the Thundercats. AFLI i dunno, but saw it referred to as such in a Topaz demo t'other night. =-) |
| |
Scout
Registered: Dec 2002 Posts: 1570 |
Quote: ECI comes from the demo of the same name (Extended Colours with Interlace) by Super Swap Sweden and the Thundercats. AFLI i dunno, but saw it referred to as such in a Topaz demo t'other night. =-)
Afaik, it was Topaz (D'Arc?) who did AFLI first.
---
8Bit Mayhem - The C64 Scenemusic Podcast
http://8bitmayhem.untergrund.net |
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
Quote: Haha, those are both pretty nonsensical. Hires FLI or Hires Interlace FLI or stuff like Multicolour Underlay FLI at least makes sense. Hmmmmm, shouldn't MUFLI be called MUHFLI? I mean if we wanted to be correct :B
moooofli
anyway FLI is a nonsense alone (flexible line interpretation?!? WTF?) |
| |
ptoing
Registered: Sep 2005 Posts: 271 |
Haha, kinda. What would be a logical name for FLI that makes sense from a hardware/programming kind of view? |
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
Well, Flexible Line Interpretation makes sense; you're changing how the lines are interpreted by the hardware (changing where badlines occur) so you're making the display more flexible. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
actually the "flexible" refers to the fact that you can choose the videoram each rasterline. that you need to trigger a badline each line to achive that is only the necessary evil :) |
| |
algorithm
Registered: May 2002 Posts: 705 |
The IAFLI converter has now been released. Implemented non flickering option.
Give it a try. And yes, like all interlaced modes, it will flicker on emulators, etc. |