social.tchncs.de is one of the many independent Mastodon servers you can use to participate in the fediverse.
A friendly server from Germany – which tends to attract techy people, but welcomes everybody. This is one of the oldest Mastodon instances.

Administered by:

Server stats:

3.8K
active users

#dos2ansi

0 posts0 participants0 posts today
Felix Palmen :freebsd: :c64:<p>You might think rendering <a href="https://mastodon.bsd.cafe/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://mastodon.bsd.cafe/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> on a modern <a href="https://mastodon.bsd.cafe/tags/Windows" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Windows</span></a> is just fine because it still supports the old codepages, including <a href="https://mastodon.bsd.cafe/tags/cp437" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cp437</span></a>. Well, sort of.</p><p>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"...</p><p><a href="https://mastodon.bsd.cafe/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> takes advantage of the 256color support available since Windows 10 to mimic the original <a href="https://mastodon.bsd.cafe/tags/VGA" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>VGA</span></a> 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 <a href="https://mastodon.bsd.cafe/tags/SAUCE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SAUCE</span></a> metadata. 😎</p><p>Of course it also works on <a href="https://mastodon.bsd.cafe/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a>, <a href="https://mastodon.bsd.cafe/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a>, etc.</p><p><a href="https://zirias.github.io/dos2ansi/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">zirias.github.io/dos2ansi/</span><span class="invisible"></span></a></p>
Felix Palmen :freebsd: :c64:<p>Also quite recent: <a href="https://mastodon.bsd.cafe/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a>. This is a very versatile converter for <a href="https://mastodon.bsd.cafe/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://mastodon.bsd.cafe/tags/ansiart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ansiart</span></a> (and other "text") files to a format using <a href="https://mastodon.bsd.cafe/tags/Unicode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Unicode</span></a> and only standard <a href="https://mastodon.bsd.cafe/tags/ANSI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSI</span></a> <a href="https://mastodon.bsd.cafe/tags/SGR" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SGR</span></a> escape sequences, so, suitable for today's terminals like <a href="https://mastodon.bsd.cafe/tags/xterm" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>xterm</span></a>. It includes an ansiart viewer which is "just" a shellscript, leveraging dos2ansi, xterm, less and some nice original <a href="https://mastodon.bsd.cafe/tags/IBM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>IBM</span></a> fonts to do its job. So, maybe something for the <a href="https://mastodon.bsd.cafe/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a> fans.</p><p><a href="https://github.com/Zirias/dos2ansi" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/Zirias/dos2ansi</span><span class="invisible"></span></a></p><p>Docs (manpages) are here:<br><a href="https://zirias.github.io/dos2ansi/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">zirias.github.io/dos2ansi/</span><span class="invisible"></span></a></p><p>As there was *some* interest, a <a href="https://mastodon.bsd.cafe/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> port is available: <a href="https://www.freshports.org/converters/dos2ansi" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">freshports.org/converters/dos2</span><span class="invisible">ansi</span></a></p>
Felix Palmen 📯<p>I just pushed an official <a href="https://techhub.social/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> port of <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> 😉 </p><p><a href="http://www.freshports.org/converters/dos2ansi" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">http://www.</span><span class="ellipsis">freshports.org/converters/dos2</span><span class="invisible">ansi</span></a></p>
Felix Palmen 📯<p>And now, the full docs for <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v2.0 are available online as well:<br><a href="https://zirias.github.io/dos2ansi" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">zirias.github.io/dos2ansi</span><span class="invisible"></span></a></p><p>IMHO manpages are an awesome documentation format. And with a little bit of "responsive" <a href="https://techhub.social/tags/CSS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSS</span></a>, they're well usable on a mobile as well -- I wished the typical "online man" sites would do something like that 😉</p>
Felix Palmen 📯<p>Released: <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v2.0<br><a href="https://github.com/Zirias/dos2ansi/releases/tag/v2.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/dos2ansi/rel</span><span class="invisible">eases/tag/v2.0</span></a></p><p>The real "visible change" is documentation. <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a> now got a manpage as well, and the one for <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> 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 😉</p><p>Also, the build system (my own homebrewn <a href="https://techhub.social/tags/GNU" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GNU</span></a> <a href="https://techhub.social/tags/make" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>make</span></a> framework) got lots of improvements and fixes.<br><a href="https://github.com/Zirias/zimk/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/Zirias/zimk/</span><span class="invisible"></span></a></p><p><a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a></p>
Felix Palmen 📯<p>I'm planning to create a release <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> 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 😉</p><p>At least, the tool I wrote for generating docs now has everything I'll need for that!</p><p><a href="https://github.com/Zirias/mkclidoc" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/Zirias/mkclidoc</span><span class="invisible"></span></a></p>
Felix Palmen 📯<p><a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v1.8 released!<br><a href="https://github.com/Zirias/dos2ansi/releases/tag/v1.8" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/dos2ansi/rel</span><span class="invisible">eases/tag/v1.8</span></a></p><p>There's some major rework inside adding support for seekable streams, which was necessary to implement the logic detecting <a href="https://techhub.social/tags/SAUCE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SAUCE</span></a> even when the preceding DOS EOF character is missing.</p><p>Quite some improvements to the <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a> script as well, now comes with "fontsets" (explained in the comments in these and the config file) 😎 </p><p>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:<br><a href="https://github.com/Zirias/mkclidoc" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/Zirias/mkclidoc</span><span class="invisible"></span></a><br>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 <a href="https://techhub.social/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> and <a href="https://techhub.social/tags/Debian" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Debian</span></a>.</p><p><a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a></p>
Felix Palmen 📯<p>I just released <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v1.7, which includes one final bugfix: Quoted output of <a href="https://techhub.social/tags/SAUCE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SAUCE</span></a> metadata should use proper "shell-style" quoting, so it can be directly consumed by <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a>, which it does now. Plus <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a> got a (tiny) bit of optimization.</p><p><a href="https://github.com/Zirias/dos2ansi/releases/tag/v1.7" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/dos2ansi/rel</span><span class="invisible">eases/tag/v1.7</span></a></p><p>Well, just after releasing, I found more stuff to tackle. No, not new bugs at least.</p><p>But more weirdly broken ANSIart files. Example:<br><a href="https://16colo.rs/pack/root0297/FU-B%26B.ANS" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">16colo.rs/pack/root0297/FU-B%2</span><span class="invisible">6B.ANS</span></a></p><p>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 🙈 </p><p>So, there *might* be a v1.8 adding more heuristics to detect and parse more broken SAUCE ... 😂 </p><p><a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a></p>
Felix Palmen 📯<p>Yet another revision, <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v1.6.3<br><a href="https://github.com/Zirias/dos2ansi/releases/tag/v1.6.3" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/dos2ansi/rel</span><span class="invisible">eases/tag/v1.6.3</span></a></p><p>--- brings yet another subtle bugfix in <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a>: 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 🙈 </p><p>Apart from that, added nice "portability bikeshed":</p><p>- Removed the dependency on 'sed' again, quoting/escaping strings for 'eval' *can* be done in pure <a href="https://techhub.social/tags/POSIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>POSIX</span></a> <a href="https://techhub.social/tags/shell" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>shell</span></a> script.</p><p>- Added proper detection of the POSIX shell to my <a href="https://techhub.social/tags/zimk" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>zimk</span></a> build system, along with variables to override the choice. Used that to generate the shebang for <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a>. 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 ...)</p><p>Screenshot: Yet another file with "weird" title from <a href="https://techhub.social/tags/SAUCE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SAUCE</span></a></p><p><a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/retrocomupting" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomupting</span></a></p>
Felix Palmen 📯<p>And now there's even <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v1.6.2: <a href="https://github.com/Zirias/dos2ansi/releases/tag/v1.6.2" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/dos2ansi/rel</span><span class="invisible">eases/tag/v1.6.2</span></a></p><p>The good thing is: The issues I'm fixing here are getting more and more obscure 😂</p><p>First I noticed <a href="https://techhub.social/tags/xterm" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>xterm</span></a> doesn't accept all <a href="https://techhub.social/tags/utf8" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>utf8</span></a> for its '-title' option, no matter what. But it *does* support the escape sequence to set a title, so, why not use this instead.</p><p>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, <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a> failed for e.g. file names containing <a href="https://techhub.social/tags/shell" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>shell</span></a> special characters.</p><p>Therefore added a *safe* quote function. The downside is, it requires <a href="https://techhub.social/tags/sed" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>sed</span></a> now. Well ....</p><p>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 🤯 </p><p><a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/retrocomupting" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomupting</span></a></p>
Felix Palmen 📯<p><a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v1.6.1 (a pure bugfix/service release):<br><a href="https://github.com/Zirias/dos2ansi/releases/tag/v1.6.1" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/dos2ansi/rel</span><span class="invisible">eases/tag/v1.6.1</span></a></p><p>* Fix possible crash (🙈) when querying for font or codepage on a file with a non-text <a href="https://techhub.social/tags/SAUCE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SAUCE</span></a> type.<br>* Try to parse something meaningful even out of partially broken SAUCE data</p><p>Yep, the possible crash was the reason to create a release even for a pretty "small" bugfix. 🙄 Chances are nobody would have noticed though, the SAUCE *display* was not affected, only the machine-readable query (-q).</p><p>Screenshot: The "offending" file. It even had literal ",1" written in the month field of the SAUCE date, but obviously meaning January here 😂</p><p><a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a></p>
Felix Palmen 📯<p>Meanwhile:</p><p>* Added a <a href="https://techhub.social/tags/Debian" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Debian</span></a> (amd64) package to <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v1.6 release (on Github)<br>* Updated the <a href="https://techhub.social/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> port here: <a href="https://people.freebsd.org/~zirias/patches/0001-converters-dos2ansi-Add-new-port.patch" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">people.freebsd.org/~zirias/pat</span><span class="invisible">ches/0001-converters-dos2ansi-Add-new-port.patch</span></a><br>* There's of course still the <a href="https://techhub.social/tags/Windows" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Windows</span></a> binary attached to the release</p><p>Might push the FreeBSD port to official ports later ....</p><p>Screenshot: Random <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a> rendering ... 🙈 </p><p><a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a></p>
Felix Palmen 📯<p>Just noticed the <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a> script from <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> is now "smarter" than the renderer on 16colo.rs 😂 </p><p>When there's no (<a href="https://techhub.social/tags/SAUCE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SAUCE</span></a>) 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 😉 </p><p>(Of course, this "smartness" can be disabled with the "-S" flag)</p><p>Compare to this: <a href="https://16colo.rs/pack/avpack16/frg-ans2.ans" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">16colo.rs/pack/avpack16/frg-an</span><span class="invisible">s2.ans</span></a></p><p><a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a></p>
Felix Palmen 📯<p><a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> v1.6:<br><a href="https://github.com/Zirias/dos2ansi/releases/tag/v1.6" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/dos2ansi/rel</span><span class="invisible">eases/tag/v1.6</span></a></p><p>* Fix cursor movement again, it never wraps or scrolls.<br>* Many smaller improvements to the <a href="https://techhub.social/tags/showansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>showansi</span></a> script<br>* Add an example configuration using scalable fonts from <a href="https://int10h.org/oldschool-pc-fonts/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">int10h.org/oldschool-pc-fonts/</span><span class="invisible"></span></a> instead of the default bitmap fonts</p><p>Scalable fonts are a tradeoff here. You get freely configurable sizes and correction of aspect ratio. You lose pixel-perfect (perfectly sharp) display. You can't have both, unfortunately.</p><p>Screenshot shows scalable fonts 😉 </p><p><a href="https://techhub.social/tags/MSDOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSDOS</span></a> <a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> <a href="https://techhub.social/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a></p>
Felix Palmen 📯<p>There was still room for improvement ....</p><p>From "just needs a little <a href="https://techhub.social/tags/script" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>script</span></a> to turn <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> in a nice ANSIart viewer" to a ~400-lines "monster" in 8 days ... 😂 </p><p>It *should* work well with any <a href="https://techhub.social/tags/POSIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>POSIX</span></a> <a href="https://techhub.social/tags/shell" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>shell</span></a>. I hope so. 🙈 <br><a href="https://github.com/Zirias/dos2ansi/blob/master/src/bin/dos2ansi/showansi.in" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/dos2ansi/blo</span><span class="invisible">b/master/src/bin/dos2ansi/showansi.in</span></a></p>
Felix Palmen 📯<p>Found one of these old ones using lots of cursor movement foo that even mis-renders on<br><a href="https://16colo.rs/pack/1991/SOUL.ANS" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">16colo.rs/pack/1991/SOUL.ANS</span><span class="invisible"></span></a></p><p>Guess <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> is really implementing these correctly now 😎 (finally!)</p>
Felix Palmen 📯<p>Playing around some more with some *very* old <a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> files ... blinking was obviously used more back then, and it's really nice <a href="https://techhub.social/tags/xterm" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>xterm</span></a> can actually do that! 😎</p><p>(need to pass an extra -k flag to <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> here because there's no <a href="https://techhub.social/tags/SAUCE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SAUCE</span></a> in this old file and the default is assuming bright colors instead)</p>
Felix Palmen 📯<p>BTW, the color difference you see in these Windows screenshots is the classic "dark yellow vs brown" issue.</p><p>Quick background, with digital <a href="https://techhub.social/tags/RGBI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RGBI</span></a> signals (like used with <a href="https://techhub.social/tags/CGA" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CGA</span></a>), you couldn't have brown, but high-quality monitors (including IBM's own, but also a Commodore 1084 I have here) had extra circuitry adjusting dark yellow to brown by reducing the green component. With <a href="https://techhub.social/tags/CGA" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CGA</span></a> on a cheap monitor or a TV set, you still had "dark yellow".</p><p><a href="https://techhub.social/tags/VGA" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>VGA</span></a> finally moved to analog <a href="https://techhub.social/tags/RGB" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RGB</span></a> and used brown. Still many terminals today (including <a href="https://techhub.social/tags/Windows" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Windows</span></a> <a href="https://techhub.social/tags/Console" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Console</span></a>) have dark yellow in their default palettes.</p><p><a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> must rely on the default palette when the terminal supports only 8 or 16 colors, but with a 256-color terminal, it uses "original" CGA/VGA colors. And of course, there's a switch to disable the "brown adjustment" 😎</p><p>Screenshot from <a href="https://techhub.social/tags/xterm" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>xterm</span></a> on#FreeBSD showing both modes, actually this example looks like it might have been designed with "dark yellow" in mind.</p><p><a href="https://techhub.social/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>retrocomputing</span></a> <a href="https://techhub.social/tags/ansiart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ansiart</span></a></p>
Felix Palmen 📯<p>As hard to believe as it is, the <a href="https://techhub.social/tags/Windows" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Windows</span></a> <a href="https://techhub.social/tags/Console" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Console</span></a> still supports <a href="https://techhub.social/tags/CP437" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CP437</span></a>. And with the "virtual terminal processing" introduced in <a href="https://techhub.social/tags/Win10" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Win10</span></a>, it also accepts escape sequences, obviously even the more obscure ones from ANSI.SYS 😂 </p><p>So, on a somewhat recent <a href="https://techhub.social/tags/Windows" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Windows</span></a>, you can display most <a href="https://techhub.social/tags/ANSIart" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ANSIart</span></a> without any extra tool, 'chcp 437' and 'type' is enough.</p><p><a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> will still be helpful:</p><p>* The output is sanitized, using *only* SGR sequences and a <a href="https://techhub.social/tags/Unicode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Unicode</span></a> encoding (so, also suitable to store in a file)<br>* Correlated here, some "exotic" MS-DOS <a href="https://techhub.social/tags/codepages" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>codepages</span></a> are supported.<br>* On Windows &gt; win10, colors will be corrected to the CGA/VGA palette (first screenshot)<br>* It will still work if your terminal width is different from what the input file assumes (second screenshot)</p><p>Screenshots show first 'type' with cp437 selected, then 'dos2ansi' 😎</p>
Felix Palmen 📯<p>A few fixes were needed to <a href="https://techhub.social/tags/zimk" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>zimk</span></a> (my very own <a href="https://techhub.social/tags/GNU" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GNU</span></a> <a href="https://techhub.social/tags/make" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>make</span></a> framework) to make everything work perfectly again in <a href="https://techhub.social/tags/Windows" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Windows</span></a> <a href="https://techhub.social/tags/CMD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CMD</span></a>.</p><p>Testing these now, here's building <a href="https://techhub.social/tags/dos2ansi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dos2ansi</span></a> on Windows with just 'make' and 'mingw' installed from <a href="https://techhub.social/tags/chocolatey" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>chocolatey</span></a> 😎 </p><p>(building worked before as well, but there were lots of glitches and issues like e.g. partially broken "clean" rules)</p>