------------------------------------------------------------------------------- Full Screen Text Editor ‘TRED’ Version 1.11 For PC-E500/1480U Programed By T.Kobayashi (Ryu) ------------------------------------------------------------------------------- このたびあさそらさんがEOLLA system(extkybd)を発表されま した。これでE.Kakoさんのknjscrn(extscrn)とあわせてPC− E500で全角文字入力ができ、E500で全角文字を使って通信をしたり、ドキュメ ントなどを書く事ができる!と思ったのもつかのま、テキストエディタはいくつか発表 されているのに全角文字に対応したエディタがないことに気づいた(;_;) ということで、突然PC−E500のアセンブラの勉強もかねて全角文字対応エディ タを作ってしまいました。 ☆★☆ 動作環境 ★☆★ SHARP PC-E500/1480U serise ( PC-E500 ROM Verersion 3 及び ) ( PC-1490U ROM Verersion 6 にて動作確認 ) 全角文字の表示、入力をする時は64KB以上のRAMが必要でしょう。 漢字の表示、入力をする時は128KB以上のRAMが必要でしょう。 ☆★☆ 準備 ★☆★  まず、機械語領域を最低7KB以上確保してください。  ちなみに7KBでは、テキストファイルが読み込めません(^^;ので、できるだけ多く 確保しましょう。 多く確保すればそれだけ大きなファイルを扱う事ができます。 ☆★☆ 起動方法 ★☆★  (1)TY−DOSから使用する場合 TRED [swich] filename filename は必ず指定して下さい。 filename はエディタで作成/修正するテキストファイル名です。 swichi は -T セーブ時スペースをタブに変換しない。起動時タブはスペースに変換します -R メモリ上に残っているファイルの復活。  (2)BASICから使用する場合(この場合TY-DOSは不要です) LOAD M "TRED" でロード、 CALL &BE000"[swichi] filename で実行です。 ☆★☆ 使い方 ★☆★ ◆編集  ◇カーソル移動  カーソルを移動させます。(こんな説明いらないか(^^;) ↑ カ−ソルを上に移動 ↓ カ−ソルを下に移動 ← カ−ソルを左に移動 → カ−ソルを右に移動 ctrl + ↑ テキストの文頭へ移動 ctrl + ↓ テキストの文末へ移動 ctrl + ← 行頭に移動 ctrl + → 行末に移動  ◇入力  アルファベット、数字、記号、カナなどの入力ができます。  また、EOLLA systemなどの全角入力の為のfepがあれば全角 文字の入力もできます。 ins 挿入・上書きのトルグ切り替え del デリート bs バックスペース cr 改行 shift + ins 1バイトスペース挿入 ctrl + cr 1行挿入  ◇カット&ペースト  このエディタは、1行(40文字)分のペーストバッファを持っています。 最後に削除した行を保存します。 ctrl + del 1行削除 ctrl + bs カーソル行を削除せずにバッファに記憶 ctrl + ins ペースト  ◇その他の機能  上記以外の機能。(当然だって(^^;) ctrl + q エディタの終了 ctrl + e セーブ後エディタの終了 ctrl + s セーブ後エディタに復帰 ctrl + 0 クリック音のon/off切り替え ctrl + 1 キーリピートのon/off切り替え off レジューム機能(パワーオフ)  ◇PFキーについて  BASICでKEYn,”文字列”で定義された内容がそのまま入ります。 これがどういう意味かは使用者が考えましょう。(^^) ☆★☆ バグじゃないよ ★☆★  テキストバッファの最後の行がバッファの最大になると入力ができなくなります。 これは、細かなチェックをするとプログラムの大幅な変更が必要となるので、とりあえ ず、変な動作をするよりもいいだろうと言う事で、故意的に処理しています。  入力ができなくなった時は一度セーブをして、機械語エリアを増やした後、再び起動 して下さい。  それと、編集処理バッファが約4KB(TYDOS使用時約3KB)なので、1行が あまりながくならないように注意して下さい。よほどの事がなければこの量を越える事 はないと思うのでこの最大を越えたかのチェックはさぼってますので。 ☆★☆ 裏技?! ★☆★ -r スイッチ を使った技です。  どこが裏技なんだ!とうような事ですが、知っていると便利でしょうから書きます。  ◇ファイル名を変えてセーブする。 <例> (1) TRED s1:test.txt で起動(ファイルを読み込む) (2) テキストファイルの編集 (3) ctrl + q でエディタを終了させる (4) TRED -r s1:test2.txt で起動 (5) ctrl + s でセーブする このようにするとファイル名を変更してセーブできます。  ◇ファイルのセーブに失敗したとき  セーブしたとき'file write error'が出る事があります。これは大抵の場合 ドライブに書き込むだけ空きが無かったためです。ですから、十分空きのある RAMCARDなどを用意して次のようにすれば、ファイルの復活ができます。 <例> (1) 'file write error'がでてしまった (2) 空きのあるRAMCARDなどを用意する (3) TRED -r s2:test.txt で起動 (5) ctrl + s でセーブする このようにすれば、ファイルを復活させs2:にセーブする事ができます。 ☆★☆ 使用上の注意 ★☆★ 暴走はしないようチェックはしてますが、あまり一般的でない使い方をしたりすると もしかすると暴走するかもしれません。またバグ、使いずらい点などまだあると思いま す。今後順に改善していたいとおもいます。 実行する前に、まんがいち暴走したときのためにラムファイルにあるプログラムのバ ックアップをとったり、RAMCARDをはずして置くなど対策を取っておくことをお 勧めします。もし暴走してRAMの内容が消えても作者には責任はないものとします。 バグなど見つけましたらその時の状態などの連絡をお願いします。また、こうして欲 しい、こんな機能がほしい、などの改善点などもありましたらお願いします。作者の技 術と時間の許す限り改善していきたいと思います。 ☆★☆ 今後の予定 ★☆★  機能の点では、メニュー、TABの完全対応、エラーチェック、文字列検索、文字列 倒置、一括削除etc、処理の点では画面表示などの高速化、メモリー使用効率の向上etc を計画していますが、すべてできるとは限りません。逆に言えばすべてできないかも知 れません(そんな事絶対無いと思うけど)まあ、期待せずに気長にまっててください。 ☆★☆ ちょっと技術的な事 ★☆★ テキストファイルは起動時にすべてメモリに読み込み、エディタの処理しやすい形式 に展開しています。またTABコードはスペースとして展開されます。(メモリ効率が 悪すぎる・・・なんとか改善しなくては。) セーブをするときは、展開されていたデータを圧縮しなおしてセーブしています。こ のときTABコードに変換が可能なスペースはすべてTABコードに変換されます。た だし、スイッチで指定したときやダブルクォテーション、シングルクォーテーションの なかのスペースはTABコードには変換されません。 また、エディット中はcr,lfは1fh、EOFは1dhに変換され処理していま す。もちろんセーブする際には元に戻しています。 エディタ内では40文字1行としてバッファに記憶して処理しています。しかし1行 と言ってもエディタの処理上の1行であって実際の1行(cr,lfまで)は3000 文字前後までは大丈夫でしょうが、あまり長くしないほうがいいと思います。 おおまかなメモリマップは +-----------------------+ $xxxxx マシン語先頭番地 | | |  テキストバッファ | | | +-----------------------+ $be000 実行番地 | | | 本 体 | | | +-----------------------+ $bed29 終了番地 | ワークエリア | +-----------------------+ $bf800 | TYDOS.SYS |(TYDOSから起動した場合) +-----------------------+ となっています。 今後変更の可能性もありますが今のところこのようになっています。 表示方法に付いて少し書きます。まず、カーソル移動では、上下移動の際、画面をスクロールさせて新たに表示し直す部分を減らす事によって表示速度を速くしました。また、左右移動の時はカーソル表示のみ移動しています。 ins、delなどの挿入、削除をするときは、カーソルのある位置以降の書き変わった部分を書き直すようにしてあります。そのため、カーソル以降(cr,lfまで)のバイト数が少ないときや、画面の下の方で入力した方が速く処理されるという奇妙なことになっています。 このほか技術的な事で何かヒントになる事がありましたら教えて下さい。 なにせE500のfcsやiocsの効率的な操作法やメモリの効率的な使い方がよく解ってないので・・・。 ☆★☆ CRC32 ★☆★  このプログラムの実行ファイルのCRC32は CRC32=a34b4e90, 3387bytes  です。  チェッカは近成人氏の CRC32 を使用しました。 ☆★☆ 使用・再配布・譲渡・改良について ★☆★ 本プログラム、及び本文書の著作権は 小林龍也 が保有します。 以下の条件従ってもらえれば配布、転載は自由に行って構いません。   1.配布する場合は原則としてこのドキュメントファイル、プログラムも一切改変 していないものを配布し営利を目的としなこと(無料で配布する事)。   2.このドキュメントを含む添付されていたファイルはすべて添付して再配布を行 うこと。ただしソースファイルは必ずしも添付しなくてもよいものとします。 3.このプログラムの運用に関しては、運用者本人の判断、責任で運用すること。 なお運用に関して、如何なる責任も作者は免責とさせて戴きます。   4.このプログラムを使用した結果生じたいかなる損害にも作者は免責とさせてい ただきます。したがって、このプログラムを利用する前にファイルのバックア ップをとる等の措置をとっておくと良いかと思います。 5.作者は、このプログラム、ドキュメントに不備があっても、それを訂正する義 務を負わないとします。ただし、バグ及び不備な点が発見された場合は、作者 の時間と技術レベルの許す範囲内でデバグ、改良をおこなうこととします。 6.作者の著作権を侵害する恐れのあるBBSなどへの転載を禁止します。 7.改造、改良は個人使用の範囲内で行うのであれば、制限しません。ただし、プ ログラム名、作者名などを書き換えるなど、著作権を侵害するような事はしな いで下さい。 8.BBSなどへ転載するときはかならず事前に連絡を下さい。 また、不明な点がありましたら作者までお問い合わせ下さい。 ☆★☆ 連絡先 ★☆★ 感想・バグレポートなどは、メール、及びボードへの書き込みにてお願いします。 POCKET通信Ver.2 ID:2215 Ryu ☆★☆ 参考資料 ★☆★ 1)PC−E500/1480U活用研究 1989年 7月25日 発行 発行所 株式会社工学社 2)“TY-DOSシステムにおけるアプリケーションの作り方” 山口敏郎 PJ’88年10月号 3)“INFOrmation Version 2.31” ◇TOMCAT◇ 4)“KNJSCRN Version 1.2” E.Kako 5)“LED” ALPHA PJ’91年11月号 6)“VIEW” あさそら ☆★☆ 履歴 ★☆★ Ver. 0.xx テスト版 制作中のものをポケ通にupして、テスト使用していただきました。 暴走するかもしれないという危険があるにも関らず、テストして下さったみ なさんに感謝し、この場をかりて御礼申し上げます。 1992/04/19 〜 1992/05/06 Ver. 1.00 正式公開版 名前を’TRED’と決めた。(^^) テスト版にあったいくつかのバグを取った。 メモリーオーバのチェックの強化。 編集機能の強化。 1992/05/08 Ver. 1.01 あさそらさんの EOLLA system が片仮名入力が可能になったので、片仮名変 換機能を削除した。 行末移動で、行末が全角2バイト目の時に1バイト目に移動しないバグを 取った。 その他、内部ラム内のワークエリアのアドレスなどの変更。 1992/05/13 Ver. 1.02 ctrl+zを入力すると、暴走(無限ループ?)してしまうバグを取った。 カーソルの上移動で、文頭の時にカーソルが改行以降に移動してしまうバグ を取った。 ドキュメントの起動方法、使い方、などエディタを使うときに必要と思われ る説明部分を別ファイルに抜きだした。 1992/05/17 Ver. 1.03 オートパワーオフ機能を付けた。 bs処理のバグを取った。 カット&ベーストの[EOF]のある行でのバグを取った。 1992/05/24 Ver. 1.04 テキスト文頭の行頭で、左に移動すると、異常動作するバグをとった。 1992/06/08 Ver. 1.10 64KBytes以上のファイルを編集できるようにした。 1992/10/28 Ver. 1.11 Ver. 1.10で混入したセーブができなくなってしまったバグをとった。 パワーオフの時にクリック音を消し、音を抑えるようにした。 BREAKキーが押された時の誤動作を防止した。 1992/10/29