summaryrefslogtreecommitdiff
path: root/apps/plugins/rockboy/lcd.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/rockboy/lcd.h')
-rw-r--r--apps/plugins/rockboy/lcd.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/apps/plugins/rockboy/lcd.h b/apps/plugins/rockboy/lcd.h
new file mode 100644
index 0000000000..9442b56cf0
--- /dev/null
+++ b/apps/plugins/rockboy/lcd.h
@@ -0,0 +1,74 @@
1
2
3#ifndef __LCD_H__
4#define __LCD_H__
5
6#include "defs.h"
7
8struct vissprite
9{
10 byte *buf;
11 int x;
12 byte pal, pri, pad[6];
13};
14
15struct scan
16{
17 int bg[64];
18 int wnd[64];
19 byte buf[8][256];
20 byte pal1[128];
21 un16 pal2[64];
22 un32 pal4[64];
23 byte pri[256];
24 struct vissprite vs[16];
25 int ns, l, x, y, s, t, u, v, wx, wy, wt, wv;
26};
27
28struct obj
29{
30 byte y;
31 byte x;
32 byte pat;
33 byte flags;
34};
35
36struct lcd
37{
38 byte vbank[2][8192];
39 union
40 {
41 byte mem[256];
42 struct obj obj[40];
43 } oam;
44 byte pal[128];
45};
46
47extern struct lcd lcd;
48extern struct scan scan;
49
50
51
52
53
54#endif
55
56
57
58void updatepatpix(void);
59void tilebuf(void);
60void bg_scan(void);
61void wnd_scan(void);
62void bg_scan_pri(void);
63void wnd_scan_pri(void);
64void spr_count(void);
65void spr_enum(void);
66void spr_scan(void);
67void lcd_begin(void);
68void lcd_refreshline(void);
69void pal_write(int i, byte b);
70void pal_write_dmg(int i, int mapnum, byte d);
71void vram_write(int a, byte b);
72void vram_dirty(void);
73void pal_dirty(void);
74void lcd_reset(void);