忍者ブログ
ホムペもみてね。 かにかにクラブ 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]
アーカイブ
[6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]
×

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

なんか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あり が対になるように書かないと分岐自体ができなくなる。
PR
かなり前に
「オーディションで3連敗するとイメージ値ダウン」
と何か(アルカディア?)で読んだ気がして、
どれくらい減るのか調べたら1点も減っていなくて、
勘違いであると片付けてしまったことを、
(3連敗するとテンションが下がる量が多い
という説明をアルカディア別冊で見つけた)
ゴシップ記者を色々実験中に偶然再調査する形になった。

ゴシップ記者をつけて3連敗すると1点下がることが多い。
(3月26追記)
ゴシップ記者が帰ると1点下がってない数字に戻る。
(追記ここまで)
つけない状態で 0点より大きくて1点より小さい数字
例えば 0.5点 の減点なのかもしれない。
3属性全部が減点をくらう。
3連敗した時だけ適用されるので、
続けて6・9・12……連敗しても減点されない。
1勝を挟んでまた3連敗すると減点される。


他の実験で、同様に
「歌の属性と流行の属性を一致させても
 衣装のようにボーナスは加点されない」
と結論を出していたが、これも 0.5 点とか加点されるのか?
歌を変えたところでイメージレベルが変わったことがあるし。
先日口頭で
「次のMAME改造は、アイレムの『M72』でいくよー」
なんて言ってたんだけど、つい最近のバージョンである 0.129 で先に対応されてた。
そんなわけで、その改造は今のところなし。
その時に話したことに、ちょっと誤りがあるので訂正。
0.128以前で封印されてたのは、ボタンではなく、ディップスイッチでした。
しかもボタンはかなり以前からボタン4まで対応済み。


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

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

(2)
PORT_CONDITIONによる分岐が作動しない。
最新版ではポートを32ビット単位で管理するようになっているが、
それのために自分でコーディングしなおさなければいけない何かを失念しているのか?
他のゲームの16ビット・8ビットで管理しているものは無事に作動させられる。
32ビットにしておくほうがMAMEの負荷が減る予感がするので32ビットのままの管理でいきたい。
3月12日付で公開したSYSTEM16用のソースファイルを修正した。
エミュレーション上は何も問題ないが、
入力設定のメニューで P2 側のボタンを「P1」と書いてしまっていた。
20日。渋谷。
ビマニ3を連コイン中にメールが届いた。
「ほっしー君の店で飲み。」
参加せざるをえない。
翌日の予定もあるので体力を温存しておかなければならないのだが、ほっしー君の店だから仕方がない。
うまいから。
なんかアイマスファンのイベントがあった日らしく、店内の客の9割くらいがプロデューサーらしいw
春香とやよいのお誕生会だって。
PSP版のアイマスの名刺交換を初体験。
ASRAY君に操作方法を教えてもらったので、初交換のデータは当然ASRAYプロデューサー。
何人かと交換したところで名刺の一覧を見られて言われた一言、
「うわ初名刺ASRAYさんだよ」
どういう意味ですかそれはw
その後はモンハンをしているJS君を背後からスナイプしたりなどダラダラして終了。
帰りの電車内で、飲みに行く前に話していた目的を忘れていたことに気付く。だめじゃん。
最終電車に間に合わなくて途中駅で終了。だめだめじゃん。

21日。小田原。
体中が痛いです。つらいです。体力調整失敗です。
ずっと立ちっぱなしでゲームしてた疲労が抜けないくさい。
30分くらい遅刻して、なつかし横丁に到着。
なんか、カラーになったばかりの時代のゲームがいっぱい並んでてすごいんですが!
大好きだった、カメレオンアーミーとかサーカスサーカスとかあるんですが!
だがしかし冒頭で書いたとおり疲労のため、座ってやるゲームは何度かやってみて寝落ちしそうなので断念。
いつもよりさらに口数が少なかったのはそういう理由です。
やたらとこの文中で疲労を主張するのはそういう理由です。
次回は気をつけよう。でも、ほっしー君の店は仕方がない。うまいから。
エレメカ三昧に切り替え。
10円玉がものすごい勢いで減っていくんですが!
「じゃーんけーん、ぽんずこー」ですが!
「じゃーんけーん、ぽん、あーいこーで、しょずこー」ですが!
そんな感じでまたもや立ちっぱなしでやばい。
二次会、秘密基地。
飲み屋だから椅子です。うわー超寝たいー。
なんか向こうで「大怪獣の逆襲がテクノスジャパンてのは嘘くさい」とか言ってるー。
他にも食いつきたいネタがいくつか出てるのに食いつく元気もないよ。(正解は次回会った時にってことで)
さらに、せっかく大好きなニュージーランドストーリーの作者さんがいるのに、自分から声を発する元気もないよ。
もったいなさすぎ!!!!!! でも、ほっしー君の店は仕方がない。うまいから。
でも、酒飲んだら調子が出てきた。
酒は百薬の長!!
MAMEのことでちょこっと質問されたので熱弁した。
熱弁しすぎて時間切れ。せっかく大好きなニュージー(以下略
みなさんにぎやかに飲んでいる中、あいさつして途中離脱、最終電車で帰った。
アピール基本値が 1 しかないところで
テンション低の 0.9倍(小数点以下切り捨て) を適用させると
アピール点はどうなるんだろう。
ずいぶん前から気になっていたけど今日やっと確認できた。

アピールはちゃんとできるけど 0点 だった。
なんかセガの説明書に書かれてないポートが全面的に封印されていたので改造した。
ソースファイルダウンロード(zip)

主にテトリス用。
ついでに未使用ポートを使った裏技を探せるように、
 ●SYSTEM16A または SYSTEM16B 用
 ●最大プレイ人数2人(交互1人プレイも含む)
 ●使用ボタンが1個または2個
この3つに該当するゲーム部分を手当たり次第に改造した。
どれも3つボタンまで、エミュレート中のゲームに渡すようにした。
全部のゲームを持ってるわけではないので動作確認は完璧ではない。

ちなみにテトリスの2ボタン目に関しては、
説明書に書いていないだけであって全然未使用ではない。
説明書に「そこには何もつながない」と書いているんだから、
封印するのは正しい判断ではあるのだけど。
ボタン1・2ともに、ブロック回しとして働く。
最近の他社製のテトリスと違って逆方向には回らない。
両方を交互に連打すると、ものすごい速さで回転可能。
同時押しは単品押しと同じ効果になってしまって意味無し。
一昨日からPSPのアイマスを始めた。
基本ルールはゲーセン版とほぼ同じだろうと思って、
説明書を読まずに進めてたらこんなのが出た。

歌詞レッスン
(手牌を並べ替えて手本と同じにしなさい)
 手本「まるでジェットコースター」
 手牌「ま でジェットコースター」

「る」一文字がブランクになっただけ。
これどうやって操作すれば完成できるの???
ビマニ3のFDのバックアップを取ろうと思ったのに
パソコンがなぜか起動しない。
色々調べてみたら、BIOS設定の画面の中で
日時を表示しようとするところでフリーズしている。
基板上の時計がお亡くなりになったようだ。
なんか毎年パソコン壊れてるなあ。
シューティングゲーム探究記
ギャプラス「アブノシップ変形完全解明」
http://d.hatena.ne.jp/replicorn/20090303

こちらの管理人のreplicornさんから
100点じゃなくても変身できることを教えていただいた。
そちらの内容への自分なりの考察だが、あんまり向こうに長々と書くと、
 他人の手柄を自分の手柄のように解説する痛々しい人
にしか見えない予感がするのでここに書いておく。

先に断っておくが、
自分は気に入ったゲームのプログラムの解読は絶対にやらない。
解読したと誤解されることも不快なくらいこだわりがある。
ここに書いていることは、見た目から逆にプログラムを想像しているだけである。
推理するのが楽しいのにいきなり解答を見てどうすんのよ、て感じ。
そこんとこよろしく。

そんではスタート

----------------

> 十万,一万,千,百の4つの桁の並びが
> 0001 0100 0101 はOKという法則性から
> 0000 もいけそうなのにそれはNGなのはなぜか

(1) 当時のプログラムは、
ゲームの点数のような桁数が多い十進数は、パックドBCDという考え方を使い、
2桁ずつを1バイトにセットしてメモリ上に連続して並べるのが普通でした。

(2) 当時のプログラムは、
実行命令数(厳密には実行サイクル数)を可能な限り節約して
全体的な処理速度をいかに上げるかを追求するのが当たり前でした。
(現在でもその追求は有益ですが)

(3) この件でプログラマが求めていたものは 「0001であること」だと思います。
しかし、どうしてもこの数字でなければならない、というほど厳密である必要はありません。

これをプログラマ視点で考えると

(1) 2バイトまとめて読む命令があるからそれで4桁の情報を読もう。
(2) 2バイトの上半と下半を分けて OR命令 でくっつけると 0001 0100 0101 の3パターンが 01 になるぞ。
(3) 0100 0101 が暴発するけど、9999通りの中のたった2つだからどうってことないよ。オマケってことにしよう。
(4) 01 かどうかの判定は DEC命令 を使うと超速いぞ。

高速化のためにOR命令やAND命令を使うのはアセンブリ言語プログラマからするとセオリーってやつです。
「100点でなく10100点でも可」を読んだ瞬間に「あ、ORしてんのか?」と思った程ポピュラーなセオリーです。
ついでに
00 かどうかの判定は ANDかOR
FF かどうかの判定は INC
を使うのもセオリー。

こんな感じで 0100 0101 はたまたまオマケでOKになったんじゃないでしょうか。
0000 は始めから眼中にないわけです。

----------以下 3月6日追記

アイマスのオーディション待ち中にボーっと考えてて気づいたけど

(1)上下をORで合成
(2)合成結果をDEC
(3)0001 0100 0101 ならBEQ成立

(1)下をDEC
(2)上下をANDまたはORで合成
(3)00001 なら BEQ成立

(1)上下をORで合成
(2)合成結果をDEC
(3)0000 0001 0100 0101 ならBLE成立

どれも同一クロックで検査できるわ。
せめて30分くらいは考えてから書けばよかったか。

でも、厳密である必要はないからおまけで採用、という説は撤回しない。
当時は開発ツールも未熟で、ちょっとした間違いを発見しても
それを修正するのに結構な手間がかかったと想像できるので。
リンク
最新トラックバック
RSS
QRコード
プロフィール
HN:
かに凹・_・凹かに
下段メニュー開閉(JAVAスクリプト有効時のみ)
忍者ブログ [PR]