Twitter for PC-G850: Sunrise to Sunset

3.8K Views

February 14, 25

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

Twitter for PCG850: Sunrise to Sunset 菅原 政行(@plageoj)

2.

菅原 政行 (@plageoj) • 年齢詐称を疑われる26歳 • ポケコン3台持ち • ベトナム出向から一時帰国中 • 趣味: 短歌、文通

3.

デモ (2分)

4.

想像して下さい • 半角文字しか扱えないコンピュータです • 144×48ドットのモノクロ液晶です • 踏み台サーバーなしで直接通信します 技術的制約を愛と狂気で乗り越えるお話です

5.

あしかけ8年、出展駆動開発 2018/09/30 レッドハッカソンひろしま2018 懇親会にて着想 2019/02/02 NT広島2019 2018/11ごろ MA2018応募。落選 2022/10/30 フレッシュITあわ~ど2022 入選 2019/11/30 IoTつくるよ! 2 2019/12/07 ヒーローズリーグ2019 MAヒーロー・オレトクヒーロー・ 学生ヒーロー受賞 2025/02/13 Developers summit 2025

6.

ハードウェア構成 ESP32 DevKitC PC-G850VS CPU LX6×2 @ 240MHz Z80A互換 @ 8MHz RAM 320KiB SRAM ROM 1.25MiB Flash 電源 USB 5V 共通 32KiB SRAM 単4電池4本 5V

7.

システム構成 ポケコン (BASIC) カートリッジ (C++) X API クライアント HTTPリクエ ストビルダ URL エンコーダ NTP サービス メ イ ン プ ロ グ ラ ム gPrint 日本語出力 ルーチン kInput 日本語入力 ルーチン Software Serial UI gPrint 日本語出力 ルーチン 制御・調停

8.

今回お話しする範囲 ポケコン (BASIC) カートリッジ (C++) X API クライアント HTTPリクエ ストビルダ URL エンコーダ NTP サービス メ イ ン プ ロ グ ラ ム gPrint 日本語出力 ルーチン kInput 日本語入力 ルーチン Software Serial UI gPrint 日本語出力 ルーチン 制御・調停

9.

X API クライアント

10.

HTTPを自分で組み立てる

11.

XのAPIレスポンスは超巨大 (略) 受信中に メモリがあふれて 突然の再起動

12.

JSONを諦めて捨てながらパースする

13.

gPrint 日本語出力 ルーチン

14.

gPrint の仕組み • 日本語の文章を漢字・ひらがな・ANKに分解する。 1. 漢字はカートリッジのフォントデータでビットマップに変換し グラフィックとして転送(MODE=GRAPHICS) 2. ひらがなは同等の半角カタカナに変換して転送(MODE=HIRAGANA) 3. ANKは半角文字に変換して転送(MODE=TEXT) MODE G 内容 H G 日本語 ノ H G 文章 ヲ H G T H G 漢字・ ヒラガナ ・ ANK ニ H G T 分解 スル 。 [END] 詳細はこのあとのデモ展示で実際の通信内容をご覧いただけます

15.

漢字ビットマップを得るまで UTF-16 入力 UTF-16 to UTF-8 変換 UTF-8 to SJIS 変換 ビットマップ 回転処理 フォント ルックアップ ポケコン用 表現に変換 転送・出力 個人的にはこの機能をよく「ソフトウェア漢字ROM」と呼んでいます

16.

kInput 日本語入力 ルーチン

17.

kInput の仕組み SJIS 半角カナ入力 UTF-8 全角かなに変換 Google CGI API for Japanese Input 呼び出し 結果のパース 変換候補の 自動選択 変換結果出力 8bit PC で連文節変換が(見た目)できるすごさを体験してください

18.

誰にも使われないかもしれない 誰も幸せにしないかもしれない でもそれでいい、それが個人開発

19.

個人開発の魅力は 好きなだけ時間を使って、 技術的制約と戦えること

20.

制約が厳しいからこそ 研ぎ澄まされた表現ができる

21.

ポケコンを触るとき 自分が本当に作りたいものを 作っている

22.

きみもポケコン、ゲットだぜ! 菅原政行 (@plageoj)