liberis
|
00001 /* 00002 liberis -- A set of libraries for controlling the NEC PC-FX 00003 00004 Copyright (C) 2011 Alex Marshall "trap15" <trap15@raidenii.net> 00005 00006 # This code is licensed to you under the terms of the MIT license; 00007 # see file LICENSE or http://www.opensource.org/licenses/mit-license.php 00008 */ 00009 00014 #ifndef _LIBERIS_TETSU_H_ 00015 #define _LIBERIS_TETSU_H_ 00016 00017 #include <eris/types.h> 00018 00021 typedef enum { 00022 TETSU_LINES_263 = 0, 00023 TETSU_LINES_262 = 1, 00024 TETSU_LINES_INTERLACED = 2, 00025 TETSU_LINES_UNKNOWN = 3, 00026 } tetsu_lines; 00027 00030 typedef enum { 00031 TETSU_DOTCLOCK_5MHz = 0, 00032 TETUS_DOTCLOCK_7MHz = 1, 00033 } tetsu_dotclock; 00034 00037 typedef enum { 00038 TETSU_COLORS_16 = 0, 00039 TETSU_COLORS_256 = 1, 00040 } tetsu_colordepth; 00041 00044 typedef enum { 00045 TETSU_NO_COEFF = 0, 00046 TETSU_COEFF_1 = 1, 00047 TETSU_COEFF_2 = 2, 00048 TETSU_COEFF_3 = 3, 00049 } tetsu_coeff; 00050 00053 void eris_tetsu_init(); 00069 void eris_tetsu_set_video_mode(tetsu_lines lines, int ext_sync, 00070 tetsu_dotclock dotclock, tetsu_colordepth bg_depth, 00071 tetsu_colordepth spr_depth, int bg7up_show, 00072 int spr7up_show, int bg0_disp, int bg1_disp, 00073 int bg2_disp, int bg3_disp, int rainbow_disp); 00079 void eris_tetsu_set_palette(u16 pal_entry, u16 color); 00088 void eris_tetsu_set_7up_palette(u8 bg7up, u8 spr7up); 00099 void eris_tetsu_set_king_palette(u8 bg0, u8 bg1, u8 bg2, u8 bg3); 00107 void eris_tetsu_set_rainbow_palette(u8 rainbow); 00118 void eris_tetsu_set_priorities(u8 bg7up, u8 spr7up, u8 bg0, u8 bg1, u8 bg2, 00119 u8 bg3, u8 rainbow); 00130 void eris_tetsu_set_chroma_key(u8 maxy, u8 miny, u8 maxu, u8 minu, 00131 u8 maxv, u8 minv); 00136 int eris_tetsu_get_raster(void); 00141 int eris_tetsu_get_field(void); 00146 int eris_tetsu_is_displaying(void); 00153 void eris_tetsu_set_cellophane_color(u16 color); 00159 void eris_tetsu_set_cellophane_sprites(int* banks); /* 16 element array */ 00173 void eris_tetsu_set_cellophane_control(int enable, int in_front, 00174 tetsu_coeff bg7up, tetsu_coeff spr7up, 00175 tetsu_coeff bg0, tetsu_coeff bg1, 00176 tetsu_coeff bg2, tetsu_coeff bg3, 00177 tetsu_coeff rainbow); 00189 void eris_tetsu_set_cellophane_coeffs(int coeff, u8 ay, u8 au, u8 av, 00190 u8 by, u8 bu, u8 bv); 00191 00192 #endif 00193