ポケットコンピュータ前から少しだけ気になっていたCardputerを手に入れた!少しだけ...という書き方がアレだけど、私の印象は「この小さな液晶と小さなキーボードで何かやる気が起きるんだろうか?」だったからだ。いざ買えるチャンスが訪れたら迷うこと無く手に入れてしまった(^^;;SNSでの盛り上がりも後押ししたのかも知れないが、あとづけの理由としては某原稿の締切が近かったけどネタが無かったという事情もあるw#本当は某原稿のためにギガンテスを動かしたはずなんだけど...orz実際に手に入れてから、ようやくスペックを調べ始めた。本体右上にM5StampS3がペタンと載っているのと、画面サイズが240x135ドット。Plusと同じだ!うむむ、過去にM5Stickを触った時には、効果的な使い方が出来た覚えがない...。pocketgriffon.hatenablog.com過去のブログを参照してみたけれども、やはり画面の狭さに四苦八苦している様子がうかがえる。IDEを利用すれば簡単に構築出来る事がわかった!特に悩むこともなくインストール出来た!開発環境が一本化されてるのは本当に助かる(^^)docs.m5stack.com新規で環境を構築する場合でも、上のドキュメントに詳しく書かれているので、チャレンジしてもらいたい(^^)動作確認とりあえず、画面表示とキー入力、SDカードからの読み込み辺りをテストしてみよう。表示系はM5Stackを扱ったことがある人ならば悩むことは無さそう。setRotationで画面を回転させないと、左側が上になってしまい期待した感じの表示にならない。そのままでもテト◯ス作る分には良さそうな気がする(^^)キーボードはサンプルをそのまま使っているが、特に困った点は見受けられない。ANK文字は普通に取得できるけれど、okやoptなどは違う方法で得る。この辺りはサンプルとライブラリのソースを見てもらうのが確実かと思う(^^)SDカードはサンプルが存在しなかったが、我らがNochiさん(@shikarunochi)がソースを開示してくれた。これをそのまま使えばSDカードへのアクセスが問題なく出来る。単体動作を試してみました。ファイル名直接指定で、プログラムを入れ替えてます。いい感じに動作します~。2023年10月22日ファイルをフルパス指定にしないと書き込み時に失敗する現象が出た。フルパス指定をすれば済む話なので特に問題はないと思うけど、念のための注意喚起(^^)他にもCardputerは多彩なハードウェアが載っているみたいだけど、私の用途ではあまり使わ無さそうな気がしていて調査をしていない...汗マイクとかスピーカーとかBluetoothとかWiFiとかを使って、優れたソフトウェアを作れる人が羨ましい(^-^;;念のため、ライブラリのソースは読んでおくと良さそうだ。github.comどのくらいのサイズまでmalloc出来るかを知りたかったのでメモリマップを探してみた。https://dl.espressif.com/public/esp32s3-mm.pdfコレを見て「あ、メモリがワリと素直」と思ってしまった(^^;;命令キャッシュが32KB、データキャッシュが64KB、汎用的に使える領域が416KB...と解釈したら良いのかな...?まぁでっかいメモリ領域をアロケーション出来そうな雰囲気があって、かなり安心した!(^^)知れば知るほど、潤沢なCPUパワーと大きなメモリ、適度な表示サイズのバランスが良いのかも...と思うようになってきた!(^0^)CP/M80の移植てっとり早く何かを動かしてみようと思ったので、過去に作ったCP/M80を移植してみた。ここのブログでは何度も何度も出てきているので詳細は省くけれど、何年か前に私自身がスクラッチから開発したプログラムだ。開発当初はcursesライブラリを用いていたが、その後SDL2へ移行し、フレームバッファ直アクセス版やM5Stack版など、多岐に渡る改造がされている。ソースもちゃんとまとめていないので、全部書き散らかした感じだ(TT)今回はM5Stack版を元にCardputerへ移植してみた。移植と言っても画面サイズの違いとキーボードからの読み込みの違い、そしてSDカードに関しては初期化さえきちんとすれば、あとのアクセスはライブラリが吸収してくれた。「動かすぞ」と思ってから30分掛からずに動いてしまったCP/M80。画面解像度の狭さから、表示をどうしようか...と悩む方が時間かかったかも?ちなみにフォントはPC-8001のモノを利用している。BASICをCardputerへ移植してみた。Pico」と何段階にも渡って移植されてきていて、特に私の代(Pico以降)はソースを適当に書いているため、とてもひどい(TT)Picoからの移植はちょっと大変だった。PicoではLCDへのアクセスを独自で書いていたので、gpioやspiといったハードベタベタなソースコードになっていた部分が多かったが、これを全てM5ライブラリに置き換えた。BASICの命令にグラフィック命令を拡張する改造もしてあった。個人的な好みによりテキストとグラフィックを完全分離した。内部でフレームバッファを3つ持っていて、それぞれテキスト用、グラフィック用、合成用としてある。240x135x16bitの大きさを持つバッファを3つも確保したが、内部メモリの多さに助けられた。BASICの駆動およびフレームバッファ生成はCore0で動かし、スクリーンを合成してLCDへ出力(push)するのはCore1で実行している。そのため、BASIC側の動作状況に関わらず、画面は定期的に更新される。SDカードがアクセスされた時は画面更新が止まる。IDEからのシリアル入力にも対応してみた。実キーボードからの入力は、思ったよりも使い勝手は悪くなく、むしろ楽しんでプチプチ打ち込める感じだ!(^-^)「FM-7グラフィックワークブック」という書籍に載っていたBASICプログラムを移植。SQR命令が無かったので、BASICでそれっぽいサブルーチンを作成。2023年11月25日さすがにESP32-S3ネイティブで動くBASICはめちゃくちゃ速い!もう少しBASICの命令数が充実していたら、大きめのプログラムも作れそうな気がするんだけどなぁ...。5はてなブログをはじめよう!PocketGriffonさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。