忍者ブログ
ホムペもみてね。 かにかにクラブ http://kani.no.coocan.jp/
上段メニュー開閉(JAVAスクリプト有効時のみ)
カレンダー
08 2017/09 10
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
最新コメント
タイトル横の画像は管理人から返信ありマークです
無題  [10/29 AWJ]
無題  [10/29 AWJ]
無題  [10/28 AWJ]
無題  [10/28 AWJ]
無題  [10/27 AWJ]
無題  [10/25 yasu]
無題  [07/15 まい''ん]
無題  [04/17 まい'ん]
無題  [03/13 km]
無題  [03/13 km]
アーカイブ
[1] [2] [3] [4] [5] [6] [7] [8]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

http://kani.blog.shinobi.jp/Entry/242/
(ソースはこちらの12月5日の記事で更新しました)

アルファ電子系の1986~1989年あたりのゲームのDIPSW設定いじくり。

●スーパースティングレイ

ディップスイッチ設定に「難易度/off=easy/on=difficult」を追加

PORT_DIPLOCATION修正

●カイロスの館

ディップスイッチ設定の難易度の項目「hard」をマニュアルと同じ「difficult」に変更

PORT_DIPLOCATION修正

スーパースティングレイと共通な部分をPORT_INCLUDEを使って省略

●ジャンボウ

ディップスイッチ設定の難易度の項目「hard」をマニュアルと同じ「difficult」に変更

PORT_DIPLOCATION追加

●パドルマニア

ディップスイッチ設定の「Game Time」を工場出荷設定の「default」に変更

ディップスイッチ設定の「Match Type」を
「Cabinet/off=upright/on=cocktail」
「Allow Human VS Human/off=yes/on=no」(upright時)
「Controls/off=dual/on=single」(cocktail時)
に変更

●タイムソルジャー

PORT_DIPLOCATION修正

●バトルフィールド

タイムソルジャーと共通な部分をPORT_INCLUDEを使って省略

●バトルフィールド海賊版

PORT_DIPLOCATION修正

●スカイソルジャー

ディップスイッチ設定の難易度の項目
「easy, normal, hard, hardest」を
「easy, medium easy, normal, difficult」に変更
(マニュアルは「1 easy, 2, 3, 4 difficult」で、デフォルト「3」)

PORT_DIPLOCATION修正

●ゴールドメダリスト

ディップスイッチ設定の「Speed For 100M Dash」を
US (Romstar)の工場出荷設定の「10 Beats For Max Speed」に変更
(日本版の工場出荷設定は明記されていない)

PORT_DIPLOCATION修正

●スカイアドベンチャー

PORT_DIPLOCATION修正

●ギャングウォーズ米国版

PORT_DIPLOCATION修正

●ギャングウォーズ日本版

ディップスイッチ設定の「Coin Slots」の名前を「Coin Chutes」に変更

コインシューター数による料金設定の変動に対応

PORT_DIPLOCATION修正

●スーパーチャンピオンベースボール

PORT_DIPLOCATION追加

●ネクストスペース日本版

料金設定を修正

ディップスイッチ設定の「Lives」を
日本版の工場出荷設定の「2」に変更
(米国版の工場出荷設定は明記されていない)

PR
http://kani.blog.shinobi.jp/Entry/242/
(ソースはこちらの12月5日の記事で更新しました)

●前回の改造目的の、反転表示の失敗が、公式のほうのスタッフの手でも修正されたが、
 一部がまだ修正されていないので引き続き改造を公開する。

  Libble Rabble Toypop

●前回自分が修正できなかった箇所が公式版では直っているのでそれを参考にして修正した。
 これは、前回の改造の「反転表示は何も悪くないが、~」に該当することになるので、
 エンバグ(バグ増加)が心配な人は、この改造は除外してください。

  Bosconian
  Super Pac-Man Pac & Pal Grobda
  Phozon Mappy The Tower Of Druaga
  Dig Dug II Motos

●ギャプラスの星が流れる速度を変更した。
 だいぶ実機に近づいたと思うけど、意見募集中。

●実機のゼビウスで、ギドスパリオの破壊画像がスプライトROMの範囲外の番号を使っている。
 その部分は、実機ではゴミ画像を表示するが、MAMEではROM範囲内の番号に置き換えて表示する。
 その番号を置き換えている処理を削除した。
 ただし、これでゴミが表示されるようになったが、実機と異なる形状・色のゴミなので、
 まだ研究の必要がある。

  スプライトROMがサポートしているスプライト番号
   0x0000 ~ 0x013f
  ギドスパリオの破壊画像のスプライト番号
   0x0104, 0x0184, 0x0105, 0x0185, 0x0106, 0x0186, 0x0107, 0x0187 (次で消滅)

●ボスコニアンの弾のレイヤーの表示座標を変更した。
 (確認不十分。弾じゃなくて、その他のキャラがズレていた可能性なども残っている。)

●ドルアーガの塔のゲーム名を変更した。
  改造前 Tower Of Druaga
  改造後 The Tower Of Druaga
http://kani.blog.shinobi.jp/Entry/240/
(ソースはこちらの11月30日の記事で更新しました)

(11月18日更新:デバッグモードのエラーログ出力にこの件で追加していた項目を隠した)

またまたナムコゲーの反転表示関連の改造の続き。
今回は、ギャプラス、ドラゴンバスター、スカイキッド。
これらは反転に関しては何もおかしくなかったけど、
前回も書いたように似たようなルーチンをできるだけ似せることを目標に改造。
もしかするとおかしくなっちゃった箇所があるかもしれないので、
プログラムに興味ない人にとっては
 余計なことしやがって!!
な改造かもしれません。


ついでに、ギャプラスの背景に流れる星のスピードを変更。
スピードの目安は「フィーリング」ww
(とは言っても本物を見た上でこれくらいだよね?って考えた速度です)
より正確な意見は大歓迎。

1Pのリバーススクロール面の最高速度を自機のハイパーあり横移動と同じに。
1Pのエレファント取得時の最低速度を自機のハイパーなし横移動と同じに。
1Pのエレファント取得時の最高速度を自機のハイパーあり横移動と同じに。
2Pの通常スクロール面の動かし忘れていたっぽい星を動くように。
http://kani.blog.shinobi.jp/Entry/239/
(ソースはこちらの11月17日の記事で更新しました)

ナムコゲーの反転表示を全面的に直す作業の続き。
ボスコニアンとマッピーを直そうとがんばったけど挫折。

ボスコニアン
 レーダー領域の表示の直し方がわからない。

マッピー(スーパーパックマン、パック&パル、
      グロブダー、フォゾン、ドルアーガの塔、モトス)
 背景の表示の直し方がわからない。  


たぶんこの辺の資料を理解しないと直せない。
http://mamedev.org/devwiki/index.php/Using_MAME%27s_tilemap_system

なぜ改造中のを公開したかというと
  誰か代わりにやってくんないかなー
って期待してww

他に、前回までのソースも、それぞれの書き方をできるだけ似せて
比較して理解しやすくなることを期待して、細かい記述を変更。


以下は同梱の説明書に書いたメモ-------------------

Bosconian BAD rader on flipped screen
Galaga GOOD(?)
Xevious BAD explosion of Giddo Spario
Dig Dug GOOD(?)

Libble Rabble GOOD(?)
Toypop GOOD(?)

Super Pac-Man BAD background on flipped screen
Pac & Pal BAD background on flipped screen
Grobda BAD background on flipped screen
Phozon BAD background on flipped screen
Mappy BAD background on flipped screen
Tower Of Druaga BAD background on flipped screen
Dig Dug II BAD background on flipped screen
Motos BAD background on flipped screen
http://kani.blog.shinobi.jp/Entry/240/
(ソースはこちらの11月30日の記事で更新しました)

どうでもいい改造。
ソース内の英語のつづり間違いをちょっとだけ修正。
comunication → communication
controler → controller
pallette → palette
pallete → palette
http://kani.blog.shinobi.jp/Entry/238/
(ソースはこちらの11月16日の記事で更新しました)

ナムコゲーの反転表示を全面的に直すよ、という作業の続きです。
前にtoypopの画像処理とソースの書き方が似ているものを改造すると書きましたが、
xeviousは似てなかったけど気になったので手を出してしまいました。
むしろ逆にtoypopの書き方に似せて書き直しました。

で、
ギドスパリオの破壊画像がおかしかったのでコレも直したかったのですが、今回はあきらめました。
かなり手ごわいので、長期戦になりそうです。

一応こんなかんじのことまで調査。
スプライトROM容量いっぱいのスプライト番号が
 最大 0x013f
なのに対して、ギドスパリオの破壊画像のスプライト番号が
 0x0104, 0x0184, 0x0105, 0x0185, 0x0106, 0x0186, 0x0107, 0x0187(終了)
になる。
http://file.kani.blog.shinobi.jp/mame0143u9kani.zip
改造ソースのダウンロードは↑ココから。
10月31日からの改造も一緒に入っています。

11月1日以降で改造した表示関連のソースについて、
src\mame\video\baraduke.c
src\mame\video\digdug.c
src\mame\video\galaga.c
src\mame\video\gaplus.c
src\mame\video\mappy.c
src\mame\video\pacland.c
src\mame\video\retofinv.c
src\mame\video\skykid.c
src\mame\video\toypop.c
きちんと命令ひとつひとつの目的を考えながら描画アルゴリズム内を読んでみました。

画面上でのドット単位の調整の後に8ビットマスクをとってたり、
10ビットの座標に8ビットのマスクをとってみたり、
x座標にしなきゃいけない計算をy座標にしていたり、
など、上記のファイルが担当しているゲームは全部やばそうです。

ダメそうに見えたのは全部、3つ目に挙げた間違いが主な原因です。
大丈夫そうに見えるのも、影響のある座標をたまたま使っていなかったから助かっていただけみたい。

MAME全体で使えるタイルマップルーチンが開発されたらそれに対応するパッチをあてて、
みたいな改造を少しずつ加えていくうちに徐々に変になったのではないかと思います。

せっかく気づいたので、上記ファイル内のゲームを全て改善しようと思います。

改善のつもりが改悪してる可能性もじゅうぶんあるので、ゆっくり少しずつ慎重にやっていきます。
できたら、どなたか検査の協力をお願いします。

今回までに改善したつもりのゲーム
●digdug ●galaga ●libble rabble ●toypop
http://kani.blog.shinobi.jp/Entry/235/
(ソースはこちらの11月11日の記事で更新しました)

前回の日記で書いた反転表示がおかしいもののうち、
トイポップとリブルラブルだけ修正できました。

src\mame\video\toypop.c line 258
(改造前)
sy += 40;
(改造後)
//sy += 40;

まだ自力で直せていないものの共通点は
縦画面
みたいです。

bosconianは横画面なのに全然大丈夫ではありませんが、
縦画面のgalagaを基本にしたプログラムを90度横に倒しています。
一個だけタイトーが混ざってるけどな。

http://kani.blog.shinobi.jp/Entry/234/
(ソースはこちらの11月2日の記事で更新しました)

改造したファイル
src\mame\video\baraduke.c
src\mame\video\digdug.c
src\mame\video\galaga.c
src\mame\video\gaplus.c
src\mame\video\mappy.c
src\mame\video\pacland.c
src\mame\video\retofinv.c
src\mame\video\skykid.c
src\mame\video\toypop.c

0.143u7 の toypop.c で改造したのとそっくりな構造をしたスプライト描画ルーチンを同じように改造した。

0.143u7の説明で書いたこと
--------ここから
描画ルーチン内のforループのカウンタのメモリ確保を効率化。
「C++」コンパイラになってからできるようになった
for (int i=0; i<max; i++)
という書き方を利用する。

ブーリアン型(0か1にしかならない)としてしか使っていない変数 sizex,sizey,flipx,flipy を使って
(sizex * flipx)
(sizey * flipy)
という掛け算をしている箇所を、ビット積算に変更した。
計算結果は同一。
一般的に機械語レベルでの掛け算割り算はビット演算に比べて遅い。
--------ここまで
(ビット積算・ビット演算の部分は、間違えて論理積算・論理演算て書いてた)

mappy.c の中の phozon もそっくりだけど、
それは sizex,sizey が 0,1,2,3 の値になるので
真似して同じ改造をしてはいけません。

●●●●●●●●●●●●●●●●●●●●
動作確認したところ、ほとんどのゲームの反転表示がおかしくなっていました。
でも
baraduke, pacland, skykid
は大丈夫そうに見えましたが、少ししか触ってないので完全に大丈夫かはわかりません。

自分の改造が失敗したのかと思ってあせったけど、どうやら以前からあったバグみたい。
toypop は 0.125までは正常 0.126からおかしい
mappy は 0.113は正常 途中はまだ調べてない 0.124はおかしい

そのうちなんとかしたいね。

http://kani.blog.shinobi.jp/Entry/234/
(こちらの11月2日の記事でトイポップとリブルラブルだけ修正しました)
http://kani.blog.shinobi.jp/Entry/250/
(ソースはこちらの12月26日の記事で更新しました)

http://kani.blog.shinobi.jp/Entry/228/
こちらの日記で公開したものに対して、マクロを削ったほうがいいよ
みたいな助言をもらえたので、やってみました。

あと、バトルガレッガの海外版は、普通はプレイできないセッティングがあるのですが、
特殊テストモードならプレイ可能になることに気づいたので、全部有効にしました。
リージョンの名前の後ろに「Never End ROM RAM Check」て書いてあるのが該当します。

それから、イースターエッグ追加。
(1)
バトルガレッガで、魔法キャラコマンドとHARDやSPECIALを併用する方法。
A B C を押す時に放さないで押しっぱなしにして、
STARTを押すところで不要なボタンを放す。
(2)
バトライダーとバトルバクレイドも、バトルガレッガと同様の
特殊テストモードからゲームを始めると「SPECIAL VERSION」になる。
特殊テストモード中にレバー左右でリージョンの変更ができる。
リンク
最新トラックバック
RSS
QRコード
プロフィール
HN:
かに凹・_・凹かに
下段メニュー開閉(JAVAスクリプト有効時のみ)
忍者ブログ [PR]