■ このスレッドは過去ログ倉庫に格納されています
究極の8ビット機を妄想するスレ Part 11
- 1 :ナイコンさん:2019/10/08(火) 20:01:55.20 .net
- 1 名前:ナイコンさん[sage] 投稿日:2019/08/26(月) 12:10:25.22
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
できるだけ実在するデバイスのみで、究極の8ビット機を妄想してみよう。
ただし現状のPC界を見てもわかるとおり数値的なスペック追求のみでは無意味と知れ。
お前らの妄想力&創造力に期待する!
レギュレーション:
・搭載するプロセッサは、周辺も含め演算レジスタ幅8bit、データバス幅8bit縛りとする。
・搭載するプロセッサは、周辺も含め「同一機能のものは2基まで」とする。
>>2以降に補足
前スレ:
究極の8ビット機を妄想するスレ Part 7
https://matsuri.5ch.net/test/read.cgi/i4004/1560227682/
究極の8ビット機を妄想するスレ Part 8
https://matsuri.5ch.net/test/read.cgi/i4004/1562275959/
究極の8ビット機を妄想するスレ Part 9
https://matsuri.5ch.net/test/read.cgi/i4004/1564217758/
究極の8ビット機を妄想するスレ Part 10
https://matsuri.5ch.net/test/read.cgi/i4004/1566789025/
- 547 :ナイコンさん:2019/11/30(土) 00:57:52.34 .net
- ゲームソフトの裏レジスタ使用率は高い。
- 548 :ナイコンさん:2019/11/30(土) 03:18:04 .net
- 裏レジスタは使ってたぞ
主に EX AF,AF' の方。PUSH AF, POP AFするより早い
一方で EXX の方はそんなに使わんかった記憶が。
で、PC-98に移行した時に、あれ?8086って裏レジスタないんか、と思った
Z80から始めたから、どのCPUにも裏レジスタあるんだと勘違いしとった
- 549 :ナイコンさん:2019/11/30(土) 07:02:27 .net
- おれも86のいじり始めは、裏レジスタ無いのか正味で抱えられる本数そんなに無いんだな思ったより窮屈だな…と思った
まあ素で16bitあるのでレジスタペア使わないからZ80より楽なんだけどね
あと68k系にさんざん貶されたレジスタの用途固定もニーモニック覚えて易くてよかったよ
用途無視して使おうとするキチガイプログラマが稀に居て、そういう奴の書いたアセンブリソースは眺めるだけで気が狂いそうになったけど
68kはレジスタ何使ってもいいから逆にコーディング規則でカウンタはD7から使うとか規定しておかないとサブルーチン毎に使い方が変わったりしてこれまた面倒くさい世界だった
全部自分一人で好き勝手にコーディングする日曜プログラマには理想に見えたのかもしれないが
- 550 :ナイコンさん:2019/11/30(土) 08:14:26.33 .net
- 逆だよカウンタや一時変数みたいな使い捨てデータは低位レジスタに入れる
知識の乏しいプロだなRISCやx64でもチマチマしたクソコード書いてそう
- 551 :ナイコンさん:2019/11/30(土) 08:29:45.22 .net
- 8bitの知識が乏しいRISC信者乙。MIPS君はまだあちらこちらの8bitスレで暴れてるのかい?
- 552 :ナイコンさん:2019/11/30(土) 08:48:06.86 .net
- コーディング規則なんてローカルルールの宝庫だし、お前んとこの規則が常に余所でも通用すると思ってる時点で社会経験の乏しさを自ら暴き立ててしまっている訳だが
レジスタの割り当てもコンパイラが吐くコードに寄せるか、手打ちコードと判別がつくように敢えて規則で縛るかも開発経験からくる要請や意識の差というもので
まあ>>550はおよそ何もかもが乏しく狹視野で、浅い。
- 553 :ナイコンさん:2019/11/30(土) 08:52:55.27 .net
- そういやx64や64bitRISCでアセンブリなんて久しく使ってないな
32bitですらブートかデバイスドライバの最も低位の処理くらいか
感覚も30年くらいズレてそうだ
まあスレには合っているのかもしれんが現代の話にはしゃしゃり出てくるなロートル。今度生意気垂れたら潰すぞ
- 554 :ナイコンさん:2019/11/30(土) 09:04:16.60 .net
- 今時アセンブラって電源ON直後の処理ぐらいしか書かんでしょ。
- 555 :ナイコンさん:2019/11/30(土) 09:12:52.28 .net
- KYだな。懐古板で今時の話をすんなよ。
- 556 :ナイコンさん:2019/11/30(土) 09:18:02.54 .net
- アホだよな高級言語でもチマチマしたクソコード書いてそう
- 557 :ナイコンさん:2019/11/30(土) 09:24:04.25 .net
- 高級言語といえばN-BASICだよな。
- 558 :ナイコンさん:2019/11/30(土) 10:18:00.67 .net
- 今時の組み込みはOSレスでもブートコードでアセンブラは使いません
- 559 :ナイコンさん:2019/11/30(土) 10:19:28.46 .net
- Z380は4バンクあるっぽいな
やっぱそれくらい欲しいわ
裏だけじゃBGMの割り込み処理で占有したくなるので封印とかなる
- 560 :ナイコンさん:2019/11/30(土) 10:31:06.66 .net
- >>558
いくつか確認してみたがCソース内にasm あったよ。
- 561 :ナイコンさん:2019/11/30(土) 10:32:16.64 .net
- MMUあってもリロケータブルに書くのは面倒なCPUばっかだしなぁ。やっぱりバンクだよな。
- 562 :ナイコンさん:2019/11/30(土) 10:39:52.92 .net
- >>553
そもそも人間が頑張らずにコンパイラに仕事させるのがRISCの設計しそうですしおすし…
- 563 :ナイコンさん:2019/11/30(土) 10:43:23.59 .net
- Cの設計思想ってコンパイラ開発者が楽できるためなのに無責任に仕事押し付けるなよ。
- 564 :ナイコンさん:2019/11/30(土) 11:03:56.45 .net
- レジスタに色付けしてないと書けないとか言ってる時点でお察し
- 565 :ナイコンさん:2019/11/30(土) 11:09:50.96 .net
- RISCの設計思想 →コンパイラ仕事しろ
Cの設計思想 →プログラマ仕事しろ
OSSの設計思想 →ユーザー仕事しろ
こういうことですね
- 566 :ナイコンさん:2019/11/30(土) 11:23:27.91 .net
- >>564
お前がここで言い出すまでそんな話は誰もしていない訳だが
- 567 :ナイコンさん:2019/11/30(土) 11:28:55.47 .net
- >>566
>>549
- 568 :ナイコンさん:2019/11/30(土) 11:29:57.35 .net
- >>567
>>566
一生案山子と話してろ
- 569 :ナイコンさん:2019/11/30(土) 11:30:45.83 .net
- >>558
具体的な開発環境とCPU書いてみ
- 570 :ナイコンさん:2019/11/30(土) 11:31:25.63 .net
- >>559
サウンド処理なんて頻度も粒度も荒いだろ
PUSH/POPで追いつかないようなシビアさは無い
3.58MHzで水平帰線で毎ラスターカウンタ弄るとかしてるとキツいが
- 571 :ナイコンさん:2019/11/30(土) 11:32:48.26 .net
- いろんな書き方できると書くほうは楽かもしれないが読むほうは大変なのは同意。
- 572 :ナイコンさん:2019/11/30(土) 11:34:09.47 .net
- >>549
>あと68k系にさんざん貶されたレジスタの用途固定もニーモニック覚えて易くてよかったよ
>>564
>レジスタに色付けしてないと書けないとか言ってる時点でお察し
レジスタに色ついてないと書けないと突然言い出したのは>>564
ストローマン論法ってやつですな
- 573 :ナイコンさん:2019/11/30(土) 11:36:06.02 .net
- >>570
N88BASICってリズムズレまくるぞ。
- 574 :ナイコンさん:2019/11/30(土) 11:36:22.27 .net
- 自分一人で書いて自分で読めればそれでいいサンデープログラマなら好きに書けば良いのだが
多人数で何世代にも渡ってメンテしなければならないようなコードを書く時は
レジスタの利用順位まで明文化されたコーディング規定とかあてがわれるのも珍しくも何ともないんで
まあ自分の机の上しか知らない日曜プログラマの子だと理解できない世界だろうな
- 575 :ナイコンさん:2019/11/30(土) 11:36:40.96 .net
- ソースは色つけたほうが読みやすいは同意。
- 576 :ナイコンさん:2019/11/30(土) 11:39:59.78 .net
- まあ書けないまでは言ってないか コメント付けとけよタコ
- 577 :ナイコンさん:2019/11/30(土) 11:51:31.81 .net
- >>570
サウンド処理自体はいいんだよ
全レジスタのPUSH/POPが割り込み毎に発生するから
主処理が重くなるってこと
- 578 :ナイコンさん:2019/11/30(土) 11:52:03.13 .net
- >まあ>>550,564,567,576 はおよそ何もかもが乏しく狹視野で、浅い。
- 579 :ナイコンさん:2019/11/30(土) 11:54:33.86 .net
- まあSPUを別に用意すりゃいい話だけどね
- 580 :ナイコンさん:2019/11/30(土) 11:56:41.59 .net
- コメントも色つけたほうが読みすいぞ。
- 581 :ナイコンさん:2019/11/30(土) 11:56:44.18 .net
- 割り込みルーチン内で使うレジスタ絞ってPUSH/POP減らすくらい普通にやるし
やったところで表しか使わなければ表レジスタをPUSHしてRIする前にPOPで戻すだけ
割り込み頻度からして1/60か、音源専用に割り込みを持っていても32〜192Hz辺り、速くても440Hz辺りで可変が相場なので
表レジスタの退避/復帰にスタックを使ったら間に合わないなんてほどシビアな世界ではない
Hブランクはそうは行かんぞ15kHzだからな
- 582 :ナイコンさん:2019/11/30(土) 11:58:15.05 .net
- 誤 速くても440Hz
正 速くても240Hz
- 583 :ナイコンさん:2019/11/30(土) 12:03:40.75 .net
- x86で3流PG長くやってんのを視野が広いとか深いとか言われてもね
- 584 :ナイコンさん:2019/11/30(土) 13:04:35.36 .net
- 間に合う合わないの話なんかしてないのに
- 585 :ナイコンさん:2019/11/30(土) 13:11:30.68 .net
- >>553
使ってない奴は黙ってろw
- 586 :ナイコンさん:2019/11/30(土) 13:12:36.23 .net
- >>558
ブートコード書いてから言え
- 587 :ナイコンさん:2019/11/30(土) 13:16:52.33 .net
- >>583
だからいつまで経っても三流人足プログラマなんだよな
- 588 :ナイコンさん:2019/11/30(土) 13:26:01.91 .net
- >>584
しなくていい割り込み処理の軽量化と称する設計上のエゴを通すために
一般のコードで裏レジスタの利用を禁じる方が不合理だ
- 589 :ナイコンさん:2019/11/30(土) 13:26:58.28 .net
- >>583
x86を使い続けているとも書いていないな。言い出したのはお前だ
まあそうやってずっとカカシと話してろ
- 590 :ナイコンさん:2019/11/30(土) 13:43:20.15 .net
- 書き方が悪かったか
今時の組み込みだとユーザーが初期化でアセンブラのコードを書くことはないってこと
ルネサスのH8(HEW)の時点でCで初期化部分は書けたし、RL78とかだとCS+では初期化はGUIから自動生成できる
Atmel ATmega とかもAVR/Atmel studioでアセンブラコードを書いたことはない
PIC もMPLAB XでXC8使った際にアセンブラのコードは書いてない
- 591 :ナイコンさん:2019/11/30(土) 13:44:48.61 .net
- 訂正
x86で3流PGちょこっとやったのを視野が広いとか深いとか言われてもね
- 592 :ナイコンさん:2019/11/30(土) 13:57:47.04 .net
- この前avr tiny13でアセンブラ書いたわw Cじゃとても入る気がしねぇ。
- 593 :ナイコンさん:2019/11/30(土) 14:03:54.82 .net
- どう腐そうとお前よりは上流
残念だったね
- 594 :ナイコンさん:2019/11/30(土) 14:20:23.70 .net
- コード書かない上流のおれすげーみたいな
- 595 :ナイコンさん:2019/11/30(土) 14:23:51.11 .net
- しょっぱい逃げ口上だね潰すんじゃないの頑張れよ
- 596 :ナイコンさん:2019/11/30(土) 15:21:05.87 .net
- >>570
サウンド処理もピンキリ
8bitじゃないけどX68KのPCM8みたいにソフトで合成までやるとなるとすごく大変だよ
- 597 :ナイコンさん:2019/11/30(土) 15:26:44.27 .net
- >>574
レジスタの利用順序を規定?
普通は引数と戻り値に使うレジスタ以外は退避して壊さないようにするだろ
退避のコストすら無視できないルーチンなら仕様に明記するだろうし
カウンタはD7からとか言ってる奴は仕様が変わってそのルーチンで二重ループになったら呼び出し側を全部修正するつもりなのか?w
- 598 :ナイコンさん:2019/11/30(土) 15:31:04.08 .net
- Aレジスタ以外は保証しないで解決
- 599 :ナイコンさん:2019/11/30(土) 15:43:52.55 .net
- 呼ぶ側が退避するのか、呼ばれる側が退避させるのか、どっちが効率的か。
それは日頃の行いで決まる。
- 600 :ナイコンさん:2019/11/30(土) 15:46:06.76 .net
- 壊れていいかどうかは呼ぶ側しか知らない。
- 601 :ナイコンさん:2019/11/30(土) 15:48:10.79 .net
- Aレジスタだけ保障してどうすんの。
- 602 :ナイコンさん:2019/11/30(土) 16:00:39.03 .net
- Aレジスタは戻り値を入れるから保証する、とかじゃないの?
- 603 :ナイコンさん:2019/11/30(土) 16:19:40.04 .net
- 戻り値なんか入れたら規定違反で>>574に怒られちゃうぞ
- 604 :ナイコンさん:2019/11/30(土) 16:20:40.26 .net
- 速度優先なら呼ぶ側が退避、コードサイズ優先なら呼ばれる側が退避。
よってやはり日頃の行いによってでしか決まらない。
- 605 :ナイコンさん:2019/11/30(土) 16:25:38.52 .net
- >>600
壊すかどうかは呼ばれる側しか知らない
- 606 :ナイコンさん:2019/11/30(土) 16:28:12.75 .net
- >>604
> 速度優先なら呼ぶ側が退避
壊されるかどうかもわからんのにどのレジスタを退避するつもりなんだ?
- 607 :ナイコンさん:2019/11/30(土) 16:28:13.67 .net
- 戻り値を入れるということは破壊されるということだろう
どれだけおかしな事言ってるのか自分でも理解してないのか
- 608 :ナイコンさん:2019/11/30(土) 16:29:21.31 .net
- > 速度優先なら呼ぶ側が退避
いつ割り込まれるかもわからないのに呼ぶ側が退避とは
- 609 :ナイコンさん:2019/11/30(土) 16:29:59.80 .net
- >>607
戻り値が入る事が保証される
- 610 :ナイコンさん:2019/11/30(土) 16:31:16.59 .net
- 何を壊すか公開しないのであれば呼ばれる側が退避しなさい。
- 611 :ナイコンさん:2019/11/30(土) 16:33:28.46 .net
- 割り込み内は裏レジスタ以外使用不可
- 612 :ナイコンさん:2019/11/30(土) 16:46:06.32 .net
- >>596
発声のシーケンス処理と音声のストリーム処理を混同しているようでは。
前者は数十Hz程度の頻度で、10ch程度なら1回の割り込みでレジスタに書き込むデータもせいぜい数十バイトかそこらの軽い処理ですよ
- 613 :ナイコンさん:2019/11/30(土) 17:04:04.87 .net
- 割込み処理は全レジ保障だろ。
DOSのINT 21hのようなファンクションコールは別として。
- 614 :ナイコンさん:2019/11/30(土) 17:13:09.35 .net
- ところが「BGM処理のために」「PUSH/POPでは処理が間に合わないので」Z80の裏レジスタは割り込み処理専用にした実装があるのだと、>>559,577は言う
- 615 :ナイコンさん:2019/11/30(土) 17:19:17.66 .net
- >>613
割り込みルーチン内で使用しない(壊さない)レジスタは退避しなくていい
けど退避のためのPUSH/POP処理を忌避しておいて
レジスタの使用をケチるためにスタックに積んだり
ワークエリアを設けてメモリに読み書きしてたら元の木阿弥
- 616 :ナイコンさん:2019/11/30(土) 17:22:43.08 .net
- >>614
割込みエントリーの頭で表レジを裏レジに退避して、IRETの前で裏レジに退避した値を表レジにもどす。
割り込まれるもとのプログラムは(割り込み処理で壊れるので)裏レジ使用禁止。
そういうことなのか?
もしそうだったとしたら、お行儀悪いとかいうレベルじゃないな。
割り込み処理でレジスタが壊れる前提って頭が悪いとか気がくるってるとかのレベルだわ。
- 617 :ナイコンさん:2019/11/30(土) 17:26:56.04 .net
- Z80の話だからWT音源のような波形処理をCPUにやらせる事は無いだろうし、仮にやるとしても波形処理は割り込み内で行うものではないし
音源に発音パラメータを書き込むだけのシーケンス処理なら10chや20chあったところでZ80でも余裕だし
いやぁ、わかりませんな
- 618 :ナイコンさん:2019/11/30(土) 17:28:45.53 .net
- >>616
>>559,577 は、そう書いているように(俺には)見えるのだが
まあそんなキチガイじみた実装のゲーム(だろう、おそらく)が仮に、もしも、本当に実在するというなら、後学のためにもタイトル挙げて欲しいわ
- 619 :ナイコンさん:2019/11/30(土) 17:29:49.50 .net
- おいおい、おれの88FAだってPCMぐらいついてたぞ。
- 620 :ナイコンさん:2019/11/30(土) 17:32:38.76 .net
- >>612
> 発声のシーケンス処理と音声のストリーム処理を混同しているようでは。
混同してるのはお前じゃね?
サウンド処理って言うだけじゃどういう処理かわからんって話だけど、経験値の低いお前には理解できないかな?w
- 621 :ナイコンさん:2019/11/30(土) 17:40:14.84 .net
- >>619
OPNAのADPCMは専用RAMに置かれた音色データを音源がDMAで読みとるだけだから
CPUが音色データに触るのはバッファRAMにデータを置く準備段階の時だけ
発音はシーケンスデータに沿ったタイミングで発音コマンド(多くて数バイト)を投げるだけ
- 622 :ナイコンさん:2019/11/30(土) 17:41:10.44 .net
- >>620
お前と559以外はみんな知ってるよ
早くみんなとお話できるレベルまで登って来てね
- 623 :ナイコンさん:2019/11/30(土) 17:44:08.38 .net
- 88でSB2専用で音声だけでもフルボイスな紙芝居ゲーって無かったっけか?
まあ相当低レートでも256KBしかバッファ無かったら何分も話せないしな
そもそも供給メディアがフロッピー1枚320KBしか無いっていう
2HDが標準化した98でもフルボイスADVは記憶にないから、やはりCD-ROMの時代からか…
- 624 :ナイコンさん:2019/11/30(土) 17:44:52.62 .net
- >早くみんなとお話できるレベルまで登って来てね
30年遅れくらいか
知障ってレベルすら突破しとる
- 625 :ナイコンさん:2019/11/30(土) 17:48:03.90 .net
- 割り込みだけならまだいいが、マルチタスクOSだとコンテキストスイッチが発生する度に無条件で全レジスタ退避だからな。
聞くところでは、メモリもバスも5〜10MHzくらいしか無かった頃に、32bitレジスタを16本も退避させられるマゾい環境があったそうだ。
設計者は救いようのない馬鹿だな…
- 626 :ナイコンさん:2019/11/30(土) 18:16:31.34 .net
- 64k刻みのマゾいメモリー環境で動いてたOSなんてのもあったらしいな
設計者は救いようのない馬鹿だな…
- 627 :ナイコンさん:2019/11/30(土) 18:18:55.31 .net
- しってる。アップルマッキントッシュっていうんだそれ。
- 628 :ナイコンさん:2019/11/30(土) 18:26:04.50 .net
- せっかく8bitに話を戻したのにおまえらときたら
- 629 :ナイコンさん:2019/11/30(土) 18:39:52.85 .net
- >>622
また知ったかが恥の上塗りかよ…
> 発声のシーケンス処理
と言い張るならそう判断した根拠書いてみ
どう見てもお前の経験不足しかありえないと思うがw
- 630 :ナイコンさん:2019/11/30(土) 18:42:49.79 .net
- >>616
お前が理解できてないだけで元々そう言う機能だしw
今どきと違ってレジスタ退避のコストが高かった故の妥協の産物だよ
- 631 :ナイコンさん:2019/11/30(土) 18:57:32.65 .net
- 経験不足連呼君もそろそろ無理目かな
自分自身何もかもが浅く、軽薄だ
- 632 :ナイコンさん:2019/11/30(土) 18:58:52.20 .net
- >何もかもが浅く、軽薄だ
ひと言で言い表す語彙に「浅薄」っていうのがあるよ。
- 633 :ナイコンさん:2019/11/30(土) 19:00:39.71 .net
- 8bit機でwaveファイル扱うのに足りないものは、CPU速度、メモリ空間、ストレージ容量。
うーん、つまり全部ですね。FM音源だけにしましょう。
- 634 :ナイコンさん:2019/11/30(土) 19:25:08.30 .net
- >>631
具体的に聞かれて涙目
まで読んだww
- 635 :ナイコンさん:2019/11/30(土) 19:26:21.67 .net
- >>633
> 足りないものは
お前の知能
- 636 :ナイコンさん:2019/11/30(土) 19:27:23.74 .net
- waveファイル自体は時間かけて変換すれば良い
ファミコンですら使えるADPCMくらい再生させろ
- 637 :ナイコンさん:2019/11/30(土) 19:56:45.83 .net
- >>616
裏レジスタをなんだと思ってるんだ?
- 638 :ナイコンさん:2019/11/30(土) 20:01:31.50 .net
- >>636
ファミコンはDPCMだと思うが
- 639 :ナイコンさん:2019/11/30(土) 20:18:30.34 .net
- >と言い張るならそう判断した根拠書いてみ
たかが3〜4MHzのZ80には、WTのリアルタイム波形処理などCPUパワーもメモリの容量も速度も足りず無理
自明だろこんなの
音声絡みでは演算や処理のコストを勘違いする馬鹿がずっと貼りついてるよねここの板
- 640 :ナイコンさん:2019/11/30(土) 20:21:46.43 .net
- リアルタイム処理には速度が2〜3桁足りないWT波形処理をやらせる前提でレジスタ退避の時間が惜しいなどと書いたり
16chのMIDIシーケンサの処理すら楽勝なのに、たかが8chの2151の処理が重くて無理だと書いたり
音源/音声関連では頭おかしいのがずっと棲みついて居る
- 641 :ナイコンさん:2019/11/30(土) 20:41:39.72 .net
- PC88FAのADPCM用256KBのバッファは、RAMディスクのような使い方するのが正しい使い方だろう。
- 642 :ナイコンさん:2019/11/30(土) 21:05:52.27 .net
- >>635
おまえは髪の毛だなw
- 643 :ナイコンさん:2019/11/30(土) 21:32:41.67 .net
- >>642
フッサフサでゴメンな
本当すまないw
- 644 :ナイコンさん:2019/11/30(土) 21:37:05.26 .net
- >>643
悔しかった?
- 645 :ナイコンさん:2019/11/30(土) 21:37:48.98 .net
- >>639-640
だからお前は経験値不足って言われるんだよw
>>636の言うように変換をやってから再生はDMAでやるとか想像もできないんだろ?
- 646 :ナイコンさん:2019/11/30(土) 21:39:38.64 .net
- >>644
ゴメンなフッサフサだから何を悔しがるのかさっぱりわからん
知能が足りないのに無理すんなよw
総レス数 1001
214 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200