I wish I could use the DOS / IBM PC style smileys in terminal games. They were, in fact, designed for "ansi art" style fixed width character games. However, there isn't the convention in fonts that it should fit into a single character with a monospace font, so you can't use this or a lot of the lovely characters that DOS games would use.

Also look at them! They have such nice, minimalist character!

And yes, they WERE intended for games: https://www.vintagecomputing.com/index.php/archives/790/the-ibm-smiley-character-turns-30

From the article above:

> If you look at the first 32 characters in the IBM PC character set you’ll see lots of whimsical characters — smiley face, musical notes, playing card suits and others. These were intended for character based games — see “Snipes” if you can still find a copy.
>
> [...]
>
> Now, what to do about the first 32 characters (x00-x1F)? ASCII defines them as control codes, carriage return, line feed, tab… These characters originated with teletype transmission. But we could display them on the character based screens. So we added a set of “not serious” characters. They were intended as display only characters, not for transmission or storage. Their most probable use would be in character based games.

@cwebber
I was recently digging around the early Smalltalk systems and they did this too.

@cwebber
Here's an example from Smalltalk-76 with the characters converted to unicode.

printon: strm | t [
strm append: [self≡nil⇒ ['nil']; ≡false⇒ ['false']; ≡true⇒ ['true']
t ← self class title.
strm append: ['AEIO' has: t∙1⇒ ['an '] 'a '].
t]]

Edit: Sorry if it wraps badly.
Edit2: Switch to quote since Smalltalks have always used proportional fonts 
Edit3: ≡ ⇒ ← ∙ are the custom chars they used in this sample.

@cwebber did they not survive into Unicode?

The apple // "running man" is in there.

@mcc They are "there" but most terminals aren't sure enough about them fitting in the size of a single character, and sometimes they can shift the spacing of the line, I have found
@cwebber @mcc I'm guessing their unicode counterparts are U+263A (☺) and U+263B (☻), which usually look quite different than the DOS faces, and are sometimes substituted with color emoji

@aeva @cwebber @mcc wikipedia claims all of cp437 is in unicode.

The smiley faces can be either color or not, and that can be explicitly specified with Variation Selector 15/16 (U+FE0E and U+FE0F)

e.g. the sequence U+263A U+FE0E is "☺︎", while U+263A U+FE0F is "☺️"

@mcc @cwebber hah, always nice to see references to the legacy computing characters. My name is on the Unicode document that added it. 😀

Those missing characters was a gap that needed addressing.

@loke @mcc thank you for your hard work ☺☻
@cwebber Hey, I remember them from DOS games in the early to mid Eighties! Mostly small ones which I had on some floppies my dad got from Somewhere not entirely clear.
@cwebber the ascii control characters have "official" forms, although I've never seen anything use the MIL-STD-188-100 glyphs
@th @cwebber I have GOT to use these somehow!
@attoparsec @th @cwebber Those taste like some sort of alternate universe milspec PETSCII.
@NF6X @attoparsec @th @cwebber That's what I was thinking! Now I want to go back and decipher why those symbols were chosen.
@attoparsec @th @cwebber bookmarked for the same reason. They do seem to have a system behind them, though I’d need to look more for the difference between outer shape is circle vs. square, the rest is clear.
@th @cwebber Looks like a copy protection for an Amiga game
@th I have to know more about this but the closest I found was https://dn720001.ca.archive.org/0/items/MIL_STD_188_110B/MIL_STD_188_110B.pdf which does not contain this chart....
@jwz the ASCII control character chart appears Appendix B in the 1972 edition of MIL-STD-188-100, but not the newer ones. https://everyspec.com/MIL-STD/MIL-STD-0100-0299/MIL-STD-188-100_16264/
@th @jwz these symbols all exist in Unicode, and I'm using some of them in my programming language.

@jwz @th
This poster came with my 1993 copy of the C Programmer's Guide to Serial Communications by Joe Campbell.

At the bottom it says "Extra copies of this poster may be ordered from Campbell Productions", with a PO Box and phone number, which I won't provide here.

@th @cwebber The Amstrad CPC character set has glyphs for them, clearly based on this standard though with some differences. Many can be typed directly with CTRL-[char], others (like CTRL-M which is usually interpreted like a press of the ENTER key) need a little trickery to display. This allowed you do things like embed them in BASIC "PRINT" statements to produce various display effects. I also used to embed them in filenames using a disk editor to confuse anyone doing a directory listing :-)
@th @cwebber oh no, 0x0A is the hamburger menu 😩
@th The character generator of the Sol-20 displayed those glyphs in a 5x7 pixel font. A few Sol games (Trek-80, Target) used them in imaginative ways.
@[email protected] @[email protected] I seem to remember them being hidden away in the character set of the Amstrad CPC/PCW series.

@th @cwebber

Unicode has a block for symbols for control characters, but only DEL has a glyph at all like those, and DEL gets two entries, a lettered form and a symbol.

https://en.wikipedia.org/wiki/Control_Pictures

signed, sponsor of character ␗

Control Pictures - Wikipedia

@th @cwebber
Some of the masked ROM character generator chips that appeared in the 1970s had those. Examples include the MCM6574 and MCM66740.
Some other variants put two-letter abbreviations for the controls.
@cwebber did Amiga have any like that?