LiteOS용 Doom

이 디렉터리에는 LiteOS에서 사용할 수 있는 Doom 버전이 들어 있습니다(먼저 LiteOS를 설치하십시오. 설치 방법은 여기에 있습니다).

프로그램을 컴파일하십시오:

$ make

ULX3S의 HDMI 커넥터에 화면을 연결하십시오.

SoC에 접속한 뒤(lxterm /dev/ttyUSBnnn) 프로그램을 실행하십시오:

liteOS> run doom.elf

게임 데모가 화면에 표시됩니다. 아직은 게임을 플레이할 수 없습니다(사용자 입력을 처리하는 루틴이 아직 구현되지 않았습니다).

SSD1331 OLED

Makefile은 doom_oled.elf도 컴파일합니다. ULX3S에 SSD1331이 장착되어 있다면 이 파일을 사용할 수 있습니다(참고: SSD1331 지원을 포함하여 합성했는지 반드시 확인하십시오).

이 프로그램은 SSD1331 OLED 디스플레이에서 실행되며, 320x200 해상도로 렌더링한 뒤 최근접 이웃(nearest neighbor) 방식으로 96x64로 축소합니다.

렌더링 해상도를 더 낮추면 오류와 크래시가 발생합니다. 이 문제는 조사하여 수정해야 하며, 일부 수정된 소스 포트에는 해결책이 있을 수도 있습니다.

동작 원리

이 프로그램은 SoC용 Doom 포트인 mc1-doom을 기반으로 합니다. Doom은 일반적으로 다른 플랫폼으로 포트하기가 매우 쉽습니다(그래서 매우 다양한 기기에서 실행되는 버전을 볼 수 있습니다). 이번 경우에는 두 가지 작업을 해야 했습니다: