diff options
Diffstat (limited to 'apps/plugins/rockboy/lcd.c')
-rw-r--r-- | apps/plugins/rockboy/lcd.c | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/apps/plugins/rockboy/lcd.c b/apps/plugins/rockboy/lcd.c index 883c4952fc..4cd4ddc04c 100644 --- a/apps/plugins/rockboy/lcd.c +++ b/apps/plugins/rockboy/lcd.c | |||
@@ -19,7 +19,13 @@ struct scan scan IBSS_ATTR; | |||
19 | 19 | ||
20 | #define BG (scan.bg) | 20 | #define BG (scan.bg) |
21 | #define WND (scan.wnd) | 21 | #define WND (scan.wnd) |
22 | |||
23 | #if LCD_DEPTH ==16 | ||
24 | #define BUF (scan.buf) | ||
25 | #else | ||
22 | #define BUF (scan.buf[scanline_ind]) | 26 | #define BUF (scan.buf[scanline_ind]) |
27 | #endif | ||
28 | |||
23 | #define PRI (scan.pri) | 29 | #define PRI (scan.pri) |
24 | 30 | ||
25 | #define PAL1 (scan.pal1) | 31 | #define PAL1 (scan.pal1) |
@@ -55,7 +61,10 @@ static int rgb332; | |||
55 | 61 | ||
56 | static int sprsort = 1; | 62 | static int sprsort = 1; |
57 | static int sprdebug; | 63 | static int sprdebug; |
58 | static int scanline_ind=0,insync=0; | 64 | static int insync=0; |
65 | #if LCD_DEPTH < 16 | ||
66 | static int scanline_ind=0; | ||
67 | #endif | ||
59 | 68 | ||
60 | #define DEF_PAL { 0x98d0e0, 0x68a0b0, 0x60707C, 0x2C3C3C } | 69 | #define DEF_PAL { 0x98d0e0, 0x68a0b0, 0x60707C, 0x2C3C3C } |
61 | 70 | ||
@@ -930,7 +939,7 @@ void lcd_refreshline(void) | |||
930 | 939 | ||
931 | 940 | ||
932 | 941 | ||
933 | /* | 942 | #if HAVE_LCD_COLOR |
934 | static void updatepalette(int i) | 943 | static void updatepalette(int i) |
935 | { | 944 | { |
936 | int c, r, g, b, y, u, v, rr, gg; | 945 | int c, r, g, b, y, u, v, rr, gg; |
@@ -964,7 +973,7 @@ static void updatepalette(int i) | |||
964 | | (u<<fb.cc[1].l) | (v<<fb.cc[2].l); | 973 | | (u<<fb.cc[1].l) | (v<<fb.cc[2].l); |
965 | return; | 974 | return; |
966 | } | 975 | } |
967 | 976 | /* | |
968 | if (fb.indexed) | 977 | if (fb.indexed) |
969 | { | 978 | { |
970 | pal_release(PAL1[i]); | 979 | pal_release(PAL1[i]); |
@@ -973,7 +982,7 @@ static void updatepalette(int i) | |||
973 | PAL2[i] = (c<<8) | c; | 982 | PAL2[i] = (c<<8) | c; |
974 | PAL4[i] = (c<<24) | (c<<16) | (c<<8) | c; | 983 | PAL4[i] = (c<<24) | (c<<16) | (c<<8) | c; |
975 | return; | 984 | return; |
976 | } | 985 | }*/ |
977 | 986 | ||
978 | r = (r >> fb.cc[0].r) << fb.cc[0].l; | 987 | r = (r >> fb.cc[0].r) << fb.cc[0].l; |
979 | g = (g >> fb.cc[1].r) << fb.cc[1].l; | 988 | g = (g >> fb.cc[1].r) << fb.cc[1].l; |
@@ -996,13 +1005,16 @@ static void updatepalette(int i) | |||
996 | PAL4[i] = c; | 1005 | PAL4[i] = c; |
997 | break; | 1006 | break; |
998 | } | 1007 | } |
999 | }*/ | 1008 | } |
1009 | #endif | ||
1000 | 1010 | ||
1001 | void pal_write(int i, byte b) | 1011 | void pal_write(int i, byte b) |
1002 | { | 1012 | { |
1003 | if (lcd.pal[i] == b) return; | 1013 | if (lcd.pal[i] == b) return; |
1004 | lcd.pal[i] = b; | 1014 | lcd.pal[i] = b; |
1005 | // updatepalette(i>>1); | 1015 | #if LCD_DEPTH ==16 |
1016 | updatepalette(i>>1); | ||
1017 | #endif | ||
1006 | } | 1018 | } |
1007 | 1019 | ||
1008 | void pal_write_dmg(int i, int mapnum, byte d) | 1020 | void pal_write_dmg(int i, int mapnum, byte d) |
@@ -1043,7 +1055,9 @@ void vram_dirty(void) | |||
1043 | 1055 | ||
1044 | void pal_dirty(void) | 1056 | void pal_dirty(void) |
1045 | { | 1057 | { |
1046 | // int i; | 1058 | #if LCD_DEPTH ==16 |
1059 | int i; | ||
1060 | #endif | ||
1047 | if (!hw.cgb) | 1061 | if (!hw.cgb) |
1048 | { | 1062 | { |
1049 | 1063 | ||
@@ -1052,8 +1066,10 @@ void pal_dirty(void) | |||
1052 | pal_write_dmg(64, 2, R_OBP0); | 1066 | pal_write_dmg(64, 2, R_OBP0); |
1053 | pal_write_dmg(72, 3, R_OBP1); | 1067 | pal_write_dmg(72, 3, R_OBP1); |
1054 | } | 1068 | } |
1055 | // for (i = 0; i < 64; i++) | 1069 | #if LCD_DEPTH ==16 |
1056 | // updatepalette(i); | 1070 | for (i = 0; i < 64; i++) |
1071 | updatepalette(i); | ||
1072 | #endif | ||
1057 | } | 1073 | } |
1058 | 1074 | ||
1059 | void lcd_reset(void) | 1075 | void lcd_reset(void) |