プログラム環境 (1) [コメントする]

プログラム環境」からの続き。


プログラム環境 (1)


NOPとI/O

Saiey さんのコメント
 (1998/2/19 09:36:44)

それにしても、NOPがないCPUがあるってこと自体知りませんでしたというか、驚きだというか。

NOPって以外と処理に時間がかかったような記憶がありますけど、本来ウェイト用なんだって考えると、納得できる気がします。


NOP の処理時間

あきよし さんのコメント
 (1998/2/20 10:07:12)

あれ? 大抵は1〜2クロックで終了しませんでしたっけ?

フェッチサイクルがあって、命令解釈サイクルがあって、それで終了。
命令解釈とフェッチは、結構昔の CPU でも同時に行えるものが多いので、そうなら1クロック、違えば2クロックではないかと思うのですが・・・

#でも、68000 とかは addq.l で4サイクルだったからなぁ。NOP も4サイクルでもおかしくないかも。


NOP

Saiey さんのコメント
 (1998/2/20 11:05:11)

今調べたら、6809で2サイクルって書いてありました。Z80が知りたかったんですけど・・・。

どーもZ80で、「何で何もしないのに2(?)クロックもかかるんだよ!」っていう記憶が、「時間がかかる」になってたようです・・・。(^^;


S系BASIC

笹井シンヤ さんのコメント
 (1998/3/11 14:32:14 -
E-Mail)

シャープ以外でS系のBASICを使っていたのは、バンダイのRX-78 GUNDAMってのがありますね。MZ-2000系のS-BASICの流れだったように記憶しています。「LOCATE」でなく、「CURSOR」ですし。
ただ、テキストが32*22だかなんだか中途半端な行数だったので移植は難しかったらしいです。
#前の続きでいいんですよね。


GAME言語

笹井シンヤ さんのコメント
 (1998/3/11 14:40:02 -
E-Mail)

昔、ASCIIが作っていた言語で、「GAME」ってのがありました。PC-8001用とMZ-80Kシリーズ用に、それぞれ「GAME-PC」、「GAME-MZ」があります。内容はTINY-BASICに近いですが、すべてのコマンドが記号化されていて(PRINTは「?」みたいに)、それが省略形でもなんでもなしに、正式なコマンドなので、プログラムはもはや暗号に近い(笑)
でも、コンパイラも用意されていて、むちゃくちゃ速い言語でした。なんせインタプリタでも速かった(処理がシンプルだからでしょうね)。私はこれでいくつかゲームを作ったことがあります。GAME言語からBASICに移植するのは楽ですが、逆は半端じゃなくツライですね、なんせ命令の数が違いすぎ。
GAME言語がS-OSに出ればなぁ、と当時アセンブラを始めたばかりの私はつねづね思ってました。自分がバリバリだったら、移植を自分でやったんですけどね。


S-OS

あきよし さんのコメント
 (1998/3/11 18:59:42)

その名もなつかしや!
X68k 用の S-OS (MZ-80 エミュレーション)を使って一時プログラムを組んでいました。
エディタが使いにくかったので長続きしませんでしたけど、良いエディタがあれば結構はまったかも。

えーっと、もう名前忘れましたけど、S-OS には結構言語が多かったのも言語マニアの私としてはこたえられませんでした。


S-OS Sword

笹井シンヤ さんのコメント
 (1998/3/12 06:55:17 -
E-Mail)

言語は、一緒に発表されたのがLisp-85ですね。で、Prologと、MagiFORTH、FuzzyBasic、SLANG。このあたりがメジャーなところですかね。後期ではCライクなコンパイラ言語もありましたが、その頃はもはやS-OSから離れていて、ほとんど気に止めなかったんです。

ところで、「写真館」にあった"SWORD"用のグラディウスは本物ですか? 本物なら是非やりたいです。

S-OSはX68K版とEPSON PC-286及びその互換機用のがあるんですが、MacあるいはWindows95あるいはDOSプロンプト上で実行できる環境ってあるんでしょうか?(^^;


グラディウス

Saiey さんのコメント
 (1998/3/12 09:22:43)

YabukiさんがMZ-1500で制作されたものの写真をいただいて、掲載したものです。
私もビッグコアの写真を見たときは感動しました。

詳しくはMZ-1500のスレッドへどうぞ。

MZ-1500


S-OS 用の・・・

あきよし さんのコメント
 (1998/3/12 10:37:39)

私が「すばらしい」と思って覚えた言語は、SLANG でした。笹井さんの書込みで思い出した。

C のような構造化言語ですが、 push pop とか使えたり、直接レジスタ指定できたりしたはずです。
C を Z80 で最大限の力を発揮できるように改良したと言う感じかな。

S-OS 用の C は、ちゃんと存在しましたね。
ただ、S-OS 自体はアルファベットを大文字に限定していたのですが、 C 言語の特性上小文字やディスクを使うため、機種が限定されていました。完全な「S-OS用」ではなかったわけです。
タイムスタンプの無い S-OS で make を作るために、いろいろな小細工も必要になっていました。

----

ところで、私が X68k で S-OS を始めた頃、大学の先輩に「それならこれをあげよう」と、S-OS のソフトがたくさん入ったディスクをもらいました。

この中に「キャメルトライ」が入っていて、これがまた気持ちよく画面がぐりんぐりん回るのですよ!

先輩の話では「友人が作って、まだ未発表のもの」とのことでしたが・・・


S-OSのGRADIUSについて。

Yabuki さんのコメント
 (1998/3/12 13:12:44 -
E-Mail)

5インチ2Dから抜き出す手段さえわかれば、
さしあげられるのですが・・・。
何か方法はないものか・・・。
カセット端子からサンプリングできるのかな?

キャメルトライですか。すごいですね。
キャラクタ画面だったのでしょうか?
それともMAGICを使ってたのでしょうか?
どちらにしろ見てみたいです。


S-OS

笹井シンヤ さんのコメント
 (1998/3/12 13:39:30 -
E-Mail)

5インチ2Dって、SWORDの場合、互換性があったんではなかったですか?X1なり88なりがあれば読めたりしないんですか?・・・ってMZ-1500でFDDって使ったことないからなぁ(^^;
あ、カセット端子からサンプリングは出来ると思います。パソコンじゃなくてシンセとかの話ですけど、昔のカセットにセーブできるような機種のデータは、最近はWAV形式で保存するらしいです。


S-OS からのディスク保存

あきよし さんのコメント
 (1998/3/12 14:39:47)

X68k 版の S-OS は、 2D ディスクのイメージをベタ持ちしたファイルを、DISK として扱います。
S-OS 起動時(human68k から見ればアプリケーションですので (^^; )に、DISK ファイルを指定するのですが、いくつでも指定できるので4ドライブ付きマシンとかが実現できていました (^^;

で、先輩がこれをどうやって吸い出したかは知りませんが、X1 ユーザーだったので KAME-DOS を使ったのではないかと思います。
KAME-DOS は、 X1 で MS-DOS 互換のディスクを読み書きするソフトね。


ちなみに、キャメルトライはキャラクタ画面でした。

S-OS のルーチンコール一覧とか、Z-80 命令表とかあるから、Mac でエミュレーション OS を作ることは可能だよなぁ。
でも、作ったら誰か喜ぶのかなぁ(笑)

金だしても欲しい、ってくらいの人が100 人いれば作りますけどね。

#あ、それ以前に MSX エミュレータで MSX 用 S-OS を動かすほうが楽かも。


S-OS

笹井シンヤ さんのコメント
 (1998/3/12 14:58:00)

私はKAME-DOSではなく、なんかOh!Xの付録DISKに付いていたツール(名前忘れた)を使ってX1とX68のやりとりをしてました。S-OSのファイルは受け渡ししなかったですけど。

で、mac用のS-OSがあれば、喜ぶ人達は、ここに2名ほどいます(笑)

昨日の夜に、
「DirectorでS-OS作れないかなぁ」
「Z80だから、65536個の配列があればできるんじゃん」
「あとはレジスタの数だけ変数作っとけばいいか」
「うひゃー遅そう(^^;
とかアホなこと言ってました。だいたいDirectorじゃ画面全部にキャラクタ出せないわ(^^;

MSX用SWORDは、画面の下が切れるからヤだ(笑)

Virtual PCで、Windows用のX68kエミュレータ動かして、その中でX68k用SWORDを動かすのが一番現実的かな(そうか?)


S−OSのGRADIUS。

Yabuki さんのコメント
 (1998/3/12 16:14:42 -
E-Mail)

郵送でよろしければお送りします。
未開封のマクセルの5インチ2Dも2箱ほど
ありますし・・・。

サンプリングするとしたらサイズはどれくらいに
なるのでしょうか?プログラムサイズは20Kbyte
ほどです。


サンプリング

笹井シンヤ さんのコメント
 (1998/3/12 17:15:05)

有り難うございます!
サンプリングすることを考えると、1200ボーで20kだったら、だいたい20秒前後でしょうか?
試しに、20秒のデータを作って、8bit/22kHz/monoで保存してみたら、450kくらいの大きさになりました(もっとレートを下げてもいいかも。ソノシートレベルの音質でいいんだし)。
IMA圧縮は16bitベースですが1/4になるので、サイズ的にはさらに半分、SWAなら1/10以上になるけど、SWAで圧縮する環境をみんなが持っているとは思えないし・・・うーむ。


久しぶりに言語の話題

あきよし さんのコメント
 (1998/6/5 18:54:24)

ちょっと前にフリートークに書いていたのだけど、Perl。
結構好きな言語です。

プログラム言語は、一応「計算機言語理論」という理論がありまして、それに基づいて作られたものが「良いものだ」とされる風潮があります。
言語構造を記述するときに BNF 記法というもので書けるかどうかとか、そういうのが結構重要なんだけど・・・

Perl って、そういうのまったく無視しているのね。
まったく無視しているからたぶん言語処理系のプログラムはぐちゃぐちゃで、拡張しようと思ったら大変なんじゃないかとおもうし、組み込み関数とユーザー定義関数で呼び出し方法が違う、なんていう事も出てくるのだけど、Perl はそれなりに一つの哲学に貫かれているので良いのではないかと思うのです。

その哲学とは
「つかいやすいんだから、いーじゃない」。

この絶妙な考え方がが秀逸 :-)


Perl

Saiey さんのコメント
 (1998/7/30 12:18:13)

今Perl5の本を読んでたんですけど、Perlってクラスとか継承とかって概念があるんですね。さらに演算子のオーバーロードとかもできる、と。C++みたい。全然知らなかったです。ちょっとびっくり。

そのうちXMLパーサの機能を内蔵するって話もあるし、なんだか何でもありありのすごい言語ですねぇ。

やっぱりPerlは奥が深い・・・。


perl5は

あきよし さんのコメント
 (1998/7/30 16:24:53)

オブジェクト指向を取り入れたのはPerl5 からですね。

僕は Perl4 の本しか読んだことないので Perl5 はあまり知らないのだけど、ほとんど文法に変更を加えずに完全なオブジェクト化を果たした、っていうんで、出た当時ちょっと話題になっていました。

詳しく知らないけど、Perl 内蔵の Webサーバーとかもありますよね。
CGI のほとんどが Perl で書かれているのだから、これでかなりパフォーマンスが向上するらしい。


・・・・もしかして、Perl って JAVA よりも汎用言語?

#いや、そんなことはないのだが (^^;


Perl vs Java

Saiey さんのコメント
 (1998/7/31 09:44:18)

Write Once, Run Anywhere ったって、JVM間の互換性はそれほど高くないし、なによりJava自体がバージョンアップ時に過去を切り捨てたりしてるし。結局は 100% Pure Java とかいってさらに機能を制限するような書き方をしないと、機種依存しちゃうんだし。

って考えると、組み込み系はともかくパソコンレベルではPerlの方がよっぽど対応機種が多くて汎用性が高いっていうか、「どこでも動く」を実現してるっていうか。100% Pure Perl (^^; で書けば、Perlのが機種間の互換性は高いような気がしてしまいます。

ただまぁ、それは、JavaがGUI環境で、PerlがCUI環境だからだとは思いますけど。つまり今までの言語の互換性っていうのは基本的にCUIベースでの話だったわけで、おそらくJavaは初めてGUIベースでの互換性を考えた言語ということになるんでしょうね。だから汎用性も互換性もPerlのが高いように見えてしまうのかもしれません。

# なにを言いたいのかわからなくなってきた・・・。(^^;


言語至上主義からの脱却

風来坊 さんのコメント
 (1999/3/17 16:32:06)

なんかマンネリだな。オレって(^^;)
(OSのスレッドを参照)

「計算機言語理論」?
どうせ手続き型言語なんて、
どれもこれも一緒さ。(^^;)
LISPやMLやPrologなら
話しは別だが。

例えば、Cの公理的意味論なんて
一度だってマジメに書かれたことが
あるかね。ナイナイ。
(うーむ、何かbitの萩谷センセイ
みたいになってきたぞ^^;)

ま、ダイクストラやホーアのような
Turing賞をとられた大先生が活躍
されていた時代ならいざ知らず、
今やソフトウェア工学において、
「言語の善し悪し」なんて議論
するに足らぬよ。真に問題なのは、
「仕様の善し悪し」であり、「設計
方法論の善し悪し」である。

#ところで鉄道の信号制御系は
#市販品でもなんでもない専用の
#マイコンの組み合わせで、
#プログラムは今でも一から
#アセンブラで書かれている。
#Windows上でCでプログラミング?
#そんなアブナイことできるかい。
#OSやコンパイラが「安全」だと、
#何時何処で誰が保証するんだい?
#(^^;)


FAX情報サービスも...

いーないーな さんのコメント
 (1999/3/18 10:04:25 -
E-Mail)

2年半前関わったFAX情報サービスのプロジェクトも1からアセンブラとCで作成されていました。Cはユーザインタフェイスの部分のみで標準関数なんどは使用してませんでした。ただ、市販のOSを使用していないのは、使い方を知らないというのが主な理由でしたが^^;(OSの作り方わかっても、使い方知らないという...)
ところで、アセンブラが「安全」だという保証もないような気がするんですが。ハンドアセンブルならもっと危ない。はじめに暴走ありき...ですからね^^;


機械語はサイコウだ!(^^;)

風来坊 さんのコメント
 (1999/3/18 18:34:13)

>ところで、アセンブラが「安全」だ
>という保証もないような気がする
>んですが。

ま、安全というよりは危険度が少ない。

アセンブラは直訳だからCのコンパイラよりは出来が単純だ。わけのわからない効率化は命とりになる場合もある。アセンブラならデバッガで実に細かいレベルまでトレースできるのもいい。

ハンドアセンブルは駄目。ニーモニック
からの変換は、機械任せの方が確実。
人間のアタマはそういう点に関しては、
信頼がおけない。

#68系CPUは出来がいいので、
#アセンブラでも、ちょっとした
#高級言語的プログラムが楽しめる。


マニュアルの記述

昔も今も貧乏人 さんのコメント
 (1999/4/15 17:08:40)

はじめまして、懐かしくて・・・

TRS−80のBASICのマニュアルには
メモリを節約するためにって感じの記述があって

 変数は1文字にせよ
 REMは入れるな
 マルチステートメントをできるだけ使って1行に詰め込め

という今の作法と全く逆のことが推奨されていました。

私は石が8086になった後も、わり算命令の存在に
気づかずにわり算ルーチンを使った不勉強者です。


メモリーの重み

やじさん さんのコメント
 (1999/5/25 23:01:36)

こんばんわ

昔は、メモリーが冗談みたいに少なくて、
かつ異常に高価でしたから、プログラミングテクには
メモリーの節約も、ありましたね。
わたしは、PC80以降の人間なので、
「1バイト1円」とか、暴走の恐怖と戦いながら
小遣い計算をするとかいうのは、知りませんでしたが
ASCIIの記事などで、そういう話を読んでは
笑い転げてました。
まあ、PC80も今からすれば十分少ないメモリー
でしたから、マルチステートメントなんかは、常識でしたけれど。

でわ


Re:メモリーの重み

昔も今も貧乏人 さんのコメント
 (1999/5/27 09:25:39)

はじめて、増設メモリーを買ったのは、98Fの256Kバイト増設。
普通4万円台の板が3万円台だったのと給料日直後で財布に
金があった。MS−DOSでBASICコンパイラーも動かしたかった。

その店の前で2時間ぐらい考えこんだ。
ついでに言うとその月は無茶苦茶苦しかった。


FM-Logo

さとー さんのコメント
 (2001/02/22 02:15:13)

初めて買ったパソコンがFM-77だったのですが、標準でFM-Logo(だったと思う)が添付されてきました。
方眼紙に定規と分度器で描いた絵をLogoで再現して遊んでいたのですが、知らぬ間にコンピュータの学習になっていたんですね。
あきよしさんのコメントを拝見し気がつきました。(^^;


BASIC

ゲイ通 さんのコメント
 (2001/08/14 19:29:56)

BASICは最後のフロンティア


コメントする


なまえメール
WWW
タイトル
コメント
参考
リンク
ページ名
URL


[HOME] [TOP] [HELP] [FIND]

Mie-BBS v2.14 by Saiey