Setting Up MS Comic Chat in Wine

Published: 2022/05/14

Last updated: 2022/05/21

There’s not a whole lot of consolidated information on how to get MS Comic Chat running in Wine out there. This was kind of annoying until I realised that I have a Web site and can do just that, so here we are.

First Steps

In order to make this work, you need, initially, two pieces of software: wine and winetricks. Both of these are in every package manager out there, so they’re easy to get. If you’re running a Debian-based system, don’t forget to enable “contrib” and multiarch support (sudo dpkg --add-architecture i386), as you’ll also need the “wine32” package. Debian-based users would also be highly advised to follow the instructions on WineHQ and use their PPA.

The somewhat tricky part, however, is that wine needs to run from a 32-bit prefix, and on a 64-bit system, that’s not the default. In order to make one, run the following command:

$ WINEARCH=win32 WINEPREFIX=~/.wine32 wine wineboot

You can replace “.wine32” with whatever you want. Afterwards, make sure that WINEARCH and WINEPREFIX are set, just like above, before running any wine-related commands.

If all of that is too much hassle, consider using a tool like PlayOnLinux to manage your prefixes instead.

Once both are installed, you’ll need to set the default version of Windows to Windows XP via winecfg:

$ WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg

After that, you’ll need to get some additional packages via winetricks:

$ WINEARCH=win32 WINEPREFIX=~/.wine32 winetricks riched20 comicsans corefonts wmp9

The known (or believed) reasons for each:

If your version of wine is older, you may need to also install “ie6” in order to automatically download avatars. You’re probably better off updating Wine, though.

Once all of that is set up, you can then download Comic Chat. The best – indeed, nearly only – resource for all things Comic Chat is Mermeliz’s Comic Chat page. There are two versions available: the normal version and one that has been hexedited to allow mp3 playback for IRC sounds in addition to WAV, MID, and RMI files. If you intend to do this, note you’ll need to install the normal version first.

You may also notice that Mermeliz’s site offers a character editor. At this point in time, I am unaware of any way to make it run correctly under Wine, so don’t get your hopes up. Your best bet is to import what you need into a Windows 95 or 98 VM and work from there.

After downloading the Comic Chat installer, run it:

$ WINEARCH=win32 WINEPREFIX=~/.wine32 wine ~/Downloads/mschat25.exe

It will most likely crash at the end, but you should still find that it was successfully installed as “MS Comic Chat” under “Program Files” in your wine directory, which you can run like so:

$ WINEARCH=win32 WINEPREFIX=~/.wine32 wine ~/.wine32/drive_c/Program\ Files/Microsoft\ Chat/CChat.exe

Don’t forget to click the button on the toolbar to change from the default text view to the comic strip view.

Fine-Tuning

At this point, it might be helpful to do a little fine-tuning.

To make links (usually) clickable, and launch them in your default browser, you need to invoke winecfg:

WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg`

From there, click the “Libraries” tab and then set “urlmon” to “(builtin)”, then click “OK”.

More Avatars and Backgrounds

Avatars of people you chat with (at least those that are kept up to date) will auto-download as you need them, provided you have enabled the relevant options under “View->Options->Comic View”, or on-demand by either clicking the advertised link or right-clicking the user in the nicklist and selecting “Download Comic Character”.

You can get more avatars and backgrounds at Mermeliz’s site; they go in the “ComicArt” subdirectory. While the ones there are up to date, avatars obtained elsewhere with outdated URLs must be recreated (if possible) or hexedited to correct the URL. The file structure isn’t really documented, so the only “safe” edits are those that take up the exact same amount of characters as were present originally – for instance, changing a “.net” to a “.com”. It is also worth noting that the maximum file size for an auto-downloadable avatar seems to be about 1 MB.

Of course, it is always possible to just ask people to upload their avatars for you and download them manually.

IRC Sounds

IRC Sounds are a little tricky in that all recipients need to have a copy, as the files are played locally. By default MS Comic Chat should search in “C:\Windows\media” for applicable files, but this can be changed in the settings.

MIDI Files

MIDI files can be played using timidity++ as a daemon. Your package manager will probably automatically pull in a fairly dull set of patches by default; there’s better ones out there, but it’ll work for now. You’ll need to ensure that timidity++ is running as a daemon before you launch Comic Chat. I wrote a little wrapper script for myself because that’s how I do. Adjusted for the conventions used here, it would come out like this:

#!/bin/sh

timidity -iAD -B2,8 -Os1l -s 44100 &
WINEARCH=win32 WINEPREFIX=~/.wine32 wine "$HOME/.wine32/drive_c/Program Files/Microsoft Chat/CChat.exe"
killall timidity

Re-scaling the Comics View

If the comic panels seem a bit too small, you can force them to recalculate their relative size by going to “View->Options->Comic View”, selecting the number of panels per row you want, and then clicking “OK”. This works even if you’ve run the program previously, e.g. at a different resolution.

Sending Files Over DCC

MS Comic Chat supports file transfers over DCC chat, accessible by right-clicking someone’s avatar and selecting “Send File…”, with the resultant file going into the Downloads subdirectory. However, local firewalls can get in the way, both at the router and the OS level. Unfortunately, I do not have reliable information on the port range used, though from informal testing it seems to be fairly vast, ranging from, at least, 32801 to 43106. Further information would be welcome. In the meantime, the only real options are to temporarily disable the firewall or just use a more dedicated service.

Back to main page