aboutsummaryrefslogtreecommitdiffstats
path: root/vgasrc/vgatables.h
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-05-16 17:29:32 -0400
committerKevin O'Connor <kevin@koconnor.net>2009-05-16 17:29:32 -0400
commit5727c29f9c91d26d14f07a83d536119486345c36 (patch)
tree8c547d3126229a7085a992588a787ef0bbc60b78 /vgasrc/vgatables.h
parentdd2be77bac21ba78930d6b8034f0e36b33e5333d (diff)
downloadseabios-5727c29f9c91d26d14f07a83d536119486345c36.tar.gz
VGA: Rework vga_modes[] array to have pointers to other structs.
Prefer using pointers instead of indexes into arrays.
Diffstat (limited to 'vgasrc/vgatables.h')
-rw-r--r--vgasrc/vgatables.h45
1 files changed, 17 insertions, 28 deletions
diff --git a/vgasrc/vgatables.h b/vgasrc/vgatables.h
index 5db05fd5..3e956f95 100644
--- a/vgasrc/vgatables.h
+++ b/vgasrc/vgatables.h
@@ -53,7 +53,6 @@
* Tables of default values for each mode
*
*/
-#define MODE_MAX 15
#define TEXT 0x00
#define GRAPH 0x01
@@ -79,29 +78,8 @@
#define SCREEN_MEM_START(x,y,p) ((((x*y*2)|0x00ff)+1)*p)
#define SCREEN_IO_START(x,y,p) ((((x*y)|0x00ff)+1)*p)
-
-extern u16 video_save_pointer_table[];
-
-struct vgamodes_s {
- u8 svgamode;
- u8 class; /* TEXT, GRAPH */
- u8 memmodel; /* CTEXT,MTEXT,CGA,PL1,PL2,PL4,P8,P15,P16,P24,P32 */
- u8 pixbits;
- u16 sstart;
- u8 pelmask;
- u8 dacmodel; /* 0 1 2 3 */
-} PACKED;
-
-extern struct vgamodes_s vga_modes[];
-
-/* Default Palette */
-#define DAC_MAX_MODEL 3
-
-extern u8 line_to_vpti[];
-extern u8 dac_regs[];
-
/* standard BIOS Video Parameter Table */
-struct VideoParamTableEntry_s {
+struct VideoParam_s {
u8 twidth;
u8 theightm1;
u8 cheight;
@@ -113,11 +91,22 @@ struct VideoParamTableEntry_s {
u8 grdc_regs[9];
} PACKED;
-extern struct VideoParamTableEntry_s video_param_table[];
-extern u8 palette0[];
-extern u8 palette1[];
-extern u8 palette2[];
-extern u8 palette3[];
+struct vgamode_s {
+ u8 svgamode;
+ struct VideoParam_s *vparam;
+ u8 class; /* TEXT, GRAPH */
+ u8 memmodel; /* CTEXT,MTEXT,CGA,PL1,PL2,PL4,P8,P15,P16,P24,P32 */
+ u8 pixbits;
+ u16 sstart;
+ u8 pelmask;
+ u8 *dac;
+ u16 dacsize;
+};
+
+// vgatables.c
+struct vgamode_s *find_vga_entry(u8 mode);
+extern u16 video_save_pointer_table[];
+extern struct VideoParam_s video_param_table[];
extern u8 static_functionality[];
// vgafonts.c