10 void palette_index_to_rgb15(unsigned char index, struct rgb15* rgb);
13 static unsigned char * sprite_ram;
15 void spr_ram_tbl_set(unsigned short offset, unsigned char data) {
16 sprite_ram[offset & SPR_RAM_ADDR_MASK] = data;
19 void spr_ram_data_get(unsigned char index, unsigned char *x, unsigned char *y,
20 unsigned char *tile_id, struct sprite_attr *sa) {
21 //index is multiple of 4.
23 index &= SPR_RAM_ADDR_MASK;
25 *y = sprite_ram[index++];
26 *tile_id = sprite_ram[index++];
27 memcpy(sa, sprite_ram + index++, sizeof(struct sprite_attr));
28 *x = sprite_ram[index++];
31 int sprite_init(void) {
32 sprite_ram = malloc(SPRITE_RAM_SIZE);
33 if (sprite_ram == NULL)
35 memset(sprite_ram, 0, SPRITE_RAM_SIZE);
39 void clean_sprite(void) {