博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

os fans

MSN & Mail:jinglexy at yahoo dot com dot cn
操作系统开发博客圈:http://blog.chinaunix.net/group/group_507.html
qq group(os fans): 3*2*2*6*2*9*2
  jinglexy.cublog.cn

关于作者
马甲:天衣有缝
职业:linux driver
位置:徐家汇上海交大
|| << >> ||
我的分类


vt100 demo in c program(原创)
正在为jinix实现vt100规范,找到的例子,顺便写了个demo(可以在linux上测试)
vt100 spec: http://vt100.net/docs/vt100-ug/
msn: jinglexy at yahoo.com.cn

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
    printf("\033[2J\033[0;0H");
    printf("\033[1;32m");
    printf("x1y1");
    printf("\0337");
    printf("x2y2");
    printf("\0338");
    printf("\033[0m");
    printf("\033[1;33m");
    printf("abab\n");

    fflush(stdin);
    fflush(stdout);
    fflush(stderr);

    return 0;
}

其他资料:


/*
 * vt100有14个控制字符,jinix暂时只实现其中几个
 */
#define VT100_CTL_BEL  0x7        /* 铃声 */
#define VT100_CTL_BS   0x08        /* backspace: 后退一格(在行首不起作用) */
#define VT100_CTL_HT   0x09        /* 跳至下一个制表位.如果后面已没有制表位则跳至行尾 */
#define VT100_CTL_LF   0x0a        /* 和0xb, 0xc一样,三者都表示换行 */
#define VT100_CTL_CR   0x0d        /* 回车并换行 */
#define VT100_CTL_DEL  0x7f        /* 忽略 */
#define VT100_CTL_ESC  0x1b        /* 开始一个新的转义序列, 8进展是033 */

vga字符属性:

* +---------------------------------------------+
* +  0    1    2  |  3   |  4    5    6  |  7   +
* +---------------|------|---------------|------+
* +    前景色      | 明亮  |      背景色   |  闪烁 +
* +---------------|------|---------------|------+

esc转移序列的par:使用;隔开,最多4个,最常见的如m转移:
0  所有属性重设为默认值
1  设置边框
2  设置亮度减半(用一种颜色模拟另一种颜色)
4  设置底纹(用一种颜色模拟另一种颜色)(用于模拟的颜色由using ESC ] ...设置)
5  设置闪烁
7  设置反转视频(reverse video)
10 重设选定映像,显示控制标记,反转元素标记.
11 选择空映像,设置显示控制标记,重设反转标记.
12 选择空映像,设置显示控制标记,重设反转标记.(在完成映像表转换之前反转标记引起每一字节的高位反转.)
21 设置正常亮度(和 ECMA-48 不兼容)
22 设置正常亮度
24 关闭下划线
25 不闪烁
27 反转视频关闭
30 黑色背景
31 红色前景
32 绿色前景
33 棕色前景
34 蓝色前景
35 品红前景
36 孔雀蓝前景
37 白色前景
38 打开下划线,设置默认前景色
39 关闭下划线,设置默认前景色
40 黑色背景
41 红色背景
42 绿色背景
43 棕色背景
44 蓝色背景
45 品红背景
46 孔雀蓝背景
47 白色背景
49 设置默认背景色


发表于: 2008-06-12,修改于: 2008-06-12 15:12,已浏览130次,有评论1条 推荐 投诉


网友评论
网友: 本站网友 时间:2008-06-19 22:09:45 IP地址:221.221.20.★
interesting~

 发表评论