[FM]FULLMSX for BLOG

詳しいMSXパソコンなどの情報はホームページで!
https://fullmsx.web.fc2.com/

Python(パイソン)をインストール 懐かしのMS-DOS? OpenCV

2020-05-31 17:34:51 | Python

 こんにちは連休最終日です。
今回はPython(パイソン)をインストールしてみました!
May 2019 Update以降のWindows10ではこんなふうにできます。

MicrosoftStoreからPython3.8をダウンロードしてインストールしました。
クリックするとコマンドプロンプトのような画面でした。
もしかしたら「CMDからPythonで入れるかな?」と入力すると入ることができました。
さらに、さらにCMDでcopy conコマンドでプログラムを書いて(いつの時代?)
copy con hello.pyでプログラムを書きます。
[ctrl]+zで^Zして「hello.pyに保存して即実行できるかなぁ」と思えばできました。
メモ帳を開いて場所を指定してと面倒なのでプロンプトで直接コードを書くワザです。
WindowsのCUIでは今でもMS-DOSコマンドは使えるものがあるんですね。
プログラムや環境などで試行錯誤して成功するのは今も昔も何とも言えない感動ですね。

c:\Users\fullm\に入っています。一番下にhello.pyのPythonファイルがありました。
このc:\Users\<ユーザー名>\のアドレスパスにExcelなどのファイルを保存すれば
Pythonから即実行できると思います。
今ではメモ帳よりも高性能なwebアプリのテキストエディタが数多くあります。
そういうアイテムを活用するのもよいと思います。

もっと活用したい方はAnaconda(アナコンダ)がおすすめです。
https://www.anaconda.com/products/individual

その後、Pythonをアップデートできましたが数時間かけてインストールしている
OpenCVがうまくできない!?です。

パッケージが一致しないのでCTRL+Cで中断しました。よくわからずに
今度はPythonのパッケージからダウンロードしてみました。
OpenCVのバージョンは不明で最新版になります。
>pip install opencv-python

無事ダウンロードできて数十秒でプロンプトになり;
>Python circle.py
テストプログラムを実行すると見事にオレンジの円が表示されました。

JPEG画像では白になっています;

OpenCVの動作テストのプログラムを実行しましたが面白そうですね。
例えばOpen.CVという構文ならopen.CVではエラーになりますし、
また字下げしないとエラー(invalid syntax)になるので注意です。
書籍によっては字下げしないでコードが記述されている場合があります。

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

MSX2のSCREEN3 512色パレット 音楽ツールとして MML制作中のエラー

2020-05-11 17:45:03 | 1chipMSX

 グラフィックが拡大されたSCREEN3で何かできないか考えています。

 SCREEN3はSCREEN2のグラフィックがモザイク表示になるだけの用途で
ポケコンのような超低解像度モードを再現できることでドットゲームが
作れるくらいのものでしたが

 MSX2の機能が拡張されて15色から512色をパレットで選べました。
これでマーカーなどを自由な色に設定できるので便利ですね。
ドットの大きさがわかるように文字を配置して、
とりあえず赤緑青黄色の3階調の12色を表示してみました。
音楽のツールは同時再生は3チャンネルですが
最大で12パッドまで選べる設計です。
 FM音源の遅延の問題がクリアできそうにないのでPSG音源で
SOUND命令のレジスタ単位の設定でリズムを仮に作って
FM音源で再生できるようにしたいです。

PSGでリズム音をPLAYできるようにしてみました。
前回設定した色とパッドにする音の設定とリズムパターンを入れました。
MSXパソコンはPSGは3チャンネルで最大3和音までになります。
メロディパートが1とペースとリズムパートが2パートですが
SEが入る場合はミュートされてメロディパートのみの演奏になりますね。

GUIの基本的な表示はできたのでいろいろと試してみたいです。

さらにどんな感じにプログラムを作っていこうかと

いろいろと調べた結果、ベースにリズム加えたパターンが多いですね。

ここではリズムパターンを使って
例えばゲームミュージックのジャンルで代表的なタッタカ、タッタカというリズム
ドレミファソラシはCDEFGABで、ここではDのレの音になります。
PLAY"SM3000O3L8dd16d16"の4回の繰り返しで
A$="dd16d16":fori=1to3:p$=p$+a$:next:play "SM3000O3L8"+p$
のようにできるようにしたいですね。
L8は全音8分音符指定で部分的に16分音符に変えたい場合は
音のあとに数字をd16というふうに指定します。



こんなふうMSXBASICで書きますが何度も実行すると
Out of string spaceというエラーが出ます。
これはバッファが足りなくなるエラーでバッファをclearで初期化しますが、
FOR文で例えばfori=1to20とした場合にエラーが出るので;
バッファの量を数値指定してclear 1000と増やします。
テンポはPLAY"T180"というふうに書くとかなりノリが出ます^^;



プログラムにしたのでRUNしてみてください。



さらにFOR文で50にするとエラーが出ます。
このエラーは文字列が250を超えた場合に表示されます。
PRINT(?)でlenしてみると252になっています。
この場合はP$をP$(1)=P$:P$(2)=P$というふうに分割する必要がでてきます。
だいたい4小節ごとにプログラムを分ければいいと思います。
では


 

 

 

 

 

 

 

 

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

MSXBASIC、Hot_Soup_Processer,SMAILBASICを使って学習

2020-05-01 23:16:33 | 1chipMSX

 こんにちは。音楽の授業とか昔は楽器を使うことが少なかったです。
今ではサックスとか学校にあるのですが昔は高価なものでした。(今も高いですが)
せいぜいあってもオルガンとかで音楽室はあったのかな…(おい)
今はパソコンにいろいろな楽器の音源があって実は勉強しやすい環境です。
高校では視聴覚室でしたね。音楽はどう変わるんでしょうか

さて今回は1chipMSXやパソコンで数学に使う座標をサクっと作る話です。
前回の学習ソフトの続きです。

実行するとこんな感じになりました。
MSXBASICの場合は解像度が256x212です。

もともとコンピュータは電卓から関数電卓からポケコンからBASIC、マシン語から
MSDOSからWindowsと変化してきました。

こういうふうな科学的な計算が得意なアイテムなのですが
残念ながら今は誰でも簡単に作ることができません。
エミュレータを使うことで問題は解決します。

30,40行はXY軸です。
極座標の原点を127,105にします。
点を表示させるサブルーチンを作ります。
1000行にデータを入れて表示させる処理です。

パソコンの場合はXが右にいくほどプラス、Yが下にいくほどプラスになっています。
これをYが下にマイナスにします。さらにXとYのプラスとマイナスの変化を見るには
分割します。127,105に座標をずらします。

50行ではy=axの数値をy=xにします。
60行ではy=xのxを-50から50まで0.1ごとに1000回変化させます。

999行で表示をストップして入力待ちにします。

というわけで1chipMSXがあればラクに作ることができます。
xの2乗ならx^2と書き直してみると2次関数になります。

ぜひ活用してみてください。
BASICと親和性が高いHot_Soup_Processerでは

このようになります。
反比例の場合はa=3000にしています。
これで大きなグラフになります。
9行目はもしX=0ならゼロの割り算は解なしでx=1に変えます。
基礎解析なつかしいですね。

こんなふうに描かれます。
なお、2次関数のxの2乗の場合はpowf(x,2)になります。

<暗算って必要?>

例えば手袋などで、電卓をさわれない場合は暗算ができないと

チョークで筆算でもいいですが^^仕事がスムーズにできないことがあります。

今の小学生は電卓を使用するというのが一般的?のようですが、

30秒以内に答えが出るようにトライするのはどうでしょうか?

 とまぁ、気楽に3DSで暇ならば遊び気分でやってみましょう。

3DSでも学習ソフトにできます。
ここでは簡単な暗算をやってみます。
SMAILBASICをダウンロードして使います。

@1

A=RND(10000)+500

B=RND(10000)

IF A

PRINT A;"-";B

INPUT C

PRINT A-B

 

@1はラベル名です。

AにRNDは0から10000までの数ですが、+500を加えることで

500から10500の数になります。

BはRNDは0から10000までの数です。

次はA<Bならば@1に戻ります。これはマイナスになる場合は再計算にしています。

A-Bと表示します。

暗算した答えを入力します。

3DSが計算した数値を表示します。

とまぁこんなふうにやっていけばいいと思います。
私は勉強はあまり得意ではないですが、
情報社会の今だから一生懸命やれば答えがでてくると思います。

行動しないのはダメです!
最初は「あんなふうにやってみたい」とか「これができればなぁ」と
思えばもう勉強の始まりです。それをどうすればできるかを考えます。

勉強は宿題をやったりすることが勉強の基本ですが、
このように自由に研究してよい勉強を探すことも勉強です。

事前に勉強の計画を作ってみたりするだけでも違いますし、
一日の普段の行動したことを書いてみると
自分はこんな性格だから、コレならできる計画ができます。

私も期日は決めないで何となくはじめてみるとリラックスして
やってみると思っているのと違ったことが出てきました。
オヤジとかいたり緊張していると頭に入りません。

残念なことに「休校期間中なにもできなかった」となっても勉強になります。
でも学校が始まっても後から補えばよいです。
友達や先生、先輩などにきいてみるといいでしょう。

だから勉強は教科書だけではないのであらゆる情報ツールを使って
 学生のみなさんがんばってみてください。

 

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