Skip to main content

MSXシリアルターミナル

Project description

MSXシリアルターミナル

CI PyPI version

シリアル接続や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ライセンスのもとで公開されています。

🙏 謝辞

このプロジェクトは以下の素晴らしいリソースから多大な恩恵を受けています:

関係者の皆様に深く感謝いたします。

📈 更新履歴

v0.2.17.dev9(最新)

  • テスト失敗修正完了:全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


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.18.tar.gz (182.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

msx_serial-0.2.18-py3-none-any.whl (216.4 kB view details)

Uploaded Python 3

File details

Details for the file msx_serial-0.2.18.tar.gz.

File metadata

  • Download URL: msx_serial-0.2.18.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

Hashes for msx_serial-0.2.18.tar.gz
Algorithm Hash digest
SHA256 4bdee7c26a2f7e80bb6a17128e58d3643d3020f07844d392332ec80f5ae7ad62
MD5 4d0a6152124ec8b0bc515b871576907a
BLAKE2b-256 4ada5d80a858c5dfcb1920b0b9d1733429d45221f0d5348b5def2aebec081fa6

See more details on using hashes here.

File details

Details for the file msx_serial-0.2.18-py3-none-any.whl.

File metadata

  • Download URL: msx_serial-0.2.18-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

Hashes for msx_serial-0.2.18-py3-none-any.whl
Algorithm Hash digest
SHA256 c6b79062a50d9bad9934d346d79002dab644c4dea2acf1395eb4614869ea6b5d
MD5 9a1d795b882172c75a9b4a2f60b3287d
BLAKE2b-256 642256ef828019a5ebaab18249cb191512fd23b6bf4a98aecfc4df465e3920c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page