diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/seabios-hppa/vgasrc/vgafb.h | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/seabios-hppa/vgasrc/vgafb.h')
-rw-r--r-- | roms/seabios-hppa/vgasrc/vgafb.h | 43 |
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 |