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/

514 :ナイコンさん:2019/11/29(金) 08:46:28.71 .net
>>511
おまえ自分で馬鹿なこと言ってるという認識はあるよな?さすがに

515 :ナイコンさん:2019/11/29(金) 09:23:53 .net
Win9xが完全32bitならNTいらなかったよな

516 :ナイコンさん:2019/11/29(金) 10:31:19.28 .net
NTは元はOS/2の後継から始まっているので見た目は似てても出自も設計思想も異なる
Win1.0からMe迄はDOSのレガシー部分を引き擦っていた

517 :ナイコンさん:2019/11/29(金) 10:54:52 .net
ケンカ別れなのでむしろVMSの後継と言うべき。頭文字も一文字ずらしたWNTだしな。

518 :ナイコンさん:2019/11/29(金) 11:13:02 .net
>>515
Win95(というかWin386 以降)は32bitOSだよ
CPUを32bitプロテクトモードにして仮想86モードで
32bit上にBIOSとか16bit環境を再構築してる
16bitコードでの割込みとかもプロテクトモードで例外をハンドルして32bitで処理する
完全32bitOSと言っても問題ない

519 :ナイコンさん:2019/11/29(金) 11:43:26.25 .net
外からWindowsを見てる奴らの知識なんてそんなもんってことだな

520 :ナイコンさん:2019/11/29(金) 12:13:48.82 .net
単にwin3.xの32bit化、移植が間に合わなかったのか、それともシステム要件のメモリ4MBを達成するために
肥大な32bitコードを諦めたのかは分からないが、いくつかの機能が16bitコードのままで実行している。完全32bitとはとても言えないな。
しかし逆に95はwin32アプリから16bitDLL、win16から32bitDLLを呼べるので移行期のOSとしては努力したほうだろう。
手抜きwin64では32-64間のDLL呼び出しはサポートされてない上にwin16も切捨てだからな。

521 :ナイコンさん:2019/11/29(金) 12:26:50.67 .net
究極の8ビット機スレはどこ行った?

522 :ナイコンさん:2019/11/29(金) 13:05:22.01 .net
>>520
16bitコードは仮想86上で実行してるけど。
95からはディスク回りも仮想86上の16bitコードじゃなくて
32bitドライバで動作するようになったし

523 :ナイコンさん:2019/11/29(金) 13:30:33.47 .net
>>520
16bitコード切り捨てはx64の仕様じゃ
Windowsの性ではない

524 :ナイコンさん:2019/11/29(金) 13:51:47.40 .net
仮想86をエミュればいいだけ。手法はいくらでもある。
amd64は32bitOS上で仮想PC使って64bitOSも動く。

ほんとただの努力不足。というか手抜き。64bit空間に全部xxx32とか名前つけてる時点で無能そのもの。

525 :ナイコンさん:2019/11/29(金) 14:15:32.57 .net
16bitコード廃止してくれてよかったよ
変に動いてメンテナンスしろとかになったら糞厄介だからな
次は廃止予定使うなって言ってから軽く20年以上立ってるようなAPIの廃止
またはデフォルト状態で使用不可にしてくれ
どうしても使いたい人は勝手に仮想マシンで実行すればいいだけだし

526 :ナイコンさん:2019/11/29(金) 14:17:44.74 .net
>>523
すでにそれ以前から16bitコードはCPU内部エミュ動作ですけど

527 :ナイコンさん:2019/11/29(金) 14:35:47.13 .net
>>525
切り捨て王のアップル関連の開発の仕事だけしとけ。

528 :ナイコンさん:2019/11/29(金) 14:41:55.34 .net
>>527
いい加減TurboCを退役させてください

529 :ナイコンさん:2019/11/29(金) 14:55:47.14 .net
>>526
だから64bitモード時にはそれが動かないって話だろ
馬鹿なのおまえ?

530 :ナイコンさん:2019/11/29(金) 15:14:06.55 .net
まあ64bitモードに仮想86モードがなくて良かった
そんなカオスCPU誰も喜ばないからな

531 :ナイコンさん:2019/11/29(金) 15:23:08.20 .net
知ったかばかりしてるおまえには元から一切関係のない話だ。

532 :ナイコンさん:2019/11/29(金) 15:54:44.68 .net
>>531
ついてこれなくて悔しかった?

533 :ナイコンさん:2019/11/29(金) 16:04:24.70 .net
>>532
ドライバ書いてるからおまえよりよほど詳しいわ。

534 :ナイコンさん:2019/11/29(金) 16:06:56.53 .net
ドライバ書いてるだってw

535 :ナイコンさん:2019/11/29(金) 16:07:17.78 .net
サンデードライバー

536 :ナイコンさん:2019/11/29(金) 17:03:12.99 .net
・386はただの「高速な8086」としてしか使われていなかった。
・Win95でも相変わらず16bitコードで動作していた。 ← new!!

537 :ナイコンさん:2019/11/29(金) 19:27:26.32 .net
64bit環境でDOSや16bitバイナリを使うのにエミュ用意して、なんだかんだでCPUコアのライブラリを386にしてDPMI対応までしてるの見ると、
そこまでするなら仮想PCでネイティブコード実行でいいんじゃないかな…と思ってしまう

538 :ナイコンさん:2019/11/29(金) 19:42:56.53 .net
>>529
バカにされてるのは
> 16bitコード切り捨てはx64の仕様じゃ
なw

539 :ナイコンさん:2019/11/29(金) 20:04:45.66 .net
>>538
仮想86モードが無いからな

540 :ナイコンさん:2019/11/29(金) 20:32:37.98 .net
お前ら他所でやれ
ここは8bitスレだぞ

541 :ナイコンさん:2019/11/29(金) 21:01:26.15 .net
>>539
バカは黙っとけ ⇒ >>524

542 :ナイコンさん:2019/11/29(金) 21:08:13.49 .net
この伸び!!! アウアウ君が暴れてるなw

543 :ナイコンさん:2019/11/29(金) 22:07:21.66 .net
実際MSは後から仮想PCソフト買収して無料配布したからな。
手抜きした失態をお金で解決とか能無しにもほどがある。

544 :ナイコンさん:2019/11/29(金) 22:41:06.61 .net
解決しないで誇張した主張ばかりするGNUとかいう組織よりはましだな。

545 :ナイコンさん:2019/11/29(金) 23:30:55.87 .net
z80は高速な8080として使われていた

裏レジスタなんか使わんしな

546 :ナイコンさん:2019/11/29(金) 23:47:48.94 .net
一番違う扱いになったのは相対ジャンプの有無だろ

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は言う

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

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