Skip to content

picovave 8865204b — AC791N 듀얼코어 AMP 그래픽 가속 & 복구 툴 (FM-1 / SMK-37 Pro)

Choose a tag to compare

@acidsound acidsound released this 22 Oct 22:09
· 6 commits to main since this release

picovave — M-Vave SMK-37 Pro 및 FM-1(AC791N/WL82)에서 PICO-8 카트를 실행하는 펌웨어 패키지입니다.

이 릴리스의 빌드 태그는 8865204b 입니다(기기가 --ask 에 보고하는 값).

설치물 (Firmware Packages)

  • FM-1용: picovave-fm1.fwsc — 610,201 B
    • sha256: 6cbec488021124dec47524797eadcb756076e95fda8a0d5df9ff9b432233650d
    • 대상 기기: M-Vave FM-1 (FM-1_900)
  • SMK-37 Pro용: picovave-smk37.fwsc (또는 picovave.fwsc) — 651,355 B
    • sha256: f286a19ca700def76a8ad697d2f814393bbeec95dad5a535f6e5d70b3493e81a
    • 대상 기기: M-Vave SMK-37 Pro (SMK-37 Pro_700)

주요 변경 사항

  • AC791N 듀얼코어 AMP (비대칭 멀티프로세싱) 그래픽 파이프라인 전면 가속:
    • Core 0 (메인 코어): PICO-8 Lua VM 연산, 오디오 신시사이저/ALNK0 믹서(단일 작성자 원칙 엄수), 10kHz 타이머 매트릭스 입력 스캔 및 USB MIDI 통신 전담. 4bpp 8KB VRAM 그리기 직후 Core 1에 비동기 디스패치(p8_device_dispatch_render())하여 메인 루프 지연 시간 0ms 실현.
    • Core 1 (그래픽 가속 전용 코어): 4bpp ➔ RGB565 LUT 변환, 240행 더티 행 해시 판별, 128x128 ➔ 240x240 하드웨어 업스케일링 및 ST7789 SPI1 DMA 스트리밍 전담.
    • Core 1 독립 스택 초기화 (crt0.S의 _c1_ustack_init, 2048 B 버퍼 및 256 B positive headroom ABI 여유 확보).
    • Core 1 셀프 데드락 방지 가드(pv_c1_wait_done() 내 fm1_core_id() != 0 즉시 반환 및 50ms 와치독 타임아웃) 및 오디오 믹서 침범 원천 차단.
  • 실기 검증 완료 (Baba Is You 데이크 등):
    • 씬 전환 및 텍스트 렌더링 부하가 높은 카트(baba_demake-9)를 포함한 전체 갤러리 카트가 실기에서 크래시 없이 30 FPS 안정 구동 확인.
  • 부팅 시간 최적화:
    • 기존 2,000ms 부트 스플래시 지연을 400ms로 최적화하여 획기적으로 빠른 부팅 속도 달성.
  • 네이티브 UBOOT 복구 툴셋 제공:
    • macOS, Linux, Windows 환경에서 원클릭으로 작동하는 USB SCSI UBOOT 복구 스크립트(tools/recover_fm1.py, tools/recover_smk37.py) 및 docs/RECOVERY.md 가이드 추가.
  • 메모리 아레나 불변식 준수 (0 바이트 오차):
    • SMK-37 Pro 415,696 B / FM-1 416,848 B 아레나 크기 100% 동일 유지.
    • tools/verify_final.py 197개 이상 전수 검증 통과.