@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
43
43
#include <sys/rman.h>
44
44
45
45
#include <dev/vt/vt.h>
46
+ #include <dev/vt/colors/vt_termcolors.h>
46
47
#include <dev/vt/hw/vga/vt_vga_reg.h>
47
48
#include <dev/pci/pcivar.h>
48
49
@@ -152,7 +153,7 @@ vga_setfg(struct vt_device *vd, term_color_t color)
152
153
return ;
153
154
154
155
REG_WRITE1 (sc , VGA_GC_ADDRESS , VGA_GC_SET_RESET );
155
- REG_WRITE1 (sc , VGA_GC_DATA , color );
156
+ REG_WRITE1 (sc , VGA_GC_DATA , cons_to_vga_colors [ color ] );
156
157
sc -> vga_curfg = color ;
157
158
}
158
159
@@ -167,7 +168,7 @@ vga_setbg(struct vt_device *vd, term_color_t color)
167
168
return ;
168
169
169
170
REG_WRITE1 (sc , VGA_GC_ADDRESS , VGA_GC_SET_RESET );
170
- REG_WRITE1 (sc , VGA_GC_DATA , color );
171
+ REG_WRITE1 (sc , VGA_GC_DATA , cons_to_vga_colors [ color ] );
171
172
172
173
/*
173
174
* Write 8 pixels using the background color to an off-screen
@@ -888,7 +889,9 @@ vga_bitblt_text_txtmode(struct vt_device *vd, const struct vt_window *vw,
888
889
ch = vga_get_cp437 (TCHAR_CHARACTER (c ));
889
890
890
891
/* Convert colors to VGA attributes. */
891
- attr = bg << 4 | fg ;
892
+ attr =
893
+ cons_to_vga_colors [bg ] << 4 |
894
+ cons_to_vga_colors [fg ];
892
895
893
896
MEM_WRITE1 (sc , (row * 80 + col ) * 2 + 0 ,
894
897
ch );
@@ -1114,43 +1117,45 @@ vga_initialize(struct vt_device *vd, int textmode)
1114
1117
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (0 ));
1115
1118
REG_WRITE1 (sc , VGA_AC_WRITE , 0 );
1116
1119
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (1 ));
1117
- REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_R );
1120
+ REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_B );
1118
1121
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (2 ));
1119
1122
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_G );
1120
1123
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (3 ));
1121
- REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SG | VGA_AC_PAL_R );
1124
+ REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_G | VGA_AC_PAL_B );
1122
1125
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (4 ));
1123
- REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_B );
1126
+ REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_R );
1124
1127
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (5 ));
1125
1128
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_R | VGA_AC_PAL_B );
1126
1129
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (6 ));
1127
- REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_G | VGA_AC_PAL_B );
1130
+ REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SG | VGA_AC_PAL_R );
1128
1131
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (7 ));
1129
1132
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_R | VGA_AC_PAL_G | VGA_AC_PAL_B );
1133
+
1130
1134
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (8 ));
1131
1135
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SR | VGA_AC_PAL_SG |
1132
1136
VGA_AC_PAL_SB );
1133
1137
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (9 ));
1134
1138
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SR | VGA_AC_PAL_SG |
1135
- VGA_AC_PAL_SB | VGA_AC_PAL_R );
1139
+ VGA_AC_PAL_SB | VGA_AC_PAL_B );
1136
1140
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (10 ));
1137
1141
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SR | VGA_AC_PAL_SG |
1138
1142
VGA_AC_PAL_SB | VGA_AC_PAL_G );
1139
1143
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (11 ));
1140
1144
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SR | VGA_AC_PAL_SG |
1141
- VGA_AC_PAL_SB | VGA_AC_PAL_R | VGA_AC_PAL_G );
1145
+ VGA_AC_PAL_SB | VGA_AC_PAL_G | VGA_AC_PAL_B );
1142
1146
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (12 ));
1143
1147
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SR | VGA_AC_PAL_SG |
1144
- VGA_AC_PAL_SB | VGA_AC_PAL_B );
1148
+ VGA_AC_PAL_SB | VGA_AC_PAL_R );
1145
1149
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (13 ));
1146
1150
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SR | VGA_AC_PAL_SG |
1147
1151
VGA_AC_PAL_SB | VGA_AC_PAL_R | VGA_AC_PAL_B );
1148
1152
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (14 ));
1149
1153
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SR | VGA_AC_PAL_SG |
1150
- VGA_AC_PAL_SB | VGA_AC_PAL_G | VGA_AC_PAL_B );
1154
+ VGA_AC_PAL_SB | VGA_AC_PAL_R | VGA_AC_PAL_G );
1151
1155
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PALETTE (15 ));
1152
1156
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_PAL_SR | VGA_AC_PAL_SG |
1153
1157
VGA_AC_PAL_SB | VGA_AC_PAL_R | VGA_AC_PAL_G | VGA_AC_PAL_B );
1158
+
1154
1159
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_OVERSCAN_COLOR );
1155
1160
REG_WRITE1 (sc , VGA_AC_WRITE , 0 );
1156
1161
REG_WRITE1 (sc , VGA_AC_WRITE , VGA_AC_COLOR_PLANE_ENABLE );
0 commit comments