パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

新生X68000誕生」記事へのコメント

  • by Anonymous Coward

    ゲームマシンとしての側面もあるが、多くのプログラマを育てた機種という側面もある。私もそのひとり。
    とはいえ、今になってプログラミング環境まで忠実に再現したとて、そこに魅力を見いだせるかと言うと……。

    実機は今も棚に飾ってある。人生の一部というほど思い入れのあるマシンだけど、自分にはそれだけでいいかなぁ。

    • by Anonymous Coward on 2022年09月15日 13時57分 (#4326718)

      スペック的にはUNIX動いてX-Window動いたんだろうけど
      そういう使い方している話はあまり聞こえてこなくて
      どこまでも高性能な「マニアックなホビーパソコン」でしたねぇ
      まあスプライトなんてゲーム以外に使わないでしょうから

      親コメント
      • 68000にはMMUがないですし、X68030もMMUなしの68EC030を載せてるのでUNIXは無理ですよ。
        X68kで X Window System が動くOSとしてはMINIXとかNetBSD/x68kがありましたが、MMU有りのCPUへのCPU交換が必須でした。
        (MINIXは元が16bitのIBM PC用なので、移植版は素のX68000でも動きましたが、Xまでは動かせられなかった。)

        他にはOS/9もありましたが、
        X68000用のOSとしては「MS-DOSをそのまんま68000に移植した」ような仕様の Human68k を使うのが基本ですね。
        「MS-DOSの感覚で12MBのメモリをリニアに使えるプラットフォーム」ってのは、プログラマにとっては手軽で良かったです。
        16bitでMS-DOSだと、64kB超のメモリが必要になると、セグメントの壁のせいで面倒が多い…

        親コメント
        • by Anonymous Coward

          正 OS-9
          誤 OS/9

          X68000はご指摘の通りMemory Management Unit(MMU)がなかったので、
          OS-9 for X68000はLEVELⅠで、仮想記憶は使えませんでした。

          MC68000のニモニックはC言語との親和性も高くて覚えやすかったし、
          メモリ空間の壁もなくて楽でしたねえ。

          #奇数アドレスの壁から目をそらしながら

          • by Anonymous Coward

            当時としてはレジスタが潤沢に使えるのが楽だった。
            データレジスタだけでも8本あったし、最上位bitの扱いが違うだけのアドレスレジスタも8本。

            アセンブリ言語を学習するにはとてもいい環境だったと思う。
            バイトオーダーで発狂しなくて済むし。

            同じころ学校ではZ80のマイコンボードでの実習があったけど、レジスタ少なくて面倒くさかった。

            • 68000のアセンブラを知るまでは、C言語ってなんかすごい変換をするコンパイラって印象でしたが、

              68000のアセンブラを知ると、「C言語は高級アセンブラ」という言葉を体感できましたね。
              特に、X68000のCコンパイラVer1は、良くも悪くも教科書通りの実装って感じで、最適化も弱くて、
              C言語で書いたコードとアセンブリ出力がほぼ一対一対応したりするし。
              あれでC言語への理解が深まりました。

              68000のポストインクリメント/プリデクリメント命令が上手く使われるように「*++p」と「*--p」を良く使ったりとか。
              gccは最適化がすごく強力だったけど、それでも、ループにDBRA (1引いて-1じゃなかったらジャンプする、という減算と条件ジャンプを同時に行う高速な命令)を使うために、「do {…} while (--i != -1);」とするってのもあった。DBRAの意味そのままのC言語コードなら、DBRAにしてくれる。

              親コメント
            • by Anonymous Coward

              68000が良かった点としてエンディアンとかの知識が無くともそのまま読めるのも良かったんですよね。
              後になってリトルエンディアンの存在を知って、「面倒だ」って印象しか無かった。

          • by Anonymous Coward

            ポインタのポインタはMC68Kのおかげで理解が進んだなあ
            #奇数アドレスの罠で暴走した経験から目をそらしながら

        • by Anonymous Coward

          コア部分はMS-DOSもどきだったけど
          グラフィックやサウンド周りのAPIが体系的に整備されていたのが凄かった。
          98だと大半は自前で何とかしないといけなかったし。

          BASICでもCで一通り何でもできてプログラミングのハードルが低かったのが
          当時としては画期的だったと思う。
          (私も持ってたよ)

          今となってはソフトつきのミニシリーズなら何とかぐらいの価値しかないが。
          環境だけなら(ハード無しの)エミュレータで十分だしね。

        • by Anonymous Coward

          Lisa/Macintosh XLではV7やSystem IIIベースのUNIXが走ってたよ、XENIXとかUniPlusだったかな。
          CPUは当然68000(外部MMUは載ってたかも)

          • by Anonymous Coward

            Lisa 2のMMUは、米国特許 US4926316A になってるようですね。論理アドレス24bitを物理アドレス21bit (2MB)で扱う感じ。68000勢は自前のMMUを実装必要だったから…。

            • by Anonymous Coward

              コンテキストがたった4つかぁ(スーパーバイザx1、プロセスx3)。

        • by Anonymous Coward

          68000にはMMUがないですし、X68030もMMUなしの68EC030を載せてるのでUNIXは無理ですよ。

          初期のUNIXは仮想記憶なかったし「UNIXは無理」は物知らずなだけ。

        • by Anonymous Coward

          細かいことを言えば初期のUNIXは仮想記憶を実装していなかったので、(実用になるかはともかく)MMUがなければUNIXは無理というわけではない。

      • by Anonymous Coward

        超すごいスプライトで3Dグラフィックを実現したセガサターンというゲーム機があってだな

        • by Anonymous Coward

          SH-2AがEOLになったの最近だからルネサス儲かっただろうな

      • by Anonymous Coward

        68000はメモリ保護機能がないからUNIXはキツいな。
        MMU使えるのは68020以上じゃなかったっけ?
        (68010は68020の8bitバス版だったっけ?)

        • by Anonymous Coward on 2022年09月15日 15時36分 (#4326806)

          68010は、68000に以下の改良をしたもの。一部の68000コードで非互換問題あり。
          1、仮想マシン対応。ユーザーとスーパーバイザを分離しても、スーパーバイザからユーザーメモリにアクセス可能。
          2、仮想記憶対応。バスエラーからのアクセスの再開が可能。
          3、アドレスの24bit以上の有効化。
          4、例外ベクタが移動可能になった。

          68008が、68000の外部バス8bit、アドレスバス20bit版。でも奇数アドレスからの16bitアクセスはできない。

          親コメント
      • by Anonymous Coward

        C Compiler pro 68Kも本体とセットで買いましたよ
        けど実際はタイトル忘れたけど黒字に緑と橙でタイトルが書かれたムックに付いてたGCC使ってたw
        たしかインタラプトスイッチ押すと内蔵デバッガが起動するのも面白かったな
        他にもOh!Xの連載で色々開発環境も手に入ったっけ

        • by Anonymous Coward

          GCCのムック買ったわ。分厚いマニュアルが何冊も付いてきた。

          HASやHLK(ハイスピードアセンブラとハイスピードリンカ)やDIS(ディスアセンブラ)にはお世話になった。

          • by Anonymous Coward

            わいも買った。
            シャープのC Compilerが高くて買えなかったから。
            Oh!Xはレイトレーシングとかやってたわー。
            あとDoGaかなぁ。

            • by Anonymous Coward

              レイトレはやったなぁ。
              X68030にMC68882入れた。
              純正は高かったから大塚商会でMac用に売ってたやつ。
              一晩かかってた計算が1時間ほどで終わって涙出た。

              • by Anonymous Coward

                X68000の68881はほとんど効果無いって言われててX68030では改善されたんでしたっけ。

              • by Anonymous Coward

                68881は本来68020用の数値演算コプロセッサですが、他のプロセッサでもIOアクセスデバイスとして接続可能でした。
                X68000でも拡張スロットのIO経由で接続されたため、メモリアクセスウェイトが大きく、速度低下がありました。
                さらに、数値演算のためにIOCSを拡張するデバイスドライバfloat3.xがコプロセッサをうまく利用できていないため、1割程度の速度向上しかありませんでした。
                直接コプロセッサを叩いたり、float3.xの高性能な互換ドライバfloat3p.x等が出てきたことにより、2倍程度の高速化を達成しました。
                68030と68882は専用のコプロセッサバスで接続されるため、float4.xを使用することで性能を発揮できますが、直接コプロセッサをたたくには及びませんでした。
                コプロセッサのない環境向けには、float2.xを使用することで、ソフトウェアエミュレーションできます。
                float[234].xは、IEEEフォーマットで浮動小数点演算を行いますが、シャープ独自フォーマットのfloat1.xというものもありましたが廃止されました。

      • by Anonymous Coward

        お手軽なOS-9/68000の開発機としてあの当時、確か構内交換機の開発とかに使ってた。

        そしてICEの繋がったPC-98で実機でって持っていくと、小文字ファイル名に引っかかったり。

日々是ハック也 -- あるハードコアバイナリアン

処理中...