The Signum! program was a popular word-processor available for the ATARI ST line of
home computers and distributed by Application Systems Heidelberg (ASH). While it
can be used via emulators like MagicCMac or MagicCPC or Hatari, it was never
ported to newer systems. The file format (*.SDO
for Signum! and Signum!2) was
proprietary and only a few other tools could read those files, all of which were limited
to running on the ATARI ST.
At the time, this was not much of an issue. Technology had moved on to TeX, PC and Mac, it was still possible to print Signum! documents and there were people around that could help extract the text. But it is somewhat unfortunate for people (mostly german-speaking) that wrote their thesis in Signum! in the 80s or 90s and still have the floppy disks with those files but no ATARI and/or no application anymore.
So when starting this project around 2020, there was no way to work with these files without an emulator, ideally with a copy of signum and some way to get the files off a floppy and into the emulator (See [prior art]({% link prior-art.md %})). Not necessarily worth the effort for some of the less important stuff I've found in the stash of floppies I had access to.
Today, you can use this (work-in-progress) tool, which can read Signum!2 documents and make some of these steps much easier. It's written in Rust, so it should work across all major platforms (Windows, Linux and OSX) and it's available online
- Load Signum! 1/2 documents (
*.SDO
)- Print all kinds of data from the files to a console, but most importantly
- Print a list of charset names
- Print some global formatting options
- Print a list of pages with additional formatting information
- Export the document as PDF or HTML or one PNG image per page
- See examples
- This requires the E24 font files to be available
- Font modes (e.g. bold and italic) are not yet supported in all formats
- Print a list of image names
- Load Signum! editor charsets (
*.E24
)- Print height and width for each character
- Print ASCII art for each character bitmap
- Render a string with the font (use
--input "..."
)- currently always "Abcdefghijkl"
- Generate a visual map of the characters on an ATARI keyboard
- Examples of those are linked on the chsets page
- Load Signum! printer charsets (
*.P24
,*.P09
,*.L30
)- Print height and width for each character
- Print ASCII art for each character bitmap
- Load Signum! images (
*.IMC
,*.I__
)- Produce a PNG for monochrome images exported from a document
There is a web version of the tool hosted at https://sdo.dseiler.eu/studio, which includes a growing list of the toolbox features without any installation required.
Upload the font files, add them to your in-browser collection and then load your document(s). If there's a bug, please send me a mail or file an issue on GitHub.
This project is implemented in the Rust programming language. You can either
download the compiled executables (recommended) or build the program from source using
cargo
.
- Go to https://github.com/Xiphoseer/sdo-tool/releases
- Download "sdo-toolbox-XXX.zip" where XXX is your operating system
- Unzip the archive to
sdo-toolbox-XXX
- Use/Copy
sdo-toolbox/sdo-tool
(Linux/OSX) orsdo-toolbox/sdo-tool.exe
(Windows)
- Install Rust
- Clone this repository (
git clone [email protected]:Xiphoseer/sdo-tool.git
) - OR download it from https://github.com/Xiphoseer/sdo-tool/archive/main.zip
- In the folder that contains
Cargo.toml
runcargo build --release
/cargo.exe build --release
- Use/Copy
target/release/sdo-tool
(Linux/OSX) ortarget/release/sdo-tool.exe
(Windows)
On Linux and MacOS, you can copy sdo-tool
to /usr/local/bin
to have it available everywhere.
On all operating systems, you can add the sdo-toolbox
or release
folder to the PATH
environment variable (See this guide) for the same result.
At the moment, this program is not released on https://crates.io, so it cannot be installed using cargo install
yet.
sdo-tool --format pdf SOMEFILE.SDO
to get a PDF filesdo-tool --format png SOMEFILE.SDO
to get a sequence of PNG filessdo-tool SOMEFILE.SDO
to print some text to the consolesdo-tool SOMEFILE.E24
to print all characters in the font to the consolesdo-tool --format png SOMEFILE.IMC
to convert an IMC image file to a PNG filesdo-tool --format pbm SOMEFILE.IMC
to convert an IMC image file to a PBM file
$ ls
FILE.SDO
CHSETS
sdo-toolbox
$ cd sdo-toolbox
$ ./sdo-tool --format pdf ../FILE.SDO
...
$ open ../FILE.pdf
See this document for examples for the output that this tool produces.
You are free to download, and run this software for any personal and non-commercial reason, at your own risk and without claiming fitness for any particular purpose. If you want to contribute to this project or use it for any kind of distribution or commercial purpose, please contact me.
If you had some reason to use this tool, I'd love to hear your story! Please reach out to
me at [email protected]
.
- Franz Schmerbeck for Signum itself.
- Lonny Pursell for helping me figure out the image reading based on his zView-compatible codec
- Oliver Buchmann of Application Systems Heidelberg for helping me set up Signum in an emulator.
- Thomas Tempelmann for the Megamax-2 Doku
as example files (with images!) and a SignumRead (
S/MYUTIL/SIGNUMRE.M
) Program from his MM2 dev-environment - Georg Scheibler for his article and source code for converting 1stWord to Signum
- The image-rs Developers for the PNG generation library
- "The 68000's Instruction Set", which is excellent but sadly doesn't include an author
- Wikipedia editors for confirming that 0 means white for an ATARI ST screen dump
- The rust compiler + ecosystem people for creating a useful language with really good tooling which made porting 68K assembly to working rust code really smooth