[HN Gopher] Bad Apple as MS-DOS Escape Sequences
       ___________________________________________________________________
        
       Bad Apple as MS-DOS Escape Sequences
        
       Author : andy_herbert
       Score  : 66 points
       Date   : 2023-12-26 12:12 UTC (1 days ago)
        
 (HTM) web link (16colo.rs)
 (TXT) w3m dump (16colo.rs)
        
       | deater wrote:
       | it pains me to have an ANSI animation called "MS-DOS Escape
       | Sequences"
        
         | dspillett wrote:
         | Were the options available via ANSI.SYS a mix of a subset of
         | the standard ones and a few non-standard? If I'm remembering
         | rightly there, this may be a more accurate description if it
         | targets that exact set of control sequences rather than any
         | other.
        
           | fsckboy wrote:
           | ANSI.SYS was a subset of maybe the most advanced terminals,
           | but it was more or less complete in terms of cursor
           | positioning and character attributes so you could implement a
           | (unix)curses style spreadsheet or something, but it would be
           | much slower and less capable than capturing the keyboard and
           | shoving characters directly into screen memory so there was
           | not much software written to use ANSI via CON: (standard
           | in/out).
           | 
           | The bigger problem was that very few users would have had
           | ANSI.SYS loaded and that's out of the already small pool of
           | users who knew that device driver could be loaded (in a
           | hidden system file, CONFIG.SYS) or what garbled escape
           | sequences would look like. Memory was precious, ANSI.SYS used
           | some. In a certain sense, writing directly to screen memory
           | was much more portable.
           | 
           | my brain is itching now, there was something missing from
           | ANSI.SYS... can't quite remember, maybe it couldn't remember
           | a cursor position and jump back to it--it couldn't read the
           | cursor position... it's hazy, something like, as a result, to
           | use it you had to clear the screen of what had been up before
           | and use it in full screen mode with some redraws every now
           | and then
        
       | pimlottc wrote:
       | Also know as ANSI art, which has a long and rich history. [0]
       | There's nothing particularly difficult or noteworthy about this
       | as a technical accomplishment.
       | 
       | EDIT: Usually the point of converting Bad Apple to an outdated or
       | unusual formats/systems is as a creative or technical hack, but
       | converting it to ANSI can literally be done with a ffmpeg one-
       | liner.
       | 
       | 0: https://en.m.wikipedia.org/wiki/ANSI_art
        
         | cf100clunk wrote:
         | I think it might be more MS-DOS specific than the broader ANSI
         | Art:                 DOS 2.0 introduced the ability to add a
         | device driver for the ANSI escape sequences: ANSI.SYS.
         | Slowness, and the fact that it was not installed by default,
         | made software rarely take advantage of it; instead,
         | applications continued to directly manipulate the hardware to
         | get the text display needed.
         | 
         | https://en.m.wikipedia.org/wiki/ANSI_escape_code
         | 
         | Anyway, rhetorically, art (the payload) is art, regardless of
         | the technical means or difficulty.
        
           | pimlottc wrote:
           | ANSI art was almost always published as sequences of text and
           | MS-DOS compatible escape codes. That's what an .ANS file is,
           | and how it was transferred over the modem in an interactive
           | session.
           | 
           | And sure, this is art, but it's basically just a file
           | conversion. ffmpeg has been able to output ANSI since at
           | least 2010 [1]
           | 
           | 1: https://ffmpeg.org/doxygen/trunk/ansi_8c_source.html
        
             | capitainenemo wrote:
             | It's also possible to output libchafa's nicer rendering
             | with a broader set of characters using ffmpeg.
        
       | fsckboy wrote:
       | pre MS-DOS, there was a piece of humorous, very low resolution
       | pr0n, ANSI/ASCII video art that was distributed on DECUS tapes.
       | (Digital Equipment Computer Users' Society) It was contained in a
       | file named JACK.OFF, nudge nudge wink wink say-no-more.
       | 
       | I've been searching for a copy of this for a long long time but I
       | can't find it in any of the DECUS archives I've found. Anybody
       | have it?
       | 
       | it's tuned for about 2400 baud, iirc. The DEC users society was a
       | pre-internet sort of open source, data tapes with a ton of useful
       | tools, utilities, source, tons of useful stuff.
        
       | Dwedit wrote:
       | It looks a little bit like the animation seen in the "8088
       | Domination" demo in how you can see the screen get redrawn
       | incrementally. But 8088 Domination syncs up with the music.
       | 
       | This one does not sync with the music.
       | 
       | I think it needs to consider how long each frame takes to draw,
       | and skip frames when behind. (Or render a partially finished
       | frame, as done in the 8088 domination demo)
        
       | nope96 wrote:
       | As a kid I always admired AVATAR (
       | https://en.wikipedia.org/wiki/Advanced_Video_Attribute_Termi... )
       | and wondered why more people didn't use it for art. It was far
       | more efficient. I'd use it wherever I could, and it would feel
       | like my modem got a 2x speed boost. But I'd never seen any BBS
       | software convert ANSI art into AVATAR on the fly...
       | 
       | Also, displaying ANSI with ANSI.SYS was completely unsafe, as
       | there were codes to redefine keyboard input (i.e. turn F1 into
       | Format C:)
        
       ___________________________________________________________________
       (page generated 2023-12-27 23:00 UTC)