Jump to content
IGNORED

ATASCII on Unix/Linux/BSD


jfalcon

Recommended Posts

Greetings all,

 

Does anyone know if there is an ATASCII termcap for Unix/Linux systems? I'm interested in building a multi-user system for 8-bits or Atari Terminal Simulator users to log in, share messages, chat, etc... I would do the same with 8-bit hardware/emulators but I don't think it would work well with shared files.

 

Thanks in advance.

Link to comment
Share on other sites

I was looking for an ATASCII termcap years ago when I ran a Linux BBS on my TT030. If you find one, can you send it my way...?

 

I have a kludge that runs in PERL that pipes between 2 sockets and translates into ATASCII...

Link to comment
Share on other sites

I found something close to it (google is so pimp when it comes to various file formats). Not sure if it will work 100%... now to figure out how to get it into the termcap/terminfo library....

 

Text File attached which ironically enough contains the information to get proper screen control on an Atari 8-bit. Still nothing about a true ATASCII screen but it's closer...

acsterm.txt

Link to comment
Share on other sites

  • 2 years later...

This is far from perfect, but I have made a first attempt at a terminfo for ATASCII terminals. I built this from descriptions on Wikipedia, documentation for BobTerm, and using the Atari Terminal Simulator (ATS) running inside Wine. It has never been tested with a real Atari, so your mileage will likely vary. Please feel free to use it, comment on it, criticize it, and modify it — my hope is to eventually have a description good enough for inclusion in the master terminfo database.

 

Here's the URL where I'll put any updates:

 

http://xent.com/~bsittler/atascii.ti

 

I've also attached an automatic termcap conversion, in case the system you're connecting to does not use terminfo.

 

edit: i forgot to mention that this has also been tested using the ATASCII mode of SyncTERM, where it works somewhat

atascii.ti.txt

atascii.tc.txt

Edited by bsittler
Link to comment
Share on other sites

  • 13 years later...

At some point I also hacked together a set of inputrc bindings for ATASCII which allow slightly easier typing on the bash command-line. They are far from perfect but might help someone else too, so here they are. I keep the latest version at http://xent.com/~bsittler/inputrc-atascii

 

To avoid unreasonable expectations/possibly save you a download,here are the comments describing what works and what doesn't:

# The Atari 400 and Atari 800 home computers used a bizarre
# not-quite-ASCII console character encoding called ATASCII ("Atari
# ASCII") which makes them hard to use as terminals. They support
# minimal relative cursor motion, clear screen, and newline. The ASCII
# characters '`', '{', '}', and '~' are not present, and there is an
# extensive alternate character set overlaid on the ASCII control
# codes and on some of the printable ASCII codes.
#
# The following stty settings were found to be helpful in ~/.bashrc:
#
#    if [[ -t 0 ]]; then case :"$TERM" in
#    (:atascii-80x24|:xep80)
#        stty rows 24 columns 80 quit ^- erase "$(printf '\176')" eol "$(printf '\233')" cs8 -parenb \
#            -istrip -ixon -ixoff -ixany -onlcr opost 2>/dev/null
#        export LC_ALL=C
#        export CHARSET=csASCII
#        ;;
#    (:atascii|:atascii-*|:bobterm)
#        stty rows 24 columns 40 quit ^- erase "$(printf '\176')" eol "$(printf '\233')" cs8 -parenb \
#            -istrip -ixon -ixoff -ixany -onlcr opost 2>/dev/null
#        export LC_ALL=C
#        export CHARSET=csASCII
#        ;;
#    esac; fi
#
# Notable readline bindings:
#
#       INVERSE , for '
#       INVERSE @ and INVERSE ' for \`
#       INVERSE <, INVERSE ( and INVERSE [ for {
#       INVERSE >, INVERSE ) and INVERSE ] for }
#       INVERSE ^, INVERSE - and INVERSE " for ~
#       RETURN for ^M (Enter, CR)
#       TAB for Ctrl- prefix
#       TAB TAB, TAB ESCAPE, TAB SPACE and TAB 9 for ^I (Tab, HT)
#       TAB RETURN for ^J (Newline, LF)
#       TAB , for '
#       TAB @ and TAB ' for \`
#       TAB < and TAB ( for {
#       TAB : and TAB ! for |
#       TAB > and TAB ) for }
#       TAB - and TAB " for ~
#       TAB UP for reverse-search-history
#       TAB DOWN for forward-search-history
#       TAB LEFT for beginning-of-line
#       TAB RIGHT for end-of-line
#
# Typical usage in ~/.inputrc:
#
#    $if term=atascii
#    $include ~/share/inputrc-atascii
#    $endif
#    $if term=bobterm
#    $include ~/share/inputrc-atascii
#    $endif
#    $if term=xep80
#    $include ~/share/inputrc-atascii
#    $endif
#
# The mapping from ATASCII to ASCII for input is incomplete.

 

inputrc-atascii.txt

  • Like 1
Link to comment
Share on other sites

On 6/3/2009 at 9:26 AM, bsittler said:

This is far from perfect, but I have made a first attempt at a terminfo for ATASCII terminals. I built this from descriptions on Wikipedia, documentation for BobTerm, and using the Atari Terminal Simulator (ATS) running inside Wine. It has never been tested with a real Atari, so your mileage will likely vary. Please feel free to use it, comment on it, criticize it, and modify it — my hope is to eventually have a description good enough for inclusion in the master terminfo database.

 

Here's the URL where I'll put any updates:

 

http://xent.com/~bsittler/atascii.ti

 

I've also attached an automatic termcap conversion, in case the system you're connecting to does not use terminfo.

 

edit: i forgot to mention that this has also been tested using the ATASCII mode of SyncTERM, where it works somewhat

atascii.ti.txt 6.29 kB · 169 downloads

atascii.tc.txt 6.64 kB · 156 downloads

Pasted comments from the terminfo, again to save you a download in case this is not going to meet your needs:

# The Atari 400 and Atari 800 home computers used a bizarre
# not-quite-ASCII console character encoding called ATASCII ("Atari
# ASCII") which makes them hard to use as terminals. They support
# minimal relative cursor motion, clear screen, and newline. The ASCII
# characters '`', '{', '}', and '~' are not present, and there is an
# extensive alternate character set overlaid on the ASCII control
# codes and on some of the printable ASCII codes.
#
# The most useful single piece of advice for those using these boxes:
#
#     Many programs will expect Ctrl-J or Ctrl-M instead of return,
#     and Ctrl-H or Ctrl-? instead of backspace or delete.
#
# Another big one:
#
#     Every time a '}' is output the screen is cleared, and every time a
#     '~' is output a character is erased.
#
# This terminfo "barely works", and only very flexible and intelligent
# programs can use it well. Anything using ncurses should get most of
# the way there, but filtering out the control sequences overlaid on
# ASCII '}' and '~' is very tricky. In some cases you can get pretty
# close with something like this:
#
# troublesome-command |
#     tr '\a\b\t\n\v\f\r\140\173\175\176\177' '\375\176\177\233\034\175\233\247\333\335\015\376'
#
# That outputs inverse-video '[] instead of `{} and overbar in place
# of ~, and translates some of the most critical control characters.
# Note that \b is destructive, both \n and \r become ATASCII newline,
# \v moves up one line, and \f clears the screen. It is close enough
# for many purposes.
#
# The more notable codes:
#
# \000 (ASCII NUL) is U+2665 BLACK HEART SUIT
# \001 (ASCII SOH) is U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT
# \002 (ASCII STX) is U+23B9 RIGHT VERTICAL BOX LINE
# \003 (ASCII ETX) is U+2518 BOX DRAWINGS LIGHT UP AND LEFT
# \004 (ASCII EOT) is U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
# \005 (ASCII ENQ) is U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT
# \006 (ASCII ACK) is U+2571 BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
# \007 (ASCII BEL) is U+2572 BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
# \010 (ASCII BS) is U+25E2 BLACK LOWER RIGHT TRIANGLE
# \011 (ASCII HT) is U+2597 QUADRANT LOWER RIGHT
# \012 (ASCII NL) is U+25E3 BLACK LOWER LEFT TRIANGLE
# \013 (ASCII VT) is U+259D QUADRANT UPPER RIGHT
# \014 (ASCII NP) is U+2598 QUADRANT UPPER LEFT
# \015 (ASCII CR) is U+23BA HORIZONTAL SCAN LINE-1
# \016 (ASCII SO) is U+23BD HORIZONTAL SCAN LINE-9
# \017 (ASCII SI) is U+2596 QUADRANT LOWER LEFT
# \020 (ASCII DLE) is U+2663 BLACK CLUB SUIT
# \021 (ASCII DC1) is U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT
# \022 (ASCII DC2) is U+2500 BOX DRAWINGS LIGHT HORIZONTAL
# \023 (ASCII DC3) is U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
# \024 (ASCII DC4) is U+2022 BULLET
#                  or U+25CF BLACK CIRCLE
#                  or U+26AB MEDIUM BLACK CIRCLE
# \025 (ASCII NAK) is U+2584 LOWER HALF BLOCK
# \026 (ASCII SYN) is U+23B8 LEFT VERTICAL BOX LINE
# \027 (ASCII ETB) is U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
# \030 (ASCII CAN) is U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
# \031 (ASCII EM) is U+258C LEFT HALF BLOCK
# \032 (ASCII SUB) is U+2514 BOX DRAWINGS LIGHT UP AND RIGHT
# \033 (ASCII ESC) is used to graphically quote, and is sent by Esc
# \033\033 (ASCII ESC ESC) is U+241B SYMBOL FOR ESCAPE
# \033\034 (ASCII ESC FS) is U+2191 UPWARDS ARROW
# \033\035 (ASCII ESC GS) is U+2193 DOWNWARDS ARROW
# \033\036 (ASCII ESC RS) is U+2190 LEFTWARDS ARROW
# \033\037 (ASCII ESC US) is U+2192 RIGHTWARDS ARROW
# \033\175 (ASCII ESC '}') is U+21B0 UPWARDS ARROW WITH TIP LEFTWARDS
# \033\176 (ASCII ESC '~') is U+25C4 BLACK LEFT-POINTING POINTER
#                          or U+25C0 BLACK LEFT-POINTING TRIANGLE
#                          or U+25C2 BLACK LEFT-POINTING SMALL TRIANGLE
# \033\177 (ASCII ESC DEL) is U+25BA BLACK RIGHT-POINTING POINTER
#                          or U+25B6 BLACK RIGHT-POINTING TRIANGLE
#                          or U+25B8 BLACK RIGHT-POINTING SMALL TRIANGLE
# \034 (ASCII FS) is <cuu1> and <kcuu1>, and is sent by Ctrl -
# \035 (ASCII GS) is <cud1> and <kcud1>, and is sent by Ctrl =
# \036 (ASCII RS) is <cub1> and <kcub1>, and is sent by Ctrl +
# \037 (ASCII US) is <cuf1> and <kcuf1>, and is sent by Ctrl *
# \140 (ASCII '`') is U+25C6 BLACK DIAMOND
# \173 (ASCII '{') is U+2660 BLACK SPADE SUIT
# \174 (ASCII '|') is U+007C VERTICAL LINE
#                  or U+2502 BOX DRAWINGS LIGHT VERTICAL
# \175 (ASCII '}') is <clear> and <kclr>, and is sent by Ctrl < or Shift <
# \176 (ASCII '~') is destructive backspace and <kbs>, and is sent by Back Space
# \177 (ASCII DEL) is non-destructive <ht>, and is sent by Tab
# \210 is U+25E4 BLACK UPPER LEFT TRIANGLE
# \211 is U+259B QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
# \212 is U+25E5 BLACK UPPER RIGHT TRIANGLE
# \213 is U+2599 QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
# \214 is U+259F QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
# \217 is U+259C QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
# \224 is U+25D8 INVERSE BULLET
# \225 is U+2580 UPPER HALF BLOCK
# \231 is U+2590 RIGHT HALF BLOCK
# \233 is <nel>, and is sent by Return
# \234 is <dl1> and <kdl1>, and is sent by Shift Back Space
# \235 is <il1> and <kil1>, and is sent by Shift >
# \236 is <kctab> and clears the current tab stop, and is sent by Ctrl Tab
# \237 is <hts> and <khts>, and is sent by Shift Tab
# \240 is U+25A0 BLACK SQUARE
#      or U+25FC BLACK MEDIUM SQUARE
#      or U+FFED HALFWIDTH BLACK SQUARE
# \375 is <bel>, and is sent by Ctrl 2
# \376 is <dch1> and <kdch1>, and is sent by Ctrl Back Space
# \377 is <ich1> and <kich1>, and is sent by Ctrl >
#
# The Wikipedia article explains ATASCII pretty well:
#
#     http://en.wikipedia.org/wiki/ATASCII
#
# There's a nice ATASCII code chart here:
#
#     http://raster.infos.cz/atari/chars/atascii.htm
#
# The following are omitted from <acsc> because they must be
# immediately prefixed with \033:
#
#     .\035,\036+\037=\034
#
# The standout mode is not describable using <smso> and <rmso> since
# it is invoked by toggling the eighth bit. The one place it is usable
# is in <acsc>, where it is used to make a solid block (acsc '0') by
# inverting a space.
#
# Proper setup with stty is essential. At least the following is
# recommended: (syntax shown is Bash)
#
# $ stty rows 24 columns 40 quit ^- erase $'\176' eol $'\233' cs8 -parenb \
#       -istrip -ixon -ixoff -ixany -onlcr opost 2>/dev/null
#
# NOTE: This terminfo also works with the Atari Terminal Simulator (ATS) for
# Windows (which works in Wine too):
#
#     http://www.atarimax.com/
#
# Here's a direct link since that page is huge and does not support fragments:
#
#     http://www.atarimax.com/atariterm/downloads/ats.exe
#

 

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...