Top
HIDaspx
DownLoad
HIDasp高速化
制作
AVR関係
AVR_Monit
AVR_term
W32_term
HIDmon88
HIDtester
usbRS232
Arduino2313
デジタルテスター
ATmega88生活
KeyBoardマニア
KeyBoardマニアII
Arduino400
PICライター
ARMライター
赤外線リモコン
ARM
STM32ブートローダー
STM8S-Discovery改造
STM8S-OpenOCDライター
LPCXpresso
LPC用ブートローダー
NXP用LPCUSB
NXP用ブートローダー
MARY基板
LPC1114FN28
OpenOCD JTAGアダプター
OpenOCDビルド方法
arm-gccビルド方法
mapleIDEの改造
libmapleで仮想COM
PIC32
PIC32MX
Pinguinoで遊ぼう
ブートローダーを作る
シリアルブートローダー
USB仮想シリアル
USBカスタムデバイス
USB簡易モニター
USBオシロスコープ
USBホスト
PIC32でBluetooth
USBAudio
USBStudy
VGA出力に挑戦
BASICを動かす
WinUSB
勝手に改蔵*PIC32
PIC18F
HIDブートローダー
AVR/PIC両用ライター
ARMライター
usb汎用クラス
usbシリアル変換
usbキーボード変換
sdccを使いこなす
mcc18を使いこなす
HIDmon-2550
HIDmon-14K50
PICmonitor
試行錯誤の記録
UBWを試す
旧HIDboot
PIC18F2550試用記
PIC18F4550試用記
その他マイコン
NEC78K
RX62N
SH2A
H8
FM3
XPからubuntuに乗り換え
Android
Xen-hypervisor
Windows8カスタマイズ
開発日記
2015-04
ノウハウ
AVRUSB_Tips
HIDasp情報
汎用USB-IO
・
リンク
フリースペース
ゲストブック
旧コンテンツ
WinVista
インターフェース考
最新の20件
2022-07-25
2008-10
HIDasp高速化
H8/3048F
AutoTicketLinkName
2021-12-11
FormattingRules
2021-12-08
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/V-Z
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/H-K
2020-02-23
YukiWiki
PHP
PukiWiki
WikiWikiWeb
2018-12-19
SandBox
InterWiki
2015-05-07
2015-04
2015-05-02
MenuBar
編集
差分
tinyBasic2 の編集
-- 雛形とするページ --
(no template pages)
[[PIC32MX]] *PIC32MX上でtinyBasic2インタプリタを動かそう [#w851da50] [[PIC32MXでVGA出力>pic32vga]]の続き -http://psp.dip.jp/web/jpg/basic1.jpg ~ ~ ~ ------- *The Tiny Basic2 [#q3e7e039] 元ネタ: 1990-1-1 -http://www.programmersheaven.com/download/16060/Download.aspx Raspberry PiにTinyBasicが移植された。 -http://www.staff.city.ac.uk/afl/tinybasic/downloads.html これをPIC32MXで動かしてみました。 -Raspberry Pi版は、コードサイズで64kB程ありますので、Flash容量32kBのPIC上で動かすのは無理でした。 -が、その元ネタになっているほうのBASINT.cは14kB程度(Cソース、exeファイルともに)ですので、32kBのFlashに入ります。 ~ -実際に動かしてみると、BASIC INTERPRETER自体の占有ファームウェアサイズはmips16で4kB程度、MIPS32でコンパイルしても8kB程度に収まっています。 -putch(int c)相当の関数さえあれば動作しますので、PIC32MXに限らず他のマイコンへの移植も簡単です。 -------- *ダウンロード [#u56ad77a] ファームウェアソース:[[mxvga.zip:http://psp.dip.jp/web/upload.cgi/PIC/mxvga.zip]] ~ ライセンス -basintのほうはオリジナルサイトを見てもライセンスはunknownとなっています。 -tinyBasic 2のほうはGPL v2でした。 -投げ遣りですが、この版も、GPL v2で宜しいのではないかと考えております。 ~ ソースコードをぱっと見たところでは、 -手書きのパーサで、あんまり宜しくない。 -処理もかなり不備がある ように見受けられますので、たぶん、読者の貴方が1から書き直したほうがずっと良いBASICが作れると 思います。 - test.bat を起動すると、MinGWのgccを使って、Win32コマンドライン版の実行を行います。 - PIC32MXへの移植では、printf,scanf(現状はダミー)が必要になった程度で、ほぼ手直しなしで動いてしまいました。 - BASICソースはC言語中に文字列で格納してありますが、改行コードが - オリジナル版では CR+LFのところを LFだけでも動作するように改造するのに結構手間取りました。(その必要性は薄かったのですが) ~ - また、tinyBasic2の素数プログラムを走らせようとすると、basintのBASIC文法実装が足りていなかったので文法エラーで実行できませんでした。 - そこで、いくつかのステートメント処理はtinyBasic2からバックポートさせて頂きました。 ~ ~ ~ --------- *課題 [#k4f13e5d] -%%BASIC動作中は画面にジッターが出ます。%% --- COLOR(RED){ジッターは対策しました。} --終了するとジッターは消えます。 -%%原因は究明中ですが、よくわかりません。%% --- 実はよくわかっていません。割り込み応答が2〜3クロック後、というマニュアルの記述が気になるところです。遅延スロット?それともmips16/MISP32遷移? --MIPS32ビルドは試しましたが、症状は変わりませんでした。 -div,mul命令を使わないようにしてみたのですが、直りませんでした。 --乗除命令を使わずに32bit div / mul を書きました。今は使っていません。 ~ 答えは、2クロック命令だそうです。(kats_me様、ありがとうございます) -RISCなのに2クロックって、知りませんでした。単なるストールとは違うのかな? ~ -単体BASICコンピュータとして完結させるためには、キーボード入力部分(PS/2かな?)やセーブロード部分(SDカードかな?) などの増設の必要性がありそうです。 ~ ~ ~ --------- *応用 [#g8aed2e6] -単体BASICコンピュータ -basint.c のみを再利用して、別のマイコン(ARMとか)へ移植。 -basint.c を拡張。というかFlash容量さえあれば、tinyBasic2をそのまま利用でもOK. -RS-232C TTY端末。例えば、Linuxのコンソールに使う。(玄箱のttyコンソールとか) -basic以外の言語を動かす(ForthとかLuaとか) ~ -CG-ROMを適当に拡張して、SD-Card上の漢字dotを使用して漢字混じり表示。 --1画面に出せる漢字の種類(個数)に上限を設ければ可能。 ~ ~ ~ -------- *USB経由のBASICコンピュータを目指す [#mff68158] -KeyBoardやsdcardを繋げるのが面倒なので、とりあえずUSB-CDCデバイスまで取り込んで、 -WindowsPCからBASICが使えるようにしようという試みです。 *(仮)ダウンロード [#u56ad77a] USB入りファームウェアソース:[[cdcbasic.zip:http://psp.dip.jp/web/upload.cgi/PIC/cdcbasic.zip]] -現状のものは、USB-CDCデバイスとbasicインタプリタを同居させてはいますが、 -basicインタプリタはまだ対話型に拡張されておりません。 -とりあえずprime_vanilla.cを実行したあとは、Teratermなどから、VGA画面にエコーバックのみ行なえます。 ~ ~ ~
タイムスタンプを変更しない
[[PIC32MX]] *PIC32MX上でtinyBasic2インタプリタを動かそう [#w851da50] [[PIC32MXでVGA出力>pic32vga]]の続き -http://psp.dip.jp/web/jpg/basic1.jpg ~ ~ ~ ------- *The Tiny Basic2 [#q3e7e039] 元ネタ: 1990-1-1 -http://www.programmersheaven.com/download/16060/Download.aspx Raspberry PiにTinyBasicが移植された。 -http://www.staff.city.ac.uk/afl/tinybasic/downloads.html これをPIC32MXで動かしてみました。 -Raspberry Pi版は、コードサイズで64kB程ありますので、Flash容量32kBのPIC上で動かすのは無理でした。 -が、その元ネタになっているほうのBASINT.cは14kB程度(Cソース、exeファイルともに)ですので、32kBのFlashに入ります。 ~ -実際に動かしてみると、BASIC INTERPRETER自体の占有ファームウェアサイズはmips16で4kB程度、MIPS32でコンパイルしても8kB程度に収まっています。 -putch(int c)相当の関数さえあれば動作しますので、PIC32MXに限らず他のマイコンへの移植も簡単です。 -------- *ダウンロード [#u56ad77a] ファームウェアソース:[[mxvga.zip:http://psp.dip.jp/web/upload.cgi/PIC/mxvga.zip]] ~ ライセンス -basintのほうはオリジナルサイトを見てもライセンスはunknownとなっています。 -tinyBasic 2のほうはGPL v2でした。 -投げ遣りですが、この版も、GPL v2で宜しいのではないかと考えております。 ~ ソースコードをぱっと見たところでは、 -手書きのパーサで、あんまり宜しくない。 -処理もかなり不備がある ように見受けられますので、たぶん、読者の貴方が1から書き直したほうがずっと良いBASICが作れると 思います。 - test.bat を起動すると、MinGWのgccを使って、Win32コマンドライン版の実行を行います。 - PIC32MXへの移植では、printf,scanf(現状はダミー)が必要になった程度で、ほぼ手直しなしで動いてしまいました。 - BASICソースはC言語中に文字列で格納してありますが、改行コードが - オリジナル版では CR+LFのところを LFだけでも動作するように改造するのに結構手間取りました。(その必要性は薄かったのですが) ~ - また、tinyBasic2の素数プログラムを走らせようとすると、basintのBASIC文法実装が足りていなかったので文法エラーで実行できませんでした。 - そこで、いくつかのステートメント処理はtinyBasic2からバックポートさせて頂きました。 ~ ~ ~ --------- *課題 [#k4f13e5d] -%%BASIC動作中は画面にジッターが出ます。%% --- COLOR(RED){ジッターは対策しました。} --終了するとジッターは消えます。 -%%原因は究明中ですが、よくわかりません。%% --- 実はよくわかっていません。割り込み応答が2〜3クロック後、というマニュアルの記述が気になるところです。遅延スロット?それともmips16/MISP32遷移? --MIPS32ビルドは試しましたが、症状は変わりませんでした。 -div,mul命令を使わないようにしてみたのですが、直りませんでした。 --乗除命令を使わずに32bit div / mul を書きました。今は使っていません。 ~ 答えは、2クロック命令だそうです。(kats_me様、ありがとうございます) -RISCなのに2クロックって、知りませんでした。単なるストールとは違うのかな? ~ -単体BASICコンピュータとして完結させるためには、キーボード入力部分(PS/2かな?)やセーブロード部分(SDカードかな?) などの増設の必要性がありそうです。 ~ ~ ~ --------- *応用 [#g8aed2e6] -単体BASICコンピュータ -basint.c のみを再利用して、別のマイコン(ARMとか)へ移植。 -basint.c を拡張。というかFlash容量さえあれば、tinyBasic2をそのまま利用でもOK. -RS-232C TTY端末。例えば、Linuxのコンソールに使う。(玄箱のttyコンソールとか) -basic以外の言語を動かす(ForthとかLuaとか) ~ -CG-ROMを適当に拡張して、SD-Card上の漢字dotを使用して漢字混じり表示。 --1画面に出せる漢字の種類(個数)に上限を設ければ可能。 ~ ~ ~ -------- *USB経由のBASICコンピュータを目指す [#mff68158] -KeyBoardやsdcardを繋げるのが面倒なので、とりあえずUSB-CDCデバイスまで取り込んで、 -WindowsPCからBASICが使えるようにしようという試みです。 *(仮)ダウンロード [#u56ad77a] USB入りファームウェアソース:[[cdcbasic.zip:http://psp.dip.jp/web/upload.cgi/PIC/cdcbasic.zip]] -現状のものは、USB-CDCデバイスとbasicインタプリタを同居させてはいますが、 -basicインタプリタはまだ対話型に拡張されておりません。 -とりあえずprime_vanilla.cを実行したあとは、Teratermなどから、VGA画面にエコーバックのみ行なえます。 ~ ~ ~
テキスト整形のルールを表示する
ログインまたはアカウント作成