MSXシリアルターミナル
Project description
MSXシリアルターミナル
MSXとのシリアル通信またはtelnet接続を行うターミナルプログラム
機能
- MSXとのシリアル通信
- 日本語文字の送受信(MSX文字コード対応)
- ファイル送信機能
- コマンド補完機能
- カラー表示
プロジェクト構造
msx_serial/
├── connection/ # 通信関連のモジュール
├── completion/ # コマンド補完機能
├── data/ # データファイル(文字コード変換テーブルなど)
├── input/ # 入力処理関連
├── transfer/ # ファイル転送機能
├── ui/ # ユーザーインターフェース
└── man/ # マニュアル
主要モジュールの説明
connection/: シリアル通信とtelnet接続の実装completion/: コマンド補完機能の実装input/: キー入力処理とコマンド解析transfer/: ファイル転送機能の実装ui/: ターミナルUIの実装data/: 文字コード変換テーブルなどの静的データ
必要条件
- Python 3.9以上
- 必要なパッケージ(pyproject.tomlに記載)
インストール
pip install msx-serial
開発環境のセットアップ
# リポジトリのクローン
git clone https://github.com/yamamo-to/msx-serial
cd msx-serial
# 仮想環境の作成と有効化
python -m venv venv
.\venv\Scripts\activate # Windowsの場合
source venv/bin/activate # Linuxの場合
# 開発モードでインストール
pip install -e . --use-pep517
使用方法
基本的な使い方
# シリアル接続
msx-serial serial:///COM1?baud=9600
msx-serial serial:///dev/ttyUSB0?baud=115200
msx-serial COM1 --baudrate 9600
msx-serial /dev/ttyUSB0 --baudrate 115200
# Telnet接続(URI形式)
msx-serial telnet://192.168.86.30:2223
msx-serial 192.168.86.30:2223
コマンドラインオプション
usage: msx-serial [-h] [--baudrate BAUDRATE] [--encoding ENCODING] connection
MSXシリアルターミナル
positional arguments:
connection 接続先 (例: COM1, /dev/ttyUSB0, 192.168.1.100:2223, telnet://192.168.1.100:2223, serial:///COM1?baud=9600)
options:
-h, --help ヘルプメッセージを表示して終了
--baudrate BAUDRATE シリアル接続時のボーレート (URI形式で指定する場合は不要)
--encoding ENCODING エンコーディング (デフォルト: msx-jp)
接続先の指定方法
-
URI形式
- シリアル接続:
serial:///COM1?baud=9600 - Telnet接続:
telnet://192.168.1.100:2223
- シリアル接続:
-
従来の形式
- シリアル接続:
COM1または/dev/ttyUSB0 - Telnet接続:
192.168.1.100:2223
- シリアル接続:
特殊コマンド
@paste: テキストファイルを読み込んで送信@upload: ファイルをアップロード@cd: カレントディレクトリを変更@encode: 送受信時の文字コードを指定(msx-jp, msx-intl, msx-br, shift-jis)@help: コマンドのヘルプを表示@exit: プログラムを終了
特殊コマンドの詳細な使用方法は @help コマンドで確認できます。
文字コード対応
- UTF-8からMSX文字コードへの変換
- MSX文字コードからUTF-8への変換
- グラフィックキャラクタ対応
- 濁点・半濁点対応
依存関係
- Python 3.9以上
- colorama: ターミナルのカラー表示
- prompt-toolkit: 対話型コマンドラインインターフェース
- pyserial: シリアル通信
- PyYAML: YAMLファイルの読み込み
- chardet: 文字エンコーディングの検出
- msx-charset: MSX文字コードの変換
謝辞
BASE64によるアップロードは下記の記事を参考にさせていただきました。 https://qiita.com/enu7/items/23cab122141fb8d07c6d
MSX-BASICのコマンドリファレンスは下記のリポジトリをAIによりman形式に変換させていただきました。 https://github.com/fu-sen/MSX-BASIC
ライセンス
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
msx_serial-0.2.7.dev0.tar.gz
(86.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file msx_serial-0.2.7.dev0.tar.gz.
File metadata
- Download URL: msx_serial-0.2.7.dev0.tar.gz
- Upload date:
- Size: 86.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58c5ad5f73eeaeee2e54a375e2d9e0ca56358044a8d0c35c3f25058cf7d5b48c
|
|
| MD5 |
a85a1a11766bbfefe53917a9fa57a5e7
|
|
| BLAKE2b-256 |
f01966fa8366653d326266cab2af93da55a43d419db969f53116f7b66fc6dfae
|
File details
Details for the file msx_serial-0.2.7.dev0-py3-none-any.whl.
File metadata
- Download URL: msx_serial-0.2.7.dev0-py3-none-any.whl
- Upload date:
- Size: 175.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdcb93bc98e95e8114aaf5504143d2c031dadb360a365e6e0bd5cf597a2d9744
|
|
| MD5 |
b28c517dbb776647dea7411e4d179b94
|
|
| BLAKE2b-256 |
117f66d22607520d8f2a41834febe1dbb4d8da427ebe3076de923d7206b16607
|