vgabios: Move save/restore state code from vgabios.c to stdvga.c.
[seabios.git] / vgasrc / stdvga.h
index 0beb3450ba7ccb48ee04e2f50fa748aeb3a95574..c9a9ba148085ff1be8012ec32e850ddbdf0b4323 100644 (file)
@@ -2,7 +2,6 @@
 #define __STDVGA_H
 
 #include "types.h" // u8
-#include "vgabios.h" // struct vgamode_s
 
 // VGA registers
 #define VGAREG_ACTL_ADDRESS            0x3c0
 #define SEG_CTEXT 0xB800
 #define SEG_MTEXT 0xB000
 
-struct stdvga_mode_s {
-    u16 mode;
-    struct vgamode_s info;
-
-    u8 pelmask;
-    u8 *dac;
-    u16 dacsize;
-    u8 *sequ_regs;
-    u8 miscreg;
-    u8 *crtc_regs;
-    u8 *actl_regs;
-    u8 *grdc_regs;
-};
-
-struct saveVideoHardware {
-    u8 sequ_index;
-    u8 crtc_index;
-    u8 grdc_index;
-    u8 actl_index;
-    u8 feature;
-    u8 sequ_regs[4];
-    u8 sequ0;
-    u8 crtc_regs[25];
-    u8 actl_regs[20];
-    u8 grdc_regs[9];
-    u16 crtc_addr;
-    u8 plane_latch[4];
-};
-
-struct saveDACcolors {
-    u8 rwmode;
-    u8 peladdr;
-    u8 pelmask;
-    u8 dac[768];
-    u8 color_select;
-};
-
-// vgatables.c
+// stdvgamodes.c
 struct vgamode_s *stdvga_find_mode(int mode);
+void stdvga_list_modes(u16 seg, u16 *dest, u16 *last);
 void stdvga_build_video_param(void);
+void stdvga_override_crtc(int mode, u8 *crtc);
+int stdvga_set_mode(struct vgamode_s *vmode_g, int flags);
 
 // stdvgaio.c
 u8 stdvga_pelmask_read(void);
@@ -119,23 +84,29 @@ void stdvga_get_all_palette_reg(u16 seg, u8 *data_far);
 void stdvga_toggle_intensity(u8 flag);
 void stdvga_select_video_dac_color_page(u8 flag, u8 data);
 void stdvga_read_video_dac_state(u8 *pmode, u8 *curpage);
-void stdvga_save_dac_state(u16 seg, struct saveDACcolors *info);
-void stdvga_restore_dac_state(u16 seg, struct saveDACcolors *info);
 void stdvga_perform_gray_scale_summing(u16 start, u16 count);
 void stdvga_set_text_block_specifier(u8 spec);
+void stdvga_planar4_plane(int plane);
 void stdvga_load_font(u16 seg, void *src_far, u16 count
                       , u16 start, u8 destflags, u8 fontsize);
 u16 stdvga_get_crtc(void);
+int stdvga_bpp_factor(struct vgamode_s *vmode_g);
 void stdvga_set_cursor_shape(u8 start, u8 end);
-void stdvga_set_active_page(u16 address);
-void stdvga_set_cursor_pos(u16 address);
+void stdvga_set_cursor_pos(int address);
 void stdvga_set_scan_lines(u8 lines);
 u16 stdvga_get_vde(void);
-void stdvga_save_state(u16 seg, struct saveVideoHardware *info);
-void stdvga_restore_state(u16 seg, struct saveVideoHardware *info);
-int stdvga_set_mode(int mode, int flags);
+int stdvga_get_window(struct vgamode_s *vmode_g, int window);
+int stdvga_set_window(struct vgamode_s *vmode_g, int window, int val);
+int stdvga_get_linelength(struct vgamode_s *vmode_g);
+int stdvga_set_linelength(struct vgamode_s *vmode_g, int val);
+int stdvga_get_displaystart(struct vgamode_s *vmode_g);
+int stdvga_set_displaystart(struct vgamode_s *vmode_g, int val);
+int stdvga_get_dacformat(struct vgamode_s *vmode_g);
+int stdvga_set_dacformat(struct vgamode_s *vmode_g, int val);
+int stdvga_size_state(int states);
+int stdvga_save_state(u16 seg, void *data, int states);
+int stdvga_restore_state(u16 seg, void *data, int states);
 void stdvga_enable_video_addressing(u8 disable);
-void stdvga_list_modes(u16 seg, u16 *dest, u16 *last);
 int stdvga_init(void);
 
 #endif // stdvga.h