notaz.gp2x.de
/
picodrive.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
4100064b24956ba951b26fd3f4171b97e7f0714e
[picodrive.git]
/
Pico
/
cd
/
cell_map.c
1
2
// 64 x32 x16 x8 x4 x4
3
static unsigned int cell_map(int celln)
4
{
5
int col, row;
6
7
switch ((celln >> 12) & 7) { // 0-0x8000
8
case 0: // x32 cells
9
case 1:
10
case 2:
11
case 3:
12
col = celln >> 8;
13
row = celln & 0xff;
14
break;
15
case 4: // x16
16
case 5:
17
col = celln >> 7;
18
row = celln & 0x7f;
19
row |= 0x10000 >> 8;
20
break;
21
case 6: // x8
22
col = celln >> 6;
23
row = celln & 0x3f;
24
row |= 0x18000 >> 8;
25
break;
26
case 7: // x4
27
col = celln >> 5;
28
row = celln & 0x1f;
29
row |= (celln & 0x7800) >> 6;
30
break;
31
default: // never happens, only here to make compiler happy
32
col = row = 0;
33
break;
34
}
35
36
return (col & 0x3f) + row*64;
37
}
38