忍者ブログ
ホムペもみてね。 かにかにクラブ http://kani.no.coocan.jp/
上段メニュー開閉(JAVAスクリプト有効時のみ)
カレンダー
03 2024/04 05
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]
アーカイブ
[2] [3] [4] [5] [6] [7] [8] [9]
×

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

改造といってもDIPスイッチのデフォ値修正だけです。

ソースダウンロード(zip)
(公式MAME更新に合わせてアップデートしました7月10日)

それと
●木から落ちるはずの実が落ちない
●音がv0.62からおかしい
という報告を聞いたので
「音が不完全です」フラグのセットと
それの説明文をTODOに追記。

自分で直せるといいけど、難しそうなので他人まかせにしてみる。
だれか直してw
一応、自分が見た感じでは
PCMモードが駄目で、WaveFormモードは大丈夫そう
かな??? ちょっと自信なさげ。

先にTODOに書いてあった
「そこぬけ対戦ゲームの音が悪い」
というのもあるので、他のゲームも怪しいかも。


J.J.Squawkers
----------------------------------------
(A) DIPSW 修正
## Modify DIPSW
"Energy" Manufacturer Setting
wrong : "3"
right : "2"
----------------------------------------
(B) マニュアルの誤記をメモ (MAMEは誤っていない)
## Note about typo on Manual (MAME is not wrong)
"Bonus Life" setting
mamual (wrong) : OnOff=20K,200K OffOff=50K,100K
PCB(MAME) (right) : OnOff=20K,100K OffOff=50K,200K
----------------------------------------
(C) ステータスフラグセット
## Set status flag
old : 0
new : GAME_IMPERFECT_SOUND
----------------------------------------
(D) やること追記
## Add to TODO
- jjsquawk: Nuts don't fall from the tree which a white animal shakes on stage 1.
A sound when a player throw an ammo doesn't sound. (Isn't X1-010 requested it?)
Many PCM sounds are wrong. (from MAME ver0.62)
Example of wrong sounds
STAGE ALL: A sound when a yellow walking egg or an enemy is defeated.
STAGE 1: A sound when a weasel throws an egg. A sound when a white animal whitch
shakes a tree is damaged. A sound when a rabbit jumps.
STAGE 2: A sound when BOX-MEN whitch are footholds are angry.
PR
ソースダウンロード(zip)

スーパー魂斗羅 と サンダークロス の
PORT_DIPLOCATION の対応と
DIPSW設定の細かい修正をした

スーパー魂斗羅・修正(日米共通)
"Continue Limit" Manufacturer Setting
wrong : "3times"
right : "5times"

サンダークロス・修正(米国版)
"Award Bonus Life" Manufacturer Setting
wrong : "Yes"
right : "No"
"Bonus Life" Manufacturer Setting
wrong : "30000 200000"
right : "50000 300000"
"Difficulty" Manufacturer Setting
wrong : "Easy"
right : "Normal"

サンダークロス・修正(日本版)
DIPSW2-3
wrong : "Award Bonus Life"
right : "Unknown" (manual says "Table/Upright")
"Difficulty" Manufacturer Setting
wrong : "Easy"
right : "Normal"

サンダークロス・予備定義(日本版後期版)
DIPSW3-4
old : "Unknown"
new : "All Stage Clear Loop"

日本用の後期版は、3周クリアでゲームオーバー。
DIPSW3-4をOnにするとそれを無効にして、
前期版と同じエンドレスにできる。
「予備定義」は、mameではまだ対応していないバージョンだけど、
ROMを入手できたらすぐ対応しやすいようにコメントで埋め込んでおいた。

スーパー魂斗羅の日本版のマニュアルでエクステンドが
 30,000&300,000every
 50,000&200,000every
 30,000only
 50,000only
になってるのは誤植で、mameに既に入っていた数字が正しい。
ソースダウンロード(zip)

最近 DIPSW まわりの改造をしていて
 "Difficult"
 "Very Difficult"
が多数記載されていることに気付いたので、試しに定型文字列に登録してみた。
1キロバイトとちょっとくらい節約できた。

そんだけ。
ソースダウンロード(zip)

ディップスイッチメニューに異常を発見したので、
同ファイル内のゲーム全て(日本版のみ)を検査・修正・変更した。

●ninjakd2, mnight, arkarea の PORT_DIPLOCATION の並び順が逆方向だったのを修正

●arkarea の PORT_DIPLOCATION("SW1:3") を Unknown から Difficality に変更
日本の説明書では、「DIFFICULITY」と書いてあるが、
他の説明書では、「NOT USED」と書いてあるのかもしれない。

●robokidj, robokdj2 の PORT_DIPLOCATION("SW1:7") が SW1:2 になっていたのを修正
ソースダウンロード(zip)

「忍者くん阿修羅ノ章」の改造で
「ミュータントナイト」と「アトミックロボキッド」の
エンバグをしていたので修正。

(4/28撤回)
 「ミュータントナイト」は実機でも
 D.O.S.搭乗時には小刻みに残像になるらしいので
 4/11の状態に戻した


ただし、どうしても残像指示のポートが見つからなかったので
「エミュレーター」ではなく「シミュレーター」的な手法で
一時しのぎの対応をした。

MAMEが「エミュレーター」であるためには
ポートを早急に見つける必要がある。

--------------------
(5/2更新)
ミュータントナイトのGAME_IMPERFECT_GRAPHICSを削除
ソース内に自分が書いたコメントで意味不明な箇所をみつけたので修正
昨日の日記の続き。
ソースのダウンロード(zip)
さっそく修正しました。

修正対象は、忍者くんではなく、同じドライバーで動かすその他のゲーム。
ミュータントナイト
アークエリア
アトミックロボキッド
オメガファイター
忍者くん阿修羅ノ章
残像機能を使っている演出は全て実機と同じにできた、……と思う。
ソースダウンロード(zip)

(1)
シーンクリア時に、黒ベタで塗られるまでの時間は、主人公以外のキャラクターは見え続けなければならない。

(2)
シーン25,31では、主人公以外のキャラクターは、軌跡を残像として残しながら動かなければならない。
主人公は、それらとは逆に、残像を型抜きしながら動かなければならない。

同じドライバーに含まれる他のゲームは所持していないので、動作検査していません。


一部の人に検査をお願いする目的でexe形式で公開しているもののソースです。
未検査のexeは広まって欲しくないので一部公開です。

それと、いかにして残像機能を上手に使いこなしているかを紹介するページを作りました。
これを読んだら、残像=バグ、なんて恥ずかしくて言えないと思います。
忍者くん阿修羅ノ章 スプライト残像機能


(追記)
この改造のせいでミュータントナイトの残像処理が誤動作。
zipに入れた説明に誤動作する旨を追加した。
ソースを急いで修正しますが、すぐに完成できるかどうかはわかりません。

(さらに追記)
翌日の日記で、2009/4/11修正版(1回目)を公開しました。
前回の日記のつづき。

ディップスイッチの並び順がわかりやすいように、
メニューの下にスイッチの絵が表示されるように改造した。
ソースのダウンロード(zip)

ついでに、設定できない組み合わせがあるのが気に入らないので、そのへんも改造した。
例えば、ドラゴンスピリットのライフを3にする設定に使うスイッチは7個。
改造前のは7個同時に動かして2パターンしか選べない。
その7個を1個1個別々に触れるようにして全128パターンを選べるようにした。
設定するのが面倒くさくなるけど、そんなの知ったこっちゃねー。

あと、ビットの並び方向が固定なのは、ソースにはっきりと書いてあった。
/* physical location, of the form: name:[!]sw,[name:][!]sw,... */
/* note that these are specified LSB-first */
#define PORT_DIPLOCATION(_location) \
TOKEN_UINT32_PACK1(INPUT_TOKEN_DIPLOCATION, 8), \
TOKEN_STRING(_location),
なんかMAME公式サイトに繋がらないと思ったらアドレス変わってた。
説明書読んだら、知りたいことが書いてなかった。
「grepで既にあるソースを全検索して見て参考にしなさい」
とは書いてあったw

では本題。前回の書いた滞り中メモのことを研究をしてみた。
研究発表というか問題提起ぽいかも。

(1)
ディップスイッチメニューが思い通りに並べられないことについて。
ディップスイッチのメニューの並び順は
 ポートのタグを定義した順
  各ポート内でビット0,1,2,3…の順
に必ずソートされる。
ディップスイッチに印刷されている1,2,3,4…が
ポート内で0,1,2,3…に対応していることが前提の設計。
そうでない基板もある。
ディップスイッチ8,7,6,5…がポート内0,1,2,3…に対応すると
メニューが使いづらくなる。
grepで検索したところ以下のゲームで発見。
(未確認も含む。ソースで発見できたものだけ列記。もっとあるかも。)
 ms32. (jaleco メガシステム32)
 djmain.c (konami ビートマニア基板)
 hornet.c (konami ホーネット)
 skykid.c (namco スカイキッド基板)
 namcos86.c (namco システム86)
 namcos1.c (namco システム1)
 gaiden.c (tecmo 忍者龍剣伝基板)
 fitfight.c (??? わからん)
この内、手持ちのゲームで確認したら例外なく下から上に向けて並んでいる。
多分、現状の仕様では上から下にはできないということかもしれない。

(2)
PORT_CONDITIONで上手く変動できなかったことについて。
仕様変更されたみたい。
以前は例えば、スイッチの状態が 0 か 1 で分岐する場合、
 EQUAL 0
 EQUAL 1
の列記で分岐できたが、最新のでは
 EQUAL 0
 NOTEQUAL 0
という風に、NOTなし と NOTあり が対になるように書かないと分岐自体ができなくなる。
先日口頭で
「次のMAME改造は、アイレムの『M72』でいくよー」
なんて言ってたんだけど、つい最近のバージョンである 0.129 で先に対応されてた。
そんなわけで、その改造は今のところなし。
その時に話したことに、ちょっと誤りがあるので訂正。
0.128以前で封印されてたのは、ボタンではなく、ディップスイッチでした。
しかもボタンはかなり以前からボタン4まで対応済み。


その代わり、というわけでもないんだけど、短時間で済むと思って
だいぶ前にビマニ・ポップン・ポプステのディップスイッチにやった改造を
最新の 0.130 にもやろうとしたらなかなか手強いっぽい。
次にいじる時のための、手こずっていることの覚書。

(1)
どうコーディングしても必ずMPU視点でのビット番号の昇順にソートされてしまう。
ディップスイッチに印刷されている数字の昇順にソートしたい。
こういうふうに決め打ちされてるのか?ソート順を選択する方法があるのか?
MAMEの公式サイトで説明書がないか見ようとしたら今は繋がらないくさい。

(2)
PORT_CONDITIONによる分岐が作動しない。
最新版ではポートを32ビット単位で管理するようになっているが、
それのために自分でコーディングしなおさなければいけない何かを失念しているのか?
他のゲームの16ビット・8ビットで管理しているものは無事に作動させられる。
32ビットにしておくほうがMAMEの負荷が減る予感がするので32ビットのままの管理でいきたい。
リンク
最新トラックバック
RSS
QRコード
プロフィール
HN:
かに凹・_・凹かに
下段メニュー開閉(JAVAスクリプト有効時のみ)
忍者ブログ [PR]