FlameOcean — Snowsky Echo Mini 用ファームウェアカスタマイズ(Web)

Tool

概要

FlameOceanは、Snowsky Echo Mini用のファームウェアに埋め込まれたリソース(フォント・画像など)を解析・抽出・差し替えできるWebベースのツールです。ブラウザ上でバイナリを読み込み、SMALL/LARGEといったフォントグリフをUnicodeプレーン別に閲覧したり、RGB565形式のビットマップ画像を表示して編集用に差し替えられます。主にカスタムUIや表示内容を変更したいホビー用途のユーザーや開発者を想定して設計されています。GUIは使いやすく、抽出した資源はダウンロードや再統合が可能です。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 0
  • ウォッチャー数: 3
  • コミット数: 30
  • ファイル数: 19
  • メインの言語: TypeScript

主な特徴

  • ファームウェア解析: Snowsky Echo Miniのバイナリを解析して内部リソースを特定・表示
  • フォント表示: SMALL / LARGEなどのグリフをUnicodeプレーンごとに閲覧
  • 画像表示・置換: RGB565フォーマットの埋め込みビットマップを表示し、差し替え可能
  • ブラウザ上完結: ファイル読み込み・編集・再出力がWebで完結、簡易にカスタマイズできる

技術的なポイント

FlameOceanはTypeScriptで実装されたクライアントサイド中心のツールで、バイナリデータの扱いとCanvasによるレンダリングが肝になっています。ファームウェアファイルをArrayBufferとして読み込み、DataViewやUint8Array等を用いてバイナリ構造をパースし、リソースヘッダやオフセット情報からフォントや画像データの位置・長さを特定します。フォントはサイズ別(SMALL/LARGE)にグリフを抽出し、Unicodeプレーンに基づいて一覧表示することで、どの文字がどのグリフに対応しているかを視覚的に把握できます。

画像はRGB565(16ビットカラー)で格納されることが多く、16ビットデータを24/32ビットRGBに変換してCanvasに描画します。逆に差し替え時には編集した画像をRGB565に再変換して元のバイナリ領域へ埋め込み、サイズやアライメント、オフセットを保ったまま再生成する必要があります。差し替えの実装では、データ領域の上書きだけでなく、ファームウェア内のチェックサムやインデックステーブルの更新(必要な場合)を考慮することが推奨されます。

また、ブラウザ環境でファイルを扱う都合上、BlobやURL.createObjectURLを使ったダウンロードや、File APIを用いた入出力が活用されています。TypeScriptにより型安全にバイナリ操作のコードが書かれており、可読性と保守性を高めています。UIはCanvasベースとDOM操作の組合せで構築され、ユーザーが直感的にリソースを選んで抽出・差し替えできる設計です。注意点として、ファームウェアの変更は実機での動作保証やブート不良のリスクを伴うため、バックアップや検証プロセスを確保することが重要です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gemini: dir
  • .gitignore: file
  • .mcp.json: file
  • .npmrc: file
  • .vscode: dir

…他 14 ファイル

(リポジトリ内にはTypeScriptソース、ビルド設定、ドキュメント類が含まれていると推測されます。ブラウザでの動作を想定したパッケージ設定やエディタ設定ファイルが整備されています。)

まとめ

ブラウザ上で手軽にSnowsky Echo Miniのリソースを解析・編集できる実用的なツールです(約50字)。

リポジトリ情報:

READMEの抜粋:

FlameOcean

A web-based firmware customization tool for Snowsky Echo Mini devices. FlameOcean allows you to extract, view, and replace resources embedded in Snowsky firmware binaries.

Features

  • Firmware Analysis: Parse and analyze Snowsky Echo Mini firmware files
  • Resource Extraction: Extract and display font glyphs (SMALL/LARGE) organized by Unicode planes
  • Image Viewing: View embedded bitmap images in RGB565 format
  • Image Replacement: Replace firmware images with cus…