summaryrefslogtreecommitdiff
path: root/apps/plugins/rockboy/lcd.c
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2006-01-10 21:55:56 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2006-01-10 21:55:56 +0000
commitcf218e33eca3abcc1067b9e78f1c82510bfe7c69 (patch)
tree5f60203774b1080ddfb62092681005d163d4cbb9 /apps/plugins/rockboy/lcd.c
parent640eeabfe113695a22bf60ba327210a5526b187d (diff)
downloadrockbox-cf218e33eca3abcc1067b9e78f1c82510bfe7c69.tar.gz
rockbox-cf218e33eca3abcc1067b9e78f1c82510bfe7c69.zip
Patch #1401999 by Karl Kurbjun - Rockboy color, sound support, and speedups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8324 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/rockboy/lcd.c')
-rw-r--r--apps/plugins/rockboy/lcd.c34
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
56static int sprsort = 1; 62static int sprsort = 1;
57static int sprdebug; 63static int sprdebug;
58static int scanline_ind=0,insync=0; 64static int insync=0;
65#if LCD_DEPTH < 16
66static 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
934static void updatepalette(int i) 943static 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
1001void pal_write(int i, byte b) 1011void 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
1008void pal_write_dmg(int i, int mapnum, byte d) 1020void pal_write_dmg(int i, int mapnum, byte d)
@@ -1043,7 +1055,9 @@ void vram_dirty(void)
1043 1055
1044void pal_dirty(void) 1056void 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
1059void lcd_reset(void) 1075void lcd_reset(void)