2018年11月23日

エフォームンの境界を修正する

  システムソフトのエフォームンの境界の件。

  メイン画面はSCREEN4、スコア部分はSCREEN3 で表示されているんですが、mk2以降の場合、メイン画面とスコア部分の境界がヘンな表示になります。

181123_01_eformn1.png

  ↑
  こんな感じに、メイン画面の右端がSCREEN3になっています。
  これはエミュレータの画面ですが、実機でも同じような画面になります。


  また、初代機の場合は、左端がSCREEN3になっているようです。

181123_01_eformn2.png

  ↑
  これもエミュレータ画面ですが、実機でも大体同じです。


  上記はPCマガジンのダンプリストを入力したもので、市販のものが同じかどうか分かりません。


  この問題は、アトリビュートの設定が誤っているだけなので、修正するプログラムを作成しました。



10 CLEAR 50,&H8800
20 FORI=&HF878TO&HF8D1:READA$:POKEI,VAL("&H"+A$):NEXT
30 EXEC&HF87C
31 IFPEEK(&H9B5D)<>&H2FTHENPRINT"PATCH ERROR":END
32 POKE&H9B5D,&H31
33 IFPEEK(&H9B5E)<>&H30THENPRINT"PATCH ERROR":END
34 POKE&H9B5E,&H80
35 IFPEEK(&H9B94)<>&HF8THENPRINT"PATCH ERROR":END
36 POKE&H9B94,&H4A
37 EXEC&HF520:END
40 DATA 1A,C3,06,1B,CD,9A,25,06,05,CD,70,1A,FE,AF,20,F7
50 DATA 10,F7,21,32,F8,06,06,CD,70,1A,77,23,10,F9,CD,06
60 DATA 1B,AF,32,38,F8,21,76,25,CD,CF,30,21,36,F8,CD,CF
70 DATA 30,CD,9A,25,2A,32,F8,ED,4B,34,F8,1E,00,CD,70,1A
80 DATA 57,83,5F,72,23,0B,78,B1,20,F3,CD,70,1A,BB,CA,AA
90 DATA 1A,CD,06,1B,21,85,03,C3,CF,30



  メインはマシン語のみなので、マシン語ローダに修正プログラムを追加しています。
  マシン語ローダは、I/Oモニタ形式のものを読み込むようになっているので、必要に応じて修正して下さい。

  31〜36行が、今回追加しているパッチプログラムです。31〜34行が初代機用、35〜36行がmk2以降用です。

  修正した結果は↓です。


181123_01_eformn3.png
  mk2以降の実行結果


181123_01_eformn4.png
  初代機の実行結果(P6VW)

  P6VWでは、ナゼかボーダー色が違ってしまいます。実機動作と異なる結果になります。



181123_01_eformn5.png
  初代機の実行結果(P6V)

  P6Vでは、こうなります。これは実機で動かした時と同じ結果です。



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

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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