2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

究極の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/

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

647 :ナイコンさん:2019/11/30(土) 21:42:33.81 .net
神は二物を与えないよw

648 :ナイコンさん:2019/11/30(土) 21:52:59.98 .net
88FAのバッファ256KBはバンク切り替えで見えるん?

649 :ナイコンさん:2019/11/30(土) 21:54:49.00 .net
知能と髪はトレードオフか

650 :ナイコンさん:2019/11/30(土) 22:02:20.18 .net
一物も与えられてない>>647が不憫だな

651 :ナイコンさん:2019/11/30(土) 22:06:14.38 .net
孫と安倍と麻生が証明してくれてる。

652 :ナイコンさん:2019/11/30(土) 22:40:05.48 .net
ジョブスはハゲ、ウォズはフサフサ。はい論破。

653 :ナイコンさん:2019/11/30(土) 22:50:15.70 .net
>>>636の言うように変換をやってから再生はDMAでやるとか想像もできないんだろ?
リアルタイムのBGM演奏ではないね
割り込みも必要ない
何のために通常プロセスに裏レジスタの使用を禁じて
BGM再生の割り込みに裏レジスタを占有させるのか
全く必然性が無い
お前は何も説明できていない
ただ経験不足めと罵るだけでその根拠すらデタラメだ

654 :ナイコンさん:2019/11/30(土) 22:59:09.43 .net
ファミコンって音のいいゲームってROM側に音系ハードてんこ盛りだろ。

655 :ナイコンさん:2019/11/30(土) 23:03:28.01 .net
256KBのバッファRAMに8bit32kHzで4秒、16kHzまで落としてもたったの8秒。
まあBGMというよりはフレーズサンプリングだろうこんなの
ループ指定して再生すれば、あとは割り込みすら必要ない。

それで、事前にWTフォントを波形合成してSB2のADPCMバッファを充填した後で
8秒ループのフレーズサンプリングをループ再生するためのドライバが裏レジスタを占有している
商業ゲームのタイトルというのは、仮に、もしも、本当に実在するというなら、何なんです?

ありもしないものの話してるならアンフェノール36ピンのプリンタケーブルで首吊って死ね

656 :ナイコンさん:2019/11/30(土) 23:09:19.22 .net
ADPCMなら16khzなら32秒。8khzで1分。50音録音すればいろいろ使えるかもしれない。

657 :ナイコンさん:2019/11/30(土) 23:45:50.89 .net
SB2は8ビットADPCMだから256kバイトバッファは8kHzサンプリングで32秒にならんか?

658 :ナイコンさん:2019/11/30(土) 23:52:33.02 .net
YM2608は4bitADPCMだよ。

659 :ナイコンさん:2019/11/30(土) 23:55:21.78 .net
あり?
8ビットADPCMだと思ってた。
何と勘違いしたんだろ??

660 :ナイコンさん:2019/11/30(土) 23:56:36.94 .net
8kHzだと良くて音声のみだな
音楽を聴くレートじゃあない

661 :ナイコンさん:2019/12/01(日) 08:51:10.98 .net
>>641
かんがえてみると、サウンド用に256KBのメモリ積んでるってえらい豪華だな
32bitでマルチメディアPCを詠ってたFM-TOWNSでさえ64KBだったというのに

662 :ナイコンさん:2019/12/01(日) 09:23:20.14 .net
>>661
4ビットADPCMで256KBと8ビットPCMで64KBじゃSB2の方が圧倒的に有利だな
でもTOWNSは単音でよければDMAでメインメモリから再生することもできるからなぁ

663 :ナイコンさん:2019/12/01(日) 11:08:07.19 .net
>>661
これでリズムの音色が良ければ音源的に68以上の使い勝手になったのにな
楽譜打ち込みしてた時にリズムがハイハットとシンバル(オープンハイハットとして使用)
しかまともに使わんかった

664 :ナイコンさん:2019/12/01(日) 11:13:34.26 .net
音色差し替えられないの?

665 :ナイコンさん:2019/12/01(日) 12:04:58.21 .net
>>663
波形がROMで固定のPCMリズム音源ってダメダメだよね
毎度毎度同じ音聞かされてウンザリしちゃう
PCMリズム音源用にもRAMを搭載するべきだった

666 :ナイコンさん:2019/12/01(日) 12:06:20.08 .net
というかリズム音源なんてものは要らないので自由に波形を割り当てられるADPCM音源を1chではなく4chぐらい搭載すべきだった

総レス数 1001
214 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200