GBDKで何か作ってみる。(2)

PSクラシック、色々ハックされていて俄然欲しくなってきた。
ともあれ今はまだ、何をするにしても敷居が高い段階で、静観している状態。
(本体改造、ゲーミングキーボード入手等が必要な為。)


それはそれとして置いといて。


現在のGB開発状況としては、、
書き起こした設計書を元に実装を進めつつ、
GBDKに不足しているライブラリの追加を行っているところ。


printfのエスケープシーケンスによる画面制御が無いのは予想ついてたけど、
memsetが含まれていないのは想定外だった。


Wikipediaのソース移植したけど。


mem.c (memset関数の追加)

#include <types.h>

//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
void *memset(void *buf, int c, size_t num) {
//------------------------------------------------------------------------------
	unsigned char *ptr = (unsigned char *)buf;
	const unsigned char ch = c;
	
	while (num-- > 0)
		*ptr++ = ch;
	
	return buf;
}


cons.c (コンソール画面の全消去、行消去)

#include <stdio.h>
#include <gb/console.h>

//------------------------------------------------------------------------------


//---------------------------------------------------------------------------
void consoleClearLine(UINT8 y) {
//---------------------------------------------------------------------------
	gotoxy(0, y);
	printf("                    ");
	gotoxy(0, y);
}
//---------------------------------------------------------------------------
void consoleClear(void) {
//---------------------------------------------------------------------------
	UINT8 i;
	gotoxy(0, 0);
	for (i = 0; i < 18; i++)
		printf("                    ");
	gotoxy(0, 0);
}