aboutsummaryrefslogtreecommitdiffstats
path: root/roms/seabios-hppa/vgasrc/vgafb.h
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/seabios-hppa/vgasrc/vgafb.h
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/seabios-hppa/vgasrc/vgafb.h')
-rw-r--r--roms/seabios-hppa/vgasrc/vgafb.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/roms/seabios-hppa/vgasrc/vgafb.h b/roms/seabios-hppa/vgasrc/vgafb.h
new file mode 100644
index 000000000..aae6b9b3a
--- /dev/null
+++ b/roms/seabios-hppa/vgasrc/vgafb.h
@@ -0,0 +1,43 @@
+#ifndef __VGAFB_H
+#define __VGAFB_H
+
+// Graphics pixel operations.
+struct gfx_op {
+ struct vgamode_s *vmode_g;
+ u32 linelength;
+ u32 displaystart;
+
+ u8 op;
+ u16 x, y;
+
+ u8 pixels[8];
+ u16 xlen, ylen;
+ u16 srcy;
+};
+
+#define GO_READ8 1
+#define GO_WRITE8 2
+#define GO_MEMSET 3
+#define GO_MEMMOVE 4
+
+struct cursorpos {
+ u8 x, y, page, pad;
+};
+
+struct carattr {
+ u8 car, attr, use_attr, pad;
+};
+
+// vgafb.c
+void memcpy_high(void *dest, void *src, u32 len);
+void init_gfx_op(struct gfx_op *op, struct vgamode_s *vmode_g);
+void handle_gfx_op(struct gfx_op *op);
+void *text_address(struct cursorpos cp);
+void vgafb_scroll(struct cursorpos win, struct cursorpos winsize
+ , int lines, struct carattr ca);
+void vgafb_write_char(struct cursorpos cp, struct carattr ca);
+struct carattr vgafb_read_char(struct cursorpos cp);
+void vgafb_write_pixel(u8 color, u16 x, u16 y);
+u8 vgafb_read_pixel(u16 x, u16 y);
+
+#endif // vgafb.h