File:  [gforth] / gforth / vt100.fs
Revision 1.4: download - view: text, annotated - select for diffs
Tue Mar 23 20:24:20 1999 UTC (23 years, 8 months ago) by crook
Branches: MAIN
CVS tags: HEAD

-- changes to make documentation build with moofglos.fs
   rather than with mini-oof.fs (since the former contains glossary
   entries and the latter does not)

assert.fs blocks.fs debug.fs environ.fs errors.fs extend.fs float.fs
glocals.fs moofglos.fs prim search.fs struct.fs stuff.fs vt100.fs
kernel/args.fs kernel/basics.fs kernel/comp.fs kernel/cond.fs
kernel/files.fs kernel/getdoers.fs kernel/int.fs kernel/io.fs
kernel/nio.fs kernel/paths.fs kernel/require.fs kernel/special.fs
kernel/tools.fs kernel/toolsext.fs kernel/vars.fs

-- many small changes to glossary entries.. I think most are done
   now, so I hope to change far fewer files next time!


-- many, many small changes and a few large ones. Moved some sections
   around, fixed typos and formatting errors, added new section on
   exception handling, rearranged 'files' section.

\ VT100.STR     VT100 excape sequences                  20may93jaw

\ Copyright (C) 1995 Free Software Foundation, Inc.

\ This file is part of Gforth.

\ Gforth is free software; you can redistribute it and/or
\ modify it under the terms of the GNU General Public License
\ as published by the Free Software Foundation; either version 2
\ of the License, or (at your option) any later version.

\ This program is distributed in the hope that it will be useful,
\ but WITHOUT ANY WARRANTY; without even the implied warranty of
\ GNU General Public License for more details.

\ You should have received a copy of the GNU General Public License
\ along with this program; if not, write to the Free Software
\ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


: pn    base @ swap decimal 0 u.r base ! ;
: ;pn   [char] ; emit pn ;
: ESC[  27 emit [char] [ emit ;

: at-xy ( u1 u2 -- ) \ facility at-x-y
  \G Position the cursor so that subsequent text output will take
  \G place at column @var{u1}, row @var{u2} of the display. (column 0,
  \G row 0 is the top left-hand corner of the display).
  1+ swap 1+ swap ESC[ pn ;pn [char] H emit ;

: page ( -- ) \ gforth
  \G Clear the display and set the cursor to the top left-hand
  \G corner.
  ESC[ ." 2J" 0 0 at-xy ;

FreeBSD-CVSweb <>