Repository navigation
picovave 8865204b — AC791N 듀얼코어 AMP 그래픽 가속 & 복구 툴 (FM-1 / SMK-37 Pro)
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)
- sha256:
- SMK-37 Pro용:
picovave-smk37.fwsc(또는picovave.fwsc) — 651,355 B- sha256:
f286a19ca700def76a8ad697d2f814393bbeec95dad5a535f6e5d70b3493e81a - 대상 기기: M-Vave SMK-37 Pro (
SMK-37 Pro_700)
- sha256:
주요 변경 사항
- 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 와치독 타임아웃) 및 오디오 믹서 침범 원천 차단.
- Core 0 (메인 코어): PICO-8 Lua VM 연산, 오디오 신시사이저/ALNK0 믹서(단일 작성자 원칙 엄수), 10kHz 타이머 매트릭스 입력 스캔 및 USB MIDI 통신 전담. 4bpp 8KB VRAM 그리기 직후 Core 1에 비동기 디스패치(
- 실기 검증 완료 (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가이드 추가.
- macOS, Linux, Windows 환경에서 원클릭으로 작동하는 USB SCSI UBOOT 복구 스크립트(
- 메모리 아레나 불변식 준수 (0 바이트 오차):
- SMK-37 Pro 415,696 B / FM-1 416,848 B 아레나 크기 100% 동일 유지.
tools/verify_final.py197개 이상 전수 검증 통과.