liberis
tetsu.h
Go to the documentation of this file.
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 
 All Files Functions Typedefs Enumerations Enumerator Defines