@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

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

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!

#dos2ansi v1.8 released!
https://github.com/Zirias/dos2ansi/releases/tag/v1.8

There's some major rework inside adding support for seekable streams, which was necessary to implement the logic detecting #SAUCE even when the preceding DOS EOF character is missing.

Quite some improvements to the #showansi script as well, now comes with "fontsets" (explained in the comments in these and the config file) 😎

Plus added a manpage. Wanted a single source of truth (shared with the help output) and didn't find a good tool for that, so I quickly came up with my own:
https://github.com/Zirias/mkclidoc
It's bundled with dos2ansi now. Can produce man in both classic troff and BSD mandoc. The default choice is based on `uname` for now, tested on #FreeBSD and #Debian.

#ANSIart #MSDOS #retrocomputing

Release dos2ansi-1.8 · Zirias/dos2ansi

Support seekable streams, this allows to read SAUCE first without buffering the whole file detect SAUCE even without a DOS EOF character Add a manpage, support both classic man (troff) and BSD m...

GitHub

I just released #dos2ansi v1.7, which includes one final bugfix: Quoted output of #SAUCE metadata should use proper "shell-style" quoting, so it can be directly consumed by #showansi, which it does now. Plus #showansi got a (tiny) bit of optimization.

https://github.com/Zirias/dos2ansi/releases/tag/v1.7

Well, just after releasing, I found more stuff to tackle. No, not new bugs at least.

But more weirdly broken ANSIart files. Example:
https://16colo.rs/pack/root0297/FU-B%26B.ANS

This one *has* SAUCE metadata, but it's not properly "hidden" behind a DOS EOF character (0x1a), which means even 'type' on a real DOS machine will output the SAUCE gibberish below the pic 🙈

So, there *might* be a v1.8 adding more heuristics to detect and parse more broken SAUCE ... 😂

#MSDOS #ANSIart #retrocomputing

Release dos2ansi-1.7 · Zirias/dos2ansi

Fix optional quoting in SAUCE query to use shell style Optimize showansi a bit

GitHub

Yet another revision, #dos2ansi v1.6.3
https://github.com/Zirias/dos2ansi/releases/tag/v1.6.3

--- brings yet another subtle bugfix in #showansi: To set the title with an escape sequence, it uses "printf %b" with its \-notation for control characters, so literal backslashes in the title must be escaped as well 🙈

Apart from that, added nice "portability bikeshed":

- Removed the dependency on 'sed' again, quoting/escaping strings for 'eval' *can* be done in pure #POSIX #shell script.

- Added proper detection of the POSIX shell to my #zimk build system, along with variables to override the choice. Used that to generate the shebang for #dos2ansi. Really an awesome way to write /bin/sh without writing /bin/sh 😂 (rumors say there *are* POSIX systems with the compliant shell in a different path ...)

Screenshot: Yet another file with "weird" title from #SAUCE

#ANSIart #MSDOS #retrocomupting

Release dos2ansi-1.6.3 · Zirias/dos2ansi

Bugfix/service release: showansi: Fix quoting of title when using escape sequence to set it showansi: Eliminate dependency on sed showansi: When building from source, use detected POSIX shell inst...

GitHub

And now there's even #dos2ansi v1.6.2: https://github.com/Zirias/dos2ansi/releases/tag/v1.6.2

The good thing is: The issues I'm fixing here are getting more and more obscure 😂

First I noticed #xterm doesn't accept all #utf8 for its '-title' option, no matter what. But it *does* support the escape sequence to set a title, so, why not use this instead.

Having added support for that (and also optionally for setting the window size using an escape sequence), I had a look at quoting again. Indeed, #showansi failed for e.g. file names containing #shell special characters.

Therefore added a *safe* quote function. The downside is, it requires #sed now. Well ....

Screenshot shows both improvements, I picked a "maximum weird" file name and used a file that has an 'ö' in its title 🥳 -- in the showansi debugging output, you can see the quoting in action 🤯

#MSDOS #ANSIart #retrocomupting

Release dos2ansi-1.6.2 · Zirias/dos2ansi

Bugfix/service release: showansi: Safely quote all terminal and dos2ansi args showansi: Default to setting window title using an escape sequence, this avoids an issue of xterm not accepting utf8 f...

GitHub

Meanwhile:

* Added a #Debian (amd64) package to #dos2ansi v1.6 release (on Github)
* Updated the #FreeBSD port here: https://people.freebsd.org/~zirias/patches/0001-converters-dos2ansi-Add-new-port.patch
* There's of course still the #Windows binary attached to the release

Might push the FreeBSD port to official ports later ....

Screenshot: Random #showansi rendering ... 🙈

#MSDOS #ANSIart #retrocomputing

Just noticed the #showansi script from #dos2ansi is now "smarter" than the renderer on 16colo.rs 😂

When there's no (#SAUCE) metadata indicating the font to use, but the canvas after rendering turns out to be exactly 80x50 or 80x43, it just *guesses* that's most likely the VGA50 or EGA43 mode and picks that font 😉

(Of course, this "smartness" can be disabled with the "-S" flag)

Compare to this: https://16colo.rs/pack/avpack16/frg-ans2.ans

#ANSIart #MSDOS #retrocomputing

1997/avpack16/frg-ans2.ans - Repent! (v1) (50 line mode) by fRG

av - Repent! (v1) (50 line mode) by fRG