# vga_text_crtc **Repository Path**: rpg-7/vga_text_crtc ## Basic Information - **Project Name**: vga_text_crtc - **Description**: No description available - **Primary Language**: Verilog - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-04-01 - **Last Updated**: 2022-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PC/XT原味VGA字符卡 ## 介绍 在FPGA里面集成的软核只能通过串口打印吗?从头造一个字符显卡又太复杂? 今天就可以解决!本项目带来的超轻80x30VGA字符显卡为您提供了一个最简的显示接口。 ![alt eg4_vga_demo](./media/eg4_crtc_demo.jpg) ## 功能 1. 支持8位的拓展ASCII字符集,IBM PC/XT同款。 2. 支持16色配置,每个字符有16种前景色和背景色切换。 3. 每个字符均可控制闪烁。 4. 对外接口为最简单的SRAM接口,可以接驳到任何总线上。 ## 显存映像 以下描述无特殊说明均为十进制。 ### 字符显存 字符显存为2400*8,从地址0开始到地址79结束为第一行的80个字符,从80到159结束为第二行,以此类推。 ### 色彩显存 色彩显存同样为2400*8,从地址0开始到地址79结束为第一行的80个字符,从80到159结束为第二行,以此类推。 每个字符的色彩有两个部分:前景颜色和背景颜色。色彩显存的高4位设置的是前景颜色,低4位设置的是背景颜色。 这张卡默认使用经典的IBM PC/XT样式的16色显示: |色彩代码|色彩| |---|---| |0x00|黑| |0x01|蓝| |0x02|绿| |0x03|青| |0x04|红| |0x05|洋红| |0x06|棕| |0x07|白| |0x08|灰| |0x09|浅蓝| |0x0A|浅绿| |0x0B|浅青| |0x0C|浅红| |0x0D|浅洋红| |0x0E|黄| |0x0F|闪亮| ### 光标/字符闪烁 光标占用300字节的ram空间,因为每个字符只需要一个bit来控制其是否闪烁。 例如,光标ram的地址0处的第0位控制的是第一行第一个字符的是否闪烁,地址9处对应的第7位控制的是第一行的最后一个字符是否闪烁,依此类推。 ### 在EG4上的工程 将比特流下载到Verimake sparkroad开发板中,即可体验这张显卡。