Multipaint 2024

Multipaint 2024.1 (Version 15.4.2024)

With Multipaint, you can draw pictures with the color limitations of some typical 8-bit and 16-bit computer platforms.

Some of the screen formats supported are Commodore 64 hires/multicolor, Commodore Plus/4 Hires/multicolor, Commodore Vic-20 Hires/multicolor, ZX Spectrum, ZX ULAplus, ZX Spectrum Next, MSX 1, Amstrad CPC mode 0/1 (and 0 with Overscan), Sinclair QL, Commodore Amiga and Atari ST.

Multipaint features common drawing tools, color clash emulation, cut brushes, dither patterns, grid / snap, 30-step undo, spare page, magnify modes, direct executable export, export as source, import/export in native formats and much more.

Separated Preview window on top of main window.

Peeping at the keysheet.

Latest version :

Multipaint 2024.1 fixes a bug where using color index 128 or higher on Spectrum Next border would cause a crash.

Multipaint 2024 is the ninth major release of Multipaint. The version introduces some changes to the interface.

The preview window is now detached and has two size settings (switch between 1x/2x with doubleclick). It follows the target platform aspect ratio more closely than the main window, which uses integer scaling.

Until it is better documented: With focus on the preview window, keys n/p/0 switch between NTSC/PAL/1:1 ratioed pixels in C64 mode; not all modes have variants.

Free pan now works on all zoom levels. Either choose pan tool or drag with the middle mouse button. Using the magnifying glass tool, or simply the 'm' key, you can still work Deluxe Paint-style, between full screen and magnified mode.

The viewport drawing has been updated and is likely now faster.

Recently, I added an interactive tutorial for basic functions (Beta/Work in Progress) and a shortcut key cheat sheet menu item.

Loading 320x200 C64 images as PNG files in C64 and C64 multicolor modes has been improved. Multipaint tries to guess the background color and make better estimations about the colors, although it is never 100%.

A bunch of bugs were fixed, one that prevented inverting the mouse wheel from prefs.txt (yes, there's such a file).



An older VIC-20 export note, but it checks out: There are different exports for unexpanded VICs and with expansion. With unexpanded VIC exports, you need to provide a 10 LOAD "image",8,1 loader or use PuCrunch.

See also:

A blog post with some background for the 2024 version.

Download and running the app

Mac OS: Note that because of code signing and notarization issues, the application is very unlikely to run, but will be reported as damaged. I'm not going to pay for an Apple Developer license at this point. If the packaged app doesn't run, you can still choose the "Nothing Works" route below.

Choose your path:

The transition to Processing 4 is not yet forced, because it might require many to upgrade their Java. But it may be needed especially for really recent Apple M1 or Windows computers. P4 is now very explicit that it requires OpenJDK 17 or higher. (See examples below.)

–I just want to upgrade, my Multipaint from 2023 works just fine:

Download Multipaint application for Windows/Linux/Mac (zip) Processing 3 app, needs the same Java "as before."

–I have a recent OS/Computer/CPU, the previous Multipaint no longer works:

Download Multipaint application for Windows/Linux/Mac (zip) Processing 4 app, Requires OpenJDK 17 or higher.

–Nothing works, I'll use the Processing Development Environment and run/export the source:

Get Processing from here, if you don't have it.

Download Multipaint Processing 3/4 sketch, v. 24.3.2024 (zip, no manuals)

Place the extracted multipaint folder inside your sketchbook folder, run Processing, open and run the sketch. Use File/Export Application in the Processing Development Environment to create a self-running app.

Notes about supported platforms for the PDE in the P4 wiki.

Java and the JRE

As Multipaint is written in Processing, it should run in Windows, Mac OS X and Linux 32/64 bit systems. For running the application, you need the Java Runtime Environment. It may turn out you already have it. For some systems, installing something like Arduino might also install a version without further hassle.

If an error message demands an exact version of Java, I cannot guarantee it actually means what it says. It may also drop out of the app silently. Running it from command line may provide some information. I don't have that much control over the matter.

Examples with Processing 4

Using the "P4" marked zip, this will require OpenJDK 17 or higher.

Here are a few experiences, some steps may require you to enable system permissions.

Also, installing over older version of Java may need a different process.

Windows 11Pro

  • Running the windows-amd64 version, the system alerts it needs Java Runtime Environment 17.
  • This took me to Adoptium's website, suggesting the download of Eclipse Temurin JDK for Windows x64.
  • Opening the file I get the Setup Wizard for Eclipse Temurin JDK.
  • Following the instructions, not changing any parameters, I could afterwards run Multipaint from the windows-amd64 folder.

Linux Mint / MATE 64-bit

  • Open Software Manager.
  • Search for openjdk
  • Choose, for example, Openjdk-21-jre package and install it.
  • Afterwards, the Linux version of Multipaint runs from the linux-amd64 folder

Mac OS

As mentioned above, because of code signing and notarization issues, the downloaded "application" is very unlikely to run and will be reported as "damaged". However, you may still need OpenJDK to run your own Processing-built application.

  • Download the a tar.gz from e.g. jdk.java.net/21/
  • Unpack contents to ~/OpenJDK
  • Add relevant export JAVA_HOME and export PATH parameters to ~/.zshrc
  • (Or, find better instructions.)

Raspberry Pi 400

  • Ok, just check these instructions for updating your OpenJDK beyond version 17.
  • Use the linux-arm version or linux-amd64, it doesn't seem to matter much.

Manual

Multipaint manual at Google Docs. (The manual is not included with the zips.)

Hardware

I developed Multipaint with a two-button mouse with the wheel as the third button. The wheel zooms/pans and the middle button click works as an instant pipette.

For old school pixel work, it might be better to slow down the pointer movement in your system.

Wacom-style tablets or a Cintiq display should be ok, but I can't promise it.

/data/prefs.txt handles some of the general preferences of the software, such as the default path for your images. On Mac, the data folder is probably "inside" the application, and you can get there with "show Package contents".

Keysheet with highlighted important options

You can also use a few common shortcuts, such as Ctrl-Z for undo, Ctrl-S to save, Ctrl-X to activate Cut brush, Ctrl-A to select&cut all. (cmd instead of ctrl with Mac)

Older notes

NOTE to Raspberry Pi users (18.3.2024)

My experiences have shown the program can run on Raspberry Pi 3B+ and Raspberry Pi 400. Running the 32-bit linux version may help - or not. The Processing 4 zip has a version dedicated for arm, but this isn't really necessary. Pi 400 is somewhat usable, image imports and internal conversions do take time though.

The Raspbian OS makes a huge mess of the file selector, but it kind of works. There's a solution at hand but I haven't implemented it yet.

Have a reasonable desktop resolution so you can use a smaller Multipaint app window.

NOTE to Windows users (12.2.2023)

I have disabled the specific file selector for Windows, because it apparently caused some trouble. If you want to enable the better fileselector for Windows, check the prefs.txt file in the data folder and alter the line to read FSELECTOR=1

Windows 10: If you encounter a problem where resizing the Multipaint window makes the window unresponsive (immobile, non-resizable) or otherwise crashes the program, you may need to update your Windows. On a 20H2 it seemed to work fine.

Your security software may tag the Multipaint archive as a potential malware/virus just in principle, which ALMOST certainly is a false positive. Furthermore, like with Mac, your security settings may prevent you from running web-downloaded content. Take care!

NOTE to Mac users (24.11.2020)

Tested on Yosemite 10.10.5, Catalina 10.15.7 and El Capitan 10.11.6.

There may be security/ file quarantine related issues with the Macintosh. You may need to allow the file to run separetely from your privace/security settings. Depending on your Mac OS and Java version, the application may have problems with finding the prefs.txt file. This should no longer be a problem with the 2020 version. See further below for more information.

NOTE to Linux users (24.11.2020)

The application window resize didn't work properly on some Linux setups. Marq (of the PETSCII editor fame) found a solution and it has been shown to work on various setups.

Special thanks to Compyx and Shine for testing and patience.

As an additional note, it might be good to install libcanberra-gtk-module, if Multipaint says it is missing. This reveals itself when running ./multipaint from the command line. It shouldn't be necessary, though.

Related projects

Here are a couple of related software. Especially if you now have Java runtime environment installed you can have a try at these:

PETSCII, a multi-platform text art editor

Pixel Polizei, a multi-platform graphics utility

Multipaint Gallery

Here are some works where Multipaint has been put to use.

Facet told me that all his C64 pixeling from around 2018 has been done on Multipaint. Thanks!

Special thanks to Jonathan Eggelton who gave permission to include his work. Jon takes inspiration from C-64 game covers and loading screens. You can view more of his work through this CSDb page.

I have also permission to include works by Andy Green. Andy has been very prolific in creating ZX Spectrum art, both re-imagined loading screens and new images. To see more, check Andy's ZXart gallery and his Facebook page.

The demogroup GOTU made a demo on Commodore plus/4 called Promised Land, and told me they used Multipaint for the graphics. See the entry at plus4world!

There are also loading screens for an add-on to the multi-platform text adventure Hibernated 1: This Place is Death, which is called Eight Feet Under. The pictures were made by Rail Slave. Get Hibernated from here, it's quite an atmospheric game.

Stefan Vogt, the author of Hibernated, has been testing the Atari ST mode for making the screens for The Curse of Rabenstein. I'm told all the modes (Amiga, DOS, ST) are based on the ST Degas images. Thanks Stefan! Check Curse of Rabenstein.

TITAN (Eric Cubizolle) gave permission to include some of his Amstrad CPC works on this page. More of his output can be found from this page. (Scroll to the bottom to see the Multipaint images)

Eric has been more than active, as he has made graphics for a game, and a Christmas demo, all with Multipaint.

Davide Bucci has used Multipaint to create loading screens for his multi-platform text adventure The Queen's Footsteps. For more information, go to this page.

Inside the Box (C64) by Facet

Too Young to Die (C64) by Facet

Queen's Footsteps (C64) by Davide Bucci

MarioCPC (CPC) by TITAN

Barbarian II (CPC) by TITAN

Screen from The Curse of Rabenstein (Atari ST) by Stefan Vogt

Ken 3 (CPC) by TITAN

Cobra (CPC) by Deckard

Powerdrome (ZX ULAplus) by Dr. TerrorZ

Eight Feet Under (C64 multicolor) by Rail Slave

Eight Feet Under (Amstrad CPC) by Rail Slave

Eight Feet Under (ZX Spectrum) by Rail Slave

Red Heat (C64 multicolor) by JonEgg

River Raid (C64 multicolor) by JonEgg

Toki (ZX Spectrum) by Andy Green

Doomsday Castle (ZX Spectrum) by Andy Green

Amazon (ZX Spectrum) by MacRune

From Promised Land (C plus/4) by DLST/GOTU

Für Desire (C64 multicolor) by Dr. TerrorZ

Fixertron (C64 hires) by Dr. TerrorZ

Remote (C64 hires) by Dr. TerrorZ

Queen (C64 multicolor) by Dr. TerrorZ

Infestation (C64 multicolor) by Dr. TerrorZ

Boabots (C64 hires) by Dr. TerrorZ

Lawless of the West (C64 hires) by Dr. TerrorZ

Countryside (C64 hires) by Dr. TerrorZ

Star Kerk (MSX) by Dr. TerrorZ

Imjarvi UFO Incident (C64 multicolor) by Dr. TerrorZ

Sommaren e Kårt (C64 multicolor) by Marq

Inside Job (C64 hires) by Dr. TerrorZ

Battlecat Action Figure (C64 hires) by Dr. TerrorZ

Unhanged (ZX Spectrum) by Dr. TerrorZ

Contact

Multipaint 2016-2024 by Tero Heikkinen AKA Dr. Terrorz. Comments and queries can be sent to the address below:

Before asking for new features, please consider reading the manual first. The feature might already exist!

I am reluctant to add new modes, especially if it is obscure, or has 256+ colors or has higher resolution than 320 x 200. Ok, so I did add a 256-color Spectrum Next mode... I am (still) considering Atari 8-bit modes.