Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Kickassembler - Converting .PNG to Koala
2012-02-21 15:04
TWW

Registered: Jul 2009
Posts: 541
Kickassembler - Converting .PNG to Koala

Hey fellow hackers.

I wanted to write a converter in Kickassembler which can take any .PNG MC Bitmap screenshot from VICE (Then I don't need to worry about the RGB values since they are known) and convert into raw data you can use in your productions.

This is the way I imagine doing it:

#1 - Determin the background collor based on the most used collor in the picture
#2 - Verify there is no 4x8 block containing more than 3 collors+BG
#3 - Convert each 4x8 block afterwards and write the data into 3 lists (1 for BMP data, 1 for Charcollors and 1 for collmem).
#4 - Add BG collor at the end :-)

I'm looking for improvement comments on this or maybee I need to revise the way I think about this?
 
... 37 posts hidden. Click here to view all posts....
 
2012-04-14 09:18
andym00

Registered: Jun 2009
Posts: 44
:PNGtoKOALA("320x200.png", $2000,$4000,$5000,$6000)
2012-04-14 10:36
Total Chaos

Registered: Mar 2006
Posts: 74
Didn't work.
2012-04-17 00:47
TWW

Registered: Jul 2009
Posts: 541
Any chance you could be a little more specific?

Are you sure you have the same RGB values?
Do you get any error messages?
How do you verify it doesen't work if there are no errors?


EDIT: I also posted this code on codebase (Down for maintenance right now) and I am unsure if I made any fixes to it there compared with this one. The codebase one should be the best one atleast (There was some bug I rectified but can't remeber what).
2012-04-17 05:38
Total Chaos

Registered: Mar 2006
Posts: 74
I did warn you I was stupid ;)

The error I get is non-specific, it just says "Error on line .." and it's on the first line of the macro:

// .macro PNGtoKOALA(PNGpicture,BMPData,Chardata,D800data,BGC) {
.macro PNGtoKOALA("320x200.png", $2000, $5000, $6000, $7000) {

parsing
//----------------------------------------------------------

// .macro PNGtoKOALA(PNGpicture,BMPData,Chardata,D800data,BGC) {
.macro PNGtoKOALA("320x200.png", $2000, $5000, $6000, $7000) { <-- Row 81
^

Error: Syntax error
at line 81, column 32 in C:\c64\sources\www.asm

But to be honest, I did not get the Are you sure you have the same RGB values?
I just copy/paste'ed from codebase...

So, I need to set that up first? (and where will I find this info?)

//Total Chaos aka Dumbass
2012-04-17 08:48
Cruzer

Registered: Dec 2001
Posts: 1048
Total Chaos: You seem to have replaced the definition of the macro with the parameters used for calling it. So change it back to:
.macro PNGtoKOALA(PNGpicture,BMPData,Chardata,D800data,BGC) {
And call it with:
:PNGtoKOALA("320x200.png", $2000, $5000, $6000, $7000)

2012-04-17 11:49
Total Chaos

Registered: Mar 2006
Posts: 74
Yes! That was it.. (bangs head on table)
Now to figure out the hash-table-thingy-rgb-stuff...

Thanks guys
2012-10-21 00:37
TWW

Registered: Jul 2009
Posts: 541
    // VICE C64 PALETTE
    .struct RGB {r,g,b}  // Based on standard vice colors
    .const black   = RGB(  0,  0,  0) // #$000000
    .const white   = RGB(255,255,255) // #$FFFFFF
    .const red     = RGB(137, 64, 54) // #$894036
    .const cyan    = RGB(122,191,199) // #$7ABFC7
    .const purple  = RGB(138, 70,174) // #$8A46AE
    .const green   = RGB(104,169, 65) // #$68A941
    .const blue    = RGB( 62, 49,162) // #$3E31A2
    .const yellow  = RGB(208,220,113) // #$D0DC71
    .const l_brown = RGB(144, 95, 37) // #$905F25
    .const d_brown = RGB( 92, 71,  0) // #$5C4700
    .const l_red   = RGB(187,119,109) // #$BB776D
    .const d_grey  = RGB( 85, 85, 85) // #$555555
    .const grey    = RGB(128,128,128) // #$808080
    .const l_green = RGB(172,234,136) // #$ACEA88
    .const l_blue  = RGB(124,112,218) // #$7C70DA
    .const l_grey  = RGB(171,171,171) // #$ABABAB

    .const Black   =   black.r * 65536 +   black.g * 256 +   black.b
    .const White   =   white.r * 65536 +   white.g * 256 +   white.b
    .const Red     =     red.r * 65536 +     red.g * 256 +     red.b
    .const Cyan    =    cyan.r * 65536 +    cyan.g * 256 +    cyan.b
    .const Purple  =  purple.r * 65536 +  purple.g * 256 +  purple.b
    .const Green   =   green.r * 65536 +   green.g * 256 +   green.b
    .const Blue    =    blue.r * 65536 +    blue.g * 256 +    blue.b 
    .const Yellow  =  yellow.r * 65536 +  yellow.g * 256 +  yellow.b
    .const L_brown = l_brown.r * 65536 + l_brown.g * 256 + l_brown.b
    .const D_brown = d_brown.r * 65536 + d_brown.g * 256 + d_brown.b
    .const L_red   =   l_red.r * 65536 +   l_red.g * 256 +   l_red.b
    .const D_grey  =  d_grey.r * 65536 +  d_grey.g * 256 +  d_grey.b
    .const Grey    =    grey.r * 65536 +    grey.g * 256 +    grey.b
    .const L_green = l_green.r * 65536 + l_green.g * 256 + l_green.b
    .const L_blue  =  l_blue.r * 65536 +  l_blue.g * 256 +  l_blue.b
    .const L_grey  =  l_grey.g * 65536 +  l_grey.g * 256 +  l_grey.b




I should have posted this earlier :-)
2013-08-11 15:48
TWW

Registered: Jul 2009
Posts: 541
Necro thread but just to let anyone interested know, I've added a macro alowing you to load up your HiRes PNG pictures as well on codebase:

http://codebase64.org/doku.php?id=base:kick_assembler_macros&#l..
2015-05-29 19:36
xIII

Registered: Nov 2008
Posts: 209
necro thread v2

Can some1 add this list to the kickasm source at codebase ?
2015-05-31 19:37
TWW

Registered: Jul 2009
Posts: 541
I added the collor definition listing to codebase. I do however recomend looking at the routine by Pantaloon as it allows more flexibility.
Previous - 1 | 2 | 3 | 4 | 5 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Oswald/Resource
Higgie/Kraze/Onslaught
Mason/Unicess
chronos/Therapy
McMeatLoaf
Isildur/Samar
Frostbyte/Artline De..
katon/Lepsi De
t0m3000/ibex-crew
Guests online: 313
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 No Bounds  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 Party Elk 2  (9.7)
2 Cubic Dream  (9.6)
3 Copper Booze  (9.5)
4 Rainbow Connection  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Onscreen 5k  (9.5)
7 Dawnfall V1.1  (9.5)
8 Quadrants  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Birth of a Flower  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Nostalgia  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.185 sec.