Log in with to leave a comment.

Just got your fantastic toolset and started my long overdue "finally make that damn C64 game" journey.

Is there a way to use multiple monitors with charpad?

(2 edits)

Hey, thanks for supporting these projects! it is really appreciated.

So there is nothing particularly built in to support multiple monitors, the apps use the classic multi-document interface (MDI), ie. child forms arranged in a parent window.

There is nothing to stop you from simply enlarging the parent window into/over a second monitor.

If you have any particular suggestions in this realm then I am happy to listen.

Thanks for the quick reply! I totally overlooked the possibility to enlarge the parent window. The autistic part in me always needs to press the maximize button and then its all on one screen :)

So this totally fits my needs. Thank!

Thank you so much for this new CharPad 3.40 update. It's amazing. It has made my life so much easier when working with the maps in my game.

Thank you baardbi for your appreciation! I'm guessing the "consolidated sub-map export" is helping quite a bit?


Yes. It's perfect :)

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 82 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.


(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:
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.

I must agree with The Syndrom, that an export of the colors from a non tile map would be very useful. Even though, the program is not intended for this case of use, it is a good tool, for just editing char based screens, that do not depend on tiles. Just deporting the colour information of a map, as the are , would be very useful 

(6 edits)

Ok thanks for your input on this subject.

Yes I would be happy to provide an "export map (char) cell colour data" option.

This would export a block of colour data of equal size to the map (in chars) by simply translating each map cell into a colour depending on the contained char.

The thing I really want to avoid is adding "per map cell" (and "per tile cell") as basic colouring methods as this would really complicate things and demand a whole world of new converters and design features to be added.

So you would have to settle for the existing colouring methods at design time and just use the export option when needed.

I imagine this would mainly be used from the "per char" colouring method, so after exporting the colour map you could switch to "per project" and compress any differently coloured duplicates out of the char set and then export the (optimized) chars/map.

If you understand this I will try and get this option into the next update.

Hi! Thanks for your quick reply! An export option as described by you would be perfect!

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 1 year 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:

(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 ;)