ゲームボーイにはBG面の他にウィンドウ面というものがあります。
簡単に説明すると、BGの上に表示できる、もう1枚のBGみたいなものですが
制限が色々あるので使い勝手は微妙なところです。
まず、表示できるタイルデータはBGと共通です。
表示はSHOW_WIN、非表示はHYDE_WINで行います。
表示内容はset_win_tiles()で設定します。
BGみたいにgotoxy()命令やsetchar()命令とか無さそうなので
表示にひと手間かかります。
そして重要なことですが、下のBGを透過させることが出来ません。
透過させるにはウィンドウ面をスクロールさせて
ウィンドウ面の外側にBGを表示させるしかありません。
スクロールにはmove_win(横スクロール位置, 縦スクロール位置)命令を使いますが
ここにも制限があり、横スクロール位置は0~166、縦スクロール位置は0~143でないと
ウィンドウ面は表示されません。
ちなみに横スクロール位置は7ドット左にずれてしまうようですので
画面の左上にピッタリ表示させるにはmove_win(7,0)とする必要があります。
(かといってmove_win(0,0)にしても左上に設定したタイルの右端は
何故か表示されません…仕様なのかエミュレータのバグなのかは不明です)
これらの制限から考えるに、ウィンドウ面は基本的に
画面の下部や右部にスコアやステータスなどを表示する際に適しています。
ファミコンではラスタースクロールで画面を分割したりしますが
それよりは簡単に実装できます。