SGDK 1.33

メガドライブ開発環境で遊んでみようと思います。

f:id:tanam:20171229124025p:image:w360

以下のサイトを参考にしましたが、SGDK1.12ベースでした。

http://www.retropc.net/mm/md/

SGDK1.33の書き方をメモしておきます。

http://www.geocities.jp/parallel_computer_inc/gamelib16.zip

ダウンロードしたsgdk133.7zをC:\sgdk133に解凍しました。

https://github.com/Stephane-D/SGDK/wiki/Download

>cd \sgdk133\sample\sprite
>copy ..\..\makefile.gen .
>\sgdk133\bin\make -f makefile.gen clean
>\sgdk133\bin\make -f makefile.gen
  • 画像を表示してみる
IMAGE title "gfx/title.png" -1
#include <genesis.h>
#include "resource.h"

int main()
{
	VDP_init();
	VDP_setPalette(0, title.palette->data);
	VDP_drawImageEx(PLAN_A, &title, TILE_ATTR_FULL(PAL0, 0, 0, 0, TILE_USERINDEX), 0, 0, 0, 1);
	VDP_drawText("hello world", 0, 0);
	while(1)
	{
		VDP_waitVSync();
	}
	return (0);
}
  • キャラクタ定義と表示方法を調べてみる
TILESET fontset "gfx/fonts.png" 0
#include <genesis.h>
#include "resource.h"

int main()
{
	int	i;
	VDP_init();
	VDP_setPalette(0, title.palette->data);
	VDP_loadTileSet(&fonts, TILE_USERINDEX, TRUE);
	for (i = 0; i < 256; i++) VDP_setTileMapXY(PLAN_A, TILE_USERINDEX + i, i%16, i/16);
	while(1)
	{
		VDP_waitVSync();
	}
	return (0);
}
  • スプライトを使ってみる
SPRITE sprite "gfx/sprite.png" 4 2
#include <genesis.h>
#include "res_image.h"

int main()
{
	VDP_init();
	VDP_setPalette(0, title.palette->data);
	VDP_loadTileSet(sprite.animations[0]->frames[0]->tileset, TILE_USERINDEX, TRUE);
	VDP_setSpriteFull(0, 0, 0, SPRITE_SIZE(2,2), TILE_ATTR_FULL(PAL0,1,0,0,TILE_USERINDEX), 1);
	VDP_setSpriteFull(1,16,16, SPRITE_SIZE(2,2), TILE_ATTR_FULL(PAL0,1,0,0,TILE_USERINDEX+4), 0);
	while(1)
	{
		VDP_updateSprites(2,0);
		VDP_waitVSync();
	}
	return (0);
}

以下は変更ないようです。

  • パッドを使ってみる
  • BG面をスクロールしてみる
  • 効果音で遊んでみる
  • mmlで曲を作って音楽を流す