Repository navigation
picovave 9b87fd08 — FM-1 부팅 프리즈 해결 및 빌드 태그 표기
picovave — M-Vave SMK-37 Pro 및 FM-1(AC791N/WL82)에서 PICO-8 카트를 실행하는 펌웨어 패키지입니다.
이 릴리스의 빌드 태그는 9b87fd08 입니다(기기가 --info / identity SysEx 에 보고하는 값).
설치물 (Firmware Packages)
• FM-1용: picovave-fm1.fwsc — 610,213 B
• sha256: 36fd14ec281314647b99ced6c1dc966414cbc18f988fc6eb879c700607579b36
• 대상 기기: M-Vave FM-1 (FM-1_900)
• SMK-37 Pro용: picovave-smk37.fwsc (또는 picovave.fwsc) — 651,383 B
• sha256: 270c8f23787aba10fb5fab90eda44ceaee4bd87c69876885cf9d4db97056ae8d
• 대상 기기: M-Vave SMK-37 Pro (SMK-37 Pro_700)
주요 변경 사항
• FM-1 부팅 프리즈(Boot Freeze) 원인 해결:
• 초기 플래시 리소스 정리 시점 보정: 부팅 초기 OTA/플래시 정리 작업(ota_boot_cleanup())이 엔진 루프 진입(picovave_boot()) 이전에 안전하게 완료되도록 순서 재조정.
• 첫 부팅 프레임 렌더 동기화: p8_device_wait_render()를 도입하여 Core 1(AMP 렌더러)이 화면 부트 마크를 온전히 전송할 때까지 안전하게 대기한 뒤 PICO-8 메인 루프로 진입.
• 인터럽트 조기 활성화 방지: fm1_flash.h 및 fm1_input.h의 irq_save() / irq_restore()에서 무조건적인 sti 대신 이전 icfg 인터럽트 마스크 상태를 안전하게 복원하도록 수정하여 인터럽트 핸들러가 미완성 상태에서 트리거되는 결함 차단.
• 빌드 태그 표기 및 검증 편의성 강화:
• FM-1 Identity 빌드 태그 응답: SMK-37 Pro에 이어 FM-1에서도 Identity SysEx 응답에 빌드 태그(9b87fd08)를 포함하도록 활성화.
• 웹 시뮬레이터 배지 추가: 웹 UI 헤더, 디바이스 박스, 다운로드 링크에 현재 펌웨어 빌드 태그 배지 표시 및 Web MIDI 스캔 시 연결된 실기기의 펌웨어 태그를 직관적으로 확인 가능.
• 도구 개선: platform/tools/fm1_install.py 및 tools/upload_cart.py에 --wait 옵션을 추가하여 장치 재부팅 및 연결 시 자동 대기 지원.
• 실기기 검증 완료:
• 실제 FM-1 기기에서 OTA 플래싱 완료 및 정상 부팅 확인.
• USB-MIDI를 통한 PICO-8 카트 업로드(tools/upload_cart.py) 100% 정상 전송 및 실시간 구동 검증 완료.
• 건반 미세 점등(Dim Glow) 가이드 및 입력 시 100% 밝기 반응(옵션 B) 정상 동작 확인.
• tools/verify_final.py 238개 전체 하드웨어/소프트웨어 무결성 검증 100% 통과.