まったり アイマス2

アイドルマスター2 超ライトユーザーのプレイ日記

4242. マイコンボード

2023年10月31日 | 日記

 注文していたRX621のマイコンボードが届きました。良くできていると思います。パソコンとUSBで接続すると、C言語で本来のマイコンの使い方ができます。
 が、ボード単体には動作確認手段が無く、何か出力機器を繋がないといけません。もちろん市販のマイコンなので周辺機器には簡単に接続できますが、部品を買ってきてはんだ付けで接続する必要はあります。

 その出力機器として同時に買ったのが128×64ドットの白黒LCDモジュールです。こちらは5V系みたいで、マイコンは3.3V系で、多分、抵抗を通すだけで接続できそうですが、推奨はレベルシフトのICを経由させることみたいです。高価ではありません。
 私の当初の計画ではPS/2キーボードをマイコンボードに接続で、こちらも5V系なので同様の問題があります。マイコンハードの説明書を精読しないといけません。

 追加部品を買わないと動作確認すらできないので、しばらくあれこれと考えることになります。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4241. 赤羽根Pの中の人の誕生日

2023年10月30日 | 日記

 明日、10月31日は(初代)アニメ版アイドルマスターの(多分)主人公、赤羽根Pの声優、赤羽根健治さんの誕生日だそうです。春香たちのPなので、いつものようにPS4の最新アイマスゲーム、スターリットシーズンのPV新着欄で精鋭Pがお祝いのPVを上げるはずです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4240. 日曜日

2023年10月29日 | 日記

 本日も私は休日。やること(家事)やってゆっくりくつろぎました。まだ多少、仕事疲れで頭がぼーっとしています。今週中には回復すると思います。

 その安価な液晶グラフィック表示器はマニュアルがいまいちの感じで、関連する3商品くらいのマニュアルを比較検討して、やっと分かった箇所があって。おそらく定番ICなので、分かる人には分かる、と言うことなのでしょう。こちらは知らないから右往左往してしまいました。これは白黒の方で、カラーの方はまださっぱりの感じで、明日以降検討します。こちらも慣れている人にはすぐに分かるような気がします。

 マイコンのRXは初めてなので、こちらもマニュアルを検討中です。特にハードは大部で、まだ最初の方しか読んでいません。今回買ったRX621タイプは今は先代の位置づけのようです。現在は機械語のバージョン2と3に移行しているようです。
 クロック数が100MHz程度なので、キャッシュなどはありません(多分)。とても素直なハードです。バージョン1でも単精度浮動小数点演算機構が入っていて、しかしなぜか四則と比較だけで平方根がありません。さすがにバージョン2と3には平方根命令が追加されています。さらにバージョン3では倍精度浮動小数点演算機構が追加です。

 何となく80486の時代を思い出しました。クロック周波数は同程度です。DOS/VからWindows 3.1に移行の時代で、PCが今の感じになってきた頃です。バージョン3を試してみたいところですが、今は評価ボードはプロ用みたいで、多少高価なようです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4239. tiny BASICの構成、続き^6

2023年10月28日 | 日記

 ふう、久しぶりにたっぷり休めたような気がします。いや、仕事自体はきつくないです。単に時間が取られて家事以外の他のことができなくなるだけです。今後、本年中は若干の自由時間が使えるようになる予定です。

 で、小型の液晶ディスプレイが気になったので、実物を取り寄せることにしました。ついでにマイコンボードも。秋葉原の有名な電子部品の小売店で、通信販売をしているのでそれを利用。

 マイコンボードはルネサス社のRX62の一つで、その小売店でボードに仕立てたものです。試作や学習用です。96MHzクロック動作で、ROMが512KB、RAMが96KB、データフラッシュが32KB。データフラッシュは3万回の消去が可能のようです。データシートは2011年のものです。
 長らくARMを使っていたので、使うのが楽しみです、…私が使えればですが。とても豪華なCPUというかマイコンで、十分に使いこなすのは大変な気がします。マイコンなので割り込み系が理解できないとアウトです。10msec~100msec毎のタイマ割り込みのプログラミングができれば、後は何とかなりそうです。
 白黒128×64ドットのLCDパネルとのやりとりはPIO(普通の1/0の入出力)ですからまだ楽。後述する320×240カラーパネルとのやりとりはSPIと呼ばれるインターフェースで、SDカードと同様です。後者は成功すればその後のプログラミングは普通にできますが、接続成功まではマニュアルをよく読まないといけません。

 白黒128×64ドットのLCDパネルは参考資料とやらが2010年のものです。多分、仕入れたロットが終われば販売終了です。LCDのコントロールICは標準的な感じなので、今回の勉強は将来も役立つはずです。IC内のグラフィックメモリに8bit単位で書き込むと、その通り表示されるようです。こちらが今回の実験のメインです。

 カラー320×240のユニットは何となく怪しくて、おそらくどこかで大量発注があったものの余りだと思います。まだマニュアルをざっと読んだ程度です。
 表示画面の幅は58mmほどで、割と見やすいと思います。1ドット単位でRGBの6bitずつのメモリが入っていて、そこに書き込めば良いのでしょうが、マニュアルが豪華というか複雑というか、よく読んで適切にコマンドを発行しないといけないみたいです。まあなにせ、安かったのでカラー320×240表示の魅力に負けてしまいました。こちらは表示に成功すればラッキーの感じです。
 こちらにはついでにSDカードのソケットが付いています。つまり、これと上述のマイコンボードを接続し、さらにPS/2キーボードを繋ぐと8bit時代の感覚のパソコンの出来上がりと、…なるはずです。

 こんな感じの装備で無いとtiny BASICはやってられません。前述したように、もう少しハードが豪華になるとPCそのものでプログラミングした方がずっと良いと思います。
 今回の実験の当初の設定目標はtiny BASICの考え方でどこまで粘れるか、ということ。そのtiny BASICはなるべく東大版Palo Alto tiny BASICの作りを踏襲します。

 後は私が納得できるまで。まず、tiny BASICの変数がA~Zの1文字であるように、GOTO先をラベルとして01~26などと固定しポインタの表を作れば、それだけでかなり高速になるはずです。おそらくプログラムの大きさが1KBを超えるあたりから違いが顕著になるはずです。プログラムが小さければ高速化の工夫はあまり役立ちません。
 その次は2分探索表の導入で、変数名やラベルの文字列の自由度がぐっと増すはずです。しかし、こうした拡張路線を続けるとC言語あたりと変わらなくなるので、しだいに意味が無くなって行くと思います。
 別方向としては、私がTSS技術と思っている1行コンパイラ方式で、こちらは上述のハードから2万円程度までの装置で役立つ考え方と思っています。マルチタスク化して、イーサネットが使えれば印象的なので、対応できるマイコンボード(等)を探してみます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4238. 金曜日

2023年10月27日 | 日記

 本日も普通にお仕事でした。通勤途中のハブ駅では外国からの観光客でごった返していました。周辺には修学旅行? の長距離バスみたいなのがたくさん。たしかに行楽シーズンではあります。

 本日、仕事で行ったところは、多分、サービス業です。内部は綺麗に整えられていて、新展開もあるらしく、順調な感じです。浮かれた感じはありません。
 外ではインフラはできるところから古いのを新しいのに入れ替えていますし、高速網なども急ピッチで整いつつあります。とにかく、お金のある内に基盤整備をしておこう、ということ。
 まあ、それはそれでしっかりやらないと途中でくだけてしまいますからそのまま続けて欲しいです。ただ、何となく新時代の感じの企画が欲しいところです。

 やっと自由時間が取れそうな感じになってきたので、私なりに考えてみます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4237. tiny BASICの構成、続き^5

2023年10月27日 | 日記

 毎年忙しくなる10月も、多分本日でピークは終了します。昨日は午後出張だったので、早めの昼食に職場近所のショッピングモールにお出かけしました。隣接する大型書店でいくつか買って。

 グラフィック表示モジュールの一般向けの技術書が売られていたので買いました。が、2012年の刊なので内容が多少古いような気がします。
 低価格で個人で購入できる5×8ドットのキャラクタLCDは今も定番です。定番の駆動ICがあって、20桁4行の能力があり、よく手に入るのは16桁2行の横幅が8cm程度のディスプレイです。ASCIIの94文字とカタカナと若干の記号、8キャラクタ程度はキャラクタジェネレータがRAMになっているので自由にデザインできます。

 前回取り上げた白黒128×64ドットのLCDグラフィックモジュールのICも定番があるみたいで、64×64が単位で、縦を2段にすることができて128ドット。横は3つ繋いで192ドットの参考回路図が載っていましたが、こちらはさらに伸ばせる雰囲気です。192×128や256×128のものが安価に手に入るのなら使ってみたいです。
 8ビット並列でマイコンなどに接続し、バスクロックは1MHzが最大のようです。10cm程度の短い配線ならアマチュアでもで扱えそうです。パネルの応答は200msecなどで、アニメにはややきついと思います。ドット情報はメモリされるのですが、それだけのようです。
 液晶パネルは正方画素で、ドットピッチは0.5mm程度のものが視認性が良く、かつコンパクトな感じがします。
 これを超えると、たとえば320×240のカラー液晶表示器などは、今はやや高価になってしまうようです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4236. tiny BASICの構成、続き^4

2023年10月26日 | 日記

 マイコンボードと言えば、表示装置で悩むことが多かった気がします。今回調べたら、表示部が白黒128×64ドット、66mm×33mmのLCDグラフィック・ディスプレイモジュールが安くなっています。ほんの3年前に調べたノートが残っていて、そこでは5000円程度でした(1個単位で入手する場合)。今は2000円以下の価格設定のがあります。販売店によってまちまちなのでもしかしたら特価品かもしれませんが、とにかくこのクラスの表示器が手軽に手に入るのが分かったのは収穫でした。

 手元の資料では1988年の全盛期のポケットコンピュータの表示部は192×32ドットなので、もう少し横に広い方が良いのですが、これでも十分な気がします。たとえば、初期の入門用パソコンの(アナログ)テレビへの表示は256×192ドットなどで、この程度となるとゲーム画面の感じが出てきます。

 学習用マイコンボードの方は4000円のキットでCPUのRAMが96KBというのが目に入りました。ボードの大きさは70mm×45mmです。PS/2キーボードは今も安価に容易に手に入り、接続は簡単なはずです。イーサネットの接続回路があればLANごっこができますが、このボードのマイコンには入っていないようです。
 パソコンに繋いでC言語でプログラムするはずです。CPUは32bitで96MHzクロック。単精度浮動小数点演算機構が入っています。
 プログラム用のROMは512KBもあるので、うまくやればMS-DOS 2.0時代の感じのOSと若干のユーティリティが入りそうです。漢字のドットフォントと文節変換用の辞書も、機能を欲張らなければ余裕で入ると思います。ただし、日本語ワープロには画面は640×480ドットのVGA程度は欲しいので、これらを用意するとPCになってしまい、そうなると普通のPCでWindowプログラムした方が良い感じになると思います。

 もう少し調べてみます。よりうまく見える方法が見つからなければ、上述の128×64ドットの白黒LCD表示器で思考実験し、簡単に思えるならば部品を取り寄せて組み立ててみます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4235. tiny BASICの構成、続き^3

2023年10月24日 | 日記

 2分探索表が作れると変数名をA~Zの1文字に制限する必要などは無くなるのでぐっと自由度が増えます。ですから多分、もはやtinyでは無くなります。ほんの少しでもメモリに余裕が出来るならばこうしたユーティリティ・プログラムが利用できます。
 学習用のマイコンボードをネットで見てみると、安価なものでも20KB程度のRAMが使えますし、容量が増えるとtinyの逐次GOTO先検索はどんどん分が悪くなります。

 今回の結論としては、tiny BASICはやはり全メモリが4KB程度の時の対応のようです。思考上は役立つと思えるので、しばらく今手に入るマイコンボードの資料などを眺めてまとめたいと思います。綺麗にまとまるようならこのブログで公開します。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4234. tiny BASICの構成、続き^2

2023年10月23日 | 日記

 で、その東大版Palo-Alto tiny BASICを改めて見直しました。良くできています(前項の記述に誤りがあったので訂正しました)。BASICというよりは私の考えではLISPの要素が目立っていて、後一要素(サブルーチンの先頭に(高速に)戻る)があればほぼ完璧。東大版で無く、元のはトリッキーと言えるほどの技巧があったそうで、もしかしたら翻訳される際に省略された可能性があります。
 後は行番号にgo toするのを例えば2分探索表で高速化すればさらによく、それほどコードを必要としないはずなので、しばらく考えてみます。それをやるなら行番号で無く、いわゆるラベルを設ける方がいろいろ便利な気がしますが。

 あまりに工夫を重ねると、B言語(C言語の整数版)(の中間言語コンパイラ)の方が良いでは無いか、あるいは簡易LISPにしてしまうか、とtiny BASICの独特の良さが消えてしまうので悩ましいところです。特に今は安価で大容量の外部記憶が簡単に接続できるので、エディタやいわゆるファイラなどの別の便利なユーティリティの追加が容易です。

 私事ですが、今週も忙しくてまとまった時間が取れず、それでtiny BASICをちょっと思い出した訳。来月からは少し時間が取れるはずで、おそらく元の話題に戻ります。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4233. tiny BASICの構成、続き

2023年10月22日 | 日記

 Apple IIやNEC PC-8001が発売される直前のこと。ICチップとしてのZ80等は売られていましたが、完成品のパソコンは無く、マニアは自分で回路図を描いて半田ごてとネジ回しで何とか動くコンピュータを作っていました。米国では早々に組み立てキットが発売され、日本ではNECのTK-80が売られていたか。
 TK-80は当時としてはかなり売れたと聞いています。ネット情報ではROMが768バイトでRAMが512バイトとか。この容量ではボード上のLEDを光らせることくらいしかできません。
 何とかもっと便利に使えないか、ということで、米国でtiny BASICの計画がマニア雑誌で提案されたそうです。4KB程度のRAMで動作する高級言語です。

 元の資料はネットで容易に見ることができます。INPUT、PRINT、LET、GO TO、IF-THEN、GOSUB、RETURNの7命令で、変数はA-Zの26個で16bitの整数のみ。ビデオ端末でゲームが出来るようにPRINT文での文字列出力と、配列と乱数関数が必須となっていました。私はこの直後の展開を知りません。知ったのはbitと呼ばれる情報系月刊誌の特集号に載っていた東大版Palo-Alto tiny BASICです。これにはFOR/NEXTループが追加されていました。

 この東大版Palo-Alto tiny BASICはソースコードと共に内容の詳しい解説が載っていて、その後の我が国のパソコン界に与えた影響は絶大だったと思います。私もROMに焼いて動作させたことがあって、良くできていると感心したものです。
 最大の特徴は、人間が読めるソースコードをそのままCPUが解釈・実行したことだと思います。さすがに行番号は2進化されていますが、他はそのままです。その後のマイクロソフトBASICはキーワードが中間コードに置き換えられていましたが、それすら省略されていました。

 GOTOとIF-THENの飛び先は行番号で、行番号はすべての行に付いていましたから容易にスパゲッティプログラムが出来てしまうのでフローチャートは必須でした。その際、プログラムの先頭から行番号を逐次に検索するのでとても効率が悪く、その代わりとしてFOR/NEXTループに入るとメモリ上に専用の枠組みが作られてここは高速に回転します。GOSUB/RETURNも一時記憶のスタックを使いますから、2種類のスタック(後入れ先出し)が用意されるのと同等になります。
 このFOR/NEXTループの専用設計の元は私の想像ではFORTRANがそうなっているのだと思います。たとえばC言語ではループ専用の枠組みは概念すら無いです。しかし、なぜかこの設計はマイクロソフトBASICと我が国のポケットコンピュータに引き継がれました。

 本稿の目的は何とかしてエレガントなtiny BASICが現時点で設計できるか、です。ええ、単なる私の趣味です。実用性はほとんどありません。
 マイクロソフトBASICの1行単位の中間言語へのコンパイルは、前項で述べたダートマスBASICの名残だと思います。TSSではおそらく一行単位で実行が打ち切られて、他のユーザや内部ジョブの1行が次に実行されます。これであたかもマルチタスクのように見せることが出来る、というか本物のマルチタスクです。BASICでははっきりしませんが、別ジョブ起動命令やロック命令があったりすると雰囲気が出て、そのような処理系は別にあります。
 ですから想像をたくましくすると、最初はマイクロソフトBASICはマルチタスクを目指していたものの、パーソナルコンピュータなのでその機会が失われたのだと思います。今はOSによる機械語レベルのマルチタスクですから、BASICに仕掛けを組み込む必要はありません。

 tiny BASICにはTSSは考慮されておらず、FORTRANやC言語みたいに単にアルゴリズムを記述するだけです。
 いやなに、数年前に発売された現代版tiny BASICを冠した本のBASICが1行コンパイラだったので、ちょっと私は腰を抜かした、ってこと。このあたり、米国の電子計算機の技術の厚さと、我が国のマイコンの位置づけがよく分かる事例だと思いました。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4232. tiny BASICの構成

2023年10月21日 | 日記

 毎年、10月は忙しい感じで、本年もやはりそうでした。来週もそうなります。内容がきつくなる訳では無く、時間が取られるだけです。しかし疲れることは疲れて、本日土曜日は休みをもらっているので、最低限の家事をしただけでゆっくりくつろいでしまいました。

 私の当面の計画で計算器間連では、PROLOG処理系の理解を深めるのがあります。この界隈ではウォレン・アブストラクト・マシン(WAM)と呼ばれる仮想マシンがあって、コンパイラはソースプログラムをこのマシンのアセンブラ、いわゆる「中間言語」に翻訳し、実行時にはこの中間言語を逐次実行するインタプリタが動作します。これの精査です。
 PROLOGの前に、おそらく試作段階の論理型言語があり、その動作を知っておきたいのですが非効率だった、という噂以外は見たことがありません。私の今の(妄想に近い)想像ではパターンマッチが完成するまで、いわゆる横型探索をするので組み合わせ爆発が起こりうる場合はたしかにいつまで経っても解に到達できない感じがします。PROLOGはこの点を改良し、論理型言語を実用化したとされています。

 本当はその一つ先の、第五世代コンピュータの後期に採用されたGHC(ガーデッド・ホーン・クロージャ)の方が知りたいのですが、これがまた資料が無く、おそらくインタプリタ上のマルチタスクで、PROLOGの効率の鍵であるカット述語の代わりの「ガード」というのは、私の想像では単なるマルチタスクの排他セマフォです。
 開発の委託先からC言語で開発するのとどこが違うのか、とか言われていたそうですから、おそらくそう。これも私の想像ですが、どこが嬉しいかというと、すべて一階述語論理の範囲に入る構文なので、計算機言語学的にすっきりしていて効率が良く、かつ、OSの機能がすべて実現できる、ということ。結構大切と思うのですが、そうはっきり書いた文章は見当たらず、計画は終了、私の数年後の資料集めは完成していません。
 私のかすかな印象では世間的には、なんだか妙なことを言う人がわらわらと集まって、話が大仰になって迷走したあげく、途中で頓挫した、ということになっているようです。実態は本当に全く私は知りません。

 そう、インタプリタ上のマルチタスク。かつて一世を風靡したパソコンのBASICの大元は、タイムシェアリングシステム(TSS)の典型の一つ、ダートマスBASIC、のはずです。そう、こちらもなかなか的確な資料が見つかりません。
 当時の大型機ですから、性能は後のミニコン並み、パソコンで言うとIBM PC/AT、つまりインテル80286くらいだと思います。これに学生実習のために数十の端末をつないで、あたかも同時動作させます。仮想記憶システムなど遥か先の話。そう、工夫次第でこんな夢のようなことが実現できます。

 TSS技術はすさまじいと言って良い強力なシステムなので、今の段階でこんなのが普及したらたまりません。おかげで業界のタブーの一つになってしまっています。もっともな理屈づけとしては、セキュリティーが甘くなってしまう、というのがあります。ここは確かにバーチャルメモリとかバーチャルマシンとかが有利でしょう、ものすごく複雑になりますが。
 想像に想像を重ねると、だから第五世代コンピュータも外部圧力で…、ぶつぶつ。

 おっと、またもや長文になったので、一旦切り上げます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4231. 甘奈の中の人の誕生日

2023年10月20日 | 日記

 明日、10月21日はPS4の最新アイマスゲーム、スターリットシーズンに出てくる仮想アイドル、大崎甘奈(シャイニーカラーズ)の声優、黒木ほの香さんの誕生日だそうです。いつものようにスターリットシーズンのPV新着欄で精鋭Pがお祝いのPVを上げるはずです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4230. 新型PS5の予約開始

2023年10月19日 | 日記

 今度の11月10日に発売開始だそうです。ソニーの現行の家庭用ゲーム機、PS5が新型に移行するそうです。予約が昨日から始まったそうで、本日の昼食時に職場近所の量販店のゲームコーナーに行くと、まだ予約票がいくつか残っていました。前回のようにいきなり全く買えない、にはなっていないようです。

 ええ、私は元のPS5を持っていて、今は特に問題なく動作しているので、必要になったらすぐに買うスタンスで向かう予定です。性能は同じで、やや小型というか薄型になっているようです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4229. 凛世の誕生日

2023年10月18日 | 日記

 明日、10月18日はPS4の最新アイマスゲーム、スターリットシーズンに出てくる仮想アイドル、杜野凛世(シャイニーカラーズ)の誕生日だそうです。いつものようにスターリットシーズンのPV新着欄で有志Pがお祝いのPVを上げるはずです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

4228. シャープペンシル

2023年10月17日 | 日記

 本日は内勤で、出社直後に指定場所でインフルエンザワクチンの接種を受けました。受け取ったパンフレットによると4種混合のようです。
 インフルエンザはだらだらと流行中らしく、身近にもすでにかかった人がいるようです。私は特徴的な症状(筋肉痛。場所はさまざま)が出るので、かかったら多分(後から)分かると思います。

 シャープペンシルが少し前から1本足りない状況だったので、本日の昼休みに職場近所のショッピングモール内の文具店で買ったら、わずか1cmの違いでワイシャツのポケットに収まりません。なので、机の上のシャープペンシルと交代です。
 新商品で店頭で宣伝していて、良さそうだから買いました。高価ではありません。ずいぶんしっかりした出来なので、気に入っています。今後は気をつけて買わないといけません。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする