パスワードを忘れた? アカウント作成

ソーサリアンの移植時の解析で分かった技術を解説するサイト」記事へのコメント

  • by Anonymous Coward on 2021年11月26日 15時16分 (#4159253)

    久々にスラドで読みたい記事が読めてtamacoさんに感謝。

    ここに返信
    • by tamaco (19059) on 2021年11月27日 0時40分 (#4159525)

      ありがとうございます。
      当時自分でもSorcerianやYS1/2辺りは結構解析していたので、あるある~って楽しく読めた記事でした。

      簡単な専用ファイルシステムを使っていて、曲を示すクラスタ番号から音楽を吸い出して、Mucom88 [onitama.tv](当時はMusic LALFとか、同人版Splitと呼んでいました)で再生していました。
      参考:作者の古代祐三さんの解説 [youtu.be]

      ファルコムのSorcerianやYSの音楽ドライバは、厳密には古代さんのMucom88ではなく、同じデータを再生できるようファルコムの橋本さんが作ったもののようですが、Z80のインデックスレジスタIXをFM音源、IYをSSGに使用するよう、リアルタイムでコードの自己書き換えやっており、すげーコードだなと感心した覚えがあります。

      知人がX1を持っておりSorcerianがOPM対応であることに気付きました。当時PC88FH+SB2ユーザーだった私は、PC88で動く専用ドライバ作成して(たしかIXレジスタを2回コールしてFM6音に対応させたんだと思う)、高校の学際で見せびらかしてた微笑ましい思い出がありました(X1版の方がPC88版に比べ音が拡張されていた)

      とにかくPC88/X1の時代は面白かったですね。FDCなどサブシステムを扱う解析記事も雑誌などで豊富であり技術的好奇心を満たせるものでした。
      その後のPC98では処理速度は上がりましたが、ディスクアクセスもInt1Bhばっかりで、つまらなくなりました。さらにWindows3.1/95時代以降はハードウェアを直接叩くこと自体が困難ですしね。
      80年代後半はPCやアーケードゲームなども、とにかく日進月歩で技術革新が進む良い時代でした。

    • by Anonymous Coward on 2021年11月26日 15時24分 (#4159261)

      ソーサリアンの設計技術はマジですごいな

      • by Anonymous Coward on 2021年11月26日 17時43分 (#4159350)

        追加シナリオ作成したほかのソフトハウスが褒めてましたね
        プラットフォームとしても練られてるそうで

      • by Anonymous Coward

        この頃の少ないリソースでいろいろ上手くやる工夫って、よくそこまで考えるよなぁと思いますよね。
        FDDヘッドのシーク時間を考慮したデータのセクタ配置の話とか。
        #ソーサリアンじゃなくてイースだっけ?

        • by Anonymous Coward

          >FDDヘッドのシーク時間を考慮したデータのセクタ配置
          純正でキリキリ調整すると、サードパーティ製ドライブでタイミング違うので
          そっちで動作させた場合逆にエライ時間がかかる、なんてことも今は昔。
          リソースやりくり、デバイスの裏技駆使する箱庭感は面白かったですねぇ
          中村光一氏のニュートロンでの木を蹴っ飛ばしたときの画面の揺れとか
          CRTCのクロックパラメタをいじってたのかな?
          ああいうのはエミュレートできるのだろうか。再現苦労すると思う。

          • by Anonymous Coward

            セクタサイズまで変えて大容量化してたのもあるな

            2Dで400KB位にしてた

            (*´ω`*)

            • by Anonymous Coward

              セクタサイズかもだが、ギャップ小さくして増やしたのでは?
              フロッピいじるのも楽しかったですね手近なエレメカでした
              ゲーム本体よりプロテクト外しが面白かったり。
              # 鳴り物入り?で登場のozawaチェッカは大したことなかったなぁ

              • by Anonymous Coward

                2Dはセクタサイズ1KBにすると1トラックに5セクタ入って80トラックで400KB
                ちな標準はセクタサイズ256Byteで1トラックに16セクタ

                ギャップ削るのはやったことない

              • by Anonymous Coward

                Write OnceならGapいらないですよね。
                ゲームには適していたかもしれません。

    • by Anonymous Coward on 2021年11月26日 18時59分 (#4159394)

      読んでとても懐かしかった。
      pushとpopで画面書き換えとか当時は目からうろこで感動したよ。

      • by Anonymous Coward on 2021年11月26日 19時23分 (#4159412)

        pushを1ライン分40個並べて塗りつぶし幅に応じて途中に飛び込むとか、DDA [wikipedia.org]とか、ブレゼンハムのアルゴリズム [wikipedia.org]は結局除算を引き算の繰り返しでやっていることになるので、短い直線とかでなければ先に明示的に除算したほうがいいとか、定数での乗除算の最適化とか、そういう話が雑誌によく載っていました。

        • by Anonymous Coward on 2021年11月26日 21時05分 (#4159453)

          そういう話の元ネタは、コンピュータ科学のちゃんとした教科書だったり、DDJ [wikipedia.org]やBYTE [wikipedia.org]といった洋雑誌だったりしました。
          当時は大学生がアルバイトでゲームを作ることがよくありました。

        • by Anonymous Coward

          ブレゼンハムのアルゴリズムで線分を描く場合

                    for x from x0 to x1 with increment inc // 修正
                            if steep then plot(y,x) else plot(x,y)
                            // increment により描画順序が制御される
                            error := error - deltay
                            if error < 0 then
           

      • by Anonymous Coward

        > pushとpopで画面書き換えとか当時は目からうろこ
         
        わかる。
        パソ通も夢の話で、月イチのASCIIとI/O、そしてZ80入門とかしかなかった時代。
        PUSH, POPってサブルーチンでのレジスタ退避以外に使う発想がなかったです。
        XOR A,Aぐらいしか知らなかった。

身近な人の偉大さは半減する -- あるアレゲ人

処理中...