アカウント名:
パスワード:
小学生の時に買ってもらったはんだごてを30年以上使ってるが、これまでにコテ先、ヒーター、スイッチ、電源ケーブルを交換してるので、残っているのは本体カバーだけという。今でもまだメンテパーツが売ってるのが驚き。
テセウスの船、って言葉もありますね。テセウス(テーセウス)、星座になってないからかペルセウスとかヘラクレスとか他の英雄に比べていまいちマイナーなんだよなー。この諺以外には、リングにかけろの世界大会のギリシアチーム選手の名前くらいでしか印象ないや。
テセウスといったらASCIIが出してたMSXの名作ゲームだなあ。無印MSXなのにスムース・スクロールする謎の技術が使われてます。ゲームとしても面白かった。別冊LOGINの特別編超難解版テセウスというのもあった。
#ギリシャの英雄だけどFGOには出てこないかな。
無印MSXのグラフィックモード(SCREEN2)って実はテキストモードなんです。テキストとして表示するキャラクタジェネレータの内容を書き換えることでグラフィックを表現しています。これによってたとえば画面全体に同じキャラクタコードを設定すれば、1キャラクタ分のキャラクタジェネレータを書き換えるだけで画面全体を書き換えることが可能です。
そしてテセウスでは背景として描画されるのは「背景(真っ黒)」「壁」「ダメージを受ける池」の3種類ちかなく、それ以外はすべてスプライトです。スムーススクロールを表現するには隣り合った複数のブロックを一つのキャラクタとして表示する必要がありますがマップ構成に規則性があるため、いま記憶を頼りにカウントしてみると20通り必要でした。
ひとつのキャラクタのデータ量は16バイト(バターンテーブル8バイト+カラーテーブル8バイト)ですが、テセウスの場合カラーテーブルの方は書き換え不要なので8バイト×20キャラクタで160バイト分を毎回書き換えるだけでスムーススクロールが可能です。
MSXの処理能力では1ドットずつずらしたパターンを生成するだけでもきついので、実際にはあらかじめすべてのずらしたパターンをメインメモリ上に用意しておいて、一描画ごとに160バイトのデータを転送するだけにしていると思います。(それとは別に8ドット分移動するたびにキャラクタテーブルの書き換えも必要)
少しずつずらしたパターンをキャラクタジェネレータに書き込むことでスムーススクロールを実現したもので有名なのはX1版のゼビウスですね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
例の斧 (スコア:0)
小学生の時に買ってもらったはんだごてを30年以上使ってるが、
これまでにコテ先、ヒーター、スイッチ、電源ケーブルを交換してるので、残っているのは本体カバーだけという。
今でもまだメンテパーツが売ってるのが驚き。
Re: (スコア:0)
テセウスの船、って言葉もありますね。
テセウス(テーセウス)、星座になってないからかペルセウスとかヘラクレスとか他の英雄に比べて
いまいちマイナーなんだよなー。この諺以外には、リングにかけろの世界大会のギリシアチーム選手の
名前くらいでしか印象ないや。
Re:例の斧 (スコア:0)
テセウスといったらASCIIが出してたMSXの名作ゲームだなあ。
無印MSXなのにスムース・スクロールする謎の技術が使われてます。ゲームとしても面白かった。
別冊LOGINの特別編超難解版テセウスというのもあった。
#ギリシャの英雄だけどFGOには出てこないかな。
Re:例の斧 (スコア:4, 参考になる)
無印MSXのグラフィックモード(SCREEN2)って実はテキストモードなんです。
テキストとして表示するキャラクタジェネレータの内容を書き換えることでグラフィックを表現しています。
これによってたとえば画面全体に同じキャラクタコードを設定すれば、1キャラクタ分のキャラクタジェネレータを書き換えるだけで画面全体を書き換えることが可能です。
そしてテセウスでは背景として描画されるのは「背景(真っ黒)」「壁」「ダメージを受ける池」の3種類ちかなく、それ以外はすべてスプライトです。
スムーススクロールを表現するには隣り合った複数のブロックを一つのキャラクタとして表示する必要がありますがマップ構成に規則性があるため、いま記憶を頼りにカウントしてみると20通り必要でした。
ひとつのキャラクタのデータ量は16バイト(バターンテーブル8バイト+カラーテーブル8バイト)ですが、テセウスの場合カラーテーブルの方は書き換え不要なので8バイト×20キャラクタで160バイト分を毎回書き換えるだけでスムーススクロールが可能です。
MSXの処理能力では1ドットずつずらしたパターンを生成するだけでもきついので、実際にはあらかじめすべてのずらしたパターンをメインメモリ上に用意しておいて、一描画ごとに160バイトのデータを転送するだけにしていると思います。
(それとは別に8ドット分移動するたびにキャラクタテーブルの書き換えも必要)
少しずつずらしたパターンをキャラクタジェネレータに書き込むことでスムーススクロールを実現したもので有名なのはX1版のゼビウスですね。
うじゃうじゃ