もう23時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50  

MSXハードソフトスレ2 (売買関係を除く)

1 :ナイコンさん:2008/01/24(木) 19:25:41

MSXのハードやソフト、技術関係について語るスレです。


↓オクや売買に関する話はこちらの隔離スレで思う存分どうぞ。
■MSXハードソフトスレ(ヤフーオークション)■
http://bubble6.2ch.net/test/read.cgi/i4004/1201164364/





728 :718:2011/11/15(火) 21:17:58.91
>>725-727
俺が言いたかったのは、
>>716,717の言う「ディレイスロット」の意味が間違っているってこと。

>語長が異なると、アラインメントに差が生じ、必ずパイプラインハザードが生じる。
>従ってこの部分にディレイスロットが入る。
↑これ、分岐命令関係ないだろ。ディレイスロットは必ず分岐命令に関わってくる。

あんた1ヶ月間必死にRISCの勉強してたのか?
その割には全然言っていることがメチャクチャだな。

MIPSでもSHでもかまわんから、
ディレイスロットが入る場合の具体的なコード例を書いて見せてくれ。





729 :718:2011/11/16(水) 23:29:04.65
>三つ目はLD(MOVE)命令に対する拡張で、LD A,Hなどの機械語に三つのバリエーションを持つ。
>これは同じ処理を三つの機械語から選択出来るという事を意味する。しかしアセンブラレベルでは
>区別する事が出来ない。(ニーモニックが区別されておらずアセンブラも未対応の為)

↑すまん、これが何を言っているのかよくわからん。
手元にあるMSX-DataPack turboR版のR800命令セットのページを見ても、
どこに君の言っているようなことが書いてるのかわからん。

あなたが一体どんな資料を見て以上のようなことをおっしゃっておられるのか、
私のようなバカにわかるように懇切丁寧に教えていただけませんか?

(書き込みが1日遅れたのはDataPackの発掘に時間がかかったからです。すみません。)




730 :ナイコンさん:2011/11/17(木) 12:11:23.42
>729
あなたが知りたいと思う情報は、Masao Kawataが書いたZ80/R800 Assembly/Machine Language
Op-Code Tablesに書かれている。
一例として挙げるならば、LD A,D という命令は、0x7A、以外に0xDD,0x7A、または、0xFD,0x7A
というバリエーションを持つ。
同じようにシフト命令や他の命令においても、同一の処理を異なる命令で実装する事が出来る。
これらも選択的バリエーションに当然含まれる。
しかしこれらの手法はR800の特徴にのみ当てはまる事であり、ARMやMIPS、SHに適用できる訳ではない。
あなたは理解していなのでMIPSからやり直すと良いだろう。SHはその設計ゆえに教育上参考にはならない。

あなたが所有し参照している書籍は重要な資料とはならない。
今日までこうした視点でR800を評価した資料が見当たらない。それは本質的にRISCを理解する人が評価リポートを
書いていない証拠だろう。
当時のASCII Corp.は新卒社の入社希望ランキング10位以内に入っていたはずだ。優秀な人材がこれらの設計開発に
当たっていたとしても不思議ではない。
しかし恐らく設計者以外のエンドユーザー(特にホビイストや若年若者層)には理解することは難しかっただろう。

731 :718:2011/11/17(木) 22:05:50.20
0xDD,0x7Aは未定義命令なはずだが。 

そのKawata某とやらはR800についてオフィシャルな発言が出来る立場の人?

あと、あんた>>728は無視?

732 :718:2011/11/17(木) 22:45:36.31
今、
Z80 and R800 Assembly/Machine Language Op-code Tables
とかいうページ見たんだが。

要するに、
「LD D,DとNOPはほとんど同じである。
同様に、R800においては 41 も DD 41 も FD 41 もLD B,Cである」
と言っているにすぎないね。

単に、未定義命令に既存の命令と同じ働きをするものがあると言っているだけ。
RISCなんて全然関係ない。それどころか、そのページには
「Z80において22 nn も ED 63 nn も LD (nn),HLである」
とも書いてある。Z80はRISCじゃないだろ。

733 :718:2011/11/17(木) 23:07:04.84
てゆうか、そのZ80 and R800 Assembly/Machine Language Op-code Tableって、
「日本のMSXマガジンを元ネタにしています」と書いてあって笑った。

MSXマガジンも確かにASCIIの発行物だけどね。
MSX-DataPackの方がどう考えてもオフィシャル資料としては上だろ。

#当時俺はMSXマガジンも全部目を通していたはずなんだが
#「R800においては 41 も DD 41 も FD 41 もLD B,Cである」
#なんて趣旨のことが書いてあるのを見た覚えが無い。
#まぁ、見落としかもしれんし、さすがにMSXマガジン全部は持っていないんで
#これに関しては反証出せんわ。

734 :718:2011/11/17(木) 23:23:22.50
>三つ目はLD(MOVE)命令に対する拡張で、LD A,Hなどの機械語に三つのバリエーションを持つ。
>これは同じ処理を三つの機械語から選択出来るという事を意味する。

↑ここで既にあんたは破綻しているね。例として「LD A,H」を出した時点で負け。

LD A,H は、普通にZ80だと 7C だが。
R800の場合、DD 7C はLD A,H ではなく LD A,IXH になる。
全然違うじゃねーか(笑

百歩譲って、LD A,H はタイプミスかなんかだったとして目をつぶってやろう。
次にあんたが出した
LD A,D が 7A, DD 7A, FD 7A の3つに割り当てられていたとして、
何のメリットがあるの? 誰が得するの?

少なくともDataPackでは DD 7A なんて認めていない。
もしアホなプログラマーが LD A,D のつもりで DD 7A を使ったら、
将来R800の上位CPUが出て、DD 7A に全く別のコードが割り当てられたら
そのアホプログラマーの書いたソフトは動かなくなる。

735 :ナイコンさん:2011/11/18(金) 01:35:00.50
新規命令使うとパイプラインがどうこうで並列実行されるのかしらとおもったり。
バリエーション三つはさすがに無駄よね。

736 :718:2011/11/18(金) 07:08:50.16
おそらく、Z80の時代から 7A DD は LD D,A として機能していた。
しかしザイログはそんな無駄なものを命令コード表に載せなかった。
ただそれだけの話。

R800になってから追加された画期的な新機能なんかじゃない。

737 :718:2011/11/19(土) 10:20:27.79
よくよく考えたら、
「同一の処理を異なる命令で実装する事が出来る。 」
なんて8080の時代からあるんだよな。
Aレジスタが0かどうか調べるのによく使われる「AND A」「OR A」がそう。
この2つは全く同じ挙動をする。(ニモニックは違うけどね)

「同一の処理を異なる命令で実装する事が出来る 」8080ってスゴイCPUなんだな(笑

>>730
あなたはCPUというものを全く理解していなので8080からやり直すと良いだろう。

738 :ナイコンさん:2011/11/19(土) 19:17:08.31
A1WXのメモリ増やしたいんだけど20ピンDIPパッケージな1MビットDRAMが手に入らない・・・

739 :ナイコンさん:2011/11/19(土) 19:35:59.32
>>738
諦めてユニバーサル基板とか変換基板つかって、16Mbitぐらいのをなんとかつないでみるとか…


そういや、カートリッジスロット基板+SRAMで、リフレッシュとか全部無視してつないで、RAMカートリッジを作ったことがあるが
内蔵RAMんとこにはSRAMは無理なのかしら…

740 :ナイコンさん:2011/11/19(土) 20:11:39.12
馬鹿

741 :718:2011/11/20(日) 22:12:27.02
>>736

「おそらく、Z80の時代から 7A DD は LD D,A として機能していた。」

と書いたあと、それが本当に正しいのか急に気になった。
俺は>>730氏みたいなウソツキにはなりたくないんで。

そこで、MSX2+(A1WSX)で試してみた。(MSX2+なので当然CPUはZ80)
次のBASICプログラムを実行してみた。

10 CLEAR 200,&HCFFF;
20 A=&HD000;
30 READ D$:IF D$="!" GOTO 100
40 POKE A,VAL("&H;"+D$)
50 A=A+1:GOTO 30
100 DEF USR=&D000;:T=USR(0)
110 PRINT HEX$(PEEK(&HD100;))
120 END
200 DATA AF
210 DATA 01,22,11
220 DATA 11,44,33
230 DATA 21,66,55
240 DATA DD,21,88,77
250 DATA FD,21,AA,99
260 DATA DD,7A
270 DATA 32,00,D1
280 DATA C9,!

742 :718:2011/11/20(日) 22:12:51.14
アセンブラ的には次のようになる。

XOR A
LD BC,01122H
LD DE,03344H
LD HL,05566H
LD IX,07788H
LD IY,099AAH
DB 0DDH,07AH ; ←渦中の命令、DD付きLD A,D
LD (0D100H),A
RET

実行結果は"33"だった。みんなも実行してみよう。

結論:「DD 7A は Z80の時代から LD A,D だった。」

もう>>730氏も出てこないようなので俺もコテハン「718」はこれを最後にする。


743 :ナイコンさん:2011/11/25(金) 11:41:03.23
SCCにRAMを増やしたいけど(ry

744 :ナイコンさん:2011/12/08(木) 23:28:39.74
>「LD D,DとNOPはほとんど同じである。
>同様に、R800においては 41 も DD 41 も FD 41 もLD B,Cである」
>と言っているにすぎないね。

今のチップを扱ってる人は一見こういう無駄に見える部分に有意な価値を見出す。
古い考えの人はこの部分に価値を見出せないですね。

>MSX-DataPackの方がどう考えてもオフィシャル資料としては上だろ。
チップのデータシートの方がオフィシャル資料としては上でしょう。
汎用LSIで構成されてるのだから。そのデータシートは見当たらないですね。
R800のデータシートやアプリケーションマニュアルありましたらください。
MIPSならきちんと書かれているけれど、川崎でもNECエレクトロニクスの8bitでも、
RISC設計であるのにパイプライン詳細を記述した資料は見当たりませんね。


745 :ナイコンさん:2011/12/08(木) 23:35:18.71
>735
今のCPUと比較してより小さな設計なので並列実行云々とはなりません。
歴史的に珍しい設計なので内部のパイプを話題にしているだけです。
コードは従来どおり普通に書けば良いだけです。

当時のベンチマークではV33Aや286等と比較して良い評価を得ていますよ。
ここにはR800の評価が若干うれしくない人が居るようですが。


746 :ナイコンさん:2011/12/08(木) 23:52:56.48
>>744

で、あんたはR800のデータシートを持っているの?

もし持っているなら、なぜ最初にそれを出さない? なぜ最初に
「Masao Kawataが書いたZ80/R800 Assembly/Machine Language Op-Code Tables」
とかいう糞ホームページを出した?

>今のチップを扱ってる人は一見こういう無駄に見える部分に有意な価値を見出す。
>古い考えの人はこの部分に価値を見出せないですね。

だから、「同じ働きをする複数の命令がある」
ってのは8080の時代からあるって言ってるだろ。
あんたは>>726で、それがさもR800固有の機能であるかのような
ウソをついているんだが。

>川崎でもNECエレクトロニクスの8bitでも、
>RISC設計であるのにパイプライン詳細を記述した資料は見当たりませんね。

1980年代はともかく、いまどきはこういう詳細情報は
守秘義務契約を結んだ相手にしか出さないのが常識。
そんな常識も知らないなんて、この業界で仕事したこと無いだろ。

747 :ナイコンさん:2011/12/09(金) 02:34:38.33
>>741
2+はZ80A単品は入ってない。周辺複合したMSXエンジンとやら。丸々入っているのか互換なのかは判らん。

748 :ナイコンさん:2011/12/09(金) 06:08:30.78
しかし2+がR800ではないのは間違いない。

もし2+のCPUがR800だとしたら、それはそれで衝撃的大ニュースだな。

749 :ナイコンさん:2011/12/09(金) 08:48:41.56
>741
なぜBASICでアセンブラを書くの?
モニタを使った方がいい。マシン語モニタ'LORD'なら、

>mwD000
xor a
ld bc,01234h
ret

と書いて、16進コードではなくニーモニックで入力、

>goD000

で実行終了だけど。結果のレジスタ表示はrsコマンドで確認出来るし。


750 :ナイコンさん:2011/12/09(金) 08:56:50.87
古いけどSimple asmであれば、run"simpleasm"と実行し、コマンドエディタ上から、

10 xor a
20 ld bc,1234h
30 ld (d100h),b
40 jp 9000h
と書いてから、

>A o/c700
でアセンブル後に指定メモリにロード、その後モニタコマンドで

>G c700
>D d100
等とし結果をダンプ表示すれば良いのだけど。
BASICで16進コード書く意味無いよ。


751 :ナイコンさん:2011/12/09(金) 08:56:57.15
>>749
モニタソフトをもっていること前提?

752 :ナイコンさん:2011/12/09(金) 21:31:58.91
>>749,750
マシン語の入力手段など問題ではない。

問題は「DD 7A はR800以外でも LD A,D か?」だ。

「DD 7A はR800で初めて LD A,D になった」とぬかすバカ(>>726)がおってのう。
そいつを説得する必要があったのじゃよ。

753 :ナイコンさん:2011/12/17(土) 19:14:08.66
誰か藤原覚ってオークション嵐、何とかしれよ!
買う気もないのに毎晩吊り上げ!
複数IDで高値転売!
MSXカテゴリの2/3が、藤原1個人の出品!ありえない!

よしまつは仕事中2ちゃんねるやめれ!

754 : 【大吉】 【1152円】 :2012/01/01(日) 00:08:55.48

                    _____
                  /::::::::::::::::::::::::::\
                 /:::::::::::::::::::::::::::::::::::::::\
                |;;;;;;:::|_|_|_|_|:::;;;;;;| 
                | ミ./  \,)(,,/  ヽミ |
               ( 6.   -◎─◎-    ∂)--,,,_
               ,/ヽ  ∴ )(o o)( ∴ ノ   , ゙',
               r´  ヽ 、   ,_ 3_,.   .,,ノ    /  l
             _,f'、   ,, ヽ.______.ノ゙''''i、,-''"゙i  i
          _,,r''´  ゙ "´            i   l  ,'
       ,,.‐'´ ゙'' ,、,,‐'iン'   .....   ..:::..     ', r,‐‐' ノ
   r、__,-'´   _,,-'´_,,,.-ヽ,       ,' '、    。  l i,)  /-,,_
  ヒ'-'ゝ. 、 ,,.-‐'',.-''"´    l'、,. 。  ,...ノ  ゙'、,,_  ノソ_,/    `゙'‐,
  ゝミ_,,ノ"  ,'´       iヽ,`゙゙゙´       ゙゙"./~i      ....::',
        ト;:::..      ', i'、         ,/ノ.,ノ     ..:: ゙゙ ',


755 :ナイコンさん:2012/01/31(火) 17:01:00.18
論理回路設計者であれば、命令アラインメントの揃っていないISAにおいて、
RISC設計する場合、二者の選択が可能だと気づくと思うが。
一つは、ニーモニックの命令互換性は有るが、異なるサイズのアラインメントの命令を用意し
プログラムコードとしては互換性が無くなる従来型の命令を並べ変える事。
もう一方は内部に遅延スロットを挿入すること。これは命令互換性をもたせる事が出来る。
前者は同じ命令でも長さが異なる命令で対応可能だろうが、恐らくこのコードは
C言語の場合値引渡しが多いのでメモリアクセスのレイテンシに効いてくる。
前者の場合命令の並びが失敗すればCPUは内部でロックする。そういう使いづらさを避けるなら
後者を選択するだろうな。
そもそもZ80の非公開命令を云々言っても意味が無いが、偶然備わっていた非公開命令を大いに利用する
ことは可能だろう。
確かi860/960や68060は命令コードレベルでRISC内部回路に影響を与える珍しい(奇妙な)設計だが極端に言えばそれと似ているな。

756 :ナイコンさん:2012/01/31(火) 17:28:06.84
MSXのメモリ管理方法は問題がある。特にメモリーマッパと呼ばれるような仕組みはメモリ拡張方法としては適切
ではなく、仕様に含めるものではなく捨て去るべきものだったろう。
http://www.vorc.org/document/scc.html
↑にはメモリーマッパがコナミのSCC音源に含まれていて、それは不正コピー防止用を意図したものだ
という話が語られている。
非常にトリッキーなバンク切り替えなのでCPU設計にも合致しずらく、しかもその使いづらさが逆にコピー防止機能として
役割を持つのだから、この仕組みをRAM拡張メモリとして仕様に取り込むほうがおかしい。
拡張RAMそのものがわざと扱いづらい仕組みで構成されているのだから、
これではパーソナルコンピュータ用途のホビーユーザーにとっては不幸の再生産でしかない。

コピー防止機能を意図した使いづらいメガROM由来のメモリマッパーというRAM拡張よりも
I/O経由のRAM拡張(RAMDISKのように)や64180などの拡張のほうがソフトウエア発展にとって最善だった事だろう。
そもそもプログラムコードで64KB全て使う物など無いので、キャッシュ用途を賄える設計で十分のはずだが。
MSXは拡張メモリ方法の選択を誤ったな。
メモリーマッパは基本的に捨て去るべきものだな。


757 :ナイコンさん:2012/01/31(火) 21:55:53.35
>>737
>Aレジスタが0かどうか調べるのによく使われる「AND A」「OR A」がそう。
>この2つは全く同じ挙動をする。(ニモニックは違うけどね)

8080はよく知らんけど、Z80ならその2命令は挙動違うよ。

758 :ナイコンさん:2012/01/31(火) 22:48:23.71
>>755
>偶然備わっていた非公開命令を大いに利用する
>ことは可能だろう。

Undocumentedの内容なんて使えるわけないじゃん。アホか。

759 :ナイコンさん:2012/02/01(水) 00:00:23.78
>>757
どう違う?
俺が命令表見た限りではフラグの変化も含めて全く同じにしか見えんが。
どう違うか説明してくれ。

760 :ナイコンさん:2012/02/01(水) 00:03:31.41
>>755,756
君まともな仕事してないだろ。
少なくとも技術系の仕事に正社員で就いたことないだろ。
きちんとCPUを理解している人は君のような文章を書かない。

つーか、君友達いないだろ。
世界中で誰も君をかまってくれないだろ。

761 :ナイコンさん:2012/02/01(水) 00:33:30.93
>>759
> どう違うか説明してくれ。

命令表に書いてあることを他人に説明しろって? とんだ甘ったれだな。

Z80 Family CPU User Manual
http://www.z80.info/zip/z80cpu_um.pdf
> AND s
> Operation: A ← A ∧ s
(中略)
> H is set

> OR s
> Operation: A ← A ∨ s
(中略)
> H is reset

Hフラグへの挙動が違うんだよ。勉強になったか?

762 :ナイコンさん:2012/02/01(水) 00:36:36.77
>君まともな仕事してないだろ。
>少なくとも技術系の仕事に正社員で就いたことないだろ。
>きちんとCPUを理解している人は君のような文章を書かない。
>
>つーか、君友達いないだろ。
>世界中で誰も君をかまってくれないだろ。

こーゆーこと書いて自分に返ってくると怖いよね。

763 :ナイコンさん:2012/02/01(水) 00:45:41.00
>どう違う?
>俺が命令表見た限りではフラグの変化も含めて全く同じにしか見えんが。
>どう違うか説明してくれ。

これは恥ずかしい。

764 :759:2012/02/01(水) 00:49:57.45
>>761
すまん。俺の記憶違いだった。

765 :760:2012/02/01(水) 00:53:24.87
>>こーゆーこと書いて自分に返ってくると怖いよね。

いえ、全然自分に返ってきていませんが。


766 :ナイコンさん:2012/02/01(水) 00:57:19.01
>>765
> >>こーゆーこと書いて自分に返ってくると怖いよね。
>
> いえ、全然自分に返ってきていませんが。

会話になってないゾ。アタマ大丈夫?

767 :ナイコンさん:2012/02/01(水) 01:01:01.91
>>765
凸「保険に入ってないと、大きい病気になったりしたら怖いよね。」
凹「え?俺は元気だけど?」

これぐらいトンチンカン

768 :ナイコンさん:2012/12/01(土) 04:09:10.68
547 :ナイコンさん:2012/11/19(月) 21:29:28.63
ゲームレジェンドで某MSXerの人(草加)に、MSX30周年記念Twitterアカウントの中の人は誰かと聞いたら(草加、横井、ニューファンキ古林の誰かw)、首にグラディウス2のカートリッジを突き付けられて
「それ以上、首を突っ込むな…」とドスの利いた声で言われた。MSXer(日下)怖い(>_<)
12:15pm 日曜 5月 20

769 :ナイコンさん:2012/12/01(土) 11:11:31.52
satopin

770 :ナイコンさん:2012/12/11(火) 01:15:09.97
カシオのMX-101を買ったのですが、メモリを32キロバイトに拡張しようとして
ナショナルの16キロバイトRAMカートリッジCF2131を挿して起動したのですが、
BASIC起動時に表示されるフリーエリアが12000バイトくらいのままです。
これはMX-101かRAMカートリッジが壊れているのでしょうか?
それともメーカをあわせないと動かないのでしょうか?

771 :ナイコンさん:2012/12/11(火) 10:26:28.41
>>770
CF2131の仕様が解らんな。
とりあえず、ファミコンとかのカートリッジクリーナーで磨いて、抜き差し何度かしてみる。


ソニー製16KBは使えるようだ。
BASICのエリアはこんなんらしい>http://www.geocities.jp/dcc13579/msx1soft-sonota.htm

772 :ナイコンさん:2012/12/16(日) 20:38:23.18
MSX2用 うる星やつら 恋のサバイバル・バースディ
http://ameblo.jp/koorogiyousyoku/entry-11428444624.html
このゲームは完成度が高そうなレビューだな

773 :ナイコンさん:2012/12/17(月) 07:29:57.33
コオロギウザス

774 :ナイコンさん:2012/12/17(月) 11:00:01.47
ソフトスレにもあったな、うる☆… やっぱり自前宣伝なのか…

775 :ナイコンさん:2012/12/24(月) 09:56:32.78
ついに本スレも立たなくなったのかw

776 : 【大吉】 【517円】 :2013/01/01(火) 15:45:33.12
                    _____
                  /::::::::::::::::::::::::::\
                 /:::::::::::::::::::::::::::::::::::::::\
                |;;;;;;:::|_|_|_|_|:::;;;;;;| 
                | ミ./  \,)(,,/  ヽミ |
               ( 6.   -◎─◎-    ∂)--,,,_
               ,/ヽ  ∴ )(o o)( ∴ ノ   , ゙',
               r´  ヽ 、   ,_ 3_,.   .,,ノ    /  l
             _,f'、   ,, ヽ.______.ノ゙''''i、,-''"゙i  i
          _,,r''´  ゙ "´            i   l  ,'
       ,,.‐'´ ゙'' ,、,,‐'iン'   .....   ..:::..     ', r,‐‐' ノ
   r、__,-'´   _,,-'´_,,,.-ヽ,       ,' '、    。  l i,)  /-,,_
  ヒ'-'ゝ. 、 ,,.-‐'',.-''"´    l'、,. 。  ,...ノ  ゙'、,,_  ノソ_,/    `゙'‐,
  ゝミ_,,ノ"  ,'´       iヽ,`゙゙゙´       ゙゙"./~i      ....::',
        ト;:::..      ', i'、         ,/ノ.,ノ     ..:: ゙゙ ',

777 :ナイコンさん:2013/01/03(木) 22:03:35.17
>>775
自分で立てようとしない チ キ ン 乙 w

326 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]

新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.0.7.9 2010/05/24 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)