Skip to content

Ver.261021

Choose a tag to compare

@Imaha486 Imaha486 released this 20 Oct 22:29
· 2 commits to main since this release

ver 261021

直したこと

  • 割込みの入る位置によって、常駐するサウンドドライバのスタックが別のプログラムのコードを壊し、ゲームが止まったり未定義命令で落ちたりしていた不具合を直した。 スタックを元に戻すときに「SP を戻してから SS を戻す」順で書いている常駐プログラムがあり、その 2 命令の間に割込みが入ると、割込みの記録がまったく別の場所(あとから読み込まれたプログラムのコード)に積まれます。実機でもその 1 命令の間に割込みが入れば壊れますが、ほとんど当たりません。PC98PLAYER では割込みの入る位置が偏っていて何度も当たっていたので、SS を書き換える命令(MOV SS・POP SS)の直前では、割込みを 1 命令だけ待たせるようにしました。
  • Trace=1 の [stall] の記録に、割込みが禁止されたまま止まっているときは、最後に禁止した命令の場所も書くようにしました。
    追加したこと
  • tools/cue2folder.py(ソースに同梱)。 CUE + BIN(IMG)の CD イメージを、データトラックの ISO(TRACK01.ISO)と、音楽トラックのファイル(BGM/track02.wav …、--mp3 で MP3。MP3 には ffmpeg が要る)に分けます。CDROM=TRACK01.ISO と CDDA=BGM で、CD イメージより小さく持ち運べます。
  • サンプル INI に、CD-ROM 版を CUE シートで遊ぶ例と、データトラックの中身のフォルダと MP3 の BGM で遊ぶ例を追加しました。

直したこと

  • CDROM= に ISO を書いたとき、データトラックの長さをイメージのファイルの大きさから決めるようにしました(ボリュームの大きさのほうが大きければそちら)。CUE から切り出した ISO なら、元の CD と同じ長さになります。