OpenThermaCore 1.0

Sources extérieures

Outside sources

Externe Quellen

Ce sur quoi le programme s'appuie

What the program rests on

Worauf das Programm sich stützt

OpenThermaCore ne contient aucun fichier de Toshiba : pas de pilote démonté, pas de code repris, pas de bibliothèque empruntée. Il a été écrit à partir de ce qui est publié — les pages du constructeur, les manuels qu'on y télécharge, et un standard de commandes ouvert.

OpenThermaCore contains no Toshiba file: no disassembled driver, no borrowed code, no lifted library. It was written from what is published — the manufacturer's pages, the manuals they offer for download, and an open command standard.

OpenThermaCore enthält keine Datei von Toshiba: keinen zerlegten Treiber, keinen übernommenen Code, keine entliehene Bibliothek. Es wurde aus dem geschrieben, was veröffentlicht ist — den Seiten des Herstellers, den dort angebotenen Handbüchern und einem offenen Befehlsstandard.

Chaque adresse est donnée deux fois : telle qu'elle vit aujourd'hui, et telle qu'une archive l'a figée. Une page de constructeur déménage ou disparaît sans prévenir, et c'est précisément ce qui arrive aux machines dont plus personne ne s'occupe.

Each address is given twice: as it lives today, and as an archive froze it. A manufacturer's page moves or vanishes without notice, and that is exactly what happens to machines nobody looks after any more.

Jede Adresse steht zweimal hier: so, wie sie heute lebt, und so, wie ein Archiv sie eingefroren hat. Eine Herstellerseite zieht um oder verschwindet ohne Ankündigung — und genau das widerfährt Geräten, um die sich niemand mehr kümmert.

La machine

The machine

Das Gerät

La gamme TRST, chez le constructeur

The TRST range, at the manufacturer

Die TRST-Reihe, beim Hersteller

Toshiba Tec TRST series printers

La page de présentation des imprimantes de tickets de Toshiba Tec : quatre modèles — TRST-A00, TRST-A10, TRST-A12, TRST-A15 — avec leurs vitesses, leurs résolutions et leurs interfaces. C'est là qu'on vérifie à quelle machine on a affaire.

Toshiba Tec's overview page for its receipt printers: four models — TRST-A00, TRST-A10, TRST-A12, TRST-A15 — with their speeds, resolutions and interfaces. This is where you check which machine you are dealing with.

Die Übersichtsseite von Toshiba Tec zu den Bondruckern: vier Modelle — TRST-A00, TRST-A10, TRST-A12, TRST-A15 — mit Geschwindigkeiten, Auflösungen und Schnittstellen. Hier prüft man, mit welchem Gerät man es zu tun hat.

Pilotes, outils et manuels de la TRST-A10

Drivers, tools and manuals for the TRST-A10

Treiber, Werkzeuge und Handbücher für den TRST-A10

Download — POS Printers · TRST-A10

Le pilote Windows, les pilotes OPOS et JavaPOS, l'émulateur de port COM virtuel, le File Commander Tool V2.28, l'utilitaire réseau — et surtout les manuels PDF qui accompagnent chacun d'eux. Ce sont eux qui documentent les commandes de la machine, et c'est dans le pilote d'origine qu'on a trouvé que la table occidentale porte ici le numéro 9.

The Windows driver, the OPOS and JavaPOS drivers, the virtual COM port emulator, the File Commander Tool V2.28, the LAN utility — and above all the PDF manuals that come with each of them. Those are what document the machine's commands, and it was in the original driver that the Western code page turned out to be number 9 here.

Der Windows-Treiber, die OPOS- und JavaPOS-Treiber, der virtuelle COM-Port-Emulator, das File Commander Tool V2.28, das Netzwerk-Hilfsprogramm — und vor allem die PDF-Handbücher zu jedem davon. Sie dokumentieren die Befehle des Geräts, und im Originaltreiber fand sich, dass die westliche Codetabelle hier die Nummer 9 trägt.

La fiche technique de la TRST-A10

The TRST-A10 data sheet

Das Datenblatt des TRST-A10

TRST-A10 · brochure Toshiba TEC, réf. B-329

Les chiffres de la machine, sur une page : 203,2 × 203,2 ppp, papier de 80 mm pour 72 mm imprimables, USB 2.0 et RS-232C, tête donnée pour 52 millions de lignes. C'est de là que vient la largeur de 576 points — 72 mm à 8 points le millimètre — qui règle toute l'impression d'images. La brochure est de Toshiba TEC, mais elle est hébergée ici par un revendeur tchèque : le constructeur ne la publie plus.

The machine's figures, on one page: 203.2 × 203.2 dpi, 80 mm paper with 72 mm printable, USB 2.0 and RS-232C, a head rated for 52 million lines. This is where the 576 dots come from — 72 mm at eight dots per millimetre — the width that governs all image printing. The brochure is Toshiba TEC's, but it is hosted here by a Czech reseller: the manufacturer no longer publishes it.

Die Kennzahlen des Geräts auf einer Seite: 203,2 × 203,2 dpi, 80 mm Papier mit 72 mm Druckbreite, USB 2.0 und RS-232C, ein Kopf für 52 Millionen Zeilen. Daher stammen die 576 Punkte — 72 mm zu acht Punkten je Millimeter —, die den ganzen Bilddruck bestimmen. Die Broschüre ist von Toshiba TEC, liegt hier aber bei einem tschechischen Händler: Der Hersteller veröffentlicht sie nicht mehr.

La brochure de la gamme, et ce qu'elle dit du langage

The range brochure, and what it says about the language

Die Reihenbroschüre — und was sie über die Sprache sagt

Toshiba TRST series · brochure commerciale (A00, A10, A12, A15)

Les quatre modèles comparés, et surtout une ligne qui justifie tout le programme : le jeu de commandes annoncé par le constructeur lui-même est « ESC/POS command codes », à 8 points par millimètre. Ce n'est donc pas une hypothèse de notre part : la machine parle ESC/POS parce que sa brochure le dit. Document hébergé par un revendeur allemand.

The four models compared, and above all one line that justifies the whole program: the command set announced by the manufacturer itself is “ESC/POS command codes”, at eight dots per millimetre. So it is not our assumption: the machine speaks ESC/POS because its own brochure says so. Hosted by a German reseller.

Die vier Modelle im Vergleich — und vor allem eine Zeile, die das ganze Programm rechtfertigt: Der vom Hersteller selbst genannte Befehlssatz lautet „ESC/POS command codes“, bei acht Punkten je Millimeter. Es ist also keine Annahme von uns: Das Gerät spricht ESC/POS, weil seine eigene Broschüre es sagt. Gehostet von einem deutschen Händler.

Le langage

The language

Die Sprache

Le standard, tel qu'il est publié

The standard, as published

Der Standard, wie er veröffentlicht ist

ESC/POS Command Reference for TM Printers

ESC/POS est né chez Epson, qui en publie la référence complète. C'est le langage que la Toshiba comprend nativement, et c'est le seul que le programme emploie. Les numérotations diffèrent parfois d'un constructeur à l'autre — l'euro imprimé en « Ç » en est la preuve — mais la grammaire, elle, est commune.

ESC/POS came from Epson, who publish the full reference. It is the language the Toshiba understands natively, and the only one the program uses. Numbering sometimes differs between manufacturers — the euro printed as “Ç” is the proof — but the grammar is shared.

ESC/POS stammt von Epson, das die vollständige Referenz veröffentlicht. Es ist die Sprache, die der Toshiba von Haus aus versteht, und die einzige, die das Programm benutzt. Die Nummerierungen unterscheiden sich mitunter von Hersteller zu Hersteller — das als „Ç“ gedruckte Euro-Zeichen beweist es — die Grammatik aber ist gemeinsam.

Du côté de Windows

On the Windows side

Auf der Windows-Seite

Pourquoi le pilote d'origine est refusé

Why the original driver is refused

Warum der Originaltreiber abgelehnt wird

Signature du pilote avec signatures numériques · Microsoft Learn

Driver Signing With Digital Signatures · Microsoft Learn

Treibersignatur mit digitalen Signaturen · Microsoft Learn

Depuis Windows Vista 64 bits, un pilote en mode noyau doit être signé numériquement ; depuis Windows 10, la signature doit venir du portail matériel de Microsoft, avec un certificat à validation étendue. Un pilote de 2012 n'a rien de tout cela, et c'est pour cette raison, et pas une autre, qu'une machine en parfait état devient inutilisable.

Since 64-bit Windows Vista, a kernel-mode driver must be digitally signed; since Windows 10, that signature must come from Microsoft's hardware portal, with an extended validation certificate. A driver from 2012 has none of that, and that — nothing else — is why a machine in perfect order becomes unusable.

Seit dem 64-Bit-Windows-Vista muss ein Kernelmodus-Treiber digital signiert sein; seit Windows 10 muss diese Signatur vom Hardware-Portal von Microsoft stammen, mit einem EV-Zertifikat. Ein Treiber von 2012 hat nichts davon — und genau deshalb, aus keinem anderen Grund, wird ein tadelloses Gerät unbrauchbar.

Par où passent les octets

Where the bytes go through

Wo die Bytes hindurchgehen

WritePrinter function (Winspool.h) · Microsoft Learn

La fonction du spouleur d'impression que le programme appelle, après StartDocPrinter en type RAW : les octets partent alors vers la machine tels quels, sans passer par le rendu du pilote. C'est toute la technique du programme, documentée par Microsoft depuis trente ans.

The print spooler function the program calls, after StartDocPrinter with the RAW data type: the bytes then travel to the machine as they are, without going through the driver's rendering. That is the whole technique of the program, documented by Microsoft for thirty years.

Die Spooler-Funktion, die das Programm aufruft, nach StartDocPrinter mit dem Datentyp RAW: Die Bytes gehen dann unverändert an das Gerät, ohne die Aufbereitung des Treibers. Das ist die ganze Technik des Programms, von Microsoft seit dreißig Jahren dokumentiert.

Ce qui a servi à le construire

What it was built with

Womit es gebaut wurde

Le compilateur de l'exécutable portable

The compiler behind the portable executable

Der Compiler hinter der portablen Datei

Nuitka the Python Compiler

Nuitka traduit le Python en vrai code machine ; c'est ce qui donne OpenThermaCore-portable.exe, un fichier unique qui n'a pas le comportement d'auto-extraction que surveillent les antivirus.

Nuitka translates Python into real machine code; that is what produces OpenThermaCore-portable.exe, a single file without the self-extracting behaviour antivirus engines watch for.

Nuitka übersetzt Python in echten Maschinencode; daraus entsteht OpenThermaCore-portable.exe, eine einzige Datei ohne das selbstentpackende Verhalten, auf das Virenscanner achten.

Le défaut contourné pendant la construction

The defect worked around while building

Der Fehler, der beim Bauen umgangen wurde

Nuitka, ticket nº 3993 — « tk-inter cannot detect zipped Tcl/Tk libraries in official Windows Python 3.14.7 »

Python 3.14 livre Tcl/Tk sous forme d'archives, que le greffon de Nuitka ne sait pas encore reconnaître. Le ticket est ouvert ; le dépôt contient preparer_tcl.py, qui ouvre ces archives et passe les chemins à Nuitka. C'est la seule bizarrerie de la chaîne de construction, et elle est documentée ici plutôt que cachée.

Python 3.14 ships Tcl/Tk as archives, which Nuitka's plugin cannot yet recognise. The ticket is open; the repository contains preparer_tcl.py, which opens those archives and hands the paths to Nuitka. It is the one oddity of the build chain, and it is documented here rather than hidden.

Python 3.14 liefert Tcl/Tk als Archive aus, die das Nuitka-Plugin noch nicht erkennt. Das Ticket ist offen; im Repository liegt preparer_tcl.py, das diese Archive öffnet und die Pfade an Nuitka übergibt. Das ist die einzige Merkwürdigkeit der Baukette — und sie steht hier, statt verschwiegen zu werden.

L'outil qui fabrique l'installateur

The tool that builds the installer

Das Werkzeug, das den Installer baut

Inno Setup

Le script installer.iss du dépôt est écrit pour lui. C'est Inno Setup qui affiche la page d'information où le programme déconseille lui-même les droits administrateur.

The repository's installer.iss script is written for it. Inno Setup is what shows the information page on which the program itself advises against administrator rights.

Das Skript installer.iss im Repository ist für es geschrieben. Inno Setup zeigt die Informationsseite an, auf der das Programm selbst von Administratorrechten abrät.

La licence

The licence

Die Lizenz

Ce que « domaine public » veut dire ici

What “public domain” means here

Was „gemeinfrei“ hier heißt

CC0 1.0 Universel · Creative Commons

CC0 1.0 Universal · Creative Commons

CC0 1.0 Universell · Creative Commons

Le texte auquel renvoie le fichier LICENSE du dépôt. Copier, modifier, distribuer, vendre — sans permission à demander. La dédicace ne couvre ni les brevets ni les marques d'autrui, et c'est précisément pourquoi le programme ne contient rien qui appartienne à quelqu'un d'autre.

The text the repository's LICENSE file points to. Copy, modify, distribute, sell — with no permission to ask for. The dedication covers neither patents nor other people's trademarks, which is precisely why the program contains nothing belonging to anyone else.

Der Text, auf den die Datei LICENSE im Repository verweist. Kopieren, ändern, weitergeben, verkaufen — ohne um Erlaubnis zu fragen. Die Widmung deckt weder Patente noch fremde Marken ab, und genau deshalb enthält das Programm nichts, was jemand anderem gehört.

Où tout cela est conservé

Where all this is kept

Wo das alles bewahrt wird

L'archive Software Heritage

The Software Heritage archive

Das Software-Heritage-Archiv

Software Heritage · archive universelle du logiciel

Software Heritage · the universal software archive

Software Heritage · universelles Software-Archiv

Le dépôt y a été versé le 19 septembre 2026. Ce n'est pas une source dont le programme serait parti : c'est l'endroit où il continuera d'exister quand les autres auront changé d'avis. Chaque fichier y porte un identifiant calculé sur son contenu, qui désigne des octets et non une adresse.

The repository was deposited there on 19 September 2026. It is not a source the program came from: it is where it will go on existing once the others have changed their minds. Every file there carries an identifier computed from its content, which designates bytes rather than an address.

Das Repository wurde dort am 19. September 2026 hinterlegt. Es ist keine Quelle, aus der das Programm stammt: Es ist der Ort, an dem es weiterbestehen wird, wenn die anderen es sich anders überlegt haben. Jede Datei trägt dort eine aus ihrem Inhalt berechnete Kennung, die Bytes bezeichnet und keine Adresse.

Ce qui a été pris, et ce qui ne l'a pas été

What was taken, and what was not

Was übernommen wurde — und was nicht

Pris : des informations. Une largeur de 576 points, un numéro de table de caractères, la distance entre la tête et la lame, la liste des commandes que la machine accepte.

Taken: information. A width of 576 dots, a code page number, the distance between the head and the blade, the list of commands the machine accepts.

Übernommen: Informationen. Eine Breite von 576 Punkten, eine Codetabellennummer, der Abstand zwischen Kopf und Klinge, die Liste der Befehle, die das Gerät annimmt.

Pas pris : une seule ligne de code, un seul fichier, une seule bibliothèque. Le programme ne remplace pas le pilote de Toshiba et n'en dérive pas : il parle à la machine par l'interface d'impression standard de Windows, avec le pilote que vous avez déjà, quel qu'il soit.

Not taken: a single line of code, a single file, a single library. The program neither replaces Toshiba's driver nor derives from it: it talks to the machine through the standard Windows printing interface, with whatever driver you already have.

Nicht übernommen: keine einzige Codezeile, keine Datei, keine Bibliothek. Das Programm ersetzt den Toshiba-Treiber nicht und leitet sich nicht von ihm ab: Es spricht mit dem Gerät über die Standard-Druckschnittstelle von Windows, mit dem Treiber, den Sie ohnehin haben.

Les liens ci-dessus appartiennent à leurs auteurs — Toshiba Tec, Epson, l'Internet Archive. Ils sont cités ici, pas reproduits, et OpenThermaCore n'est lié à aucun d'eux.

The links above belong to their authors — Toshiba Tec, Epson, the Internet Archive. They are cited here, not reproduced, and OpenThermaCore is affiliated with none of them.

Die obigen Verweise gehören ihren Urhebern — Toshiba Tec, Epson, dem Internet Archive. Sie werden hier zitiert, nicht wiedergegeben, und OpenThermaCore steht mit keinem von ihnen in Verbindung.