Eight bits should be enough for anyone..
RSS icon Home icon
  • Tilemedo

    TileMeDo – A Freeware Commdore 64 Oriented 4×4 Tile Map Editor for Windows by Phil / Retroleum.

    Download latest version

    Changes in V1.10:

    • Addition of “trigger map” overlay – Gameworld event codes can now be placed “on top of” the map. Uses a simple 1 byte per map location system.


    This util allows game maps to be created on the PC for use in C64 programs.. The features/main differences between this and similar tools are:

      1. You can load in an image drawn on a standard PC paint package (with some special design considerations) and it will create a map based on an optimized character and tile set.
      2. This util works from editing the character set upwards: IE: You take a character set, build your tiles and then build a map with the tiles. (An alternative program like Charpad works primarily around drawing tiles within the program  – the character set is then generated from them.)
      3. Tilemedo is orientated around the C64’s character map mode (hi-res only or hi-res & multicolour) and the colour attribute system is fixed at 1 byte per charset character.

    Map Editor Tab:

      • Map panel: Left click a position on the map to plot a tile (or trigger code), Right click to pick up a tile (or trigger code for plotting)
      • Duckshoot menu – Left click on the tile-selection duckshoot menu to pick up a tile.
      • To save repetition you can create a brush and plot multiple tiles at once.  Select Make Brush from the title bar the left click in the map to define the top/left tile of the brush area, then click in the bottom/right. The brush then becomes active. You can disable it by right clicking in the map or unticking the use brush checkbox. (It can be later re-enabled by ticking the same checkbox.) You can chose whether or not to include the trigger map bytes from the area in the brush with the menu option below “Make brush”
      • To use a trigger map, first enable it with the Trigger Map menu option, next select the “Edit Trigs” tool and use the selection spin tool to select a byte to place. Trigger code editing is done at tile resolution and entries are positioned one at a time (though in map edit mode, the brush can  be made to include the trigger bytes). Trigger codes equal to zero are classed as inactive and not displayed on the map.

    Shortcut keys:

      • Cursors: Scroll around map
      • F1 – Go to previous tile
    • F2 – Go to next tile

    Notes / Tips:

      • Any undefined tiles are shown in grey with crosses.
    • The scroll wheel will cycle through tiles when the Selected Tile gadget has focus.

    Tile Editor Tab:

      • Tile editing panel: Left click a location in the tile window to plot the selected character, right click to select a character.
      • Character editing panel: Left click to plot a pixel (using the selected pen), right click to pick up a colour from the image.
      • Character set panel: Left click to select a character,  double right click to copy the selected character to another place in the character set (after repositioning the cursor).
      • Duckshoot menu: Left click to select a tile, double right click to drop a copy of the selected tile to a new location in the tile list.

    Notes / Tips:

    • When you copy a tile or character to a position past the end of the list, blank tiles (or chars) are inserted to that point.

    Project Menu:

      • Load / Save Project -Saves the character set, attribute colours, tile set and map in a single file (with various headers etc) – see info at the end of this document for .tmd format
    • Clear All Data – Make a fresh project

    Charset Menu:

      • Load / Save Charset. The character set is in standard binary C64 charset format, 8 bytes per character (no header)
      • Remove Duplicate Chars – will optimize the character set and remove any characters WITH THE SAME PATTERN AND COLOUR ATTRIBUTE that exist. The tile set and map will be adjusted to compensate.
    • Clear Charset – Sets all bytes to 0, character count set to 0

    Colours Menu:

      • Load / Save colours. 1 byte per character with no header.
    • Clear colours – All values are set to 1.

    Tiles Menu:

      • Load / Save Tile Set – 16 bytes per tile (no header).
      • Remove Duplicate Tiles – Any tile definitions where all 16 bytes are repeated are removed from the tile list. The map is updated to suit.  The character set is unchanged.
    • Clear Tile Data – All tiles erased, tile count set 0

    Map Menu:

      • Load / Save Map – 1 byte per map location to reference the tile that belongs there  (no header)
      • Set Map Size – Set the dimensions of the map in tiles. When this is changed any map in the editor will be truncated (if new map is smaller) or placed in the top left corner (if new map is bigger).
      • Import/Convert .BMP File – Loads in a bitmap image and converts it to an optimized character set, tile set and map data. The bitmap file needs to be specially prepared for this function (you can’t just load any old picture – it’s not that clever!)  The image should be:
        • Evenly divisable into 8×8 characters IE: Width and height should be multiples of 8 pixels.
        • The RGB pixel colour values used must be the same as those used internally by Tilemedo. See the example files for palette.
        • Each 8×8 square must obey the limitations imposed by the C64’s VIC chip in character mode. IE: If working in hi-res only mode, only the background colour and 1 custom pixel colour (any C64 colour 0-15) can be present in any character. If working in mixed mode: The custom colour can only be those in the range 0-7. A character is determined to hi-res if any of its pixels are not in pairs.
        • Remember to set the colour mode, background and (if applicable) multicolour0 and multicolour1 values using the gadgets under “charset” on the tile tab before loading the image.
      • Export Map As .BMP – Makes a bitmap image file from the entire map. (If any tile is undefined it will be rendered as entirely black.)
      • Save Character Map – This option saves the map out as individual characters instead of tiles, you can save a wndow from within the map (from the top left). Here, the width and height values requested are in characters.
    • Clear Map Data – wipe all tile map data

    Brush Menu:

      • Make A Brush – Pick up an area of the map for use as a brush. Select its top left, then bottom right by left clicking within the map.
    • Include Trigs In Brush – If using the trigger map overlay, the trigger codes in the brush area will also be copied

    Trigger Map Menu:

      • Use Trigger Map – Enable the trigger map system in Tilemedo
      • Load / Save Trigger Map – Format is simple 1 byte per map location (no header)
    • Clear Trigger Map – wipe all data from the trigger map (set to zero)

    Format of .tmd project file:

    4   bytes – Length of file
    1   byte  – Mode: 0 = Mixed, 1 = Hi-res chars only
    1   byte  – Background colour
    1   byte  – Multicolour 0 (0-15)
    1   byte  – Multicolour 1 (0-15)
    1   word  – number of characters
    x   bytes – character data (8 bytes per character)
    x/8 bytes – colour data (1 byte per character)
    1   byte  – tile width
    1   byte  – tile height
    1   word  – number of tiles
    y   bytes – tile data (Number of tiles x Tile width x Tile height) bytes
    1   word  – map width
    1   word  – map height
    z   bytes – map data (1 byte per map location)
    z   bytes  – trigger map data (1 byte per map location) – ONLY INCLUDED IF THE TRIGGER MAP IS ENABLED