diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2005-03-02 23:49:38 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2005-03-02 23:49:38 +0000 |
| commit | 384de102469fee4e0792df8fe38586d3206774ed (patch) | |
| tree | ee5342103e17738acfb8421328ea7c57433f55e6 /apps/plugins/rockboy/lcd.h | |
| parent | 48dad47df98bdec632e8930b6a97359dc2c428f5 (diff) | |
| download | rockbox-384de102469fee4e0792df8fe38586d3206774ed.zip rockbox-384de102469fee4e0792df8fe38586d3206774ed.tar.gz rockbox-384de102469fee4e0792df8fe38586d3206774ed.tar.bz2 rockbox-384de102469fee4e0792df8fe38586d3206774ed.tar.xz | |
Rockboy - gameboy emulation for rockbox, based on gnuboy. Still a bit early, but already playable on iRiver H1xx and the simulators. The archos recorder version is currently rather slow...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6104 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/rockboy/lcd.h')
| -rw-r--r-- | apps/plugins/rockboy/lcd.h | 74 |
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 0000000..9442b56 --- /dev/null +++ b/apps/plugins/rockboy/lcd.h @@ -0,0 +1,74 @@ + + +#ifndef __LCD_H__ +#define __LCD_H__ + +#include "defs.h" + +struct vissprite +{ + byte *buf; + int x; + byte pal, pri, pad[6]; +}; + +struct scan +{ + int bg[64]; + int wnd[64]; + byte buf[8][256]; + byte pal1[128]; + un16 pal2[64]; + un32 pal4[64]; + byte pri[256]; + struct vissprite vs[16]; + int ns, l, x, y, s, t, u, v, wx, wy, wt, wv; +}; + +struct obj +{ + byte y; + byte x; + byte pat; + byte flags; +}; + +struct lcd +{ + byte vbank[2][8192]; + union + { + byte mem[256]; + struct obj obj[40]; + } oam; + byte pal[128]; +}; + +extern struct lcd lcd; +extern struct scan scan; + + + + + +#endif + + + +void updatepatpix(void); +void tilebuf(void); +void bg_scan(void); +void wnd_scan(void); +void bg_scan_pri(void); +void wnd_scan_pri(void); +void spr_count(void); +void spr_enum(void); +void spr_scan(void); +void lcd_begin(void); +void lcd_refreshline(void); +void pal_write(int i, byte b); +void pal_write_dmg(int i, int mapnum, byte d); +void vram_write(int a, byte b); +void vram_dirty(void); +void pal_dirty(void); +void lcd_reset(void); |