aboutsummaryrefslogtreecommitdiff
path: root/fmdsp/fmdsp.h
diff options
context:
space:
mode:
Diffstat (limited to 'fmdsp/fmdsp.h')
-rw-r--r--fmdsp/fmdsp.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/fmdsp/fmdsp.h b/fmdsp/fmdsp.h
index f123138..9a67bc7 100644
--- a/fmdsp/fmdsp.h
+++ b/fmdsp/fmdsp.h
@@ -2,12 +2,15 @@
#define MYON_FMDSP_H_INCLUDED
#include <stdint.h>
+#include <stdbool.h>
#include "font.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct opna;
+
enum {
PC98_W = 640,
PC98_H = 400
@@ -17,11 +20,18 @@ enum {
FMDSP_PALETTE_COLORS = 9
};
+enum FMDSP_DISPSTYLE {
+ FMDSP_DISPSTYLE_DEFAULT,
+ FMDSP_DISPSTYLE_OPN,
+ FMDSP_DISPSTYLE_CNT
+};
+
struct fmdsp {
uint8_t palette[FMDSP_PALETTE_COLORS*3];
uint8_t target_palette[FMDSP_PALETTE_COLORS*3];
const struct fmdsp_font *font98;
-
+ enum FMDSP_DISPSTYLE style;
+ bool style_updated;
};
struct fmdriver_work;
@@ -29,10 +39,12 @@ void fmdsp_init(struct fmdsp *fmdsp, const struct fmdsp_font *font);
void fmdsp_vram_init(struct fmdsp *fmdsp,
struct fmdriver_work *work,
uint8_t *vram);
-void fmdsp_update(struct fmdsp *fmdsp, const struct fmdriver_work *work, uint8_t *vram);
+void fmdsp_update(struct fmdsp *fmdsp, const struct fmdriver_work *work,
+ const struct opna *opna, 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);
void fmdsp_palette_set(struct fmdsp *fmdsp, int p);
+void fmdsp_dispstyle_set(struct fmdsp *fmdsp, enum FMDSP_DISPSTYLE style);
#ifdef __cplusplus
}
#endif