■ このスレッドは過去ログ倉庫に格納されています
究極の8ビット機を妄想するスレ Part 8
- 1 :ナイコンさん:2019/07/05(金) 06:32:39.07 .net
- できるだけ実在するデバイスのみで、究極の8ビット機を妄想してみよう。
ただし現状のPC界を見てもわかるとおり数値的なスペック追求のみでは無意味と知れ。
お前らの妄想力&創造力に期待する!
前スレ:
6. ttp://matsuri.5ch.net/test/read.cgi/i4004/1555991427/
5. ttp://matsuri.5ch.net/test/read.cgi/i4004/1544995324/
4. ttp://matsuri.5ch.net/test/read.cgi/i4004/1291090549/
3. ttp://toki.2ch.net/test/read.cgi/i4004/1221580785/
2. ttp://bubble6.2ch.net/test/read.cgi/i4004/1161303062/
1. ttp://bubble4.2ch.net/test/read.cgi/i4004/1009359454/l50
究極の8ビット機を妄想するスレ Part 7
https://matsuri.5ch.net/test/read.cgi/i4004/1560227682/
- 58 :ナイコンさん:2019/07/06(土) 17:50:40.85 .net
- 1994年にWindows NT3.5を動かす目的で16MBのSIMM買ったが1枚6万円したな
- 59 :ナイコンさん:2019/07/06(土) 17:58:26.18 .net
- ひたすらスレチのWindowsの話をしてる馬鹿はなんなんだ
- 60 :ナイコンさん:2019/07/06(土) 18:05:19.60 .net
- FC版大戦略の64KRAMって
もしかしてVRAM用の8KBのことか
- 61 :ナイコンさん:2019/07/06(土) 18:10:38.72 .net
- 馬鹿なんだ
- 62 :ナイコンさん:2019/07/06(土) 18:18:09.24 .net
- 1.25M+64KRAM、って書かれてるからグラフィックがROMじゃ無くRAM8KBって事だね
1.25Mの方もROM160KB
- 63 :ナイコンさん:2019/07/06(土) 18:22:15.52 .net
- バイトとビットが紛らわしいw
- 64 :ナイコンさん:2019/07/06(土) 18:28:32.31 .net
- >>57
メインプログラムをROMに置いてるからだろうな
- 65 :ナイコンさん:2019/07/06(土) 18:55:03.36 .net
- >>55
標準8MB+16MBだからWindows95でも普通に動いたよ
最終的にCPU 200MHz、メモリー128MB、HDD 2GBにしてWindows 2000で使ってた
- 66 :ナイコンさん:2019/07/06(土) 19:13:12.76 .net
- アセンブラのリファレンス眺めただけだが、6502っては1つの命令がZ80や6809より少ない命令で実行できても「同じことをやる」のに命令数が増える事が多そうだよな。
あと、プログラム組むの面倒そうだ。
8ビットレジスタしかないとか何のバツゲー?
- 67 :ナイコンさん:2019/07/06(土) 19:13:27.62 .net
- >>65
おっせー
pentium pro200MHz2発メモリ64GB HDDは4GB3台でNT4動かしてたよ
- 68 :ナイコンさん:2019/07/06(土) 19:14:09.60 .net
- >>55>>65
Windows95ならメモリ4Mあれば動くぞ。
- 69 :ナイコンさん:2019/07/06(土) 19:16:54.95 .net
- >>68
386SX16MHzで6MBにフロッピーでインストールしたら10時間くらいかかったぞ
- 70 :ナイコンさん:2019/07/06(土) 19:22:30.31 .net
- ナムコがZ80×3から6809×2に移行したのみると面白い。
- 71 :ナイコンさん:2019/07/06(土) 19:25:58.72 .net
- >>66
それがやってみると意外となんとかなるんだよ。俺も最初はどうしようと思ったけどさ。
- 72 :ナイコンさん:2019/07/06(土) 19:43:55.93 .net
- そもそも16bit演算なんてそんなに使わないしな
- 73 :ナイコンさん:2019/07/06(土) 19:58:44.63 .net
- 6502のソフト開発というのはやりたいことをどうやったら6502に
効率よく落とし込めるかってことになるんでしょう。
それはそれで楽しいと思うけど、やりたいことをそのまま
記述する感じではなくなるので、他のところにはもっていきにくくなるね。
- 74 :ナイコンさん:2019/07/06(土) 20:03:01.48 .net
- 3つとも仕事で使った俺の感触は、
6809 2M > Z80 4M = 6502 2M
くらいかな、と思ってます。
- 75 :ナイコンさん:2019/07/06(土) 20:17:54.21 .net
- >>70
リブルラブルは68000だったはず
あのあたりから16ビットになった
- 76 :ナイコンさん:2019/07/06(土) 20:25:02.84 .net
- >>67
すげーな、カスタムのチップセットでも使ってたのか?w
- 77 :ナイコンさん:2019/07/06(土) 20:29:33.02 .net
- ナムコの汎用基盤は、
システム86やシステム87(システム1)は6809
システム2で68000だな。
- 78 :ナイコンさん:2019/07/06(土) 20:35:08.43 .net
- 8bitパソコンと言っても今更64KB上限で全部入れろって話にはならんだろ
MMUは使う訳で、コモドール128がMOS 8722 MMUでスタックやゼロページの再配置してたように、足りなきゃMMUで切り替えて行けで良いんじゃね
- 79 :ナイコンさん:2019/07/06(土) 20:36:12.74 .net
- >>75
それ、サブCPUで使ってるだけ
- 80 :ナイコンさん:2019/07/06(土) 20:36:54.25 .net
- >>68
動くのは動くけど流石にきっついわ
- 81 :ナイコンさん:2019/07/06(土) 20:42:47.28 .net
- >>75
いやいやリブルラブルは83年末だが重い塗り潰しがあるから68000使ったのであって、ナムコが本格的に68000に移行するのは88年のシステム2から。それまでは6809だな。
マッピーから87年までのメジャーなナムコゲームは、ゼビウスとリブルラブルを除くとほとんど6809。
- 82 :ナイコンさん:2019/07/06(土) 21:04:31.99 .net
- >>66
レジスタにアドレスを持てないから配列の構造体にする必要があるけど
HLにアドレスをセットする手間がかかるZ80よりはるかに楽チン
- 83 :ナイコンさん:2019/07/06(土) 21:14:45.70 .net
- >>82
当時は6502向けはどんな開発環境で開発してたんですか?
- 84 :ナイコンさん:2019/07/06(土) 22:26:49.11 .net
- LXI命令一発だろ、何言ってんだよ。
- 85 :ナイコンさん:2019/07/06(土) 22:33:10.63 .net
- >>83
忘れた
ESDEC 65アセンブラが手元に残っているけどAssembler/Editor使ってたかも
- 86 :ナイコンさん:2019/07/06(土) 22:39:02.06 .net
- 85年ぐらいから95年ぐらいまでの10年ってコンパイラでも、
違って3か月ごとにマイナーVerUp、半年ごとにVerUp、毎年新製品リリース
って感じだったよな。
- 87 :ナイコンさん:2019/07/07(日) 05:19:44.03 .net
- gccが日本に伝来したのが1991年頃か
- 88 :ナイコンさん:2019/07/07(日) 07:07:06.62 .net
- 移植性を重視して8bitパソコンやゲーム機にC言語を使ったので当時有名だった信長の野望全国版は何のCだったんだろう?
- 89 :ナイコンさん:2019/07/07(日) 07:10:50.87 .net
- アセンブラからと違ってBASICで書かれたソフトをCへの移植するって要件が楽だよな。
- 90 :ナイコンさん:2019/07/07(日) 07:29:49.50 .net
- 1986年ならアーケード機にもC開発が出たから、1985年くらいから本格的にCが流行ってたのかな
ビジネスアプリもBASICからCに移植とかやってたし
- 91 :ナイコンさん:2019/07/07(日) 07:31:56.96 .net
- 業務系の大半はN88(86)BASIC→VBだよw
- 92 :ナイコンさん:2019/07/07(日) 07:51:13.82 .net
- >>89
アセンブラからの方が楽だろ
文字列とか10進とかライブラリ作るのが面倒くさい
- 93 :ナイコンさん:2019/07/07(日) 08:05:11.57 .net
- 要件の意味が分かってもらえないなんて
- 94 :ナイコンさん:2019/07/07(日) 08:54:23.18 .net
- BASICからC言語の移植でscanf系関数もprintf系関数も使わないとか酷いな。
そんな仕事はけられておしまいだわ。
- 95 :ナイコンさん:2019/07/07(日) 08:59:02.77 .net
- strlcpy
- 96 :ナイコンさん:2019/07/07(日) 10:22:51.26 .net
- >>89
当たり前だがケースバイケース
GOTOとかグローバル変数使いまくりのスパゲティBASICコードより、ちゃんとモジュール化されてるアセンブラの方が楽
- 97 :ナイコンさん:2019/07/07(日) 13:19:53.85 .net
- Cにもgotoはあるしグローバル変数もありますよ?
- 98 :ナイコンさん:2019/07/07(日) 13:35:47.05 .net
- gotoなんか使ったらバチが当たるよ
- 99 :ナイコンさん:2019/07/07(日) 13:46:22.63 .net
- 綺麗にするのは後回しで、取り敢えず移植しなきゃならない場合も有るし
そういうBASICの汚さまでも受け入れられるのがCの良い所でも有る
- 100 :ナイコンさん:2019/07/07(日) 14:49:07.04 .net
- >>97
でもGC付きの文字列はないよね
そんなのをグローバル変数でぐちゃぐちゃ使われてたら…
- 101 :ナイコンさん:2019/07/07(日) 14:50:32.26 .net
- BASICにGCなんてないよ
- 102 :ナイコンさん:2019/07/07(日) 15:35:36.94 .net
- >>101
素人は黙ってて
- 103 :ナイコンさん:2019/07/07(日) 15:49:38.89 .net
- 玄人登場w
- 104 :ナイコンさん:2019/07/07(日) 16:23:39.51 .net
- >>103
人を煽るならもう少し知恵をつけてからにしましょうw
N-BASICには文字列を大量に操作するとガベージコレクションというメモリを最適化する動作が起こるんです。
http://www.yoriki.jp/smalltalk/academy02.html
まあ実装はかなり改善されてるけどね
- 105 :ナイコンさん:2019/07/07(日) 16:37:50.09 .net
- BASICのプロワロタ
- 106 :ナイコンさん:2019/07/07(日) 16:42:29.23 .net
- N-BASICだってよw
- 107 :ナイコンさん:2019/07/07(日) 16:47:08.61 .net
- >>104
N-BASICw
- 108 :ナイコンさん:2019/07/07(日) 16:48:05.27 .net
- >>83
当時っていつの時代のどの機種向けのことだ?
それによって全然違うし、さらに同時代同時期でもいろいろある。
大学のミニコンにエミュレータ構築してる奴もいれば、
そのままセルフ開発もいれば、
Apple2ならFD共通化できるからZ80カードにCP/Mでのクロスもいれば、
IBM-PC互換機でてからはMS-DOSクロスもいれば、
ゲーム機なら任天堂やハドソンが提供してた
何度も同じこと聞くなよ。
- 109 :ナイコンさん:2019/07/07(日) 17:02:08.90 .net
- >>105-107
今のBasicにGCがなくなったと思ってるのか?
基本は変わらんよ
- 110 :ナイコンさん:2019/07/07(日) 17:07:11.09 .net
- BASIC言語の問題だと思ってるあたり、痛い子ちゃんだなあ
- 111 :ナイコンさん:2019/07/07(日) 17:34:56.80 .net
- 自動的に解放とかいうバカ用の行儀の悪い言語だと今も悩まされる
- 112 :ナイコンさん:2019/07/07(日) 19:48:20.16 .net
- >>110
問題を理解できない痛い子に言われてもなぁw
そもそもBasicの問題じゃなくてGCの問題だし
- 113 :ナイコンさん:2019/07/07(日) 20:12:45.43 .net
- >>112
を!自分がバカだということに気づいて
主張を変えてきやがったwww
- 114 :ナイコンさん:2019/07/07(日) 20:51:19.79 .net
- ???
BasicにはGCあるけどCにはないから移植が面倒って話なんだが>>113には難しいのかな?w
- 115 :ナイコンさん:2019/07/07(日) 21:04:52.53 .net
- >>114
を!更に変なことを言いだしたぞw
なんでGCが必要なんだ?
- 116 :ナイコンさん:2019/07/07(日) 21:22:49.01 .net
- 文字列の処理考えたらわかる
たいていの処理系で A$ = B$ ってやっても実体のコピーはせずに文字列を共有する
A$, B$が必要なくなるのはてんでバラバラなのでこの手の処理をするにはCGを実装するのが一般的
違うと言うなら違う実装を提示してみ
- 117 :ナイコンさん:2019/07/07(日) 22:51:55.64 .net
- 文字列の最大サイズを文字変数の数確保
- 118 :ナイコンさん:2019/07/07(日) 23:55:21.59 .net
- 「8ビットではC言語は使われてなかった。イイネ?」
- 119 :ナイコンさん:2019/07/08(月) 00:02:40.15 .net
- シミュレーションゲーム系が大変になるな
- 120 :ナイコンさん:2019/07/08(月) 00:05:05.70 .net
- これを貼れと
8ビットCPUでC言語? ないないありえないっしょ!
http://matsuri.5ch.net/test/read.cgi/i4004/1532613479/
- 121 :ナイコンさん:2019/07/08(月) 00:15:10.96 .net
- CG
- 122 :ナイコンさん:2019/07/08(月) 00:17:24.24 .net
- 8ビットでCGって、3Dモデルのワイヤーフレーム表示はともかく、レイトレやったら死ねそうだなぁ。
昔々、昭和のころにX1ターボでン百時間とかやった人が居たとかどっかで聞いたが・・・
- 123 :ナイコンさん:2019/07/08(月) 00:48:51.49 .net
- 演算に関してはFPUにお任せで良いでしょ
- 124 :ナイコンさん:2019/07/08(月) 01:26:00.57 .net
- BASICからCに移植するのにGCを独自実装しなきゃならんとか、バカか?
バカなんだろうな。
- 125 :ナイコンさん:2019/07/08(月) 01:54:28.96 .net
- CGを実装するのが一般的ドヤァ
CGねぇ
- 126 :ナイコンさん:2019/07/08(月) 02:04:29.39 .net
- 違うと言うなら違う実装を提示してみドヤァ
勝利宣言はまだですか?
- 127 :ナイコンさん:2019/07/08(月) 02:40:22.44 .net
- ちゃんと処理すればGCいらないような気がするけど
なんか不都合あるかしら
- 128 :ナイコンさん:2019/07/08(月) 04:10:33.60 .net
- 無しの案書いたけど反論こないねBASICって不要な変数わかりにくいよなCGするにしても
つうかポインタ渡しだっけ$A$B個別に書き換えらたような思い出別な処理系と混同してん
のかな
- 129 :ナイコンさん:2019/07/08(月) 04:59:56.09 .net
- >>128
なしの案って>>117みたいな荒唐無稽な奴とか>>127みたいな具体性のかけらもない奴のこと?
そりゃアホすぎて反論も来ないだろw
- 130 :ナイコンさん:2019/07/08(月) 05:07:40.47 .net
- 文字列の連結を'+'だけで済ますなんて邪道
- 131 :ナイコンさん:2019/07/08(月) 05:22:35.71 .net
- >>122
CQ出版が1983年に発行した3DCG本ではBASICで記述したRay-Tracingプログラムが公開されていて映画『トロン』のライト・サイクルもどきがあちこちのSHOPでDEMOっていたな。
本ではCP/M+BASCOMで実行ということだったが手元のPCのBASICインタプリタを使った人も多かったよ。
- 132 :ナイコンさん:2019/07/08(月) 05:42:56.11 .net
- >>88
マニュアルには
・LSI-C(Z80系)
・イントロール・クロスC(6809系)
・MS-C,PLINK86(8086系,V30系)
と書いてある。
- 133 :ナイコンさん:2019/07/08(月) 06:33:55.33 .net
- 移植性重視でcではなく、
単に昔のBASICではグローバル変数だけだから大規模なプログラムは破綻するからだろう。
- 134 :ナイコンさん:2019/07/08(月) 06:41:50.77 .net
- 当時はCが流行ったって言うよりも、
C以外が流行らなかったって、消去法でCが使われてたような
- 135 :ナイコンさん:2019/07/08(月) 06:51:39.48 .net
- なんでBASICで書いたプログラムをCに移植するのに、CにGCが必要になるんだ?
文字列用のエリアをヒープに確保するならmalloc/free使う「C言語のお作法」に従う必要はあってもBASICのGCを模倣する必要はないじゃん。
- 136 :ナイコンさん:2019/07/08(月) 07:25:32.39 .net
- 日本ではROM BASICが強くpascalが流行らなかっただけで、米国じゃBASICとCの間にpascalが流行った時期があった。
GCをCにもと言ってる人は、余程出来ない人に学んだんだろうな。
- 137 :ナイコンさん:2019/07/08(月) 07:30:22.32 .net
- >>135
文字列が必要なくなるのがてんでバラバラだからいつfreeするのかわからない人みたいだよ
- 138 :ナイコンさん:2019/07/08(月) 08:13:54.10 .net
- >>135-137
毎回文字列をコピーしまくるタコ設計でいいならそれでいいんじゃね
移植するなら多分マシン性能も上がってるだろうし
- 139 :ナイコンさん:2019/07/08(月) 08:19:13.54 .net
- >>91
80年代は業務系の大半はオフコンでCOBOLだろ
- 140 :ナイコンさん:2019/07/08(月) 08:19:51.12 .net
- >>138
C言語が判ってないのね、君は。
だから「GC必要なんじゃドヤァ!」ってバカなこといってるんだね。
かわいそうに・・・
- 141 :ナイコンさん:2019/07/08(月) 08:20:05.62 .net
- BASICで変数が不要と分かるタイミングっていつ?
- 142 :ナイコンさん:2019/07/08(月) 08:22:46.75 .net
- 文字列が毎回コピーとか言ってる時点でJavaプログラマなのかな
たしかにJavaだとStringBuilder使わないと加工するたびに毎回コピーされる
C言語の文字列はただの文字型の配列だからな
- 143 :ナイコンさん:2019/07/08(月) 08:27:55.22 .net
- >>141
A$="1234"
A$=null
とかできるBASICならnull代入時になるんじゃね?
N-BASICはよく知らんけどローカル変数やnullの概念がないBASICは一度宣言(確保)した変数はCLEARとかNEWとかERASEとかDIMとかで開放しないとずっと握りっぱ。
- 144 :ナイコンさん:2019/07/08(月) 08:31:25.79 .net
- ROM BASICで動くプログラムならそのままDiskBASICコンパイラで速く動かせられるってなってりゃ、
あれほどROM BASICだけしか無いって状況になってなかったろうに
結局は移植が必要で、どうせ移植するならCでも手間は大差無い
なら高速化できる余地のあるCにしてしまえ、だったような
- 145 :ナイコンさん:2019/07/08(月) 08:31:47.61 .net
- C言語の場合、文字列のコピーも連結も関数使って自分でやるんだよな
他の言語のように全自動でやってくれない
- 146 :ナイコンさん:2019/07/08(月) 08:34:16.24 .net
- 当然、C言語の場合
新しい文字列が必要になったら文字列の領域確保も自分でやらないといけない
- 147 :ナイコンさん:2019/07/08(月) 08:37:08.02 .net
- C言語の場合、文字列の領域確保はグローバル変数でもいいし
関数内だけでしか使わなければローカル変数でもいいし
途中でメモリを解放したければmallocで動的に確保してもいい
いずれにしても自分で領域を確保しないといけない
全自動ではやってくれない
- 148 :ナイコンさん:2019/07/08(月) 08:51:23.73 .net
- 言われてみれば、8ビット時代のBASICのGCって何を対象にしてるんだろ?
てっきり、文字列変数を切り貼りする時の内部的なテンポラリ領域を掃除するんだろと思ってたけど、厳密には考えたこともなかったな。
ローカル変数がないんだから、変数が要らなくなるタイミングなんてない気がする
- 149 :ナイコンさん:2019/07/08(月) 08:59:32.79 .net
- >>129
ないことの証明はできない、悪魔のなんたらってやつじゃん?
どうしてもGC必要な例だしてよw
- 150 :ナイコンさん:2019/07/08(月) 09:03:48.99 .net
- A$="12345”
B$="ABCDE"
ってやったあとに
A$="AB"
ってやったりすると”CDE"があった部分が開くでしょ?
そこにB$をずらしてくる。
というのがBASICのGCがやることのひとつ。
GCやって後ろに空きがなくなったところで
A$=A$+"XYZ"ってやると新しい領域にA$+"XYZ"の結果入れて、それまでA$が占めてた空間が開くので(ry
まぁBASICも文字列操作すると裏ではコピーしまくりなのよね。
- 151 :150:2019/07/08(月) 09:05:54.09 .net
- ”CDE"の場所があく、じゃねーや、”345”の場所が開く、だw
まぁ、言いたいのはそこじゃなくて「文字列の長さ変わったら」だから勘弁してクレメンス。
- 152 :ナイコンさん:2019/07/08(月) 09:13:20.44 .net
- >>150
なるほど
デフラグって感じね
- 153 :ナイコンさん:2019/07/08(月) 09:16:55.21 .net
- C言語の場合、そういう操作は全部手動でやる
文字列のコピーもstrcpyなどを使って手動でやる
新しい文字列領域が必要になったらmallocで領域確保していらなくなったらfreeで解放
- 154 :ナイコンさん:2019/07/08(月) 09:25:14.52 .net
- malloc/freeもどうしようもないゴミができてくるよね
BASICのやつ、文字列ヒープコンパクションだったのね
- 155 :ナイコンさん:2019/07/08(月) 09:29:58.46 .net
- >>149
> どうしてもGC必要
そんなこと言ってるの君だけじゃね?
- 156 :ナイコンさん:2019/07/08(月) 09:34:22.62 .net
- >>155
はい、では「GC必要ない」で良いですか?
- 157 :ナイコンさん:2019/07/08(月) 09:50:43.85 .net
- 「どうしてもGCが必要」とは言ってない
↓
「CGは必要ない」
って考える人はプログラマーに向いてないんだろうな…
総レス数 1001
229 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200