counterSince June 16, 2000STUDIO KAMADAJapanese to English by @nifty
掲示板の過去ログ(本文 2000/08/01-)2007-07-18(Wed) 21:18
102. 月刊電脳倶楽部147号 M.Kamada 2000/08/01 (火) 15:28
103. Re: 月刊電脳倶楽部147号 Hiroi Makoto 2000/08/01 (火) 18:50
102. 月刊電脳倶楽部147号 M.Kamada  2000/08/01 (火) 15:28
147号は昨日届いたところが多いようですね。

「次号の予告」はふなもとさんのしわざ(笑)です。
あのURLは実在します。
103. Re: 月刊電脳倶楽部147号 Hiroi Makoto  2000/08/01 (火) 18:50
鎌田さん、こんにちは。

> 147号は昨日届いたところが多いようですね。

私のところも昨日届きました。凄い内容で驚いてしまいました。
まさに「最後の大花火」です。じっくり楽しむつもりです。
編集スタッフの皆さん、投稿された読者の皆さんに感謝です!

> 「次号の予告」はふなもとさんのしわざ(笑)です。
> あのURLは実在します。

さっそく見てきました。今後の展開が楽しみです。

それではまた。
104. POLYPHONユーザの方にお願いします M.Kamada 2000/08/04 (金) 23:08
104. POLYPHONユーザの方にお願いします M.Kamada  2000/08/04 (金) 23:08
突然ですが…
 ・POLYPHONを持っている方
 ・「PCM8SB.Xが030でも動けばいいのに」と思っている方
 ・「030で動くPCM8SB.Xを知っている」という方
いずれかに該当する方は、メールまたは掲示板で連絡下さい。
105. 猛暑続きですね ZooMark 2000/08/05 (土) 00:19
106. Re: 猛暑続きですね M.Kamada 2000/08/05 (土) 00:51
105. 猛暑続きですね ZooMark  2000/08/05 (土) 00:19
引っ越し完了おめでとうございます
…と言おうとしたら、あまりめでたくない状態でなんとも。
クーラーじゃなくて、窓開け+扇風機だとこの猛暑に勝てませんか?
106. Re: 猛暑続きですね M.Kamada  2000/08/05 (土) 00:51
ZooMarkさん、こんばんは。

> 引っ越し完了おめでとうございます

ありがとうございます。

> …と言おうとしたら、あまりめでたくない状態でなんとも。
> クーラーじゃなくて、窓開け+扇風機だとこの猛暑に勝てませんか?

昼間は暑いっす。私はヤワなので、この猛暑には勝てません。

こまめに換気するようにしているので、内装の接着剤の
においはだいぶ気にならなくなりました。
(というより、身体が慣れてしまったのかも)

とりあえず落ち着いて、ほっとしているところです。
107. アクセス解析について Hiroi Makoto 2000/08/05 (土) 14:11
108. Re: アクセス解析について M.Kamada 2000/08/05 (土) 20:01
 └109. Re^2: アクセス解析について Hiroi Makoto 2000/08/07 (月) 20:47
  └110. Re^3: アクセス解析について M.Kamada 2000/08/08 (火) 23:38
107. アクセス解析について Hiroi Makoto  2000/08/05 (土) 14:11
鎌田さん、こにゃにゃちはー。

「アクセス解析などはやっていないので、どのコンテンツがカウントを増やす効果があるのかいまいちよくわかっていなかったりする。」

そうですね。自分のHPでも、どのコンテンツにどのくらいのアクセスがあるのか知りたいと思っています。
ジオのカウンタは一つしか付けられませんし、無料のカウンタサービスを使うと広告が入る場合があり、ジオの規約違反になりそうです。
CGI も使えないとなると、けっこう面倒ですね。いい方法はないものでしょうか。

それではまた。
108. Re: アクセス解析について M.Kamada  2000/08/05 (土) 20:01
広井さん、こんばんわにゅ。

> そうですね。自分のHPでも、どのコンテンツにどのくらいのアクセスがあるのか知りたいと思っています。
> ジオのカウンタは一つしか付けられませんし、無料のカウンタサービスを使うと広告が入る場合があり、ジオの規約違反になりそうです。
> CGI も使えないとなると、けっこう面倒ですね。いい方法はないものでしょうか。

geocitiesは制約がきびしいのですね。

うちのアクセスカウンタと掲示板は@niftyの提供CGIです。

@niftyは自作CGIも使えるので、やろうと思えばいろいろ
できるのですが、なかなか手をつけられずにいます。
109. Re^2: アクセス解析について Hiroi Makoto  2000/08/07 (月) 20:47
鎌田さん、こんばんは。

> geocitiesは制約がきびしいのですね。

無料で使っているのですから、あまり文句は言えません(笑)。

> うちのアクセスカウンタと掲示板は@niftyの提供CGIです。
> @niftyは自作CGIも使えるので、やろうと思えばいろいろ
> できるのですが、なかなか手をつけられずにいます。

ほえー、@nifty は自作 CGI 使えますか! いいですね。
CGI プログラミングには興味があるので、まずはローカルな環境で試して
みようか、と思っています。

その後、無料カウンタをいくつか調べたのですが、広告の入らないところ
もあるみたいですね。ただ、複数のカウンタを取得できるところは少ない
ようです。ぴったりのサービスはなかなか見つかりませんね。やっぱり、
自分で作るしかないのかな。

それではまた。
110. Re^3: アクセス解析について M.Kamada  2000/08/08 (火) 23:38
広井さん、こんばんは。

> ほえー、@nifty は自作 CGI 使えますか! いいですね。

たしか、みかぜさんのところのカウンタが、日ごとのカウント
ができる自前のCGIだったと思います。

> その後、無料カウンタをいくつか調べたのですが、広告の入らないところ
> もあるみたいですね。ただ、複数のカウンタを取得できるところは少ない
> ようです。ぴったりのサービスはなかなか見つかりませんね。やっぱり、
> 自分で作るしかないのかな。

ある変な方法を思いついてしまったのですが、やってよいこと
なのかどうかよくわからないので、とりあえず自粛。
111. カウンタ M.Kamada 2000/08/10 (木) 00:18
112. Re: カウンタ AC-YOUCH 2000/08/10 (木) 00:43
 └113. 6809ゲットおめでとうございます! M.Kamada 2000/08/10 (木) 01:00
111. カウンタ M.Kamada  2000/08/10 (木) 00:18
これを書いている時点で6802なり。
6809を踏んだ人はみんなに自慢しましょう。
6809が何の数字だかわかる人に踏んで欲しいなあ。
112. Re: カウンタ AC-YOUCH  2000/08/10 (木) 00:43
> これを書いている時点で6802なり。
> 6809を踏んだ人はみんなに自慢しましょう。
> 6809が何の数字だかわかる人に踏んで欲しいなあ。

なんか申しわけないんすが、オイラふんじゃいました(笑
6809?近ごろ一番ホットな石です。オイラ的に。
113. 6809ゲットおめでとうございます! M.Kamada  2000/08/10 (木) 01:00
AC-YOUCHさん、こんばんは。

> > これを書いている時点で6802なり。
> > 6809を踏んだ人はみんなに自慢しましょう。
> > 6809が何の数字だかわかる人に踏んで欲しいなあ。
>
> なんか申しわけないんすが、オイラふんじゃいました(笑
> 6809?近ごろ一番ホットな石です。オイラ的に。

ふっふっふ、やりましたね。
6809を知っている方に踏んでいただけてよかったです。(笑)
114. 日記の6809の乗算命令ですが AC-YOUCH 2000/08/10 (木) 15:06
118. Re: 日記の6809の乗算命令ですが M.Kamada 2000/08/10 (木) 23:43
114. 日記の6809の乗算命令ですが AC-YOUCH  2000/08/10 (木) 15:06
MUL命令ってのがあります。
(unsigned 8bit * unsigned 8bit = unsigned 16bit)

6809には8bitのAレジスタBレジスタがあって
合わせて16bitのDレジスタ(A=上位8bit,B=下位8bit)として扱うことが
できるのですが
MUL命令は(A * B = D)の様な動きをします。
680x0で言う所の mulu.wですか。

なお、MUL命令後のフラグの動きが変則的ですので(キャリとゼロのみ変化する)
エミュする時は考慮が必要です(?)
118. Re: 日記の6809の乗算命令ですが M.Kamada  2000/08/10 (木) 23:43
AC-YOUCHさん、こんにちは。

> MUL命令ってのがあります。
:
> MUL命令は(A * B = D)の様な動きをします。
> 680x0で言う所の mulu.wですか。

詳しい解説をありがとうございます。
そういえば昔何かで読んだような気がします。

> なお、MUL命令後のフラグの動きが変則的ですので(キャリとゼロのみ変化する)
> エミュする時は考慮が必要です(?)

もしや6809を…
115. 6809…なつかしい石です M.Suzuki 2000/08/10 (木) 17:25
119. Re: 6809…なつかしい石です M.Kamada 2000/08/10 (木) 23:44
115. 6809…なつかしい石です M.Suzuki 2000/08/10 (木) 17:25
6809ですか。今は無きFM-8,7,11,77,AV、ベーシックマスター、
SMC777(だったかな?)辺りで使われていたCPUですね。
私が最初に覚えたアセンブラも6809でした。
ちなみに、レジスタは8ビットのA,B,DP、16ビットのX,Y,U,Sで、
A,Bは16ビットのDレジスタとしても使えます。
68020〜から導入された2重間接アドレッシングや、
ダイレクトページレジスタを駆使したフルリロケータブル、
Uレジスタを使った高速インデックス等々、味わい深い石でした。
あまり高いクロックの物は有りませんでしたが、
同じクロックでもZ80の倍の速度で動くと言われてましたっけ。
119. Re: 6809…なつかしい石です M.Kamada  2000/08/10 (木) 23:44
M.Suzukiさん、こんにちは。

> 6809ですか。今は無きFM-8,7,11,77,AV、ベーシックマスター、
> SMC777(だったかな?)辺りで使われていたCPUですね。

おお、なつかしい名前がずらずらと。
富士通がIntelに転ぶ前のことですね。

> 私が最初に覚えたアセンブラも6809でした。
:
> 同じクロックでもZ80の倍の速度で動くと言われてましたっけ。

Z80よりもアドレッシングモードの自由度が大きそうですね。

月刊マイコンの1984年6月号を保存している人っていないかな。
116. 6809といえば Hiroi Makoto 2000/08/10 (木) 21:15
120. Re: 6809といえば M.Kamada 2000/08/11 (金) 03:45
 └122. Re^2: 6809といえば M.Suzuki 2000/08/11 (金) 13:16
  └124. Re^3: 6809といえば M.Kamada 2000/08/12 (土) 00:34
116. 6809といえば Hiroi Makoto  2000/08/10 (木) 21:15
6809 といえば 0S-9 を忘れてはいけないでしょう。
究極の 8 bit MPU といわれた 6809 だからこそ、OS-9 も動作したのだ
と思います。
私は 6809版 OS-9 を使った経験はありませんが、8 bit MPU でマルチタスク
が動作するのですから、驚異的なことだったのではないでしょうか。

それではまた。
120. Re: 6809といえば M.Kamada  2000/08/11 (金) 03:45
広井さん、こんばんは。

> 私は 6809版 OS-9 を使った経験はありませんが、8 bit MPU でマルチタスク
> が動作するのですから、驚異的なことだったのではないでしょうか。

私もOS-9は経験がないのですが、当時としては驚異的な
ことだったのでしょうね。

理屈では、リロケートとコンテキストスイッチができて
メモリがある程度あれば、マルチタスクに対応したOSを
走らせることができるはずですが、やはり向き不向きが
ありますからね。
122. Re^2: 6809といえば M.Suzuki 2000/08/11 (金) 13:16
ちわ。M.Suzukiです。

> 理屈では、リロケートとコンテキストスイッチができて
> メモリがある程度あれば、マルチタスクに対応したOSを
> 走らせることができるはずですが、やはり向き不向きが
> ありますからね。

私もOS-9は触った事有りませんが、
ダイレクトページレジスタを使えば、
リロケートは非常に簡単です。
また、68k並(以上?)に相対アドレッシング
が充実してますので尚更です。
(6809版OS-9にはMMUに対応した物が有ったとか…)

ちなみに、ダイレクトページレジスタってのは、
セグメントレジスタに近い物ですが、
オフセットとは重複しません。
丁度SHのgbrレジスタに相当します。って余計判らんか(^^;
124. Re^3: 6809といえば M.Kamada  2000/08/12 (土) 00:34
M.Suzukiさん、こんにちは。

> ちなみに、ダイレクトページレジスタってのは、
> セグメントレジスタに近い物ですが、
> オフセットとは重複しません。
> 丁度SHのgbrレジスタに相当します。って余計判らんか(^^;

SHのGlobal Base Registerは同時に使える汎用レジスタが
R0に限定されているので使い勝手はいまいちらしいにょ。
117. SC62015 ぐっち 2000/08/10 (木) 22:52
121. Re: SC62015 M.Kamada 2000/08/11 (金) 03:46
 └123. Re^2: SC62015 ゆうき喬史 2000/08/11 (金) 13:32
  └125. Re^3: SC62015 M.Kamada 2000/08/12 (土) 00:34
117. SC62015 ぐっち 2000/08/10 (木) 22:52
SC62015ってSHARPのポケコンPC-E500系で使ってたCPU
だったような気がするんですが?
当たってます?
121. Re: SC62015 M.Kamada  2000/08/11 (金) 03:46
ぐっちさん、いらっしゃいませ。

> SC62015ってSHARPのポケコンPC-E500系で使ってたCPU
> だったような気がするんですが?
> 当たってます?

ぽむ! せーかいです。

やっと反応していただけたので、薀蓄モードに突入。(笑)

SC62015はシャープがポケコン用に開発した8ビットCPUです。

SC62015は、PC-E500とその生協版(笑)のPC-1480Uで
使われていました。
(詳しくは知らないが、ザウルスにも入っていたらしい)

SC62015は組み込み用のCPUです。
メモリコントローラはもちろん、UART、CMTポート、汎用
ポート、キーボードコントローラまで詰め込まれた、
100本足の石です。

SC62015のシステムクロックは2.304MHz(PC-E500)、
最短命令は3クロック。

SC62015には内部メモリが256バイトあり、うち236バイトは
ユーザがRAMとして使うことができます。
外部メモリ空間は1MB(20ビット)です。

汎用レジスタは16ビット×2本(BA,I、これらの下位8ビット
を8ビットの汎用レジスタA,ILとしても使用可能)と
20ビット×4本(X,Y,U,S、Uはユーザスタックポインタ
としても使用可能、Sはスタックポインタ)。

SC62015では、汎用レジスタ同士の加減算はサイズの異なる
もの同士も含めてすべての組み合わせで可能です。

プログラムカウンタは4+16ビットです。
通常の命令は64KBの境界を越えられませんが、20ビットの
ジャンプ、コール、リターンができる命令があります。

内部メモリ空間に対するアドレッシングモードは4種類。
外部メモリ空間に対するアドレッシングモードは7種類
(数え方によっては9種類、うち2種類(同3種類)は
内部メモリ間接)。

内部メモリに対して算術演算、論理演算、シフト・ローテート
などができます。
様々なアドレッシングモードを駆使した内部内部メモリ間と
内部外部メモリ間の転送がレジスタを媒介せずにできます。

SC62015は、汎用レジスタ、内部メモリ、外部メモリを
おりまぜた直交性の高いアドレッシングで非常に美しい
アーキテクチャを持った8ビットCPUです。

SC62015の唯一最大の欠点は、CPU単体では販売されなかった
ということでしょう。いやー、もったいない。
123. Re^2: SC62015 ゆうき喬史 2000/08/11 (金) 13:32
 はじめまして、ゆうき喬史と申します。

> SC62015はシャープがポケコン用に開発した8ビットCPUです。
> SC62015は、PC-E500とその生協版(笑)のPC-1480Uで
> 使われていました。
> (詳しくは知らないが、ザウルスにも入っていたらしい)

 SC62015ですが、小笠原博之さんがX68用に
クロスアセンブラを作ってます。

 ベクターに転がってるので、興味がある人は
覗いてみてはいかがでしょうか。
125. Re^3: SC62015 M.Kamada  2000/08/12 (土) 00:34
ゆうき喬史さん、いらっしゃいませ。

> > SC62015は、PC-E500とその生協版(笑)のPC-1480Uで
> > 使われていました。
> > (詳しくは知らないが、ザウルスにも入っていたらしい)

ザウルスのBASICカードのBASICはPC-E500のBASICとそっくり。
そういえば、PC-E550というのもありましたね。

>  SC62015ですが、小笠原博之さんがX68用に
> クロスアセンブラを作ってます。
>  ベクターに転がってるので、興味がある人は
> 覗いてみてはいかがでしょうか。

私もscasmを使わせていただいていました。
scasmの文法にはやや癖がありますが、マクロなどの拡張機能は
(個人で作られたフリーソフトウェアとしては)かなり強力でした。
126. Not Found 404 Hiroi Makoto 2000/08/13 (日) 19:59
127. Re: Not Found 404 M.Kamada 2000/08/14 (月) 03:07
126. Not Found 404 Hiroi Makoto  2000/08/13 (日) 19:59
鎌田さん、こんにちは。

>リンクにあいはらさんの個人ページ電脳倶楽部非公式サイトを追加。
>ここの「事故照会」のところをクリックすると出てくる“Not Found 404”
>はニセモノだゾ。

やられました! 私はてっきり本物だ思っていましたよ(笑)。

>SC62015は、汎用レジスタ、内部メモリ、外部メモリを
>おりまぜた直交性の高いアドレッシングで非常に美しい
>アーキテクチャを持った8ビットCPUです。
>SC62015の唯一最大の欠点は、CPU単体では販売されなかった
>ということでしょう。いやー、もったいない。

シャープがこんなに凄い 8 bit CPU を作っていたとは驚きました。
本当にもったいないですね。
ところで、工学社が出版したX68kディスク本に小笠原さんの scasm
と X68k で SC62015 をエミュレーションする SCE が掲載されてい
ます。そこで、小笠原さんのホームページ

http://hp.vector.co.jp/authors/VA004474/

をちょっと覗いてみたのですが、SC61860 CPUエミュレータしかない
ようで、SC62015 は Not Found でした。

それではまた。
127. Re: Not Found 404 M.Kamada  2000/08/14 (月) 03:07
広井さん、こんにちは。

> >ここの「事故照会」のところをクリックすると出てくる“Not Found 404”
> >はニセモノだゾ。
> やられました! 私はてっきり本物だ思っていましたよ(笑)。

あ、やっぱり。私も最初は気付きませんでした。
“Not Found 〜”の文字を見ると条件反射的に「戻る」ボタンを
押すように訓練(笑)されているらしい。

> >SC62015の唯一最大の欠点は、CPU単体では販売されなかった
> >ということでしょう。いやー、もったいない。
> シャープがこんなに凄い 8 bit CPU を作っていたとは驚きました。
> 本当にもったいないですね。

そう、もったいないオバケが出ちゃうくらいもったいないの。

> ところで、工学社が出版したX68kディスク本に小笠原さんの scasm
> と X68k で SC62015 をエミュレーションする SCE が掲載されてい
> ます。

情報ありがとうございます。エミュレータもあったんだっけ。

> そこで、小笠原さんのホームページ
> http://hp.vector.co.jp/authors/VA004474/
> をちょっと覗いてみたのですが、SC61860 CPUエミュレータしかない
> ようで、SC62015 は Not Found でした。

う〜ん、残念。
SC61860もシャープのポケコンに使われていたCPUですが、SC62015
よりも古く、アーキテクチャに互換性はありません。
SC61860のクロックは0.768MHzで、SC61860を搭載したPC-1475/70U
よりも、SC62015を搭載したPC-E500のほうが、BASICの動作速度が
約7倍速いと言われています(どうやって比べたのか知らないけど)。
残念ながら私はSC61860のほうはかじったことがありません。
128. けろぴーの命令フェッチ けんじょ 2000/08/14 (月) 10:21
129. Re: けろぴーの命令フェッチ M.Kamada 2000/08/14 (月) 17:51
 └133. Re^2: けろぴーの命令フェッチ けんじょ 2000/08/17 (木) 14:04
  └135. Re^3: けろぴーの命令フェッチ M.Kamada 2000/08/18 (金) 04:31
128. けろぴーの命令フェッチ けんじょ  2000/08/14 (月) 10:21
鎌田さん、こんにちは。
 日記で触れていただいてたので(言い訳をしに?)顔を出してみました ^^;。

 ご指摘の通り、けろぴーで使われている68kコアでは命令フェッチ時に奇数
アドレスであってもエラー(アドレスエラー)報告はしていません。
 これは、命令フェッチが「最も発生頻度の高いI/O(実際にはInだけですが)
アクセスであること」と「メモリ以外のデバイスとのI/Oが発生しないこと」
の2点から、速度を稼ぐ為に可能な限り簡易化してある為です。

 他にも各種トラップ発生時のスタック内容が正確でなかったり、探せば色々
と見つかると思います ^^;。特定できていませんが、使用される頻度の少ない
命令の中にはまだバグがいるようですし(大汗。

 えっと、要約すると「ごめんなさい、『仕様』なので見逃して下さい」って
所でしょうか(笑) < どっかのメーカ(?)みたいだ……。

 MPUコアを含め、けろぴーで重くなりそうなところはx86のアセンブラで記述
をしていますが、「やっぱりMC68Kのアーキテクチャは良いよなぁ」と改めて
実感しているけんじょでした ^^;。

# 私は使ったことが無いので話題に参加できないのですが ^^;、話題に上っ
# ているSC62015のアーキテクチャも見てみたいですね…。
129. Re: けろぴーの命令フェッチ M.Kamada  2000/08/14 (月) 17:51
けんじょさん、こんにちは。

>  日記で触れていただいてたので(言い訳をしに?)顔を出してみました ^^;。

いや、私、M68Kにはうるさいものですから、重箱の隅をつつくようで
申し訳ないです。(^^;

>  ご指摘の通り、けろぴーで使われている68kコアでは命令フェッチ時に奇数
> アドレスであってもエラー(アドレスエラー)報告はしていません。
>  これは、命令フェッチが「最も発生頻度の高いI/O(実際にはInだけですが)
> アクセスであること」と「メモリ以外のデバイスとのI/Oが発生しないこと」
> の2点から、速度を稼ぐ為に可能な限り簡易化してある為です。

それでよいと思います。

680x0が分岐先の命令をフェッチするかどうかって、結構ややこしい
んですよね。
分岐しない場合でも分岐先の命令をフェッチしようとしてアドレス
エラーが出ることがありますし。

命令フェッチではないけど、CLR <mem>やMOVE SR,<mem>のリード
サイクルとかってどうしているのかな?

>  他にも各種トラップ発生時のスタック内容が正確でなかったり、探せば色々
> と見つかると思います ^^;。特定できていませんが、使用される頻度の少ない
> 命令の中にはまだバグがいるようですし(大汗。

問題になりそうなところを見つけたら報告させていただきます。

>  えっと、要約すると「ごめんなさい、『仕様』なので見逃して下さい」って
> 所でしょうか(笑) < どっかのメーカ(?)みたいだ……。

例外スタックはサイズがあっていれば中身は部分的でよいと思います。

>  MPUコアを含め、けろぴーで重くなりそうなところはx86のアセンブラで記述
> をしていますが、「やっぱりMC68Kのアーキテクチャは良いよなぁ」と改めて
> 実感しているけんじょでした ^^;。

そうでしょうそうでしょう。

> # 私は使ったことが無いので話題に参加できないのですが ^^;、話題に上っ
> # ているSC62015のアーキテクチャも見てみたいですね…。

今度、SC62015の読み物を何か書こうかなあ。
133. Re^2: けろぴーの命令フェッチ けんじょ  2000/08/17 (木) 14:04
鎌田さん、こんにちは。

> いや、私、M68Kにはうるさいものですから、重箱の隅をつつくようで
> 申し訳ないです。(^^;

68k自体、「意外な動作」(?)をする部分も結構あるようで、私は知らない
ことも多いので ^^;、色々突っ込んで頂ければ嬉しいです。


> 命令フェッチではないけど、CLR <mem>やMOVE SR,<mem>のリード
> サイクルとかってどうしているのかな?

確か、例えばCLRの場合、クリアが実行される前にそのアドレスに対するリード
が発生する……んでしたでしょうか?(自信無いです(汗))。
えっと、この辺も実装はされてないですね。


> 問題になりそうなところを見つけたら報告させていただきます。

ありがとうございます。


> >  MPUコアを含め、けろぴーで重くなりそうなところはx86のアセンブラで記述
> > をしていますが、「やっぱりMC68Kのアーキテクチャは良いよなぁ」と改めて
> > 実感しているけんじょでした ^^;。
>
> そうでしょうそうでしょう。

Z80→M68K→x86の順で触れてきた(比較的一般的かな? ^^;)もので、Z80→M68K
時の衝撃(自由度の高さとか奇麗さとか)が大きかっただけに、x86に触れた時には
(以下省略)な感じでした……(笑)。


> 今度、SC62015の読み物を何か書こうかなあ。

期待して待ってます〜(笑)。
135. Re^3: けろぴーの命令フェッチ M.Kamada  2000/08/18 (金) 04:31
けんじょさん、こんにちは。

> 確か、例えばCLRの場合、クリアが実行される前にそのアドレスに対するリード
> が発生する……んでしたでしょうか?(自信無いです(汗))。

せーかいです。
68000のこの手のヘンな挙動は、命令毎のリードサイクル数
とライトサイクル数が書いてあるクロックサイクル数の表を
じっくり観察することで発見できます。
(“青本”には書いてないかも)

例えば、「MOVEM.L (An)+,<register-list>」のリード
サイクル数は、インストラクションコードとレジスタリストと
転送データを合わせて2+2n回(nは転送するレジスタの数)
で済むはずなのに、実際のリードサイクル数は3+2n回です。
この余計な1回を知らなくてハマった人が結構いると思います。

68000のエミュレーションに関していじわるなことを言えば
きりがありません。きわめつけは、やはり
「直後の命令の自己書き換え」でしょう。
昔、私がまだ学生だった頃ですが、CCRを変化させる例外処理
ルーチンの出口を次のように書いて、どうして動かないのか
悩みました。

MOVE.W SR,@F+2
@@: MOVE.B #0,1(SP)
RTE

もしもこれが期待通りに動いてしまったら、68000を正しく
エミュレートできていないということになります。
要は「68000では直後の命令のイミディエイトオペランドに
対する自己書き換えが“直後に反映される場合”と
“直後に反映されない(次回に反映される)場合”がある」
ということを言いたいわけなのですが、もう、重箱のすみ
どころじゃないかも。

> えっと、この辺も実装はされてないですね。

けろぴーは68000のエミュレータであることよりもX68kの
エミュレータであることのほうが重要だと思います。
ですから、68000についてX68kではほとんど問題にならない
ようなところまで速度を犠牲にしてまで完璧にエミュレート
してほしいとは思いません。

ただ、けろぴーのX68kエミュレーションの性能は既に
「無茶の領域」に突入していると思うし、無茶をしている
プログラムというのは見ていて気持ちがよいので、
エミュレータを動かす環境がもっと速くなったときに備えて
どこまで無茶をされるか期待しています。(笑)

> > 今度、SC62015の読み物を何か書こうかなあ。
> 期待して待ってます〜(笑)。

SC62015に限らず、いろいろなCPUに関する読み物を書いて
みたいです。
そういうものは学生時代に書きためておくべきだった…などと
いまさら後悔しています。

う〜む、また長くなってしまった。
134. カウンタ Hiroi Makoto 2000/08/17 (木) 23:50
136. Re: カウンタ M.Kamada 2000/08/18 (金) 06:33
 ├137. Re^2: カウンタ Hiroi Makoto 2000/08/18 (金) 12:31
 │└139. Re^3: カウンタ M.Kamada 2000/08/18 (金) 16:35
 │ └141. Re^4: カウンタ Hiroi Makoto 2000/08/19 (土) 13:56
 │  └143. Re^5: カウンタ M.Kamada 2000/08/20 (日) 02:24
 └138. Re^2: カウンタ けんじょ 2000/08/18 (金) 13:51
  └140. Re^3: カウンタ M.Kamada 2000/08/18 (金) 16:36
134. カウンタ Hiroi Makoto  2000/08/17 (木) 23:50
鎌田さん、こんばんは。

カウンタ 8006 でした。8000 over おめでとうございます。
もうすぐ 10,000 の大台ですね。
6809 では盛り上がりましたが、8086 だとサッパリでしょうね(笑)。

それではまた。
136. Re: カウンタ M.Kamada  2000/08/18 (金) 06:33
広井さん、こんばんは。

> カウンタ 8006 でした。8000 over おめでとうございます。
> もうすぐ 10,000 の大台ですね。

ありがとうございます。
STUDIO KAMADAをのぞきにきてくださるみなさんのおかげで、
個人のページとしては比較的速いペースを維持できています。
内容をもっと充実していきたいと思いますので、
これからもよろしくお願いします。

> 6809 では盛り上がりましたが、8086 だとサッパリでしょうね(笑)。

8086の相棒で8087というのもありますが…同じくらいサッパリかも。
ちょっぴり幸せな気分になれそうなのは、8192とか、8888とか…。
137. Re^2: カウンタ Hiroi Makoto  2000/08/18 (金) 12:31
鎌田さん、こんにちは。

> 8086の相棒で8087というのもありますが…同じくらいサッパリかも。

なんと 8086 ゲットしちゃいました。どうしましょう。
はぁぁ、サッパリでございますわ(笑)。
139. Re^3: カウンタ M.Kamada  2000/08/18 (金) 16:35
広井さん、こんにちは

> なんと 8086 ゲットしちゃいました。どうしましょう。
> はぁぁ、サッパリでございますわ(笑)。

予告しておいて踏むとは素晴らしい!…え?そうじゃない?(笑)
では、あいのてを。「はぁ〜サッパリ!サッパリ!」
141. Re^4: カウンタ Hiroi Makoto  2000/08/19 (土) 13:56
鎌田さん、こんにちは。

> 予告しておいて踏むとは素晴らしい!…え?そうじゃない?(笑)
> では、あいのてを。「はぁ〜サッパリ!サッパリ!」

あいのて、ありがとうございます(笑)。
いやほんとに、狙っていたわけではないのですが、ものの見事に
踏んでしまいました。

グXXルも面白かったのですが、その当時にハマったのが某赤ずきんXX
でした。そういえば、X68k で著作権は大丈夫なのか心配になるくらい
よく似ていた同人ソフトがありました。まあ、タケル(懐かしい!)で購入
できたので、大丈夫だったのでしょう。
以上、昔話でした(笑)。
143. Re^5: カウンタ M.Kamada  2000/08/20 (日) 02:24
広井さん、こんにちは。

> グXXルも面白かったのですが、その当時にハマったのが某赤ずきんXX
> でした。

私は赤ずきん××のほうをまったくチェックしていなかったので、
当時は周囲の話題についてゆけなくて困りました。

なぜか手に入れた××ベンチを初めて060turboで動かしたときは
その説得力(笑)に感動しました。
138. Re^2: カウンタ けんじょ  2000/08/18 (金) 13:51
けんじょです。
ちょっと横レスになりますが ^^;。

> 8086の相棒で8087というのもありますが…同じくらいサッパリかも。
> ちょっぴり幸せな気分になれそうなのは、8192とか、8888とか…。

個人的には8255とか8530だと少し幸せになれるかも…(笑)。
ちなみに私が来た時には8089でした。
140. Re^3: カウンタ M.Kamada  2000/08/18 (金) 16:36
けんじょさん、こんにちは。

> 個人的には8255とか8530だと少し幸せになれるかも…(笑)。

うみゅ。X68000で使われているPIOとSIOですな。
142. 8255 けんじょ 2000/08/19 (土) 22:00
144. Re: 8255 M.Kamada 2000/08/20 (日) 02:43
 └147. Re^2: 8255 けんじょ 2000/08/22 (火) 10:33
  └153. Re^3: 8255 M.Kamada 2000/08/23 (水) 00:25
142. 8255 けんじょ 2000/08/19 (土) 22:00
8255は、「PIA」と呼ばれていたような気がします。
何の略だったかは、ちょっと失念してしまいましたが ^^;。
144. Re: 8255 M.Kamada  2000/08/20 (日) 02:43
けんじょさん、こんにちは。

> 8255は、「PIA」と呼ばれていたような気がします。
> 何の略だったかは、ちょっと失念してしまいましたが ^^;。

ちょっと調べてみました。
Intelの8255はPPI(Programmable Peripheral Interface)、
MotorolaのMC6821はPIA(Peripheral Interface Adapter)、
ZilogのはZ80 PIO(Parallel Input/Output)ですね。
どれも似たようなものですが、各社呼び方がバラバラ。
個人的にはPIOが一番しっくりきます。

カウンタのほうは8255過ぎちゃいましたね。誰が踏んだのかなぁ。
147. Re^2: 8255 けんじょ  2000/08/22 (火) 10:33
鎌田さん、こんにちは。

> ちょっと調べてみました。
> Intelの8255はPPI(Programmable Peripheral Interface)、
> MotorolaのMC6821はPIA(Peripheral Interface Adapter)、
> ZilogのはZ80 PIO(Parallel Input/Output)ですね。

PIAは6821の愛称でしたか… ^^;。
Z80時代に、Zilogのを「PIO」、8255を「PIA」と覚えて区別してたんで、
ずっとそうだと思ってました(汗。いや、お恥ずかしい……。


> カウンタのほうは8255過ぎちゃいましたね。誰が踏んだのかなぁ。

既に8600を超えてますね。この調子だと10kもすぐに超えてしまいそうで
すね。
153. Re^3: 8255 M.Kamada  2000/08/23 (水) 00:25
けんじょさん、こんにちは。

> 既に8600を超えてますね。この調子だと10kもすぐに超えてしまいそうで
> すね。

今のペースだと10000ヒットを達成するのは9月の頭くらいかなあ。

アセンブラ関係のコンテンツ増やさなきゃ。
145. X68030のエミュレータって AC-YOUCH 2000/08/21 (月) 20:45
148. Re: X68030のエミュレータって M.Suzuki 2000/08/22 (火) 10:59
│├149. Re^2: X68030のエミュレータって AC-YOUCH 2000/08/22 (火) 18:58
│├150. Re^2: X68030のエミュレータって AC-YOUCH 2000/08/22 (火) 19:11
│└154. Re^2: X68030のエミュレータって M.Kamada 2000/08/23 (水) 00:25
151. Re: X68030のエミュレータって M.Kamada 2000/08/23 (水) 00:24
 └155. Re^2: X68030のエミュレータって AC-YOUCH 2000/08/23 (水) 12:04
  └158. Re^3: X68030のエミュレータって M.Kamada 2000/08/25 (金) 02:20
   ├159. Re^4: X68030のエミュレータって M.Suzuki 2000/08/25 (金) 10:28
   │└160. Re^5: X68030のエミュレータって M.Kamada 2000/08/25 (金) 15:46
   └174. 「BTST.B D0,#$33」の答え M.Kamada 2000/09/01 (金) 15:31
145. X68030のエミュレータって AC-YOUCH  2000/08/21 (月) 20:45
こんにちわ AC-YOUCHです。
68020以降のコードを使ったソフツのスクリーンショットを
撮りたいと思っているのですが、何かいい方法は ないですかね?
現状、WINで動く68030エミュはない(のかな?)みたいなので
困っています。
やっぱり68000コードに書き直すしかないのかな。
いい方法あったらお願いします。
148. Re: X68030のエミュレータって M.Suzuki 2000/08/22 (火) 10:59
こんにちは。M.Suzukiです。

> 68020以降のコードを使ったソフツのスクリーンショットを
> 撮りたいと思っているのですが、何かいい方法は ないですかね?
> 現状、WINで動く68030エミュはない(のかな?)みたいなので
> 困っています。
> やっぱり68000コードに書き直すしかないのかな。
> いい方法あったらお願いします。

X68030のエミュレータは無いですが、Amigaエミュレータには
68030対応の物が有るようです。

UAE - The UAE Amiga Emulator
http://www.freiburg.linux.de/~uae/

問題は、68030→68000と、X680x0→Amigaのどっちの手間が掛かるかですね(^^;
149. Re^2: X68030のエミュレータって AC-YOUCH  2000/08/22 (火) 18:58
M.Suzukiさん こんにちわ

> X68030のエミュレータは無いですが、Amigaエミュレータには
> 68030対応の物が有るようです。
〜〜〜〜〜〜〜
> 問題は、68030→68000と、X680x0→Amigaのどっちの手間が掛かるかですね(^^;

以前 AMIGAのソフツを解析したのですが、
カスタムチップ系の仕様が ちっとも判らず....
国内サイトに その手の資料も見つからず...
(その時はアルゴリズムを知りたかったので
それ以上突っ込まなかったのですけれども)

X680x0→Amigaは厳しそうなのでやめておきます(^^;

とりあえず68030→68000をやってみたら
何時の間にかスーパーバイザがユーザーモードとかに
戻っているのでmove.w CCR -> move.w SRにバグが...
ギャフン


150. Re^2: X68030のエミュレータって AC-YOUCH  2000/08/22 (火) 19:11
アミガの話が出て思い出したのですが、
丁度ポリフォンが発売された当初、NCS(ポリフォン発売元)の
ネオさんの家で見せてもらったメガデモが強烈でした。

ポリゴンが飛び回り、ステレオPCMが喋り捲り、
画面上半分がインターレースで下半分がノンインターレスだったり。
30分以上のデモだったのに2DDの一枚のフロッピーだったり。

なんかまた欲しくなってきた(笑



154. Re^2: X68030のエミュレータって M.Kamada  2000/08/23 (水) 00:25
M.Suzukiさん、こんにちは。

> UAE - The UAE Amiga Emulator
> http://www.freiburg.linux.de/~uae/

UAEはソースも公開されていますね。
眺めていたら…う〜ん、エミュレータ作りたくなってきた。(笑)
151. Re: X68030のエミュレータって M.Kamada  2000/08/23 (水) 00:24
AC-YOUCHさん、こんにちは。

> 68020以降のコードを使ったソフツのスクリーンショットを
> 撮りたいと思っているのですが、何かいい方法は ないですかね?
> 現状、WINで動く68030エミュはない(のかな?)みたいなので
> 困っています。
> やっぱり68000コードに書き直すしかないのかな。
> いい方法あったらお願いします。

X68030で実際に動かして、POWER OFF割り込みか何かで画面の
情報を保存して後からスクリーンショットとして復元するとか。
スプライトダブラーやラスタースクロールなどが使われていて
画面の復元が困難なソフトもあるけど。
155. Re^2: X68030のエミュレータって AC-YOUCH  2000/08/23 (水) 12:04
鎌田さん、こんにちわ。
ずばりX68の画面リソース全部使ったり、スプライトダブラー
使ったりしているので難しいかも...
関係ないけど68000コードで tst.l a0 とかって出来なかったのね。
ちょっと驚きです。

145. X68030のエミュレータって AC-YOUCH 2000/08/21 (月) 20:45 [ 10 ]
├151. Re: X68030のエミュレータって M.Kamada 2000/08/23 (水) 00:24 [ 5 ]
│└155. Re^2: X68030のエミュレータって AC-YOUCH 2000/08/23 (水) 12:04 [ 4 ]
│ └158. Re^3: X68030のエミュレータって M.Kamada 2000/08/25 (金) 02:20 [ 3 ]
│  ├174. 「BTST.B D0,#$33」の答え M.Kamada 2000/09/01 (金) 15:31 [ 0 ]
│  └159. Re^4: X68030のエミュレータって M.Suzuki 2000/08/25 (金) 10:28 [ 1 ]
│   └160. Re^5: X68030のエミュレータって M.Kamada 2000/08/25 (金) 15:46 [ 0 ]
└148. Re: X68030のエミュレータって M.Suzuki 2000/08/22 (火) 10:59 [ 3 ]
 ├154. Re^2: X68030のエミュレータって M.Kamada 2000/08/23 (水) 00:25 [ 0 ]
 ├150. Re^2: X68030のエミュレータって AC-YOUCH 2000/08/22 (火) 19:11 [ 0 ]
 └149. Re^2: X68030のエミュレータって AC-YOUCH 2000/08/22 (火) 18:58 [ 0 ]
158. Re^3: X68030のエミュレータって M.Kamada  2000/08/25 (金) 02:20
AC-YOUCHさん、こんにちは。

> ずばりX68の画面リソース全部使ったり、スプライトダブラー
> 使ったりしているので難しいかも...

スプライトダブラーを使っているソフトのスクリーンショットを
X68kで撮るのは難しいですね。
やっぱり68000コードに改造してエミュレータで走らせるしか。
エミュレータを68030に対応してもらうのは大変かな、やっぱり。

> 関係ないけど68000コードで tst.l a0 とかって出来なかったのね。
> ちょっと驚きです。

いきなりクイズです。
MC68000のとMC68030のそれぞれについて、存在する命令はどれ?

BTST.B D0,#$33
CLR.L A0
CMPI.W #$6809,(100,PC)
EOR.B (A0)+,D0
INC.W D0
LINK.L A0,#-65536
MOV3Q.L #-1,(A0)+
TST.B (100,PC)
TST.L A0
159. Re^4: X68030のエミュレータって M.Suzuki 2000/08/25 (金) 10:28
こんにちは。M.Suzukiです。

> やっぱり68000コードに改造してエミュレータで走らせるしか。
> エミュレータを68030に対応してもらうのは大変かな、やっぱり。

エミュレータを対応してもらうのは大変かも知れませんね。
ソースが有るのなら、awk辺りで68030→68000変換とか
出来そうな気もしますけど(^^;

> いきなりクイズです。
> MC68000のとMC68030のそれぞれについて、存在する命令はどれ?

○ BTST.B D0,#$33
× CLR.L A0
○ CMPI.W #$6809,(100,PC)
○ EOR.B (A0)+,D0
× INC.W D0
× LINK.L A0,#-65536
× MOV3Q.L #-1,(A0)+
○ TST.B (100,PC)
○ TST.L A0

かな?hasのおかげでclr.l a0がsub.l a0,a0になるのは知ってるけど、
その手の奴が他にも有りそうで自信無し(笑)

それと、こんなぺえじを見付けました。
比較してみるのも良いかも。

HOW TO OPTIMIZE FOR THE PENTIUM PROCESSOR
http://www.csl.sony.co.jp/person/fnami/pentopt.htm

日本語なので御安心を(^^;
160. Re^5: X68030のエミュレータって M.Kamada  2000/08/25 (金) 15:46
M.Suzukiさん、こんにちは。

> エミュレータを対応してもらうのは大変かも知れませんね。
> ソースが有るのなら、awk辺りで68030→68000変換とか
> 出来そうな気もしますけど(^^;

フルフォーマットの実効アドレスとか大変かも。

> > いきなりクイズです。
> > MC68000のとMC68030のそれぞれについて、存在する命令はどれ?
:
> かな?hasのおかげでclr.l a0がsub.l a0,a0になるのは知ってるけど、
> その手の奴が他にも有りそうで自信無し(笑)

あ、日本語変でしたけど、「MC68000とMC68030のそれぞれについて」です。
一方でしか使えないのが混ざってますので。
他の人もマニュアル見たりアセンブルしてみたりして挑戦してね。

> HOW TO OPTIMIZE FOR THE PENTIUM PROCESSOR
> http://www.csl.sony.co.jp/person/fnami/pentopt.htm

情報ありがとうございます。
どのプロセッサでも同じようなことを考える人がいるのね。

> 日本語なので御安心を(^^;

ちょ、直訳?
174. 「BTST.B D0,#$33」の答え M.Kamada  2000/09/01 (金) 15:31
クイズの答えです。

BTST.B D0,#$33

この命令は、MC68000、MC68030のいずれでも使え
ます。

この命令は「BTST.B D0,(A0)」などと同様に、
「ソースオペランド(D0)の下位3ビットをビット
番号とみなして8ビットのデスティネーション
オペランド(#$33)のビットテストを行う命令」
です。

ビットテスト命令というと「デスティネーション
オペランドの特定の位置のビットの状態を調べる」
というイメージがありますが、この命令の場合は
デスティネーションオペランドが定数なので、
ソースオペランドの下位3ビットを分類することが
目的となります。

具体的には、$33はビット0,1,4,5が1なので、
「D0レジスタの下位3ビットが0,1,4,5のときZ
(CCRのビット2)をクリア、2,3,6,7のときZを
セットする命令」ということになります。

「BTST.L #1,D0」とZの結果が逆になっています。