ライブラリの仕様は、vdp_bg.hに書かれています。
ドキュメントを見ると似たような関数がありますね。
なるほど、VDP_drawTextBG()の方が多機能なのですね。
TILE_ATTR()マクロはvdp_tile.hで定義されています。
このマクロでパレット指定、プライオリティ、上下反転、左右反転のアトリビュートを指定できるようです。
メガドラのBG面はスクロールできるので、ドキュメントからそれっぽい関数を探してみます。
#include <genesis.h> #include <string.h> int main() { u16 x1, y1; u16 pad1; char str_x[12], str_y[12]; x1 = y1 = 0; VDP_drawTextBG(VDP_PLAN_B, "PLANE-B", TILE_ATTR(PAL0, 1, 0, 0), 0, 14); strcpy(str_x, "x:00000000"); strcpy(str_y, "y:00000000"); while(1) { pad1 = JOY_readJoypad(JOY_1); if (pad1 & BUTTON_UP) y1--; if (pad1 & BUTTON_DOWN) y1++; if (pad1 & BUTTON_LEFT) x1--; if (pad1 & BUTTON_RIGHT) x1++; intToHex(x1, str_x+2, 8); intToHex(y1, str_y+2, 8); VDP_waitVSync(); VDP_drawTextBG(VDP_PLAN_A, str_x, TILE_ATTR(PAL0, 1, 0, 0), 0, 0); VDP_drawTextBG(VDP_PLAN_A, str_y, TILE_ATTR(PAL0, 1, 0, 0), 0, 1); VDP_setHorizontalScroll(PLAN_A, x1); VDP_setVerticalScroll(PLAN_A, y1); } return (0); }
X方向のスクロール方向が逆になっちゃうんですが、そういうものなのかな。