게임보이(GameBoy)는 90년대 초등학교를 보낸 이들이라면, 잊을 수가 없는 게임기다. 나는 아직도 휴대하면서 팩을 바꿔서 게임을 할 수 있는 게임기를 처음 본 날을 잊을 수 없다. 내가 가진 게임보이에 Hello World를 출력해보고 싶었다.
사전 준비 - SDK 설치하기
우선 SDK가 필요하다. GitHub에서 SDK를 다운로드한다. 나는 gbdk-win64.zip를 다운로드했다.
https://github.com/gbdk-2020/gbdk-2020/releases/download/4.2.0/gbdk-win64.zip
압축을 해제하면 아래와 같은 폴더가 생긴다.
Hello World 출력하기
examples 폴더에 가면, 여러 가지 많은 샘플들이 있다. 여기서 helloworld 폴더를 생성하자. 아래와 같이 3개의 파일을 만들었다.
compile.bat 파일
..\..\..\bin\lcc.exe -Wa-l -Wl-m -Wl-j -o helloworld.gb helloworld.c
Makefile 파일 - 다른 폴더에서 복사했다.
CC = ../../../bin/lcc -Wa-l -Wl-m -Wl-j
BINS = comm.gb
all: $(BINS)
compile.bat: Makefile
@echo "REM Automatically generated from Makefile" > compile.bat
@make -sn | sed y/\\//\\\\/ | sed s/mkdir\ -p\/mkdir\/ | grep -v make >> compile.bat
# Compile and link single file in one pass
%.gb: %.c
$(CC) -o $@ $<
clean:
rm -f *.o *.lst *.map *.gb *~ *.rel *.cdb *.ihx *.lnk *.sym *.asm *.noi
helloworld.c 파일
#include <stdio.h>
void main()
{
int counter = 1;
while (counter <=16)
{
printf("Hello JYJHS!\n");
counter++;
}
}
코드는 간단하다.
해당 코드를 작성하고, compile.bat를 실행시키면 아래와 같이 3개의 파일이 생성된다.
여기서 Gameboy SD카드에 넣을 파일은 helloworld.gb 다.
SD카드 연결하기
Gameboy에 연결되어 있는 MicroSD 카드에 helloworld.gb 파일을 복사한다. 그리고 helloworld.gb를 찾아서 실행한다.
"Hello JYJHS!" 가 잘 출력이 된다. 관심이 있는 분들은 여러가지 코드를 작성하고, examples들을 참고하여 놀아보자.
🕹️ 조이스틱 입력받기
Gameboy는 십자키 4개, START, SELECT, A, B 이렇게 총 8개의 버튼을 사용할 수 있다. joypad() 함수를 부르면, 아래와 같이 버튼 이벤트를 사용할 수 있다.
#include <stdio.h>
#include <gb/gb.h>
#include <stdint.h>
void main(void)
{
while(1)
{
switch(joypad())
{
case J_RIGHT :
printf("Right!\n");
delay(100);
break;
case J_LEFT :
printf("Left!\n");
delay(100);
break;
case J_UP :
printf("Up!\n");
delay(100);
break;
case J_DOWN :
printf("Down!\n");
delay(100);
break;
case J_START :
printf("Start!\n");
delay(100);
break;
case J_SELECT :
printf("Select!\n");
delay(100);
break;
case J_A :
printf("A!\n");
delay(100);
break;
case J_B :
printf("B!\n");
delay(100);
break;
default :
break;
}
}
}
능력이 많으신 분들이라면, 본인이 만든 게임을 본인 기기에 실행해 볼 수 있다.
2024.04.28 - [기타] - 무료 Grid 사용하기
'기타' 카테고리의 다른 글
후쿠오카 여행 전차로Go 게임 체험하기 (1) | 2024.04.29 |
---|---|
후쿠오카 여행 마린 월드 방문하기 (1) | 2024.04.28 |
유틸리티 소개 HDD 사용량 확인 및 정리 (1) | 2024.04.28 |
무료 Grid 사용하기 (1) | 2024.04.28 |
아이와 함께 의왕 철도 박물관 (0) | 2024.04.27 |