b2b95d2e |
1 | #ifndef __CPUCTRL_H__ |
2 | #define __CPUCTRL_H__ |
3 | |
4 | extern void cpuctrl_init(void); /* call this at first */ |
5 | extern void save_system_regs(void); /* save some registers */ |
6 | extern void cpuctrl_deinit(void); |
7 | extern void set_display_clock_div(unsigned div); |
8 | extern void set_FCLK(unsigned MHZ); /* adjust the clock frequency (in Mhz units) */ |
9 | extern void set_920_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */ |
10 | extern void set_DCLK_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */ |
11 | //extern void Disable_940(void); /* 940t down */ |
7b356ee3 |
12 | |
b2b95d2e |
13 | extern void set_RAM_Timings(int tRC, int tRAS, int tWR, int tMRD, int tRFC, int tRP, int tRCD); |
14 | extern void set_gamma(int g100); |
15 | |
7b356ee3 |
16 | typedef enum |
17 | { |
18 | LCDR_60 = 0, /* as close as possible to 60.00Hz, currently only managed to set to ~59.998Hz, has interlacing problems */ |
19 | LCDR_50, /* 50Hz, has interlacing problems */ |
20 | LCDR_120_20, /* ~60.10*2Hz, used by FCE Ultra */ |
21 | LCDR_100_02, /* ~50.01*2Hz, used by FCE Ultra */ |
22 | } lcd_rate_t; |
23 | |
24 | extern void set_LCD_custom_rate(lcd_rate_t rate); |
25 | extern void unset_LCD_custom_rate(void); |
26 | |
b2b95d2e |
27 | #endif |