A downloadable tool for Windows

Buy Now$7.99 USD or more

CharPad C64 Pro is also available as a twin-pack with SpritePad C64 Pro for a reduced overall price, for more info click here


CharPad C64 is a graphics data editing tool that facilitates the production of graphics data in a format compatible with the legendary Commodore 64 home computer.

The program accurately simulates the C64's video formats and allows you to comfortably design character sets, tiles, fonts and maps for 2D video games and demos.

You can start a project from scratch using the built-in freehand painting tools or import and convert any existing bitmap image into a C64 compatible tile map using various tile sizes from 1 x 1 up to 10 x 10 characters (100 different sizes).

CharPad C64 has been in development since 2003 and has been widely considered an essential weapon in modern C64 game development ever since.

CharPad C64 Pro is an evolution of the original CharPad tool that contains useful additional features, many of which have been commissioned by Thalamus Digital Publishing during the latter half of 2019 to assist in the development of their own games.

This special edition is now available to the public


Includes many great features such as...

  • Support for *ALL* the standard C64 (VIC-II) display modes.
  • High quality interactive image import.
  • Flip/Reflect/Scroll/Rotate all/any items.
  • Automatic data/colour conversion between display modes.
  • Typing text directly into the Map Editor using a chosen "Key map".
  • Map Editor "Flexi-Grid" feature that allows map data to be subdivided.
  • Tile naming/tagging.
  • Interactive ripping of graphics from VICE snapshots.
  • Exporting of map data in 8, 12 or 16 bit formats (ie. >256 tiles).
  • Colour palette editing in RGB, HSL and YUV formats.
  • Copy/paste between program instances.

   

Notes...

  • Portable apps, run on Windows or Mac/Linux using ie. WINE/Crossover.
  • Includes 3 executables,  Win32, Win64 and .NET builds.
  • Buyers will have free access to all future updates of this product.


CharPad Pro is also available as a twin-pack with SpritePad Pro for a reduced overall price, for more info click here

Purchase

Buy Now$7.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $7.99 USD. You will get access to the following files:

CharPadC64Pro340.rar 4 MB
CharPadPro331.rar 7 MB
CharPadPro320.rar 7 MB
CharPadPro310.rar 4 MB

Development log

Comments

Log in with itch.io to leave a comment.

Is there a way to import a Commodore format hires file?  Like Doodle  or Art Studio?

(1 edit)

Not directly at this time (only Koala Painter), but if you can get a bmp or png of the image it can be imported (as BitmapHR) using the image importer.

I will look into this for a future version.

Suggestion. add an option to remove spaces from the filenames of "export all" I prefer to use makefiles, unfortunately spaces in filenames breaks things, so I have to rename them first.  

Thanks for the suggestion MGB, yes, that sounds useful. Added to the todo list.

Thank you again Subchrist for all your hard work. That's a great suggestion by MGB. I have had the same issue. I also noticed that when doing big maps, the "Export Flexi-Gridded Sub-Maps" exports numbers like this 0,11  9,12, 3,2 and so on. I need to rename the files to get them in the correct order: 00,11   09,12   03,02 and so on. If that leading zero could be added in the file names it would be very useful.

(3 edits)

Thank you for your appreciation, I've just had a look at the numbering issue you mention but really can't seem to see the problem, the numbering in the files is in [y,x] format for each exported sub-map.

On my system (Win 10) even if I export ie. several hundred sub-maps they all appear in correct order in the directory (without any leading zero).

It would be easy enough to add (the next update will make use of an ini file for minor settings tweaks) but I'm just not seeing it.

Sorry for the confusion. I'll give you an example. Here is a listing of a few lines from my map list. Since the macOS Terminal only looks at the first number and doesn't treat numbers as values, 1 will always come before 2 (10 comes before 2).

Rooms - SubMap (8bpc, 10x8) [1,5].bin
Rooms - SubMap (8bpc, 10x8) [1,6].bin
Rooms - SubMap (8bpc, 10x8) [1,7].bin
Rooms - SubMap (8bpc, 10x8) [10,0].bin
Rooms - SubMap (8bpc, 10x8) [10,1].bin
Rooms - SubMap (8bpc, 10x8) [10,2].bin
Rooms - SubMap (8bpc, 10x8) [10,3].bin

Deleted 14 days ago

Please consider a Mac version, and from there perhaps an iPad version…

(1 edit)

Thanks for the suggestions, I am reliably informed that it already works very well on Mac using WINE or Crossover, not sure about iPad but the same solution may be possible.
With current sales barely enough to keep a cat in munchies, don't hold your breath for any alternative native versions, sorry.

Haha, fair enough! Precious little stuff like this for Apple users, possibly a bigger market there than you think, used to paying a bit more too.

Fantastic stuff, just gets better and better 👌🏻

Hi, great tool, purchased it a few months ago. One thing I'm missing though - am I not able to set individual Color Matrix Colors on the map screen for non tiled charset ? didn't figure a way to do it. I think it either requires an additional tilemode of 1x1 and then using "per tile" coloring, or an additional coloring mode "per map-char".

the colorram-data gets exported correctly, so it's there, you just can't edit it properly yet.

thanks.

(3 edits)

Hi, thanks for the feedback, yes the decision was taken many years ago purposefully NOT to include a "per-map-cell" matrix colouring method, with CharPad being primarily designed as a game-map editor the feeling was that few games would need/use such a method due to the effective doubling (or at least a 50% increase, 1 nybble per cell) in the size of required map data.

This and also the requirement for the user to manually paint the map colours as well as the map characters were the main reasons for it's omission.

However it actually IS something that has remained on the todo/maybe list and while it might not get added as a general feature, it MIGHT get added as an export option at some point,

ie. if you have a project using the "per-char" colouring method, we may add an option/tool that would create a converted set of data for a "per-map-cell" colouring method (for export/use/viewing on the C64), this would obviously allow a reduced number of character images in most cases as all of the colour data would be pushed over to the map.

It may not be the solution you were hoping for but it's the one that is most likely to happen as adding such a colouring method (and probably also "per-tile-cell" would likely take years to complete as general features.

I've has the option for "independent colours for every character" in my generic engine code for quite a long time: https://github.com/martinpiper/C64Public/blob/master/Scroller/ScrollEntry_MultiD...
But I don't think anyone is really using it because it's very memory hungry. :)

Also worth mentioning is the fact that while the addition of 'per-map-cell' (and/or per-tile-cell) colouring methods + the abilty to directly paint colour to the map/tiles might be intuitive enough for the text modes (just 1 matrix colour), it almost certainly would not be for the bitmap modes (2 / 3 matrix colours).

So on balance, I would have to conclude that offering 'per-cell' matrix colouring as a project data export option (only) would be the right choice.

Hi, any planned support for animated characters?  It would be nice to be able to preview characters which may be animated.  I have flags which are moving in the wind in my Hunchback Redux game and smoke escaping from a chimney in my Christmas Caper game I'm working on, it would be a nice addition.  This feature was available years ago in Firebird graphic editor on the C64, so I don't think it would be too difficult for you to implement. Thanks.

(1 edit)

A superb bit of software that I use for all my C64 games. 

One option I'd love to be added to the compress data is 'only clear un-used chars' or perhaps even the option to specify a character index to start from other than 0. 

What I mean by that is often I'll have my A-Z, 0-9 and a few other common symbols in my set, in the correct place to be used programatically. If I want to retain those I can just draw them in an un-used part of the map.

But when I compress data, any currently un-used chars in between those sub-sets are deleted and now the symbols and numbers are in the wrong place. So it would be nice if un-used chars were just optionally cleared rather than deleted. 

Is there any chance that you could add a bit of code to snapshot the window position?  Every time I load Charpad (and Spritepad) I have to scale and resize the window when it opens.  It would be useful if the Window x,y and x2,y2 size was saved upon exit, ready for the next session. Thanks.

Deleted 347 days ago
(2 edits)

When you say you have to scale and resize "the window", which window do you mean? the map, the charset?, the whole thing?

As every project is using different size charsets, tilesets, maps then I don't quite see how this would be helpful unless a layout were somehow saved for every project.

The main (parent) window itself should be starting maximized.

I have to resize everything.  I don't like windows which start maximised, it's not to my liking.  I have Kickassembler and VICE behind Charpad whilst working and I switch to them by clicking on titlebars - I like to scale the windows to what I'm working on, so I can see a set number of characters in a tilemap, or a set number of sprites in Spritepad, but it would be good if it just memorised the positions upon exiting the program.  Lots of other programs remember their last position, e.g. Sublime, OBS Studio, VICE etc.,  it's a time-saver more than anything.  Thanks.

Thanks for clarifying that.

Hi.  CharPad Pro 3.01.  Is it possible and if not are there any future plans to not have to select the Export location for Flex Gridded Sub Maps from scratch everytime (i.e. leave you in the last location the Flex Grid was exported to)?

Hi, thanks for the suggestion, we will look into it asap.

(4 edits)

Hi.  CharPad Pro 3.01.  There seems to be issues with Copy/Paste, either in the same or between instances in Charpad Pro.  If I copy/paste four chars from instance one to instance two, only three characters get pasted.  Likewise with copy/paste in the same instance.  Also, if I select all characters in say a 128 char set, not all 128 will be copied and pasted.  Plus if I select the very last single char of a char set from instance one and paste into instance two, nothing gets copied / pasted at all.

Hi thanks for the report, we found this bug a few weeks ago and it has been fixed for the next release, it is present in CharPad 3.01 and related to some internal changes with the number of colours stored per char.

An update is coming in a week or two.

Hi, I use Charpad Pro 3.0 Beta#3 and it seems it has a problem with saving or exporting to older CTM versions if the only change after opening file is editing tile tag or tile name.

Hi, thanks for posting.. could you be a bit more specific? which CTM version are you exporting to? what is the resulting problem? if exporting to CTM5 then I can tell you that this format does not support tile tags or names, I should probably put in some friendly warnings about unsupported features when exporting to older project formats.

(1 edit)

I will examine this and post more symptoms.

There is one thing slightly related to this, check this file:

https://github.com/c64lib/gradle-retro-assembler-plugin/blob/6776eaeb9654f6dc534...

(click "Raw" to download binary CTM).

it is CTM 8, text mc, with tiles. Charpad 3.0 BETA#3 shows three tiles with tags 0, 0, 4 respectively. But it fact it is 0, 2, 4 (it is how it is stored in CTM file, I'm pretty sure about it. By some reason, tag for second tile is shown as 0.

Thanks for the bug report Maciej, I have tracked down the problem and nailed it. The tile editor's constructor was zeroing the current item (1) after loading a new project. The fault was present in the Win32/64 versions and also affected SpritePad and the last released CharPad 2.xx releases. I will put out some updates in a few days. Nice catch ;)