豊四季Tiny BASIC for Arduino STM32 をV0.87に更新しました
豊四季Tiny BASIC for Arduino STM32 をV0.87に更新しました。
公開サイト
・豊四季タイニーBASIC for Arduino STM32V0.87β
https://github.com/Tamakichi/ttbasic_arduino_stm32
テストが不十分でβ版です^^;
マニュアルの作成がまだまだ進まないのですが、とりあえすコマンドリファレンスを
V0.87対応に更新しました。
V0.87の主な追加機能
・漢字フォント利用の対応(SDカード上のシフトJISコードフォントファイルを利用)
- KANJI コマンドによる全角文字列の描画が出来る
- SETKANJI コマンドで全角文字描画時のフォントサイス等の設定が出来る
- KFONT コマンドによる、漢字フォントデータの取得が出来る
・内部フラッシュメモリのプログラム保存領域の直接書き換え対応
- 仮想化ドレスPRG2 の追加
- BANK コマンドの追加
- FWRITE コマンドの追加、
- BLOAD コマンドの機能強化でバイナリファイルに直接書き込みに対応
この機能は少々危険ですが、プログラム保存領域4096バイト x 6本の領域を
有効利用するために、データを配置して利用出来たら.. と思い追加しました。
SDカード上のバイナリーファイルをBLOADコマンドでフラッシュメモリに
読み込んだり出来ちゃいます。
ファイルからちょっとした画像や文書データを読み込んで配置出来ます。
・バイナリファイル操作の機能強化
- BLOAD、BSAVE コマンドで、ファイル内読み書き位置を指定可能にしました
ちょっとしたレコードファイルの構造を実現できると思います。
・文字列比較関数の追加
- STRCMP 関数を追加しました
・グラフィック描画関連のコマンド追加
- GCOLOR 、GCLS コマンドの追加
・その他
ここで、あらためて補足ですが、
マニュアルの作成がまだまだ進まないのですが、とりあえすコマンドリファレンスを
V0.87対応に更新しました。
・「豊四季タイニーBASIC for Arduino STM32」 コマンドリファレンス(更新中)
V0.87の主な追加機能
・漢字フォント利用の対応(SDカード上のシフトJISコードフォントファイルを利用)
- KANJI コマンドによる全角文字列の描画が出来る
- SETKANJI コマンドで全角文字描画時のフォントサイス等の設定が出来る
- KFONT コマンドによる、漢字フォントデータの取得が出来る
・内部フラッシュメモリのプログラム保存領域の直接書き換え対応
- 仮想化ドレスPRG2 の追加
- BANK コマンドの追加
- FWRITE コマンドの追加、
- BLOAD コマンドの機能強化でバイナリファイルに直接書き込みに対応
この機能は少々危険ですが、プログラム保存領域4096バイト x 6本の領域を
有効利用するために、データを配置して利用出来たら.. と思い追加しました。
SDカード上のバイナリーファイルをBLOADコマンドでフラッシュメモリに
読み込んだり出来ちゃいます。
ファイルからちょっとした画像や文書データを読み込んで配置出来ます。
・バイナリファイル操作の機能強化
- BLOAD、BSAVE コマンドで、ファイル内読み書き位置を指定可能にしました
ちょっとしたレコードファイルの構造を実現できると思います。
・文字列比較関数の追加
- STRCMP 関数を追加しました
・グラフィック描画関連のコマンド追加
- GCOLOR 、GCLS コマンドの追加
・その他
いくつかの不具合対応を行いました
ここで、あらためて補足ですが、
豊四季Tiny BASICのオリジナル版開発は私ではなく、鈴木氏です。
私は、オリジナル版をSTM32対応し、機能拡張しているのみです。
・ オリジナル版 https://github.com/vintagechips/ttbasic_arduino
今後の予定としては、機能追加はこのあたり迄として、
ドキュメントの充実、BASICプログラムの作成、基板作成を行っていこうと思っています。
・ オリジナル版 https://github.com/vintagechips/ttbasic_arduino
今後の予定としては、機能追加はこのあたり迄として、
ドキュメントの充実、BASICプログラムの作成、基板作成を行っていこうと思っています。
« 豊四季Tiny BASIC for Arduino STM32で日本語フォント利用対応中(4) | トップページ | ジャンク品のMSXの修理 その3 »
「日記・コラム・つぶやき」カテゴリの記事
- gitでサブモジュールを作成する(2025.02.01)
- 焼き芋ちゃんカレンダー、ポチリました(*´ω`*)(2025.01.31)
- Windows環境不要かも..(2025.01.20)
- 不明なアクセス集中ページを非公開にしました(2025.01.15)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
「arduino」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
「ARM」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- PocketGoで遊んでみる(1)(2020.03.24)
- Arduino用 MML文演奏ライブラリの作成 その1(2019.04.01)
- BluePillボードで4桁7セグLEDの制御(2019.03.21)
「STM32」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- 「Arduino STM32 リファレンス 日本語版」が2万アクセス突破!(2021.03.26)
- SPI接続フラッシュメモリモジュールを入手しました(2020.05.13)
- Arduino STM32でキャラクタ液晶ディスプレイを使う(2019.06.01)
「TinyBASIC」カテゴリの記事
- 豊四季Tiny Basic for micro:bit のマニュアルを更新しました(2020.11.21)
- 豊四季タイニーBASIC for Arduino 機能拡張版 V0.08の更新(2020.07.27)
- 豊四季タイニーBASIC for Arduino 機能拡張版 フルスクリーンエディタ対応(2020.02.20)
- IchigoJamのファームウェア 1.4.1が正式に公開されました(2019.12.10)
- TextsでWord文書をMarkdown形式に変換してみる(2019.11.16)
コメント
« 豊四季Tiny BASIC for Arduino STM32で日本語フォント利用対応中(4) | トップページ | ジャンク品のMSXの修理 その3 »
TinyBASICの作り方に興味を持ち、いろいろ調べていったら、たま吉さんの機能拡張した豊四季タイニーBASICにたどり着きました。
機能拡張、素晴らしいですね大変参考になります。自分でもさらに機能追加しようと思い、STM32 V0.87b版をgithubからダウンロードしました。
開発環境はgithubに書かれていた通りホルダを作成して、arduino 1.8.16でコンパイルしたところ問題が発生したので質問させてください。(NTSC使用でコンパイル)
1.コンパイル時にbasic.ccpでstrnicmp()の関数ないと叱られます。strncmp()に変更してコンパイルを通して書込みましたが、これでは全て大文字で入力しなければならないため少し不便です。arduinoのバージョン又は設定の違いによるものなのでしょうか?
しかたなく、自分でstrnicmp()関数を作って使っています。
2.SD書込みやSD参照するとコンピュータが暴走します(LED(PC13)が点滅して終了しない)。フォルダにあるbinファイルを直接書き込むと問題なく動きます。
bin作成時のソースとライブラリとgithubにあるソースとライブラリに違いがあるように思えるのですが?
掲載して数年後の質問になりますが何卒よろしくお願い致します。
投稿: yuji | 2023年10月16日 (月) 14時12分
yujiさん
かなり放置をしてしまい、現状のコンパイラ、ライブラリの利用環境では支障をきたしているようです。
以前、arm-gccの大きなバージョンアップで、Arduino STM32のフォームでも少々問題が生じた議論がありました。
arm-gccの採用しているC/C++言語仕様のバージョンが上がったようですが、検証を行っていない状況です。
strnicmp()がエラーとなるのは、gccの変更で
strnicmp()が使えなくなったようです。代りにstrncasecmp()を使うと良いようです(未確認) 。
> bin作成時のソースとライブラリとgithubにあるソースとライブラリに違いがあるように思えるのですが?
違いがあるかは、微妙です。コンパイラの大幅変更の影響が大きいかもです。
開発&公開当時は、facebookのTinyBASICのグループで多くの方に検証していただき、動作することを確認しています。
時間が取れれば、現時点のgccや、Arduino STM32環境に対応したいです。
投稿: たま吉さん(管理者) | 2023年10月16日 (月) 16時54分
たま吉さん
バージョンアップによる支障了解しました。ありがとうございます。
strncasecmp()での動作確認okでした。
現時点での対応よろしくお願いいたします。
投稿: yuji | 2023年10月17日 (火) 13時17分
たま吉さん
バージョンアップによる支障とのことなので、ボードマネージーでArduino SAMD Boards (32-bit ARM Coetex -M0+)のバージョンを最新版(Ver 1.8.13)からVer 1.6.10に落とした所、無事SDの読書きができるようになりました。このバージョンで機能拡張していこうと思います。ありがとうございました。
投稿: yuji | 2023年10月18日 (水) 13時04分