MSX0 REMOTE UPLOADERは、MSX0に対してリモートからファイルをアップロードすることを膜的としたPythonプログラムです。
まだベータ版で品質はまだまだです。その点をご理解いただいたうえでご使用ください。
- MSX0へのアップロードが遅い
- 複数のファイル転送が全て成功したのかどうか表示していない
- 一時ファイル領域がフォルダに対応していない
などなど
開発と動作確認に使用している環境は以下の通りです。
- Windows 11
- Python 3.10.11
- kivy2.2.1
Pythonとkivyが動作する環境であれば動作させたいと考えていますが、環境がないため動作未確認です。
pipコマンドで以下のPythonモジュールをインストールしてください。
pip install kivy
pip install pyjnius
pip install html2text
pip install lhafile
pip install chardet
pip install python-magic
pip install beautifulsoup4
GithubのメニューからDownload ZiPで一式ダウンロードし解凍してください。
解凍後のフォルダで以下を実行するとGUIが起動します。
python ./main.py
テキストブラウザの戻るボタン
テキストブラウザのURLに進むボタン
URL先のファイルを一時領域に保存するボタン
ローカルファイルを一時領域に保存するボタン
[Date↑] 一時領域のファイルをソートするボタン
一時領域のファイルをすべて選択するボタン
一時領域のファイル表示を更新するボタン
選択したファイルをすべて削除するボタン
該当ファイルの名前を編集するボタン
該当ファイルを削除するボタン
該当DSKファイルからファイルを取り出すボタン
該当ZIP/LZHファイルを解凍するボタン
該当ファイルの改行コードをCR+LFに置換するボタン
選択した一時領域のファイルをMSX0にアップロードするボタン
選択したMSX0上のファイルを一時領域にダウンロードするボタン
注意:転送速度は遅いです
MSX0を表示リストに追加するボタン
MSX0リスト表示を更新するボタン
該当MSX0上でコマンドを実行するボタン
該当MSX0上でDSKを入れ替えるボタン
該当MSX0をリセットするボタン
注意:リモートコントロールパネルと同じポート2224を使用するため、リモートコントロールパネルと同時に利用できません。
該当MSX0を表示リストから外すボタン
該当ファイルを実行するボタン
該当ファイルを削除するボタン
[Settings] MSX0 Remote Uploaderの設定を変更するボタン
▽設定項目
Temporary Folder: MSX0 Remote Uploderを実行したパソコンで一時的にファイルを保管する場所を指定します
Default Download URL: テキストブラウザで最初に表示するサイトのURLを指定します
Dfault MSX0 IP: MSX0のIP入力欄のデフォルト値を指定します
Color Theme: UIのカラーテーマを切り替えます。赤と青を用意しています。
Upload BASIC Program PATH: MSX0側でbase64テキストを受信しデコードを行うBASICプログラムを指定します。チューニングしてください。
Download BASIC Program PATH: MSX0側でbase64テキストを受信しエンコードを行うBASICプログラムを指定します。チューニングしてください。
MSX0 Remote UploaderはMSX0の2223ポートにtelnet接続し、リモートからMSX0にファイルを転送します。
作りは単純です。MSX0 Remote Uploaderはtelnet接続後、BASICの受信プログラムをMSX0に送信し実行、受信待ち受け状態のMSX0に対し、base64エンコードしたテキスト文を送信し、受信側は受信したファイルを逐次保存します。ファイル全体を送信し終わったら、終端コードを送付し、受け取った受信プログラムは終了します。
現在のバージョンのMSX0 Remote Uploaderには以下の3点の課題があります。
- アップロード速度が遅いです。マシン語実装にすると早くなることは確認済みです。
- 一時領域はフォルダに対応していません。後回しにしています。
- テキストブラウザが貧弱です。
今後徐々に改善してゆく予定です。
https://qiita.com/enu7/items/23cab122141fb8d07c6d#%E6%9C%80%E5%BE%8C%E3%81%AB
上記リンクの「最後に」の章から、「basic_program = '''」以降のBASICプログラムを抜き出して、改行コード「\r\n」を削除して、適当な名前で保存し、msx0reupのSettingボタンからbasicファイルを差し替えれば、藤田さん作のマシン語記述のエンコーダが使えて高速化が図れます。
それでも、まだまだ遅いので高速化を検討しなければなりませんね。
・0.1.9
Windowsビルド用のspecファイル追加。リリース版にexeファイル追加。
・0.1.8
アップロード処理のバグFIX
・0.1.7
テキストブラウザの戻るボタン動作の改善、バイナリファイルはダウンロードするように動作変更