SSブログ

TL/1 の逆襲 【こそっと変更】 [プログラム]

2010/01/19 使用上の注意を変更(笑)

「RCP demo」の実行ファイルを〔本館〕で公開しました。

前の記事で公開したソースプログラムもアーカイブに同梱してあります。

〔本館〕の [programs] -> [demo] ページは、こちら
「デモ」カテゴリの「RCP demo」をクリックしてください。




使用上の注意

デモプログラムを実行する際は、サブリミナル効果、並びに、ラインの動きによる催眠効果の影響で、自分自身が 80 年代へタイムスリップしたような錯覚を起こす恐れありますので、心の中で「私は 21 世紀を生きている」と数回唱えた後で実行してください。

「タイムスリップして抜け出せなくなる」等の深刻な症状が出る恐れがありますので、長期にわたってのご使用は十分ご注意ください。

「当サイトを1日3回以上見ないと心配になる」 「RCP が気になって仕事が手につかない」等、デモ効果が効きすぎた場合は速やかに使用を中止し、深呼吸をして現実を直視してください。




タイトルには深い意味はありません。
さっき、たまたま本棚で『亜空間要塞の逆襲』を見つけたもので…。(笑)

TL/1 Programming in 21st century [プログラム]

日頃からレトロなネタを求めてネットをうろつく事が多いのですが、パソコン用の古い言語関連の情報って本当に少ないですね…。
たまに見つかる事があっても、実際に使用してみた感想というより、ネットから拾い集めた情報の要約のようなものが多い事が残念です。

昨日見つけたサイトの TL/1 に関する説明は「変数がバイト型だけ」とか「コンパイル速い」とか、どうにもマイナスイメージの付きまとう書き方になっていました。(たぶん私の見方が歪んでいるせいでしょうが^^;)
こういう書き方をされると、「8 ビット CPU では、16 ビット演算ができない」と言われたのと同じように感じてしまうのですが……。
「果たしてこのサイトの作者は TL/1 でプログラムを書いた事があるのか?」と訝ってしまいます。


それはさておき


これまでのデモ作成関係の記事へは、こちらからどうぞ。

久しぶりだ…

デモ作成中…毒

デモを公開しました

次回は、実行形式のバイナリデータ(T88 形式)を公開する予定です。
こっちじゃ無理なので〔本館〕になりますが、こちらでもお知らせします^^




デモ作りを始めたのには、↑↑で書いたようにネットではあまり良い印象のない TL/1 の実力を知ってもらいたかったからなのですが、デモ動画の公開だけでは TL/1 の実力を示した事にはなりませんので、今回はデモのソースファイルを公開します。

このソースは TL/1-PC(PC-8001用)を元に PC-8801 のグラフィック機能を活用できるように KCB が独自に拡張した TL/1-88G によって書かれています。

TL/1-PC との相違点は、
  • BASIC の REM 文を使用してソースを格納する方法を使用していないので、行番号の後ろに ' (アポストロフィ)が付かない
  • 'begin', 'end' が多くなると可読性が低下するため '[' や ']' を使用できるように拡張されている
  • PC-8801 のグラフィック機能が使用できるように、組込みプロシージャ(gmode(), hline(), hpset(), hpoint() 等)が追加されている
  • Super-text 機能が使用できるように 'write()' プロシージャのファイル番号が追加されている

等が挙げられます。

そのため、そのままの状態では TL/1-PC や他の TL/1 処理系ではコンパイルが通りませんので、ご了承ください。
また、このソースはプロトタイプとして Windows 上のエディタで作成したものです。
あっ、TL/1-PC のソースでは付いているはずの行番号が付いていませんねA^^;
PC-8801 のソースと相違点が無いかチェックをしておりますが、漏れがあるかもしれません。
その点も重ねてご了承ください。


ソース全体で 400 行程度ありますので、読む心構えのある方だけ↓の「続きを読む」をクリックしてください。

続きを読む


ダイヤモンドカーソル [プログラム]

このタイトルにピンとくる方は、パソコン歴が15年以上なのは確実ですね。

はじめて使ったワープロと言えば、「ワードスター(WordStar)」です。
WordStar はマイクロプロ(MicroPro)から発売されていた英文ワープロで、日本では CP/M, CP/M-86, MS-DOS の3つの OS 用が準備されていました。

海外では、Apple II 用やTRS-80 用もあったようです。
(両機種共 CP/M が走るので専用版なのか、CP/M 版なのかは不明)

私が使っていたのは PC-9801 用 WordStar 3.3 で MS-DOS 上で動作しました。

なぜ英文ワープロなのか…
英文で論文を書くわけでもないのですが、実は Wizardry や Ultima、PHANTASIE 等のRPGのマップやイベント情報を記録するために使っていました。
海外製ゲームなので日本語で書く必要が無かったため、英文ワープロで充分だったのです。
まだ、管理工学研究所の「松」が発売される前の話ですね。

残念ながら画面イメージが無いので、解説本のイメージを貼っておきます。


Wordstar入門
WordStar入門 (1984)(工学社)

「INTRODUCTION TO WordStar」の訳本です。


WordStar が良くできている一例を挙げると、ユーザーの使いこなしている程度によって画面上のメニューを選択できることです。
初心者ならば「解説つきメニュー」、慣れてくれば「解説なしメニュー」、なくてもOKならば「メニュー表示なし」と、3段階に切り換えられます。 もちろん英語表示です。
今では何とか英文を読み下すことができますが、パソコンを始めたばかりの頃は「INSTALL」という単語さえ辞書を引きながら読んでいましたね。
辞書を引くのが面倒になったので買ったのがこの本です^^;




WordStar の特徴を挙げると限りがないのですが…

  • 画面上で見たままの形でプリントアウトできる
  • 書いている単語が行末を越えると自動的に次行へ移動される
  • 作成中の文書はディスク容量が許す限り保存できる
  • 文書をブロックに分割して保存/修正でき、組み合わせを変えて印刷できる
  • 索引を作成できる

もちろん、太字アンダーライン、上付き文字(X²)等も表現できますし、検索/置換機能もあります。

特筆すべきは、今で言うアドオンプログラムが豊富にあること。
SpellStar, MailMerge, DataStar, SuperSort 等が WordStar 発売元の DataPro 社から発売されてました。
これらを WordStar と併用する事で、スペルチェック/差込印刷/文書管理/分類と結合ができるようになります。
図形や画像を扱えない以外は「Microsoft Word」や「一太郎」が備えているような標準的な文書作成機能はほとんど用意されていたのではないかと思います。

ただ、WordStar を含めてどれも高価だったのが残念です。
まあ、当時はどのパッケージソフトも、優秀なものは目玉の飛び出るような金額が設定されてましたから、WordStar だけが特別な訳ではないですが…。

ちなみに、手元にある 1986年3月発行の「PC-9801 アプリケーション情報」によれば、

WordStar ¥ 125,000
MailMerge ¥ 38,000
SpellStar ¥ 38,000

という値段になっています。
(記述にはないですが、たぶんバージョンは 3.3 です)

後に、「WordStar2000」という漢字が使えるバージョンが登場するのですが、動作が鈍くてストレスが溜まるので、すぐに使わなくなりましたね。
ショップでは全く売れなかったとか…。




記事タイトルの「ダイヤモンドカーソル」とは、カーソルキーの無いキーボードを持つPCや、ホームポジションから極力指を移動させないでカーソル移動を行いたいユーザーの為に用意されている WordStar のカーソル移動方法のことです。
「E」「X」「S」「D」のキーを「Ctrl」と組み合わせて押下することで、カーソルを上下左右に移動することができます。
「RED」や「MIFES」「WORD MASTER」なんかも同様にダイヤモンドカーソルが使えました。
これに慣れてしまうと、カーソル移動の為に矢印キーへ指を移動させるのが面倒になってしまいます。

今でも良く使うエディタはカスタマイズしてダイヤモンドカーソルにしてありますよ^^
もちろん、「CapsLock」と「Ctrl」キーを入れ換えてあります。
やっぱり「Ctrl」は「A」の左横じゃないと押しづらくって困ります^^;

タグ:WordStar

製品版の… [プログラム]

最近はグラフィックエディタ関係の記事ばかりで申し訳ありません。

「第4のユニットシリーズ」や「サイキックディテクティブシリーズ」等はFM系以外にもNEC系の機種でも発売されていましたからDATAWESTという社名をご存知の方も多いとは思いますが、「G-EDIT シリーズ」というグラフィックエディタが同社から FM-8/7用、77AV用、FM-TOWNS用、PC-8801用に発売されていました。
FMシリーズ用のG-EDIT7 等はFMシリーズの専門サイト「Oh! FM-7」でも紹介されていますから割と知られているでしょうが、同社がゲーム分野から撤退し、サイトからもレトロゲーム/ユーティリティのページがなくなってしまったので、G-EDIT88 のことはほとんど知られていないのではないでしょうか。


G-EDIT88 - パッケージ (1985)(DataWest)
G-EDIT88 (1985)(DATAWEST)


スキャナではなくデジカメで取っているので、ちょっと見にくいですが、タイトルのところには「高速・多機能グラフィックエディタ」「C.P.U. FORMAT」と、左上コーナーには「FOR PROFESSIONAL USE」「マウス使用可 (アスキー製)」と書かれています。

G-EDIT-88 - マニュアル (1985)(DataWest)


上から順に「G-EDIT88 取り扱い説明書」「Copyright 1985 by DataWest/T.Tamaki」「Programmed T.Tamaki」と書かれています。
マニュアルに使用されている紙が赤いのは、当時巷にあふれていたソフトのレンタルショップでマニュアルをコピーされないようにする為の対策です。 今はどうか分かりませんが、当時のコピー機では地色が赤だと黒く写って文字の色と区別がつかなくなるのだそうです。

残念ながら、5インチ媒体は手元にありません。 というか、緊急で応援に行ったときの報酬としてオマケに頂いたモノで、そのときディスクが品切れだったため、貰った時から無かったと言う方が正しいんです。
まあ、製品版がなくても困らなかったですから…(笑)




このブログをよく読んで頂いている勘の良い方はもうお気づきだと思いますが、これは「はじめてのグラフィックエディタ…」と「グラフィックエディタで悪戯してみました~その1」で紹介しているKCB製のグラフィックエディタにASCII社から発売されていたシリアル(RS-232C)マウスサポートを追加し、エッジ効果等の特殊効果処理を省いたものです。




パッケージ裏面に書かれている解説を転記しておきます。

従来のグラフィックエディタにはない特徴
  • 専用DOS上で動作する豊富なコマンド群
  • 画面拡大によるドット単位のエディットが可能
  • エアブラシ効果、などの多彩な表現
  • クロマキー法による中間色ペイントをサポート
  • C.P.U.フォーマットによる画面DATAの圧縮SAVEが可能かつ、FM-7との互換性を確保。
  • 別々に作成した2枚の画面を重ね合わせるオーバーレイ機能を装備
  • メインメモリ上に画面と同じサイズのバッファを用意することにより作成中の画面の一時退避が可能。(ペイントミスにより色もれした画面の復活などに使用できます。)
  • C.P.U.フォーマットローダーの使用によりアドベンチャーなどの開発に使用可能 (オプション)
  • さらにマウスを使用することにより幅広いニーズにも対応。



今では、どんなグラフィックツールにでも標準で備わっているような機能が、従来のモノにはない特徴としてリストアップされていますが、PC-8801を知らない方のために、一つ例を挙げて解説(と言うよりも謎掛けに近いかも)しておきます。

「メインメモリ上に画面と同じサイズのバッファを用意することにより…」と言う記述がありますが、これはアンドゥ用のバッファを持っているという事です。 PC-8801はグラフィック画面をメインメモリではなくバンクメモリにレイアウトしていますが、640×200 ドット×3 面(RGB)だと、RGBそれぞれに1ビットを使用するので、640×200×3=384,000 bit、バイトに直すと384,000/8=48KBです。
PC-8801はメインメモリを約65.5KB(64KiB)持っていますが、E600H以降はBASICのワークエリアですし、E500HからE600Hまでをスタック領域として使用するとすれば、フリーエリアとしてエディタが使用できるのは 0HからE500Hまでの約58.6KB(57KiB)しかありません。
フリーエリア分58.6KBからアンドゥバッファ分48KBを引くと、10.6KBしか残らないのです。

さて、10.6KB (10368 10854 B)のプログラム領域だけで、「豊富なコマンド群」を備えたグラフィックエディタが動作する秘密についてはまたの機会に…。

はじめてのDOSは… [プログラム]

はじめてのDOSは、

起動画面:PC-DOS V3.1 (1983)(Kyoto Computer Brains)
PC-DOS V3.1 (1983)(Kyoto Computer Brains)



PC-8001 用の Disk BASIC を DOS と呼ぶには抵抗があるので、それ以外で DOS と呼べるものに触れたのは、この PC-DOS が最初です。
KCB のメンバーとはじめて会った頃は、まだバージョン 1.3 から 1.4 への移行の時期でした。
たしか、1981年の夏くらいじゃなかったかと記憶しています。
他の記事で「KCB標準DOS」と書いてあるのは、この PC-DOS のことです。

ネーミングに関しては、開発者の弁によりますと…
「PC-8001 用の DOS なので、PC-DOS と名づけた」
…とのことです。
命名に関しては某PC DOS よりもこちらが先ですので念の為(笑)。




はじめてのグラフィックエディタ…」で紹介したグラフィックエディタや「元祖美少女グラフィックス」で取り上げた店頭デモも、この PC-DOS があったからこそ誕生したものです。




なんといっても特筆すべきは、起動時以外はメインメモリ領域のフリーエリアを消費しないということ。
雑誌に載っていたゲームでサイズの大きいものは Disk BASIC のシステム領域とアドレスが衝突するため、ディスクにはセーブ不可能なモノが多かったのですが、PC-DOS のおかげで全く苦労なく遊べました。

本館サイトで公開している「Dash-80」は、この「フリーエリアを消費しない」コンセプトを受け継いでいます。




PC-9801 シリーズで使用されている 2DD / 2HD ディスクドライブは、メインメモリとのデータのやり取りを DMA を使って行っていますが、PC-8001 / 8801 ではディスクユニット内に CPU とメモリを搭載し、シリアル転送でデータをやり取りしています。
PC-8801 シリーズで本体にディスクドライブを搭載している機種ならば、CPU とメモリのセットが2個ある事になります。
カタログなどに「サブシステム」という記述があるのは、このディスクユニット内の CPU とメモリを指しています。

PC-DOS ではフリーエリアを消費しないためにコマンド処理のほとんどをサブシステム側で行っています。
当時もデバッガは発売されていましたが、サブシステム側の CPU やメモリを確認する方法までは提供されていませんでしたし、エミュレータなんて物は影も形も無かった時代ですから、サブシステムのメモリダンププログラムまで自作してデバグしたそうです。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。