2014年11月25日

ポッキーforP6(2)

  ポッキー for P6


  大体、プログラムが終わりました。後は、BASIC変換用ののAWKスクリプトを書くだけです。

  一区切り付いたので、技術的な事をまとめます。
  と言っても、基本はリトルバンパイアとほとんど同じです。


  今回面倒だったのは、以下の3点。


1)音楽再生が単なるPLAY文で実行されている
  前のアリスソフト用BGM演奏プログラムを使うために、PLAY文からBGM演奏プログラム用に変換するプログラムを書いています。
  また、エンベロープを使った場合に音が鳴らないバグがあったので、修正しました。
  (リトルバンパイアで、このバグに相当する曲があります。どうしよう...)


2)ディスク容量が足りない
  2Dを1DDにするので、通常では不足する事はないのですが...

  ポッキーのディスクは、通常の1セクタ=256バイト、1トラック=16セクタの80トラックではなく、1セクタ=512バイト、1トラック=10セクタの84トラックです。このため、ディスク容量自体がかなり違います。

  アリスソフトでも似たような状況だったのですが、CGのサイズが640x200→320x200になるので、グラフィック容量が少なくなって避けられていました。

  ポッキーでは、
  ・複数の画像ファイルを1つのファイルにする。
  ・メッセージファイルを圧縮する。

  で回避しています。


3)速度が遅い
  アリスソフトではあまり気にならなかったのですが(それでもちょっと遅い)、ポッキーでは許容範囲を超えた遅さでした。

  ディスクからデータを読み出し、そのデータを文字列として、全部処理をしています。そのため、MID$を多用しています。

  MID$自体の処理があまり速くなく、さらに文字領域を毎回確保するために、ガベージコレクションも割りと発生していました。

  以上の問題点の対策として
 ・文字領域を決まった場所に割り当てる。
 ・MID$をマシン語処理する。

  としてます。

  とりあえずそれなりな速度にはなっています。速い、とは言えませんが...


この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。