0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ゲームボーイ RGBDS 開発メモ 第12回 スクロールしてみる

Last updated at Posted at 2025-01-12

タイトル画面をつくってみる

まずはタイトル画面をつくってみようと思います。

logo.png

この画像をタイルデータに変換して、表示させようと思います。rgbgfx で変換できるらしいのですが、4色のpngでないとだめらしく、ImageMagickで変換しました。

% magick logo.jpg -resize 64x64 -dither None -colors 4 -define png:color-type=3 logo.png
% rgbgfx -o logo.bin -t tilemap.bin logo.png 

タイルは8x8ドットなので、64個分のタイルデータ logo.bin が出来上がります。これを

SECTION "LOGO Tile", ROM0

LogoTiles: INCBIN "logo.bin"
LogoTilesEnd:

とすればタイルデータの完成です。チュートリアルと同じようにVRAMにコピーすれば、表示できました。まだパレットが考慮されておらす、また、ゲームボーイカラーにも対応していませんので、2階調のモノクロですが、あとで対応します。

スクロール

スクロールは簡単で、rSCY というレジスタにオフセットの値をいれればY座標がずれるようですので、最初に 64(タイル8枚分) を入れておき、VBlank中にデクリメントすることによって、スクロールができました。

    ; VBlank中

    ld a, [rSCY]
    cp 0
    jp z, Main           
    dec a
    ld [rSCY], a
    jr Main

jr は相対ジャンプで jp よりも命令サイズが小さいそうです。cp 0 は or aのほうがいいのかな。

0
0
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
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?