MSXシリアルターミナル
Project description
MSXシリアルターミナル
シリアル接続やTelnetを通じてMSXと通信するための高性能ターミナルプログラムです。リアルタイム文字表示、自動モード検出、日本語テキストサポートを特徴としています。
📖 ドキュメント一覧
- 🚀 クイックスタート - 基本的な使い方 (このページ)
- 📋 詳細ガイド - 高度な機能と設定
- 🔧 開発ガイド - 開発・貢献方法
✨ 特徴
✨ リアルタイム通信: 文字単位での高速MSX通信に最適化
🔍 自動モード検出: BASICとMSX-DOSモードを自動検出
🌐 複数接続タイプ: シリアル、Telnet、ダミー接続に対応
📝 日本語テキストサポート: MSX文字エンコーディングの完全サポート
📁 ファイル転送: BASICプログラムアップロードとテキストファイル貼り付け機能
🎯 スマート補完: コンテキスト対応のコマンド補完
📖 MSX BASICヘルプ: 160+のMSX BASICコマンドリファレンス内蔵
⚡ 高いテストカバレッジ: 95%のコードカバレッジと598のテストケース
🤖 AI貢献について
このリポジトリはAI(Claude)が約90%のコードを記述しています
このプロジェクトは人間の初期実装とAIによる大幅な構造改善・機能追加の協働プロジェクトです:
- 総Pythonコード: 12,200行
- AI貢献: 約11,000行(90.2%)
- 主要AI貢献: 構造設計、テストスイート、セキュリティ改善、パフォーマンス最適化
- 人間貢献: 初期コンセプト、要件定義、品質管理、プロジェクト管理
AIと人間のコラボレーションにより、高品質で保守性の高いコードベースを実現しています。
📦 インストール
pip install msx-serial
🚀 クイックスタート
基本接続
# シリアル接続
msx-serial COM1 # Windows
msx-serial /dev/ttyUSB0 # Linux
msx-serial /dev/tty.usbserial-12345678901 # macOS
# Telnet接続
msx-serial 192.168.1.100:2223
# ダミー接続(テスト用)
msx-serial dummy://
基本的な特殊コマンド
@help # 全コマンドのヘルプを表示
@help PRINT # MSX BASICコマンドのヘルプ
@paste myfile.bas # テキストファイルをMSXに貼り付け
@upload program.bas # BASICプログラムをアップロード
@mode # 現在のMSXモードを表示
@exit # プログラム終了
MSX BASICヘルプ機能
160以上のMSX BASICコマンドの詳細なヘルプが利用可能:
@help ABS # 絶対値関数
@help PRINT # 出力コマンド
@help CALL MUSIC # MSX-MUSIC初期化
@help _MUSIC # 短縮形(CALLコマンドと同等)
📋 主要コマンド一覧
| コマンド | 説明 | 利用可能モード |
|---|---|---|
@paste |
テキストファイル内容を貼り付け | BASICモードのみ |
@upload |
ファイルをBASICプログラムとしてアップロード | BASICモードのみ |
@help |
MSX BASICコマンドヘルプ表示 | 全モード |
@mode |
MSXモードを表示/強制変更 | 全モード |
@encode |
テキストエンコーディングを設定 | 全モード |
@perf |
パフォーマンス統計を表示 | 全モード |
@cd |
現在のディレクトリを変更 | 全モード |
@exit |
プログラムを終了 | 全モード |
詳細なコマンド使用方法は 📋 詳細ガイド をご覧ください。
🔧 コマンドラインオプション
msx-serial [-h] [--encoding ENCODING] [--debug] connection
オプション:
-h, --help ヘルプメッセージを表示
--encoding ENCODING テキストエンコーディング (デフォルト: msx-jp)
--debug デバッグモードを有効化
🏗️ アーキテクチャ概要
主要コンポーネント
- MSXSession: 高速応答メインターミナルセッション
- ConnectionManager: 統合接続処理 (Serial/Telnet/Dummy)
- MSXProtocolDetector: プロンプトからの自動モード検出
- CommandCompleter: コンテキスト対応コマンド補完
- FileTransferManager: ファイルアップロードと貼り付け操作
詳細なアーキテクチャは 🔧 開発ガイド をご参照ください。
🧪 テスト
# 基本テスト実行
pip install -e .[dev]
pytest
# カバレッジ付き実行
pytest --cov=msx_serial --cov-report=html
テスト統計:
- 総テスト数: 598件
- コードカバレッジ: 95%
- テスト成功率: 100%
🤝 貢献
プルリクエストや課題報告を歓迎します。開発方法は 🔧 開発ガイド をご確認ください。
品質要件
新機能追加・変更時は以下の品質要件を満たしてください:
make check-all # 全品質チェック実行
make test # テストカバレッジ95%以上(現在95%達成)
make lint # flake8・mypy全エラー解消
make security # bandit高リスク問題なし
make complexity # Radon平均A評価
make format # black・isortフォーマット適用
📄 ライセンス
このプロジェクトはMITライセンスのもとで公開されています。
🙏 謝辞
このプロジェクトは以下の素晴らしいリソースから多大な恩恵を受けています:
- MSX0からコンソール経由でのファイル転送技術: @enu7によるbase64を使ったファイル転送実装
- MSX BASICコマンドリファレンス: fu-sen/MSX-BASICプロジェクト
関係者の皆様に深く感謝いたします。
📈 更新履歴
v0.2.19(最新)
- テスト失敗修正完了:全598テスト正常パス
- テストカバレッジ95%達成(.cursorrules要件クリア)
- BaseCompleterとMSXヘルプテストの品質向上
- AI貢献度90.2%に向上(+1,000行のテスト追加)
- 品質ゲート完全通過(flake8・mypy・bandit・Radon全クリア)
v0.2.17.dev8
- 「@help ABS」MSX BASICコマンドヘルプ機能を復旧・実装
- 160以上のMSX BASICコマンドリファレンスを内蔵
- CALL系コマンドのアンダースコア記法サポート
- 複雑度C評価関数のリファクタリング完了
- テストカバレッジ87%到達、548テスト全通過
詳細な更新履歴は 📋 詳細ガイド をご覧ください。
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
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.19.tar.gz.
File metadata
- Download URL: msx_serial-0.2.19.tar.gz
- Upload date:
- Size: 182.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11eb129d5b586ea4da89f8c3474762ec0df3cdc666e20585cd6ff444ee3f59e1
|
|
| MD5 |
8873f749aff4340617061cad0e50493f
|
|
| BLAKE2b-256 |
749548c73f36a9f6a4e610105f26729d5853dd527c923992cc1a85f53df5571e
|
File details
Details for the file msx_serial-0.2.19-py3-none-any.whl.
File metadata
- Download URL: msx_serial-0.2.19-py3-none-any.whl
- Upload date:
- Size: 216.4 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 |
c45d70c95f90efeaba5b44cdf0d226b7687274b4d2d487c6a94b5527d5267465
|
|
| MD5 |
fdec78a889fd79d8dbd7e7da4eba3e55
|
|
| BLAKE2b-256 |
7ec27f339ab1ffa9fe36266d7e13477a6be5bf3837c874ee3d7a1387edde8d2e
|