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/

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ぐらい搭載すべきだった

667 :ナイコンさん:2019/12/01(日) 12:09:20.76 .net
安く済ませるためのROMだろうから音色変えたかったら普通にRAM使うだけでは?
サンプリング環境ないと固定音色でもありがたいだろうし

668 :ナイコンさん:2019/12/01(日) 12:16:46.23 .net
>256KBのバッファRAM

んROMなの?

669 :ナイコンさん:2019/12/01(日) 12:38:08.98 .net
>>653
また恥の上塗りしてるよw
再生中に次のシーンのBGMをバックグラウンドで合成するとか展開するとか割り込みが必要な状況はいくらでもあるよ
お前のチンケな経験では思いつかないだけ

670 :ナイコンさん:2019/12/01(日) 12:43:49.67 .net
>>655
> ループ指定して再生すれば、あとは割り込みすら必要ない。
再生以外に何もできなくなるけどな
経験云々以前に単なるバカじゃんw

671 :ナイコンさん:2019/12/01(日) 13:27:10.55 .net
ループ再生中のバッファRAMは再生用のデータで埋まっているので
仮に再生中に次のデータの生成を開始したとしても次のデータの置き場が無い
「次のデータ」で上書きをしてしまえば、現在のループ再生が破綻する
遅いCPUによる波形処理ではデータ生成が再生に追いつかないため、次のデータの再生も破綻する

バッファ上のデータのループ再生は音源側で完結するので、メイン側のCPUやメインRAMはフリー
ループ再生に割り込み処理は不要なので、BGM再生のために「裏レジスタを占有するBGMドライバ」などというものも存在する必要が無い

恥の上塗りと罵る己自身が無知で、自らの恥を丹念に上塗りしているというこの茶番は一体

672 :ナイコンさん:2019/12/01(日) 13:33:08.78 .net
複数バッファを持つと言うことすら思いつかないのかw
レベル低すぎ

673 :ナイコンさん:2019/12/01(日) 13:34:43.39 .net
それで、WT音色データをCPUで波形合成処理したフレーズをSB2のADPCMバッファに充填しそれをループ再生しBGMに使うという(おそらく)ゲームソフトで、
尚且つその再生用ドライバが「レジスタの待避にスタックを用いると速度が間に合わないために」Z80の裏レジスタを占有し、ゲーム本体に裏レジスタの使用を禁じているという
控え目に言っても設計者は馬鹿としか思えない市販ソフトの製品名は、まだ挙げられないのですかね

674 :ナイコンさん:2019/12/01(日) 13:36:04.51 .net
>>672
SB2のADPCMバッファは256KBしか無い。
複数搭載したサウンドボード2が実在したというなら提示しろ

675 :ナイコンさん:2019/12/01(日) 13:36:59.61 .net
ループ再生専用のCPU(もしくはハードウェア)前提w

676 :ナイコンさん:2019/12/01(日) 13:39:59.55 .net
>>674
馬鹿なのか?
256KBもあれば複数面持てるだろ
256KBを単一バッファで管理してると言うならソースよろしく

677 :ナイコンさん:2019/12/01(日) 13:40:46.87 .net
ADPCMのループ再生は音源単独でできるので、発音コマンドを投げた後はCPUはフリー
まあOPNAの仕様も知らないと水暴露しているわけだが

678 :ナイコンさん:2019/12/01(日) 13:41:48.37 .net
>>673-674
そういう構成がないと言い張るなら根拠出してね

679 :ナイコンさん:2019/12/01(日) 13:43:17.41 .net
>>677
特定の構成があるからといって全ての「サウンド処理」がそれであるわけじゃないし

680 :ナイコンさん:2019/12/01(日) 13:45:07.17 .net
>>676
「256KBあれば複数面持てる」が日本語として理解できない
256KBのバッファRAMは256KBとしてしか使えない
256KB以上のADPCMバッファを搭載したサウンドボード2が実在したというなら提示しろ

681 :ナイコンさん:2019/12/01(日) 13:47:56.83 .net
「全てのサウンド処理」の話などしていない
88SR以降のサウンドボード2に限定している

それで、BGMをWT音色の波形合成でループ再生していたというSB2用の市販ゲームソフトは何?

682 :ナイコンさん:2019/12/01(日) 13:53:32.13 .net
>>673
そもそも裏レジスタを使ってないソフトも多いけど

683 :ナイコンさん:2019/12/01(日) 14:03:31.83 .net
>>682

>>559,577
土台望みようもないリアルタイム?波形合成ではなく、FM音源側のシーケンス処理と思われるBGM処理で、
割り込み時のレジスタ待避をスタックに対して行うと処理が遅く間に合わないため、レジスタの待避は行わず音源ドライバが裏レジスタを占有する(結果、ゲームソフト本体側での裏レジスタの使用が禁止される)
という実装を取っていた市販ゲームソフトが存在したらしいので、
こんな頭の悪い実装が仮にもしも本当に実在しているなら、後学のためにも是非手に入れて検分し、開発者を突き止めあざ笑って、死体に鞭打ってやりたいのですよ。ぜひご協力をお願いします

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

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