FE (Full Screen Editor) は、Z80プロセッサ向けの汎用オペレーティングシステム S-OS "SWORD" 上で動作するフルスクリーンテキストエディタです。 従来のエディタで課題となっていたタブコードの展開問題を解決し、ESCシーケンスによる柔軟なコントロールコード制御を実現しています。
1995年5月に H.Matsufuji 氏によって開発が開始されました。
- フルスクリーン編集: 直感的な画面全体でのテキスト編集。
- タブコード & 改行表示: タブ (
-) や改行 (」) を独自の文字で可視化(設定により変更可能)。 - ブロック操作: 選択範囲の削除、切り取り、コピー、および貼り付け。
- 多彩な表示: 特殊文字(タブ、改行)や EOF 文字に異なるアトリビュート(色)を適用可能。
- 検索・置換: テキスト内の文字列検索および置換機能(内部バッファを完備)。
- 柔軟な動作モード: 挿入モードと上書きモードの切り替え、非表示文字の表示/非表示切り替え。
- ページスクロール: ページアップ/ページダウンによる高速なドキュメント移動。
- OS: S-OS "SWORD" 全機種共通システム
- CPU: Z80 (または互換プロセッサ)
本プログラムは Z80 アセンブラで記述されており、S-OS のシステムコール (1FxxH および 20xxH エントリ) を活用しています。
FE.ASM: エディタのメインソースコード。画面レンダリング、キー入力処理、メモリ管理、ファイルI/Oの核となるロジックが含まれています。FELP.ASM/FELP_X1.ASM: 各種ヘルプ表示や機種依存コードに関連するモジュール。
プログラムはデフォルトで 3000H を ORG(開始アドレス)とし、ワークエリアとして local_work 等を動的に確保します。
最小メモリ要件は 4800H 付近からテキストエリアが確保されます。
エディタ内では以下のコントロールコードやESCシーケンスを使用して操作します。
(詳細は FE.ASM 内の key_assign_table および control_code_table を参照してください)
- カーソル移動: 矢印キー、または特定のコントロールコード
- ページ移動: ページアップ / ページダウン
- 編集: Backspace (文字削除), Insert (モード切替), CR (改行入力)
- コマンドモード: ESC キーによる拡張コマンドの呼び出し
- 終了: 特定の終了コマンド経由
(C) 1995 H.Matsufuji