home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 December
/
simtel1292_SIMTEL_1292_Walnut_Creek.iso
/
msdos
/
sysutl
/
ansi_sys.arc
/
ANSI-SYS.DEM
next >
Wrap
Text File
|
1985-07-08
|
9KB
|
402 lines
ANSI.SYS
~~~~~~~~
Sample CONFIG.SYS file
-----------------------
| DEVICE = MOUSE.SYS |
| DEVICE = CLOCK.SYS |
| DEVICE = HARDDISK.SYS |
| DEVICE = RAMDISK.SYS |
-----------------------
DEVICE = ANSI.SYS
The syntax for PROMPT is:
PROMPT [prompt-text]
PROMPT $e[ ...
Making the syntax:
PROMPT $e[<parameter>;...;<parameter><identifier>
The syntax we want is:
PROMPT $e[<row>;<column>f
Move to the beginning of the last line of the screen, (row 25, column 1),
the command would read:
PROMPT $e[25;1f
Cursor Movement
-------------------------------------------------------
| CUU - CUrsor Up - PROMPT $e[<number of rows>A |
| CUD - CUrsor Down - PROMPT $e[<number of rows>B |
| CUF - CUrsor Forward - PROMPT $e[<number of columns>C |
| CUB - CUrsor Back - PROMPT $e[<number of columns>D |
-------------------------------------------------------
Find Current Cursor Position
----------------------------------------------------------
| DSR - Device Status Report - PROMPT $e[6n |
| CPR - Cursor Position Report - PROMPT $e[<row>;<column>R |
----------------------------------------------------------
DSR is your query of the device - CPR is the response
Cursor Positioning
------------------------------------------------------------------
| CUP - CUrsor Position - PROMPT $e[<row>;<column>H |
| HVP - Horizontal & Vertical Position - PROMPT $e[<row>;<column;f |
| SCP - Save Cursor Position - PROMPT $e[s |
| RCP - Restore Cursor Position - PROMPT $e[u |
------------------------------------------------------------------
Erasing
---------------------------------------
| ED - Erase in Display - PROMPT $e[2J |
| EL - Erase in Line - PROMPT $e[k |
---------------------------------------
Setting the Display Modes
---------------------------------------------
| SM - Set Mode - PROMPT $e[=<parameter>h |
| RM - Reset Mode - PROMPT $e[=<parameter>l |
---------------------------------------------
| parameter list |
| ~~~~~~~~~~~~~~ |
| 0 - 40x25 black and white |\
| 1 - 40x25 color | \ Text
| 2 - 80x25 black and white | / Screens
| 3 - 80x25 color |/
| 4 - 320x200 color |\
| 5 - 320x200 black and white | > Graphic
| 6 - 640x200 black and white |/ Screens
| 7 - if SM, word wrap is on |
| if RM, word wrap is off |
-----------------------------------
For a 40 column black and white display, the code sequence would be:
PROMPT $e[=0
color display with 80 columns, the sequence becomes:
PROMPT $e[=3
Setting Color and Intensity
-----------------------------------------------------------------------
| SGR - Set Graphics Rendition - PROMPT $e[<parameter>;...;<parameter>m |
-----------------------------------------------------------------------
| parameter list |
| ~~~~~~~~~~~~~~ |
| 0 - normal attributes (default display) |
| 1 - bold on (high intensity) |
| 4 - underline on (monochrome only) |
| 5 - blink on |
| 7 - reverse video on |
| 8 - canceled on (invisible) |
| 30 - black characters |
| 31 - red characters |
| 32 - green characters |
| 33 - yellow characters |
| 34 - blue characters |
| 35 - magenta characters |
| 36 - cyan characters |
| 37 - white characters |
| |
| |
| |
| |
| 40 - black background |
| 41 - red background |
| 42 - green background |
| 43 - yellow background |
| 44 - blue background |
| 45 - magenta background |
| 46 - cyan background |
| 47 - white background |
-----------------------------------------------
blue background with red characters displayed in high intensity:
PROMPT $e[44;31;1m
or for blue characters on a light yellow background:
PROMPT $e[34;43;7m
The syntax for its use is:
COLOR <your choice>
COLOR.BAT
--------------------------------
| if %1 == red prompt $e[31m |
| if %1 == green prompt $e[32m |
| if %1 == yellow prompt $e[33m |
| if %1 == blue prompt $e[34m |
| if %1 == magenta prompt $e[35m |
| if %1 == cyan prompt $e[36m |
| if %1 == white prompt $e[37m |
| prompt |
--------------------------------
Redefining the Keyboard
the basic control sequence you need for keyboard redefinition:
PROMPT $e[<number>;<number>p
PROMPT $e[65;66p
PROMPT $e[<number>;"string"p
PROMPT $e[122;"zebra"p
PROMPT $e[0;<number>;"string";...<number or string>p
FKEY-NEW.BAT
--------------------------------
| prompt $e[0;59;"dir a:/p";13p |
| prompt $e[0;60;"dir b:/p";13p |
| prompt $e[0;61;"basica";13p |
| prompt $e[0;62;"copy "p |
| prompt $e[0;63;"cls";13p |
| prompt $e[0;64;"format b:"p |
| prompt $e[0;65;"chkdsk "p |
| prompt $e[0;66;"mode co80";13p |
| prompt $e[0;67;"debug";13p |
| prompt $e[0;68;"del "p |
| prompt |
--------------------------------
PROMPT $e[0;32;"dir";13p
Table of Keyboard Extended Function Codes
-----------------------------------------------
| Key Normal <Shift> <Ctrl> <Alt> |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| F1 59 84 94 104 |
F | F2 60 85 95 105 |
U | F3 61 86 96 106 |
N K | F4 62 87 97 107 |
C E | F5 63 88 98 108 |
T Y | F6 64 89 99 109 |
I S | F7 65 90 100 110 |
O | F8 66 91 101 111 |
N | F9 67 92 102 112 |
| F10 68 93 103 113 |
|===============================================|
| 1 49 33 * 120 |
| 2 50 64 00 121 |
N | 3 51 35 * 122 |
U K | 4 52 36 * 123 |
M E | 5 53 37 * 124 |
B Y | 6 54 94 30 125 |
E S | 7 55 38 * 126 |
R | 8 56 42 * 127 |
| 9 57 40 * 128 |
| 0 48 41 * 129 |
|===============================================|
| A 97 65 01 30 |
| B 98 66 02 48 |
| C 99 67 03 46 |
| D 100 68 04 32 |
| E 101 69 05 18 |
| F 102 70 06 33 |
| G 103 71 07 34 |
| H 104 72 08 35 |
| I 105 73 09 23 |
L | J 106 74 10 36 |
E K | K 107 75 11 37 |
T E | L 108 76 12 38 |
T Y | M 109 77 13 50 |
E S | N 110 78 14 49 |
R | O 111 79 15 24 |
| P 112 80 16 25 |
| Q 113 81 17 16 |
| R 114 82 18 19 |
| S 115 83 19 31 |
| T 116 84 20 20 |
| U 117 85 21 22 |
| V 118 86 22 47 |
| W 119 87 23 17 |
| X 120 88 24 45 |
| Y 121 89 25 21 |
| Z 122 90 26 44 |
-----------------------------------------------
If *, code is trapped by keyboard routine and not displayed.