aboutsummaryrefslogtreecommitdiff
path: root/fmdsp/fmdsp.h
diff options
context:
space:
mode:
Diffstat (limited to 'fmdsp/fmdsp.h')
-rw-r--r--fmdsp/fmdsp.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/fmdsp/fmdsp.h b/fmdsp/fmdsp.h
new file mode 100644
index 0000000..4c6af0c
--- /dev/null
+++ b/fmdsp/fmdsp.h
@@ -0,0 +1,37 @@
+#ifndef MYON_FMDSP_H_INCLUDED
+#define MYON_FMDSP_H_INCLUDED
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum {
+ PC98_W = 640,
+ PC98_H = 400
+};
+
+enum {
+ FMDSP_PALETTE_COLORS = 9
+};
+
+struct fmdsp {
+ uint8_t palette[FMDSP_PALETTE_COLORS*3];
+ uint8_t target_palette[FMDSP_PALETTE_COLORS*3];
+};
+
+struct fmdriver_work;
+void fmdsp_init(struct fmdsp *fmdsp);
+void fmdsp_vram_init(struct fmdsp *fmdsp,
+ struct fmdriver_work *work,
+ const uint8_t *font,
+ uint8_t *vram);
+void fmdsp_update(struct fmdsp *fmdsp, const struct fmdriver_work *work, uint8_t *vram);
+void fmdsp_vrampalette(struct fmdsp *fmdsp, const uint8_t *vram, uint8_t *vram32, int stride);
+void fmdsp_font_from_fontrom(uint8_t *font, const uint8_t *fontrom);
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MYON_FMDSP_H_INCLUDED