dc651f1dbd8fb99ef586b5221a369d53999b060d
[swan-dev] / src / main.c
1
2 /* sprite data */
3 unsigned char bgtile_gfx[] = {
4   0x31, 0x22, 0x31, 0x32, 0x22, 0x31, 0x23, 0x21, 0x13, 0x13, 0x31, 0x32,
5   0x32, 0x31, 0x23, 0x12, 0x21, 0x32, 0x13, 0x23, 0x23, 0x13, 0x31, 0x31,
6   0x12, 0x32, 0x13, 0x22, 0x23, 0x13, 0x22, 0x13
7 };
8
9 /* palette data */
10 unsigned char bgtile_pal[] = {
11   0x65, 0x06, 0x67, 0x06, 0x79, 0x07, 0x8c, 0x08, 0xff, 0x0f, 0xff, 0x0f,
12   0xff, 0x0f, 0xff, 0x0f, 0xff, 0x0f, 0xff, 0x0f, 0xff, 0x0f, 0xff, 0x0f,
13   0xff, 0x0f, 0xff, 0x0f, 0xff, 0x0f, 0xff, 0x0f
14 };
15
16
17 /* data */
18 unsigned char lol[5] = { 0xAA, 0x2, 0x3, 0x4, 0x5};
19 unsigned char lol2[5] = { 0x1, 0x2, 0x3, 0x4, 0x5};
20 unsigned char lol3[5] = { 0x1, 0x2, 0x3, 0x4, 0x5};
21 #define PALETTE_T (volatile unsigned *)0xFE00
22 #define SPRITE_T (volatile unsigned *)0x4000
23
24 /* bss */
25 static unsigned char blaat[100];
26
27 void outport(unsigned char portnr, unsigned char val)
28 {
29         __asm__(
30                 "mov %1, %%dl\n\t"
31                 "out %0, (%%dx)"
32                 :
33                 :"r"(val), "r"(portnr)
34                 :);
35 }
36
37 void init_video(void)
38 {
39
40 }
41
42 int main(void)
43 {
44         lol[0] = 0xDD;
45         lol[1] = 0xDD;
46
47         blaat[0] = 0xEE;
48         blaat[1] = 0xEE;
49         blaat[32] = 0xEE;
50
51         init_video();
52         outport(0x15, 0xEE);
53         while(1);
54         
55         unsigned char * ptr = PALETTE_T;
56         for (int i = 0; i < sizeof(bgtile_pal); ++i) {
57                 *ptr++ = bgtile_pal[i];
58         }
59         
60         ptr = SPRITE_T;
61         for (int i = 0; i < sizeof(bgtile_gfx); ++i) {
62                 *ptr++ = bgtile_gfx[i];
63         }
64
65         while(1) {
66         }
67
68         return 0;
69 }