
vic-2350는 RP2350 보드에서 영상과 그래픽을 출력하는 1980년대 중반 가정용 컴퓨터 구상 프로젝트다. 주요 대상 보드는 Adafruit Fruit Jam이며, 데모 중 하나는 SD 카드에 저장한 영상 클립을 재생한다.
프로젝트의 렌더러는 프레임 전체를 메모리에 저장하는 대신 화면을 그리는 시점에 그래픽을 처리하는 방식이다. 제작자는 RP2350에서 프레임버퍼가 메모리를 많이 차지해 해상도와 색 깊이가 제한되는 한편, 실시간 렌더링에 필요한 성능은 갖췄다는 점을 이 방식의 배경으로 들었다. 이름은 Commodore 64의 VIC-II 칩에서 따왔다. 코드는 주로 ARM 어셈블리의 현대적 문법인 symbolasm으로 작성됐으며, 프로젝트는 pico-dvi-rs를 이어받아 베어메탈 프로그래밍에 더 중점을 둔다.
영상 데모를 실행하려면 인코딩된 영상을 SD 카드 루트에 VIDEO.NIB라는 이름으로 복사해야 한다. 재인코딩된 영상 파일은 v0.1.0 릴리스 자료에서 받을 수 있다. 데모에 사용된 Big Buck Bunny 영상은 Blender Foundation 작품이며 CC-BY 3.0 라이선스가 적용된다.
빌드에는 Rust와 thumbv8m.main-none-eabihf 대상, 저장소 옆에 ../symbolasm 경로로 둔 symbolasm 체크아웃, as와 ld를 사용하는 arm-none-eabi binutils, Python 3이 필요하다. ./build.sh를 실행하면 데모별 ELF 파일이 build/<demo>.elf에 생성된다. 보드를 BOOTSEL 모드로 둔 뒤 picotool -x build/colorbars.elf 처럼 실행할 데모 파일을 지정해 올릴 수 있다. tools/run.sh를 사용하면 USB 시리얼 로그도 출력하며, 실행 중인 데모에서 ‘1200 bps touch’ 방식으로 전환할 수도 있다.
다른 데모에는 USB 장치 보고서 표시, 이미지 출력, 64개 사각형 애니메이션과 USB 마우스로 사각형을 끄는 기능, 텍스트 스크롤, 타일 렌더링이 포함된다. 이미지 데모의 파일은 플래시에 저장하며 크기는 640×480이어야 한다. 라이선스는 Apache 2.0 또는 MIT 중에서 선택할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요