LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.

posted at

updated at

X68000 XCライブラリVer.2 早引き君(正誤表つき)

X68000 XCライブラリVer.2 早引き君

目次

スプライト

基本的な表示方法

BASIC用の命令を使った表示

BASIC用のsp_defは引数のパターンデータの設定が16x16ドットの場合でも順番が見た目通りになる。
SP_DEFCGでは順番が特殊(正確には仕様通り)になる。

sp_sample.c
	char spPattern01[256] = {
		1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
	};
	
	sp_init();
	sp_def(0, spPattern01, 1);
	sp_def(1, spPattern01, 1);
	sp_def(2, spPattern01, 1);
	sp_def(3, spPattern01, 1);
	sp_def(4, spPattern01, 1);
	sp_def(5, spPattern01, 1);
	sp_def(6, spPattern01, 1);
	sp_color(0, IntColors, 1);
	sp_on()
	sp_disp(1)
	sp_move(0, 128, 128, 0);

正誤表

SPALET

間違い int SPALET(CODE, BLOCK, COLORCODE);
正解 int SPALET(SPRITE PALET NUMBER, PALET BLOCK, COLORCODE);
説明 XCライブラリマニュアルでは第一引数が垂直同期設定になっているが、実際は第1引数の31ビット目がVSYNC検出フラグ、7~0ビット目がパレットコード。

SP_REGST

間違い int SP_REGST(SPRITENO, MODE, X, Y, CODE, PAW);
正解 int SP_REGST(SPRITENO, X, Y, CODE, PAW);
説明 XCライブラリマニュアルでは第二引数が垂直同期設定になっているが、そもそも垂直同期設定の引数は第一引数の31bit目。つまり第1引数の31ビット目がVSYNV検出フラグ、6~0ビット目がスプライト番号。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up