Connecting a Commodore MPS803 dot matrix printer to a Windows PC in 2021?

In this video, with an exceptional guest, Francesco Sblendorio of Retrocampus, let's see how connect a Commodore MPS803 dot matrix printer to a modern PC with Windows 10 operating system!

Subscribe my YouTube channel ValorosoIT. Retro technology, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

If you are interested in assembling the XUM1541 kit, you can consult this article. To install the OpenCBM software and XUM1541 drivers, you can refer to this article.

In addition to the Commodore MPS 803 printer, printers can also be connected to the PC with the procedure described below:

  • Commodore MPS 801;
  • Commodore MPS 1200.

Connect a Commodore MPS803 dot matrix printer to a PC with the XUM1541

To connect the Commodore MPS803 dot matrix printer to a PC running Windows 10, we use the XUM1541 interface. The Commodore MPS 803 printer is equipped with an IEC serial connector and, through the XUM1541 adapter, we can connect it to the USB port of a normal PC.

XUM1541 USB adapter interface serial cable IEC floppy disk drive Commodore 1541 Teensy2

I recommend connecting all cables with the PC and drive turned off. Behind the printer is a small selector for set the address: for the experiment it must be set to 4. After connecting everything, you can turn on the PC and the printer.

OpenCBM CBMage CBMtext Francesco Sblendorio, connect the Commodore MPS 803 printer to the PC computer with Windows 10 operating system, IEC connector, USB, XUM 1541

Between one print and another, it may happen that the printer gets stuck. In this case, simply disconnect and reconnect the connector of the XUM1541 to the computer, as well as turn the printer off and on again.

Software for printing text and images

To print texts and images with the Commodore MPS803 dot matrix printer (or Commodore MPS 801, Commodore MPS 1200), connected to a Windows 10 PC, you need various software. First, you need to have Spiro Trikaliotis OpenCBM installed, as we saw in this article. The XUM1541 interface drivers must also be installed.

Secondly, we need to create a subfolder in C:\OpenCBM. In the experiment I created the folder C:OpenCBMSblendorio. Inside this folder, all the files at the bottom of this page (for Windows 10 64-bit) must be inserted, unpacking the compressed archive:

  • i due batch print-img.bat and print-txt.bat;
  • programs to convert files to print: cbmage.exe and cbmtext.exe, by Francesco Sblendorio;
  • the files you want to print.

cbmage.exe and cbmtext.exe are open source projects that Francesco Sblendorio has published on his GitHub. Through this page, you can also download the 32-bit Linux, Mac OS and Windows executables.

Print an image with the Commodore MPS803 printer connected to a Windows 10 PC

The first experiment carried out in the video concerns the printing of an image. The recommended format for images to be printed is PNG. The Commodore MP S803 printer leaves all white parts of the image white (pure white & HFFFFFF). Any other color point other than pure white is printed black.

For the experiment, I prepared the logo of my website, AV.PNG. It has an all white background and a dark logo.

OpenCBM CBMage CBMtext Francesco Sblendorio, print a bitmap image with the Commodore MPS803 printer connected to a Windows 10 PC, IEC connector, USB, XUM1541

Francesco Sblendorio's program cbmage.exe Resize any image that has a resolution greater than 480 × 480 pixels. 480 pixels is, in fact, the maximum resolution that the MPS 803 can print, in graphic mode.

The batch file is used to start printing print-img.bat, followed by the name of the image to be printed.

OpenCBM CBMage Francesco Sblendorio analysis program to connect the Commodore MPS803 printer on a Windows 10 laptop, XUM1541, IEC connector, USB

The batch file print-img.bat contains the following commands:

@echo off
rem www.valoroso.it, Amedeo Valoroso
rem Print image file -> Commodore MPS803
rem cbmage by Francesco Sblendorio
rem opencbm by Spiro Trikaliotis

if not exist "%1" goto FileName
echo Printing "%1" …
cbmage "%1" >file.prt
if %ERRORLEVEL% NEQ 0 goto Error
..\cbmctrl lock
if %ERRORLEVEL% NEQ 0 goto Error
..\cbmctrl listen 4 0
..\cbmctrl write file.prt
..\cbmctrl unlisten
..\cbmctrl unlock
..\cbmctrl reset
goto End

:FileName
echo Please specify an existing PNG or JPG file to print.
goto EndX

:Error
echo Error during printing process.

:End
del file.prt >nul
:EndX

Through cbmage.exe, starting from the image to be printed, the file is created file.prt, which contains all the various bytes to be sent to the printer.

cbmctrl.exe is an OpenCBM package file which, as we have seen before, is located in the folder C:\OpenCBM, while all files for printing images are located in C:OpenCBMSblendorio. For this reason it was put ..\ (two dots and the slash) before the file name.

Follow me on Instagram channel. Retro technology, Commodore, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

cbmctrl lock prevents other processes from using the USB. cbmctrl listen 4 0, for those who know the Basic, corresponds to the command open: opens a communication channel with address 4, which is the printer.

With the command cbmctrl write file.prt, we input a file that contains the bytes to be physically sent, via the IEC protocol to the Commodore MPS 803 printer. The bytes are found in file.prt, produced first through the program cbmage.exe.

cbmctrl unlisten closes communication with the printer, cbmctrl unlock frees up the USB port for other processes and finally cbmctrl reset it's like turning the printer off and on again.

Print a text file with the Commodore MPS803 printer connected to a Windows 10 PC

Through the Commodore MPS803 dot matrix printer (or Commodore MPS 801, Commodore MPS 1200), connected to a modern PC, it is also possible to print TXT text files. The files may also contain accented letters, as they are of the program cbmtext.exe by Francesco Sblendorio takes care of converting special characters into pixels to be sent to the printer.

OpenCBM CBMage CBMtext Francesco Sblendorio, as unicode text printing, with special characters, with the Commodore MPS803 printer connected to a Windows 10 PC, IEC connector, USB, XUM 1541

For the experiment, I prepared a couple of TXT files to print. The batch file is used to start printing print-txt.bat, followed by the name of the TXT file to be printed.

The batch file print-txt.bat contains the following commands:

@echo off
rem www.valoroso.it, Amedeo Valoroso
rem Print text file -> Commodore MPS803
rem cbmtext by Francesco Sblendorio
rem opencbm by Spiro Trikaliotis

if not exist "%1" goto FileName
echo Printing "%1" …
cbmtext "%1" >file.prt
if %ERRORLEVEL% NEQ 0 goto Error
..\cbmctrl lock
if %ERRORLEVEL% NEQ 0 goto Error
..\cbmctrl listen 4 0
..\cbmctrl write file.prt
..\cbmctrl unlisten
..\cbmctrl unlock
..\cbmctrl reset
goto End

:FileName
echo Please specify an existing TXT file to print.
goto EndX

:Error
echo Error during printing process.

:End
del file.prt >nul
:EndX
OpenCBM CBMtext Francesco Sblendorio, analysis of the program to connect the Commodore MPS 803 printer to the laptop PC Windows 10, IEC connector, USB, XUM 1541

As compared to print-img.bat, the only line that changes is the one in which it is recalled cbmtext.exe using the text file as an argument. In place, therefore, of cbmage.exe, we have cbmtext.exe because, instead of an image, we have to print a text file.

The TXT text file is converted to a sequence of bytes in file.prt, compatible with the IEC protocol, which are sent to the printer via cbmctrl.exe by OpenCBM by Spiro Trikaliotis.

To convert the special characters, Francesco Sblendorio had to draw, by hand, all the characters missing from the Commodore MPS803 printer, such as accented letters, the Greek and Russian alphabets.

OpenCBM CBMage CBMtext Francesco Sblendorio Commodore MPS803 character definition, definition of special characters

The native character set of the Commodore MPS803 is indeed very limited.

Download cbmage, cbmtext, driver XUM1541 e OpenCBM per Windows 10

The ZIP file containing OpenCBM and the drivers to use XUM1541 on PC, is located at the bottom of this article.

Here is the package that includes the files to print images and texts with the Commodore MPS803 dot matrix printer, connected to a PC with Windows 10 64-bit operating system. It also works with Commodore MPS 801 and Commodore MPS 1200 printers.

Commodore-MPS803-CBMAGE-CBMTEXT.ZIP

Credits: in the video tutorial, SID music is Turrican 3 (1993) level 1-1 theme by Chris Hülsbeck.

To be notified when I publish more tutorials, experiments and reviews related to retro computers and vintage electronics, I invite you to subscribe to the YouTube channel and activate the notification bell!

Subscribe my YouTube channel ValorosoIT. Retro technology, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

Do you like this page? Share it:

Posted in Retro Computer, Retro Technology and Vintage Electronics, All articles.

Leave a Reply

Your email address will not be published. Required fields are marked *