레트로 라이트 CM4 AIO 도킹 스테이션.
공식 소스 링크:GitHub - StonedEdge/Retro-Lite-CM4-Dock: 레트로 라이트 CM4 게임 컨솔과 함께 사용하도록 설계된 도킹 스테이션입니다.
설명
업데이트: 2023/07/09
참고: 코드베이스는 이제 스플래시 스크린, 통계 이미지, 그리고 텍스트 래프가 있는 메타데이터의 관점에서 기능적입니다! 저는 이 프로젝트가 현재 완료되었다고 생각합니다. 마음대로 개선하고 원하는 대로 사용하세요!
레트로 라이트 CM4 도킹 스테이션/허브는 레트로 라이트 CM4 게임 콘솔과 함께 사용하도록 설계되었지만, 레트로파이를 실행하는 모든 일반적인 리눅스 호스트에서 작동할 것입니다. 이 프로젝트의 주목표는 레트로 파이 시스템의 메타데이터 상자 역할을 하고 실시간으로 당신이 하고 있는 게임에 대
- 완전히 통합된 1.5인치 128x128 SPI 드라이브 16비트 컬러 디스플레이.
- 3가지 모드, 포함하여스플래시 스크린.,통계들.그리고게임.모드. 네비게이션은 GPIO 핀에 연결된 푸시 버튼을 사용하여 진행됩니다.
- 데스크톱 모드에서 키보드, 마우스 및 기타 주변 장치를 사용하기 위한 3개의 외부 USB 2.0 포트. USB 컨트롤러는 저지연을 위해 호환되어 있습니다.
- USB-C 충전
- HDMI 비디오 출력
아래는 프로그램의 일반적인 흐름이며, 전원이 적용되었을 때의 작동 방식입니다.
- 스플래시 스크린 모드.
- 스플래시 스크린은 에뮬레이션 스테이션이 시작될 때까지 재생됩니다. 그 후, 통계 모드로 들어갑니다.
- 통계 모드
- 일반적인 시스템 통계를 표시합니다. IP 주소, SoC 온도, RAM 사용량 등. 통계는 5초 간격으로 업데이트됩니다.
- 레트로 통계 - (a) 기간 및 (b) 게임 시간별로 당신의 시스템에서 가장 많이 플레이된 5개의 게임을 보세요.
- 게임 모드
어떤 게임의 출시 때 그 게임이 되고 있는 것의 합친 이미지를 보여줍니다.
도킹 스테이션에 연결된 푸시 버튼을 통해 5개의 서로 다른 메타데이터 보기를 循环합니다. 이들은 다음과 같습니다:
a) 휠과 스크린샷의 결합된 벡터 이미지 b) 공식 게임 박스아트 c) 게임을 할 수 있는 실제 하드웨어의 랜덤화된 벡터 이미지. 모든 컨솔의 모든 변형이 포함되어 있습니다(고품질의 벡터를 제공해 주신 Ampersand에게 감사합니다!). d) 게임의 설명, 화면 아래에서 수직으로 스크롤되는 설명 e
설치
설치하려면, 실행하세요 (아직 작동하지 않습니다!)
git clone https://github.com/StonedEdge/Retro-Lite-CM4-Dock.git sudo chmod +x install_dock.sh ./ install_dock.sh
저는 레트로파이
메타데이터 디렉토리 위치.
a)현재 게임 커버(박스아트)- /opt/retropie/configs/all/emulationstation/downloaded_images/{system}/{rom_name}.png
b)스크린샷 + 결합된 휠 이미지- /home/pi/retropie/roms/{system}/media/wheel/{rom_name}.png 및 /home/pi/retropie/roms/{system}/media/screenshot/{rom_name}.png
c)출시된 콘솔의 랜덤화된 벡터 이미지.- /home/pi/pico/pico-examples/pico-spi/consolevectors
d)수직 스크롤을 사용한 게임 설명- /opt/retropie/configs/all/emulationstation/gamelists', 시스템 이름, 'gamelist.xml'
e)게임 개발자.- /opt/retropie/configs/all/emulationstation/gamelists', 시스템 이름, 'gamelist.xml'
f)출시 날짜- /opt/retropie/configs/all/emulationstation/gamelists', 시스템 이름, 'gamelist.xml'
g)동영상- /home/pi/retropie/roms/{system}/media/videos/{rom_name}.mp4
하드웨어
OLED 화면을 도킹 스테이션에 연결하는 피노아웃은 위에 위치해 있습니다. 도킹 스테이션과 별도의 OLED 상자에 대한 제อ버스와 자동 설계 소프트웨어(CAD) 파일은 소프트웨어가 완료되는 대로 조만간 업데이트될 예정입니다.
할 일
- runcommand를 사용하여 현재 게임/시스템이 부팅되었는지 여부를 검출합니다.
- 부팅 시 레트로라이트 CM4 스플래시 스크린 추가
- 피4(Python)에서 128x128 RGB565로 스크린샷과 휠 이미지를 다운스케일 및 변환하기
- 제품/공급업체 ID(VID/PID)를 통해 RP2040을 검출하세요.
- 파이썬을 사용하여 게임 텍스트 메타데이터를 추출하는 방법을 확인하십시오.
- USB를 통해 RP2040에게 시스템 통계를 보내기
- 게임이 종료되면 runcommand-onend.sh가 실행되어 버퍼를 지우고, 사용자를 피 통계 보기로 다시 돌려주습니다.
- COM 포트 검출时的스플래시 스크린을 중단하고 통계 모드로 전환하세요.
- 손상 없이 시리얼을 통해 RGB565 합친 파일을 보내주세요. 그리고 Pi 통계에서 현재 게임으로 자동으로 전환되게 하세요.
- 화면 크기에 적합하도록 박스아트를 올바르게 확대하는 파이썬 스크립트를 작성하세요.
- 현재 리트로파이에서 실행되는 시스템에 기반하여 콘솔 벡터에 위치한 피코(Pico)로 랜덤 이미지를 보내주세요
- 통계 및 이미지 모드 사이를 전환하는 버튼 상태 기계를 구현하세요.
- 버튼 입력 없이 오에스디
- 게임 모드 내에서 게임 메타데이터 구현
- 콘솔의 전원이 끄면 부드럽게 OLED 디스플레이를 끄고, 전원이 다시 켜지면 다시 시작하세요.
- 게임 설명서에서 SSD1351의 텍스트를 하드웨어(또는 소프트웨어)로 수직으로 스크롤하는 방법을 식별하십시오.
- 메타데이터 모드에서 일부 새로운 줄 오류를 수정하세요.
- 특수 문자를 인코딩하는 방법을 알아내세요. 아마도 유럽 코드 페이지(CP1250/1252)를 통해 가능할 것입니다.
좋겠지만, 아마도 조만간 구현되지는 않을 거야!
- Pi 4에서 비디오를 개별 비디오 프레임으로 분할하는 파이썬 스크립트를 작성하세요.
- 모든 프레임에 대해 0.9MB/s의 전송 속도를 달성하려면 tinyUSB 라이브러리를 설정해야 합니다. 30 FPS 비디오는 USB 1.1을 통해 최대 1.5MB/s의 속도로 전송됩니다.
- 유저가 가장 많이 플레이한 게임을 보여주기 위해 통계 모드에 '레트로스타트'를 구현하세요.경기를 한 번 한 번및시간 기간레트로스타트 스크립트를 사용하고 있습니다. 참고: 실시간 클록
Model Kaynağı
