brought the code over from the amiga test
[lugburz] / src / amiga / gfx.h
1 #ifndef GFX_H_
2 #define GFX_H_
3
4 #define SCR_W   320
5 #define SCR_H   256
6 #define SCANSZ  (SCR_W / 8)
7 #define BPLSZ   (SCANSZ * SCR_H)
8 #define NBPL    5
9
10 #define wait_vpos(x) \
11         asm volatile ( \
12                 "0: move.l 0xdff004, %%d0\n\t" \
13                 "and.l #0x1ff00, %%d0\n\t" \
14                 "cmp.l %0, %%d0\n\t" \
15                 "bne 0b\n\t" \
16                 :: "i"((x) << 8) : "%d0")
17
18 #define wait_vblank() wait_vpos(300)
19
20 #define wait_blit() \
21         asm volatile ( \
22                 "tst 0xdff002\n\t" \
23                 "0: btst #6, 0xdff002\n\t" \
24                 "bne 0b\n\t")
25
26 unsigned char framebuf[BPLSZ * NBPL];
27 unsigned char *bplptr[NBPL];
28
29 int init_gfx(void);
30
31 #endif  /* GFX_H_ */