You might think rendering #MSDOS #ANSIart on a modern #Windows is just fine because it still supports the old codepages, including #cp437. Well, sort of.

Some escape sequences are interpreted differently than ANSI.SYS did. In the worst case, you'll just see garbage. Most files are "sane" enough though, but even then, the default colors are "just wrong"...

#dos2ansi takes advantage of the 256color support available since Windows 10 to mimic the original #VGA palette. It also renders to a virtual canvas first, exactly emulating ANSI.SYS, and then uses a safe subset of ANSI for actual output. And it can read and display #SAUCE metadata. ๐Ÿ˜Ž

Of course it also works on #Linux, #FreeBSD, etc.

https://zirias.github.io/dos2ansi/

DOS2ANSI(7)

Also quite recent: #dos2ansi. This is a very versatile converter for #MSDOS #ansiart (and other "text") files to a format using #Unicode and only standard #ANSI #SGR escape sequences, so, suitable for today's terminals like #xterm. It includes an ansiart viewer which is "just" a shellscript, leveraging dos2ansi, xterm, less and some nice original #IBM fonts to do its job. So, maybe something for the #retrocomputing fans.

https://github.com/Zirias/dos2ansi

Docs (manpages) are here:
https://zirias.github.io/dos2ansi/

As there was *some* interest, a #FreeBSD port is available: https://www.freshports.org/converters/dos2ansi

GitHub - Zirias/dos2ansi: Converter for old MS-DOS/ANSI.SYS text files

Converter for old MS-DOS/ANSI.SYS text files. Contribute to Zirias/dos2ansi development by creating an account on GitHub.

GitHub

@dani Haha ๐Ÿ˜Ž

I'm running a (heavily configured) #fvwm3 here. This screenshot was just for demonstration that #dos2ansi and #showansi don't depend on any configuration, so this was a completely unconfigured X session in #Xephyr, which by default runs #twm.

You can even see the test mode in #xterm can only use 8 colors (because this is what the default xterm #terminfo entry announces), still the #xterm windows launched by #showansi have full color support, they explicitly set the terminal name to "xterm-256colors".

Not having added anything to #dos2ansi for a while now, I'd say v2.0 is the "final" version for now. I initially wanted that for v1.0, and it's amazing how many weird files, edge cases, and also ideas for improvements you can discover for something that "simple" ๐Ÿ™ˆ

I have ideas for future development, like provide the core functionalities as a shared library, like add some config file for dos2ansi itself as well (instead of just for #showansi), maybe even more ... but all of that can wait, it's IMHO "complete" as it is.

A #Debian package is attached to the release on github, and a #FreeBSD port is added ... anyone wants to help make it available in more repositories? ๐Ÿ˜Ž Would be most helpful if the fonts it uses by default are packaged as well and can be set as dependencies ...
https://repology.org/project/dos2ansi/versions

#retrocomputing #ansiart #msdos

dos2ansi package versions - Repology

List of package versions for project dos2ansi in all repositories

I just pushed an official #FreeBSD port of #dos2ansi ๐Ÿ˜‰

http://www.freshports.org/converters/dos2ansi

FreshPorts -- converters/dos2ansi: Converter for old MS-DOS/ANSI.SYS text files

A tool to convert MS-DOS/ANSI.SYS text files to modern terminals. This tool converts MS-DOS text files using ANSI.SYS escape sequences to a format a modern terminal can display. The output will use a Unicode encoding of characters and only ANSI SGR escape sequences to set basic foreground and background colors, intensity and blinking attribute. The input is expected to use CP-437 or one of the other supported DOS codepages.

And now, the full docs for #dos2ansi v2.0 are available online as well:
https://zirias.github.io/dos2ansi

IMHO manpages are an awesome documentation format. And with a little bit of "responsive" #CSS, they're well usable on a mobile as well -- I wished the typical "online man" sites would do something like that ๐Ÿ˜‰

DOS2ANSI(7)

Released: #dos2ansi v2.0
https://github.com/Zirias/dos2ansi/releases/tag/v2.0

The real "visible change" is documentation. #showansi now got a manpage as well, and the one for #dos2ansi improved a lot. Also better build instructions and some updates/corrections in the README. With these docs, you can hopefully make it do exactly what you want ๐Ÿ˜‰

Also, the build system (my own homebrewn #GNU #make framework) got lots of improvements and fixes.
https://github.com/Zirias/zimk/

#ANSIart #MSDOS #retrocomputing

Release dos2ansi-2.0 ยท Zirias/dos2ansi

Adjust a few minor things in code Improve and complete documentation (man and html) Many fixes and improvements to the build system

GitHub

I'm planning to create a release #dos2ansi v2.0 soon, which will have more or less the feature set of v1.8, but with complete and helpful documentation for everything. Main work left to do for that is to add more text to the manpages ๐Ÿ˜‰

At least, the tool I wrote for generating docs now has everything I'll need for that!

https://github.com/Zirias/mkclidoc

GitHub - Zirias/mkclidoc: Simple documentation generator for CLI utilities

Simple documentation generator for CLI utilities. Contribute to Zirias/mkclidoc development by creating an account on GitHub.

GitHub

And now, my little documentation generation tool can also produce manpages in #HTML format (this will be useful for the #Windows version of #dos2ansi) ๐Ÿ˜Ž

Using simple/minimal semantic markup, the "manpage style" is entirely left to #CSS

Screenshots:
- Desktop unstyled
- Desktop bright mode
- Desktop dark mode
- Mobile dark mode

Now working on adding a manpage for #showansi as well. I noticed I need to add features to my "mkclidoc" tool in order to get something meaningful here ...

First step, added support for cross-references ๐Ÿ˜Ž -- next thing needed will be documenting related files...

Next #dos2ansi release will probably just be nice and complete documentation!