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!

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
Per collegare la stampante ad aghi Commodore MPS803 ad un PC, con sistema operativo Windows 10, utilizziamo l'interfaccia XUM1541. La stampante Commodore MPS 803 è dotata di un connettore seriale IEC e, tramite l’adattatore XUM1541, la possiamo collegare alla porta USB di un normale PC.

I recommend connecting all cables with the PC and drive turned off. Behind the printer is a small selector for impostare l'address: per l'esperimento deve essere impostato su 4. After connecting everything, you can turn on the PC and the printer.


Tra una stampa e l'altra, può capitare che la stampante rimanga bloccata. In questo caso, è sufficiente scollegare e ricollegare il connettore dello XUM1541 al computer, nonché spegnere e riaccendere la stampante.
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. Bisogna installare anche i driver dell'interfaccia XUM1541.
Secondly, we need to create a subfolder in C:OpenCBM. Nell'esperimento ho creato la cartella C:OpenCBMSblendorio. All'interno di questa cartella, vanno inseriti tutti i file presenti in fondo a questa pagina (per Windows 10 a 64 bit), scompattando l'archivio compresso:
- 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 Girub. Through this page, you can also download the 32-bit Linux, Mac OS and Windows executables.

Stampare un'immagine con la stampante Commodore MPS803 collegata ad un PC Windows 10
Il primo esperimento effettuato nel video riguarda la stampa di un'immagine. Il formato raccomandato per le immagini da stampare è il PNG. La stampante Commodore MP S803 lascia bianche tutte le parti bianche dell'immagine (bianco puro &HFFFFFF). Qualsiasi altro punto di colore differente dal bianco puro viene stampato nero.
Per l'esperimento, ho preparato il logo del mio sito internet, AV.PNG. Ha uno sfondo tutto bianco e il logo scuro.

Francesco Sblendorio's program cbmage.exe Reduly any image that has a resolution greater than 480x480 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, seguito dal nome dell'immagine da stampare.

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, a partire dall'immagine da stampare, si crea il file 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.
cbmctrl lock prevents other processes from using the USB. cbmctrl listen 4 0, for those who know the Basic, corresponds to the command open: apre un canale di comunicazione con l'indirizzo 4, che è la stampante.
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.

Per l'esperimento, ho preparato un paio di file TXT da stampare. Per avviare la stampa, si utilizza il file batch 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

As compared to print-img.bat, l'unica riga che cambia è quella in cui viene richiamato cbmtext.exe using the text file as an argument. In place, therefore, of cbmage.exe, we have cbmtext.exe perché, anziché un'immagine, dobbiamo stampare un file di testo.
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.
Per convertire i caratteri speciali, Francesco Sblendorio ha dovuto disegnare, a mano, tutti i caratteri che mancano alla stampante Commodore MPS803, come ad esempio le lettere accentate, l'alfabeto greco e russo.

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!