スーファミのプログラム
■ このスレッドは過去ログ倉庫に格納されています
君が死んでからもう1年。君は今も僕を見守ってくれているのかな?
君は、僕の生まれて初めて出来た彼女だった。すごく嬉しくて、幸せだったなあ。
突然、白血病だって医者に宣告されてから、君は病室で日に日に弱っていった。
「病院ってひまねえ」って笑う君を見て、僕はいつも泣いていたんだ。君の為に、僕の小汚いノートパソコンをあげたら、君はすごく喜んでくれたよね。
ネットをするようになった君がいつも見ていたサイト、それが「2チャンネル」だった。ある日君はいつものように、笑いながら言った。「ほら、見て今日も2ゲット出来たよ。」
「あまりパソコンばっかいじってると身体に障るよ」なんて僕が注意すると、「ごめんねえ。 でもね、これ見てよ。
ほら、この3のひと、2げっとぉ!なんて言っちゃってさぁ、ふふ」僕は黙っていた。君がすごく楽しそうで、僕は何も言えなかった。
「ほらみて、この3のひと、変な絵文字使ってくやしぃ〜!だって。かわいいねえ。 ふふ。」
僕はまだ黙っていた。笑う君を見て、どうしようもなく悲しくなった。「憶えててくれるかなあ」 君がふと言った。「…この3のひと、私がいなくなっても、
あの時変な奴に2をとられたんだよなー
なんて、憶えててくれないかなあ……無理かな……憶えてて、ほしいなぁ……」
それから数ヶ月後、君は家族と僕に見守れながら息を引き取った。
君はもうこの世に居ない、なのに僕は今F5を連続でクリックしている。
君の事を、3のひとが忘れないように、いつまでも、いつまでも忘れないように。
天国にいる君と一緒に、今ここに刻み込む 2 ゲ ッ ト
音楽を鳴らす方法がわからないんですぐ
あきらめちゃった。65なんちゃらのアセンブラも難しそう
nesとかpceもかじったけど実行速度が遅くてサンプル止まり… 8年くらい前だか、アスキーの自作ゲームコンテストで
SFCのゲームが入賞してた。
ツクールじゃなくてオリジナルプログラム作品だったが
あれはどうやって作ったんだろう。 >>8
マジコンでクロス開発かゲーム専門学校の生徒あたりかなぁ >9
CPUがしょぼいから、アセンブラ言語を使っていると思われ >>11
6502に比べたら夢のような石だろ藁
どっかでCも見たがどこだったか… どうやら、開発のための資料が少ないようなので、外人さんの解析資料を調べる事になりそうです。 資料は「ぞ」とかにもあるのよね。
どっちかと言うと逆汗について知りたい。
>18
「ぞ」って何ですか?
ぐぐっても出てこない… SNES Technical Documentsでぐぐると出てくるよ。 「ぞ」でわかってしまった。。。やっぱりその辺しか資料ないのですか。
17さんのリンクも調べてみよう。
つい最近「ぞ」へ行ったら画面いっぱいに広告が表示されて
ボタン押せって。。。すぐに回線切って強制リセット。
Activex、JAVAなどすべてオフにして訪問すべきですね。
ファイルのダウンロードだけはオンにして。ぞ自体に悪意が
なくても広告業者がそういうバナーを送りつけてくる。。。
言語は65816
0x4200あたりが
コントローラ情報
マルチタップの場合123Playerは、続いて情報があるのに
4Playerの情報が別の場所。
VSync中にしかVRAM書き返れない。
ストUみたいにパターン多いの、これやるしかない。
掛け算、割り算は
かける数かけられる数を、どっかのメモリに入れて3クロック?だっけ
たつと、答えが違うアドレスに出てくる。
それは、奇妙な言語というか環境。
普通のアセンブラと少し違うし。
大昔に触ったので
忘れた。
現代っ子は、GBAのほうがいいんでない? >>8
ツクール作品をどっかの会社がSFCに移植したんじゃなかった?
>>24
いや、プログラム部門で入賞だったからそれはないと思う。
2P対戦ゲームで、足場を壊して、相手を落下させれば
勝ちとかいうゲームだった。
↓これをSFC用に作った感じ
ttp://www.frgm.org/cgi-bin/act/265.php インテリゲントシステムのアセムブラって流出してるの?
そんなこと無いよ。もっと、開発しやすいように講座系のサイトやツール、ソフトが
増えれば、それなりにスーファミゲームを作る人間は増えていくと思うけどなあ >>42
SNESでのその手のブームは過ぎ去った後ですがなにか? ロマンがないっていうのは>>40に対する意見だ
そもそもSNESって作り易すぎるんでは? 何をどうすればいいのか、フローチャートで詳しく!! 亀レスだけど
>>27
流出っていうか、誰でも入手可能な状態っぽい。
ftp://ftp.intsys.co.jp/pub/IS-SUPPORT/cgb/sdk/cgb_sdk991026.exe
でも落としたはいいけど勇気がなくてダブルクリックできない(つД`) それは開発用ボードが刺さってないと解凍できないんじゃなかったっけ?
どうしてもSNES開発したいのならフツーにフリーのアセンブラにしとけ。 どなたか日本語のSNESヘッダの資料持っていませんか?
タイトルが埋まってるらしいけどどこだかわかんないんです。 LoROMは7FC0から11バイト
HiROMはFFC0から11バイト
日本語の資料なんかない。 >>52
ども。日本語の資料はないのですか。
ガイジンの資料読み直してみます。 資料を読んでヘッダについては一応理解できたんですが、
LoROMとHiROMの見分け方がどうしてもわからないので
どなたか教えていただけませんでしょうか。 LoROMは7FD5
HiROMはFFD5
1ビット目が0ならLoROM、1ならHiROM。
そういうことだ。
ただし特殊チップ搭載の場合はこの限りでない。 >>55
どうもありがとうございます。
これで何とか理解できそうです。 それはそれは、よかったです。
ヘッダの資料なんて調べて何を企んでるのかわからないけど・・・ つくったプログラムを実機でやるばやい、ROMを焼くしかなにのでしょうか? 逆アセして、記述を編集して、アセンブラはどうやんの? ああ、わりい。
コンパイル出来るツールがコンパイラで、
アセンブル出来るツールがアセンブラか。
GBAの方がいいか。環境のも整ってるし。
スーファミの唯一GBAより勝ってるとこは
画面解像度だけだな。 というかそういう観点で考えてるんだったらスーファミで作るのは絶対に向いてない。
スーファミなんて古い物のプログラム作るのは「スーファミが好きだから」ぐらいしか理由がないのでは。
他機種と性能比較してるんだったらWindowsでPC用のプログラムでもしてろって話だ。 >>71
プラットホームが恐ろしく安く入手できるってのもあるけど・・・ GBAだとゲーム作って大画面でみれない。
SNESだとゲーム作って大画面でみれる。
大人数プレイはやっぱりSNESですよ。
PCから簡単に実機に転送できれば圧勝なんだけどね。 エミュならネット対戦できるから問題無いんじゃない?
てかGBAで出来てSFCに出来ないことって何だ?使える色数だけか? BGを2枚使った2軸回転の重ね合わせはさすがに無理だろ。
やる必要があるかはともかく。 エミュより実機つかってネット対戦できなきゃスーファミで作る意味無いだろー
サテラビュー用の拡張端子はガンガッテなんとかできないもんだろうかなぁ。 コンパイラ無いんならプログラム覚えても意味無いじゃん。 >>78
プログラムと言ったらコンパイラしかないのですか?(w つ ttp://www.hut.fi/%7Evhelin/wla.html >>48
落とせたけどインストールできねー。
コマンドプロントが一瞬開いてすぐ閉じる。 >>84
開発用ボードが刺さってないんジャネーノ? CGBのSDKをインストールしたいんだろ?
ならCGBの開発用ボードをさしたPCが必要だ。
intsysのはだいたいそういう提供の仕方だが? 開発環境ってDOSしかないんだな
誰かGUI作れよ GUI作ったところで何かうれしいか?
必要ないだろ… megademoってなんだ?
amigaとか変なのしか引っかからない ttp://www.wdic.org/?word=%A5%E1%A5%AC%A5%C7%A5%E2+%3AMOE
メガデモ
辞書:萌え編 (MOE.DIC) : 萌色用語
読み:メガデモ
外語:Megademo: Mega Demonstration
品詞:名詞
・パソコン上でリアルタイムに映像や音楽の再生を行なうプログラム. 単に "デモ" と呼ばれることもある.
・元々は, アングラ系クラッカーがゲームのプロテクトを外した時に,
そのゲームのイントロ部に自分の名前を表示させる様にした事に始まる.
その行為が流行る頃には, その限られた空間でどれだけの映像が作れるかという競い合いにまで発展していた.
その後, 一部のクラッキングチームがデモを専門に作り始めた事から沢山のデモグループが登場し,
自分のグループを有名にするためにデモに多くの最新技術を投入していく.
これらのデモの中にはデモの容量がメガ単位にまで膨らむものも現われ, そのような大型デモのうち,
ある程度の質を備えたデモをメガデモと呼称するに至った.
・現在ではメガデモ大会が世界各地で開催され, 大会の上位作品がFTPなどでダウンロードできるようになっている.
メガデモ大会では, デモの技術力や映像・音楽のセンスが競われる. また, もともとゲームのイントロ部であったという歴史から,
ファイルサイズの小ささをも競う "4kIntro", "64kIntro" 等といった部門も存在する(サイズ無制限は単に "DEMO" と呼ばれる).
大会ではデモだけでなく,同時にグラフィックや音楽の部門等も競われている. ・メガデモの発祥地はフィンランドである. 気温が低く外で遊べない子供達がプログラムに走り,
インターネットを通じてデモグループを発足させる事が多いようだ.日本でメガデモが流行っていないのは,
外で遊ばない子供が皆テレビゲームをするからだと言われていて,
フィンランドではゲーム機のかわりにパソコンがあるためにこの違いが生じたという説が一般的である.
現にメガデモが世界的に盛んになり始めた1990年代初めのデモグループの多くは
10代のメンバーで構成されていた(中には高校生だけで構成された主力チームも存在した).
今日ではそういった若者が成長し, 更なる技術力を身に付けて大会に挑むことが多く,
昔のようなパワフルな10代はあまり存在していない.
・現在のメガデモの多くはAT互換機上で動作するが, 一昔前のものはAmiga やCommdore 64などの機種が主流であった.
AT互換機上では, 1900年代にはDOSで,2000年からはそのほとんどがWindowsへと動作環境を移行している.
またWindowsへ移行するにつれ, 3D画像を使用するデモが増えてきている.
・メガデモの音楽には, MODという形式が使用されることが多い.
MODの「サイズが小さい」「テクノ系が得意」という特徴がメガデモの志向に合致したため普及した.
もっとも, 現在ではプラットフォームの性能自体が向上しているため, MP3をフルアセンブラで再生するデモも登場している.
・メガデモに投入される映像技術は, 初めてデモシーンに登場してから約2年後に日本のゲーム業界に導入されると言われる.
例えばポリゴンを本格的に使い始めたのは1991(平成3)年頃で,
その2年後の1993(平成5)年にはスーパーファミコンでスターフォックスが発売された.
これらの事例は沢数あり, デモシーンを知る事は2年後のゲーム映像を知る事にもなる. 逆アセしても、そのソースからはアセンブリ出来ねー。
意味あるのか?参考にもなんねーし。 >97
これって逆アセンブルむずいのよ。
8ビットモードと16ビットモードを切り替えられるCPUだから。
多くのソフトでは、混乱を避けるために初期処理の最初で
16ビットモードに切り替えてずっとプログラム中そのまま
だろうから、16ビットモードで逆アセンブルすればよいとして、
初期化部分がありそうなところは8ビット指定で逆アセンブル。
でもデータ部分とかも逆アセンブルしてくれるし、
そういう部分は「???」になってない?そういうニーモニックは無いから
アセンブラに通らない。
ずっと前に熱帯魚の泳ぐフリーのロムでためしたのだが、
あんなちっこいものですら逆アセンブル、→アセンブルできなかった。
それにサウンドを鳴らす方法無くない?
以前調べたんだけど調べきらなかった。 ttp://wolf.emu-zone.org/doc/ref/sfc/list.htm
サウンドはここの下のが参考にならないか?
demoのソースもついてるし。 >>1
すずめ愛好会脂肪してる。
少し前まで見れてたのに・・・。
Internet Archiveもスーファミの項目は全滅っぽい。
移転する前のデータは残ってた。
ttp://web.archive.org/web/*/http://www.suzume.net/
ttp://web.archive.org/web/*/http://float.jp/cafe/ >98
>混乱を避けるために初期処理の最初で
>16ビットモードに切り替えてずっとプログラム中そのまま
>だろうから
CPUログ取って見ると分かるけど意外とそうでもない。
まぁ逆汗が難しいって結論は変わらないけどね。
ただアクセス関連のフラグを変えて同じコードを読む事は無いと思うので
読み始めのアドレスやフラグが分かれば一括逆汗って不可能じゃないのではと思う。
面倒そうだけど。
ちなみに解析やってるけどログ取ってねらい目付けて部分逆汗。
その後に手動逆コンパイルみたいな事やってる。
激しく面倒。 >読み始めのアドレスやフラグが分かれば一括逆汗って不可能じゃないのではと思う。
よく考えたら関数ポインタ配列みたいなアドレッシングがあって無理。
ごめん。 abadonのデモでポリゴン使ってたのがあったけど、SFXチップ積んだ状態で作られたものなのか? スーファミのプログラム開発用資料が、ゲーム会社の倒産などで流失した。
これを手に入れた者達が”調教師ひとみ”を作った。
しかし音楽関係の資料は手に入らなかったから音の鳴らないゲームだったらしい。
このゲーム売ってる所は見た事あるが、プレミアらしく中古でもかなり高かった。 http://p25203-adsau07doujib1-acca.osaka.ocn.ne.jp/
うはっwwwっうぇうはっwwwwwwwwwwwwwwww
おkwwwwwwwwwっうぇwwwwww
wwwwwwwwwっうぇうはっwwwっうぇっうぇ
>>112
さっき道端に落ちてたので拾って警察に届けてきました
今時えらいねーといわれて飴を貰いました >>114
聞きたいのはネット上の何処に落ちているかと言うことなんです。 すみません。
BG画面で動的疑似ビットマップ画面は実現可能でしょうか? >>119
googleでは「スーパーファミコン ブロック図」で検索しましたがでてきませんでした。
>>118
モード6だと見かけ上縦448ドットになってしまうのが.... ブロック図なんて要るか?
メモリマップがありゃ事足りると思うんだが >>130
それただの噂だ
事情通ぶって情報を鵜呑みにしてるだけだろおまえ
IC自体に6502エミュレーションモードはあるがAPUその他が追いついてないんだから当然だろうが
>>128といいオツムの足りない奴ばかりだな
改造専門てwwwwwリソースハックとか分岐変えたりして遊んでるの?wwwwwww Zophar's Domain - Super Nintendo Development Sectionのミラーを誰か作ってくれないかね。
131はまじめにデータ・プログラム解析さえしたことないんだろうな >>135
市販のROMを違法な手段で入手して解析する事がまじめな事なのかな?
逆汗なんて非効率的だよ。わざわざそんな手間をかけて少ないエッセンスを得ようとするよりも
データ構造や設計方法論を学ぶ事をお薦めするね。
あ、改造厨にはどうでもいい話かなw 131 :名前は開発中のものです。:2005/09/01(木) 02:54:05 ID:dgO3PdCz
>>130
それただの噂だ
事情通ぶって情報を鵜呑みにしてるだけだろおまえ
開発当時のスーパーファミコンには ファミコンとの互換性が考えられていた
ttp://www.ne.jp/asahi/oroti/famicom/mab01.html
煽り口調で知ったか、決め付けはお手の物
救いようのない馬鹿もいるもんだね もうガイシュツかと思うが、スーファミの逆アセンブラは
基本的には正しい情報を吐き出せない可能性のほうが高い。
アキュムレーター8bit/16bit インデックスレジスタ8bit/16bitに
自由に切り替えが出来るが、例えばサブルーチンではA8X16前提で
呼ばれるとして、サブルーチンの頭でいちいち設定しないものもあるだろう。
ご丁寧に全てのルーチンにおいて設定してあるなら、問題ないがな。
A16X16でずっとやればいいんじゃ?なんて言う人もいるだろうが
LDA #0でも、A8なら命令長2バイト、A16なら3バイトと違うし
実行速度も変化する。
CPUが遅い&メモリが少ないという制約が結構あるので、その辺は
当時のプログラマはこだわって作っていた気がしないでもない・・・
当たり判定とVRAMへの転送だけ高速化したらあとはラクしたいね。
命令長を頻繁に変えてバグが探しにくいのも大問題だし。
実行速度が稼げなかったら、あとは処理を間引くとか?
敵は30fpsで動くとか・・・ >ttp://gamesource.groups.yahoo.com/group/console-dev/message/1279
snescてのがあるみたい。ぼくも見つけたばかりでこれから調べるんだけど
できるだけちゃんと命令を読み込める逆汗ってどういうものなんだろうか。
試しに作ってみたけどたぶん違う所でバグってる。 ・REP/SEPによるレジスタサイズの変化に追従して、サブルーチンが呼び出されるたびに
呼び出されたアドレスとレジスタサイズを記録して
それを元に呼び出されたサブルーチンを再度読み直しをするようにする
・アブソリュート・インデックス・X・インダイレクトの命令で、例えば
FC D192 : jsr (92D1,x)
ってのがあったとして、92D1以降から、↑で記録されている最短のサブルーチン開始アドレスまでは
2バイトのアドレスとして読み込む
これらを実現できれば読み間違いは大分減ると思うがどうか。
個人的にはサブルーチン呼び出しをツリーにしてエクスプローラ感覚で操作できる
逆アセンブラがあると面白いと思う とりあえず作った(というかできてない)のは
・指定されたアドレスから読み込み始めて要はプログラム部だけを読む。
・REP/SEPによるレジスタサイズの変化に追従。
っての。
サブルーチンって別にスタックいじったりしてませんよね。
むしろしてた方が楽な気もするんですけど。
あとCOPとかよく分からないのは適当にほっといてる。
というか適当にまとめた自作のテキストがどこまで合ってるのやら。 既存のものには無いから良さげだね。というか使ってみたいw
JSLもJSRもスタック使うよ。でないと戻ってこれない
サブルーチン呼出や割り込み前後でSレジスタは変化させられないんで
Sレジスタの変化を見とくと一応エラー検出できる
COPは基本的にはサブルーチン呼出と似たようなことしてるだけ、のはず スタックいうかフラグとかその他レジスタとかを全部一時避難させてるかなって事っす。
ソースとテキストを苺1M2217に上げましたんで興味がおありでしたら見てください。
細かい作りは結構適当です。
少なくともスタック関係はちゃんと対応するように組まれてる事を前提にしてます。
解凍パスはdis。
あとreadmeの例はラストバイブル3。
それとヘッダに対応してないというか外してください。
もう1つ、C++コンパイラはありますよね。
そういえばソースも人目に出すには適当すぎ。 >>150
自作のテキストでどこの人かわかってしまったw
同じ住民じゃないけど乙です
サブルーチン呼出で退避するのはPCまたはPC,PBで
フラグを退避するのは割り込みです
あと動かしてみたけど、LoROMでバンクが偶数の時に
指定したアドレスから8000引くのを忘れてますよ
82DE25で指定したら1DE25が逆汗されてました up2217.zipってやつでしょ?「dis」で解凍できないんだけど・・・。
こういうやりとりでレスを消費すんのが面倒だから嫌なんだよ。こういう虹っぽい隠し方っつーか。 >153
住人言うか解析つながりで見てたんですけどね。
というかあっちではスルーされてたなぁ。
前はswitchで命令分けてて滅茶苦茶面倒になって投げたんですよね。
他にもテキストで変な所ありませんでした?
>154
なんつーか癖というか習性です。
カキコする前にチェックしてなかったからもしかしてと思ったけど解凍できましたよ。 多分半角じゃなくて全角です
>>150
他に見つけたのは
・FCがJSR ($MMLL,X)ではなくJSR ($LL,X)で表示される
・stert→start >156
ども、あとでチェックしてみます。
個人的にはF4とかも自信が無いっす。
そういやインデックスレジスタの直値系はXフラグで見るので大丈夫ですかね。
テキスト言うか65816-C.txtを元に作ってるんでコレが間違ってるとプログラムは多分間違ってます。
いや、合ってても間違ってる部分がほかにもあるのは確定。
FC JSR とか逆汗しても分からない部分はどうしよう。
そのあたり解析用のファイルをユーザに作らせてジャンプ先のテーブルを書き込むって方式はどうだろうか。
最初は解析中にユーザに値を入力させるWindowsプログラムを考えてたから結構つくりが適当なんです。 逆汗した後テーブルファイルを作るくらいなら、
直接逆汗テキストに書き込んでしまうと思うけど・・・
予めユーザーがFCまたは7Cが存在するのを知っているならそれでいいけど
大抵は逆汗するまでわからないものだと思うし
コンソール入力でユーザーに判断してもらうようにするか
リストの先頭アドレスに辿り着くまでアドレスリストを吐き続けるようにするかじゃないですかね
でもそれだと、アドレスリストのすぐ後に先頭アドレスが開始されない場合は
読み間違い確定になってしまうんだよなぁ・・・
ちなみにエクスプローラライクなのが良いと思うのは
その辺を考慮して適宜自分で修正できるってのが理由 逆汗後と言うか、つまりFCとか7Cってジャンプ先がいくつかある可能性があるし、
コンソール入力だと複数入力させるのに対応させるのが面倒だし、
ジャンプ先が設定ファイルに書いてない場合のデフォルトの操作として
警告でそのアドレスを出力させたりするとか考えてる。
たまにサブルーチンの中でサブルーチン開始アドレスより前のアドレスに飛んで合流する事があったりしてあまりややこしい事はやりたくないのよ。
とか言うもののエクスプローラライクが解析しやすいってのも分かるけどね。 あと設定ファイルで考えてるのはこういうの
---------
imagefile=rom.smc
HiROM=true
C42846:0,2,4,6,8
C53782:0,8,10,18
(etc)
---------
C42846とかいうのがFCとか7Cとかがあるアドレスで続く数字がJMP (LLMM,X)のXにあたるとか。
ひょっとすると直接ジャンプ先のアドレス書いた方がいいかも。 確かにコンソールアプリならその方が良いかもね
設定は直接ジャンプ先でいんでない?
バイナリエディタからコピペして加工すれば済むし まぁ、コンソール云々前に作るのが面倒だからってのが大きいけど。
ジャンプ先は2通り対応した方がいいかな。
とりあえずまた作り直すのがほぼ決定なんだけど設定ファイル用の
つまりはフォーマット付き入力がよくわからんのでそのあたりも調べないと。
そういやレジスタ対象の命令は標準の表記がいいかな。
INXとかよりもINC Xの方が分かりやすく作りやすいけど。
ただPH?系とかどうしよう。 逆アセンブラごとに表記違ってるし、
自分の好みでいんじゃないの ただ、手持ちの資料だと全部INX系なのよね。
ヘタに変えると困る人とかいそう。
PULLのコメントをPOPにしといてこんな事言うのもなんだけど。
FCの表記確認しました。
というか表記以外も間違ってる可能性があるんでよく見ないと。
あと読み取りのバグはバンクが奇数の時に0x8000引くようになってたみたいっす。
よく分からないのがコプロ。
というかコプロってなに?状態。
イメージいじってログ取って調べた方が早いかな。 ttp://www.zophar.net/tech/files/65816info.txt
手持ちの資料探した中ではこれが一番詳しかった
COPの説明で$FFF$-$FFF5ってなってるとこあるけど
$FFF4$-$FFF5で、しかもこれはエミュレーションモードの時の話だね ゴメン、そのテキスト持ってる。
なんかソフト割り込みがどうとか書いてあるみたいですね。
という事はRTIで帰るのかな。
とりあえずCOPの所はスルーしてそういう特殊系でまとめて処理していいかも。
BRKもそんな感じでいいのかな。
そういやOSの話で「こぷろせす」って聞いたような気がするけど、
ずっと「子プロセス」だと思ってた。
違うのかな。 copはそれに書いてある通りだと思うんだが・・・
まあジャンプするためのアドレスが逆汗でわかるとは限らないから、
無視しても構わないだろうね
あとCoprocessorね 確かフラグとかそのあたりスタックにのせちゃうっぽいから
普通に考えると、戻ってきた時に元の状態になってるはず。
戻るのか分からないですけど。
そのあたりがとりあえずスルーできる理由っす。
ただ、COPとかBRKとか使ってる所見たことないんでなんとも。
ひょっとして前のバージョンでほとんど逆汗できてなかったのはそのあたりが原因なのかも。 とりあえず新版バグ有りを前回と苺1のup2834.zipに上げました。
パスはやはり半角小文字で「dis」。(確認済み)
未完なんでパスは必要だと思うのですよ。
大して機能拡張でもした訳じゃないのに半月ぐらいかかってる。
(厳密に言うとする予定だったけど面倒すぎるので途中で止めたっす。
直値完全追跡なんてやってられません。)
多分まともに動かないので後日じっくりデバックする必要がありそう。
今、気分がのらない&サンプル探すのが面倒で。 DataOut=falseにするとプログラムが終了しないんだが・・・
あと条件分岐で飛んだ先でステータスフラグが変更された時に
条件分岐をスルーした場合でもフラグが変更されてる
サブルーチン呼び出しと同じ扱いになってるぽい? とりあえず一件目は致命傷ですね。
DataOutはプログラム部以外の箇所の出力のフラグです。
多分カウンタが進まなくなってるんですね、きっと。
2件目はひょっとすると関数の参照渡しの意味がなくなってるかも。
サブルーチン呼び出しの処理と条件分岐処理を違うようにしたんで。
ここまで書いて別の処理思いついたんで明日あたりにUPします。
実は試した結果、バンク20とか読んでるっぽいんですけど多分おかしい。 条件分岐の時にアドレス関係(PBとかPC)しか退避させてなかったからみたい。
というかレジスタ周りをまとめたんだからオブジェクトを別に作ってそっちに値入れればよかった。 いつものup2888.zipにあげました。
解凍もいつもの通り。 初心者な質問かますけど、
コンパイルの仕方教えてください。
mainが複数あったり、VCやgccやmingwとかで適当にやったけどエラーこいた。 >mainが複数あったり
あー、このあたりはものすごく不親切ですね。
hanra.cpp以外のmainはテスト用なんで気にしないで下さい。
気になる様でしたら消しても大丈夫かと思われます。
未完成バージョンなんでできればコンパイルできる人向けなんですけど、
(というか実はmakeの書き方がよく分からないので載せられない)
開発環境のプロジェクトにcppファイル入れてメイクすれば大丈夫かと。
エラーってリンクエラーですよね。
コンパイルエラーだったらえらい事に。 別件でいろいろやってたらバグ発見。
動作が不定になる可能性大。
というかその別件ではおもいきり不定になっててあからさまに動作が変だった。 ふと思ったんだが、ファミリーベーシックのキーボードを無理矢理繋いで
ポートのモニタプログラムを走らせたらどうなるんだろうか? wikiに色: 32,768色中4096色とあるが、4096色も使ったゲームなんてあるのか? >>178
ロマサガ1でフリーズバグの原因が色数を出し過ぎたため
というわけのわからん理由がファミ通に載ってた スーファミって256色しか同時発色できないと思ってた
4000色も使えるのか・・・
高解像度モードはフォントぐらいにしか使われなくて
グラフィック全般で使いこなすソフトも出なかったし
つくづく惜しいハードだな 他機種を圧倒するグラフィック能力だったんだから別に惜しくない グラフィックが暗号化とか圧縮されてるゲームって
展開させることは出来るの? >>186
対応エミュレータなら展開ルーチン積んでいるじゃね? エミュ側が対応しててもそれを見ることが出来なければ意味なくね 俺もよく分かんねーけど要はVRAMを直接覗きたいってことか?
ぶっこ抜きでもすんのか?
いくらでも覗けばいいじゃん 一般の人でPS2のメインメモリをフルレンジのぞく人もいるらしいよ。
project-faoより エミュ上のVRAMを覗くならメモリエディタなりなんなりあるだろ
少しは頭を使え これとか?
ttp://www.geocities.com/illegal_eagle_2003/vsnes/index.htm >>197
これエミュなの?まあスクショ見る限りそれらしい機能はついてるみたいだけど
デバッガ出来るSNESエミュってこれくらいかな
ttp://geigercount.net/crypt/ エミュではないんだが、ステートセーブ内に保存されてる
RAMの中身を見るのに便利かなぁと思ってね APU(DSP)について詳しく教えてください.SNESではCPUとAPUが同時に動いており
,密接に関係しているみたいなのですが. DSPの実行プログラムはsmcファイルのどこにあるんでしょうか? サウンドを鳴らすにはどうするんですか
すずめにも情報無いし 任天堂本社情報通達部より皆様に警告です。
本社はファミリーコンピューターの権利を放棄していないので
旧式といえ全権は本社にあります。
デバイスを使用しての開発は合法ですが(改変した場合違法です)、
プログラム事態を改変した場合はなんらか処分をさせていただきます。
この件は2ちゃんねる管理人に許諾を得て行っています。
>>213
情報通達部なんて任天堂にはないよ。
嘘つくならもっとマシな嘘ツケ。 >>213
誤字ってるし、偽計業務妨害で通報した。 スーファミのエミュで動作する自作ROMを
作ろうと思っているのですが、
オススメのアセンブラもしくは、コンパイラってありますか?
あれば、教えてください。 >>219
すずめ愛好会というサイトにアセンブラがある。ある。
他に自分は使ってみたこと無いけどsnesc.zipという
怪しげなコンパイラが存在したりするらしい。
でも難しいんで自分はあきらめました。
ちょっと複雑なことをしようとすると動作速度の壁にぶちあたるよ。
この時代のアセンブラプログラムに精通してて高速化技法みたいなのに
自信があるならチャレンジする価値あるのかな。
機能が同じ程度のGBAの方が環境が整ってるよ。 メモリーカセットに自作ソフトを転送して
スーファミ本体で動かすことやった人っています?
よくわからんがSM調教師ってそんなんだったんでないの? ギコ猫みたいに日本語でスーファミのプログラム解説してるとこないの?
すずめ愛好会は分かりにくいし。 >>225
すずめには、解説HPが多いとか認知度が高いとか書いてあるけど、
日本の解説サイトは無いに等しいですなぁ。
自分は海外のサンプルを参考にして作ってる・・・ ttp://www.inetmie.or.jp/~koh/inside/koh-sfc.htm 512バイト足すにはどうしたらいいんですか?教えてください デュアルオーブの開発に関わった人のページに開発講座があったようななかったような
タイトルは匂わせてたけど明記してなかったからたどり着けナス http://game9.2ch.net/test/read.cgi/gameurawaza/1125887166/435
435 :名無しさん@お腹いっぱい。:2006/09/30(土) 12:21:27 ID:/MwzVYMV
エミュのROMファイルに512バイト足すにはどうしたらいいんですか?教えてください >>233
で、何が言いてぇんだ?
マルチポスト乙とでも?w 日本発のゲーム機なのに仕様や解析は外人に頼るしかないのか・・・。 個人作成のデモとかなら結構あるけどソース付で公開してるとこないかね 誰か、スーファミのプログラミング講座みたいなのを書いてくれませんか? ttp://en.wikibooks.org/wiki/Super_NES_Programming
ほれ
日本語で、とか言うなよ wikiってこういうのもあるのか
このスレで日本語訳すればいいのに VIP辺りにSNESの企画スレ立てたらすぐwikiとか出来そうだな
NMIってどうやって発生させるんでしょうか。
ログをみるとLDA $00 BNE $FCの無限ループ中に割り込まれてますが
条件がわからない。 >>117に対するレスでモード6を使えとか書いてあるけどすずめを読んだぐらいじゃ全然ワカンネ。
WikiBooksのSuper NES Programingを気合いで読めば解りますか?
スーファミのソフト開発の難易度が容易ではなかった。
開発したもので販売したりしなければ 任天堂に不利益は無いはず。
むしろ自分の力でスーファミのソフトを作れるまで勉強した人がいるなら
任天堂はそいつをスカウトしたらいいかもね。 >>252
同時発音数8音だね。まあ、最初から和音をサンプリングして
おくことによって、擬似的にもっと多くの音を出すこともでき
るが…。
最近、いいツールが登場してきたから、興味あるなら実際に
触ってみれば?
【XMSNES】スーパーファミコン音源で音楽データ制作【SPC】
http://pc11.2ch.net/test/read.cgi/dtm/1183196236/l50 NMIはどの石でも外部割り込みですね
マスク禁止なので禁止しても割りこめる
だから開発中のハードのリセットスイッチに使われたりする
NMIのベクタにデバッグ用のコード書いておいたりして
要因は回路図読めば一発
基板上でチップの配線をあたってもいい ファミコン・スーファミ、引退へ 任天堂が修理受付終了
2007年10月31日(水)20:32
任天堂は31日、家庭用ゲーム機「ファミリーコンピュータ(ファミコン)」と「スーパーファミコン」の修理受け付けを打ち切った。
昨年発売した「Wii」が世界的にヒットするかげで、80〜90年代に世界のゲーム市場を席巻し計1億1千万台が売れた両機がひっそりと現役を去る。
ファミコンは83年、後継機のスーパーファミコンは90年発売。任天堂は生産終了後も「利用者がいる間はサポートを続ける」と修理を受け付けてきたが、
最近は月に数件程度しか申し込みがなく部品の調達が難しくなった。
ファミコン時代のゲームがWiiのダウンロード機能で楽しめるようになったこともあり、修理打ち切りを決めた。
ファミコンは発売当時1万4800円。ゲーム機能を備えたパソコンの半分以下の価格で6191万台を売る人気となり、
宮本茂・現専務らが生み出した「スーパーマリオブラザーズ」や「ゼルダの伝説」、
他のソフトメーカーが作った「ドラゴンクエスト」などのソフトが世界的にヒットした。
ttp://hp.vector.co.jp/authors/VA042397/index.html
ブルジョアソフトウェア研究所
何気なく、Googleで検索に引っかかったページ。
ソースも公開されてるみたいだし、いい感じ。 10年くらい前からやってそうなのにまとまった日本語の情報と完成品って無い物だな。 ストIIの重ね合わせ
スプライトやゲージ用のBG3まで使っている。
アクスレイの2面
背景の星はBG3なのでゲージの後には流れない。
ボスがBG1とスプライトの組み合わせまでは想像つくと思う。で、その上下もBG1。背景は? F-ZERO
回転するコースはモード7。回転面に被さるゲージはスプライト。
それ以外はBGが3面あるモード。画面の上と下でモードを変えている。 タクティクスオウガはフォントを8x16で描いたりしてて職人芸が凄すぎる しかも伝説のオウガバトルは漢字を音訓読みと総画数で検索でき、ゲームで使うであろう漢字は全てと言ってよいほど漏れなく入っている SFCって解像度は512x478が最高みたいだけど中途半端に400x300みたいなことも出来んの? 無理
わざと中央部分だけ描画して周りは黒枠にすれば擬似的に出来るかもしれないけど 無理ということはないだろう。
とてつもなく無意味に複雑なプログラム組めば、400×300の画像サイズでフルスクリーンに見えなくもない状態を作り出せる。
何に使うのかって?知らんがな
>>267
CRTCっていうか、同期タイミングが自由に設定できるの?
PCEはそのへんがわりと柔軟だったみたいだけど なんに使うかっていうか、
当時のアーケードの解像度に合わせて移植の完成度を上げる用途がある。 まさか・・・400x300領域のBGをフレームバッファ的に使って拡大表示とか?
いやいやいや、ねぇなw 意味解析してまともなコード吐いてくれる逆アセンブラないの アセンブラ自体、結構ギチギチに手動最適化かます代物だから意味解析なんて無理言うな。
ソフト毎にクセが違ったりするだろうしな。 逆アセしたファイルをアセンブルしたら正常にプレイ出来るんだろうか SuperGameBoyシリーズってどうやってるんだろうねえ
いったんカートリッジからロードしてSGB-CPUを使っているのか、
それかまたはSGB-CPUが実行して得られた画面をロードして描画しているだけなのか.... あー、少し調べればSGB-CPUが実行し、製作した画面データを読み込んで表示しているって事がわかるな。
画面モードはどうなっているんだか。
160x144で、1dot1nibbleとしても1フレーム24kb? バラして海外のサイトから回路図を落として眺めてみるとかなり酷いブツだな>SGB
なんせGBそのものに変換チップとSFC用のPRG-ROMを足したに過ぎない さて、結局PC/ATアダプタの計画は振り出しに戻ってしまったわけだ。
(SGB-CPUの液晶用出力をメモリデータに訳しているだけだから) お、はさんは面白そうなことを調べてますね
俺も最近65816は6502の動作をエミュレートすることができると知って、
もしかするとSFC本体を使ってFCのゲームもできるんじゃないかと画策してるんだけど
分解してどうにか改造施すことでFCのゲームできるようにならないかなぁ あれは任天堂でもバンク制御の方式が多すぎて対応を捨てたらしいが・・・
そもそも、画面周りの設計が全く違う ttp://www.ne.jp/asahi/oroti/famicom/mab17.html
その昔に「ファミコンアダプター」なるオプション製品の発売が考えられていたらしい。
なんでもそれを装着するとスーファミ本体利用でファミコンのゲームができたんだとか。
まああれだよね、今でいうとプレステ2で初代プレステのゲームもできたり、
ゲームボーイアドバンスは初代ゲームボーイもカヴァーできるって流れと一緒だよね。
スーファミでファミコンやるってのはさ。
下位互換ってやつ?
6502が進化したものが65816だろうから出来ないこともないだろうね。 その昔、トライスターという製品がゲーラボとかに乗ってた
SFCのFCアダプタ
>>286
とはいってもコントローラそのものはスーファミにつながっているじゃないか
映像出力は乗っ取っているけど
個人的には65816の乗ったプレイステーションが出なかったのが残念です。 そういやトライスターのSFCゲームの起動はどうやっているんだろ?
トライスター内蔵ROMを切り離してリセットをかけているのかな? ttp://www.h3.dion.ne.jp/~kuboken/famicom/tri.html
TriStarで出てきた スーファミのエミュでファミコンのエミュみたいにパート別にサウンドを
聴くことって可能ですか? >>293
spcplay
ただ、キーオンごとに空きチャンネルで鳴らすタイプのドライバはどうにもならん >>294
レスどうもです!
そのキーワードでググってみます^^
間違えているかもしれないけどROMスロット-拡張28ピン間の結線を書いておくぜ
ちなみに調査対象が初期型だからサウンドカードが別についているんだぜ
ROM(及びその他)-拡張28ピン
28-1
59-2
29-3
60-4
30-5
61-6
3-7
34-8
35-9
4-10
19-11
20-12
21-13
22-14
50-15
51-16
52-17
53-18
26-19
1-20
サウンドカード15-21
(S-PPU2)27-22
gnd-23
2-24
サウンドカード16-25
18-26
31-27
62-28
ごめん、早速訂正。
サウンドカーの16ピンはGNDなのに拡張28ピンの25ピンはGNDじゃないな。
つか21ピンと25ピンの部分は怪しい。
調べるまでもなかったのか....
http://www.romhacking.net/docs/[195]ports.txt ホームページに自作のSNESエンジンと書いてあるのでそうらしい マルチタップ2つ繋いでの8人プレイはいくら何でも想定の範囲外だな
日本版というよりはPAL版だろ >>282
ドンキーコングとかFC初期のゲームをSFC用にコンバートするプログラムを作ってた人がいたな
ゲーラボで解説もしてたがよくわからなかった へぇー、そんなことやっちゃう人もいるのか 面白そうだ。
俺は技術ないから無理だが。
電子回路とかに超詳しければ解析・研究すればできるのかね。 スーパードンキーコングって特殊なチップ使ってるわけじゃなかったんだな
65816って命令の長さがバラバラなんだな。
よく分からんけど、PCはそれぞれの命令の長さずつ増えてるって事でおk? >>311
そうなのか。レスサンクス
関係ないが、俺が知ってる32bitCPUだとPCが4byte刻みで増えていたんだ。
ちょっと頭ん中整理してくる そうそう、移植しようとすると奇数アドレスからのワード読みとかでハマるんだよなw ゴメン、モノによるわ、多分。
65816に関しては命令長だけ増える。
だから整理しなくていいと思うよ。
いや、混乱させたのは私なんだが。
ところでその32bitCPU、命令長が全部4Byteってオチはないよね。
なさそうだけど。 わざわざどうも、おかげで分かった気がする。
32bitCPUは、命令長はバラバラだけどPCは4byteずつ増えるってヤツ。
(言葉足りてなかった、スマソ)
ご指摘どおりモノによるみたいだね。 そんなCPUもあるのか。命令自体が4Byteごとに配置されるの??
よかったら何てCPUかおせーて MIPSとかでしょ。
全ての命令が4byteでできてるってだけ。 >>317
d
MIPSってのググってみたら命令長が全部4Byteって書いてあるね
>>315が「命令長はバラバラ」って言ってるのがよくわからないんだけど
余った部分は適当に0とかで埋めて4Byteごとに揃えてるって感じの理解でいいのかな RISCは基本的に固定長だよ
SHが16bit固定長、ARMは16bit固定長と32bit固定長をCPUモード切り替えで使い分け >本作のロムカセットの容量は40Mbitだが、上述の特殊チップによる容量圧縮により、
>データ量としては72Mbit程のファイルサイズに相当することから、広告などでは
>「72Mbit相当」と記載され、大々的な宣伝がなされた。
あれどこにそんなに容量使ってたんだろう
グラフィックもたいしたことないし ・ほとんど左右対称だが戦闘の背景が60はある。
・モンスターは色違いがいなかったはず。それでも200匹近く。
・ボスがでかく技固有のアニメがある。
・年月によるイベント情報量。 公式的は圧縮技術使えば72Mbitまでは使えるってことか。 いや、その例で言えば実容量はあくまで40Mbitだろう
Wikipediaによれば65816は16MB(128Mbit)のメモリ空間にアクセスできるそうだから
変な実装をしてない限りその通りなんじゃないだろうか
それを超える容量を使いたければバンク切り替え等の仕組みが必要になる ということはSFCにもマッパーってあるのか?
FCだけかと思ってた 実際は128Mbitを使いきるゲームは出なかったからバンク切り替えが必要になることはなかったと思う スロットにそれだけのアドレス線が出てるかどうかが問題だな 32Mbitがひとつの壁だったような気もするけどわかんねえや 自分はファミコンに流れてしまった
ファミコンやDSに比べて、スーファミは日本の開発サイト少ないね 過疎とか言ってる人は自分から話題を振ったことが無いに1ペリカ ttp://hyperhacker.kicks-ass.org:55555/disasm65816.php
これ何よ
gccは65816に対応してないのか >>335
ちょっと聞きたいんだけどBGをビットマップのように扱うのってどのくらい手間なものなのかな >>335じゃないけど
点を打つだけなら大したことないけど
自前でパターンデータを合成しようとするとえっらい手間かかる >>335だけど
点の描画なら
1.描画画面データをWRAMに用意(当然)
2.カーソル位置から書き換えるアドレス&Bit位置を調べる
3.2で求めたアドレスのデータを読込み、2で求めたBit位置をクリア&新たに色に応じてセット
4.3をアドレスをずらして4回行う(SNESの画像形式の関係上1回ではできない)
5.Vblank時にカーソル位置からWRAM&VRAMのアドレスを求めて画面更新。全画面更新はSNESじゃ間に合わない
6.2へ戻る(次フレームへ)
とまあ1ドット描画するだけならこの程度の処理書けばいける >>348-349
やっぱりそれなりに重い処理なんだね
ありがとう 数年前開発できることを知ったが
音を出す方法が無いのですぐあきらめた
音の処理をするには任天堂のサウンドドライバーが無いと
だめなんだっけ そんなことは無い
SPC700のアセンブリ知識が必要だけど6502の親戚みたいなもんだからスーファミ開発が出来るなら難しくは無いだろう
どうしても無理ならここにオリジナルのドライバがある
ttp://ekid.nintendev.com/xms/ ttp://x11.s11.xrea.com/dist
これ何てツールで逆アセして改造してんの? loromとhirom。なんでhiromにする必要がでてきたんだっけ。
単なるセキュリティ系?
どっちも32Mだし、hiromのマッピングって逆に扱いづらいきが
するんだけど・・ポートと同時につかえないし
Exhiromは64Mbitまで対応してるらしいけどhiromは何が変わるのかさっぱり うーん。それが、たとえばスーパーメトロイドは24Mでlow
みたいなんで、16越えでlowもあるんじゃないかと。
00-7dbankまでの8000-ffffを単純計算しても32Mだし。 ぐぐった
ttp://www.romhacking.net/forum/index.php?topic=2019.0 サテラビューの特許なんてあったのか特開平08-265280 >>363
特定した
パス書き忘れとるよ。それともわざと? GPC(だっけ?)とかいう ICE って実際の開発現場でも使ってたの?
, イ ./:// / ̄` |ヘ:.:.:.:./ '"ヽ|ヽ.\:.:.:.:.ヽ.\
┏┳━━┓ ┏┓ ∠-‐i .レ:.:./ _ ヽ:.:.l _ ヽl\:.ヽ \
┃┃┏┓┃┏━━┛┗━━┓ ヽ ヒ_. _.l:./ /  ̄ ヾ V r  ̄ \ l:.ヽ:| `> ┏━┓
┏━┛┃┗┛┃┃┏━━┓┏┓┃ >´:.:/ ヽY , l:.:l_ // ┃ ┃
┗┓┏┻ ┻╋┻━━┛┗┻┫┏━,イ´:.:.:.:.:.l l l ⊂ ⊃ r、__ _ , イ ⊂ ⊃ レ -`/ヽ | ━━━━━━━━━━━━┓┃ ┃
┃┣┓ ┏┻━━━┓┏━┛┃ :.:.:./:..:.:.〉ヽ l |  ̄ ̄ .| l .l l:.:.:.:..\l ┃┃ ┃
┃┃┃┃┃┃ ┏┓┃┃ ┗━/:.:.:.:./ ヽ._l | | レ ノ:.ヽ:.:.:.:.:.:.ヽ━━━━━━━━━━━┛┗━┛
┃┗┛┃┃┗┓ ┗┛┃┃ :.:.:.:.:./ V l .l /‐' ヽ:.ヽ:.:.:.:.:.:.ヽ ┏━┓
┃┏━┫┣━┛ ┏┛┃ :.:.:./ ヽ. ', / / ヘ:.ハ:.:.:.:.:.: ┗━┛
┗┛ ┗┛ ┗━┛ :.:/ 丶、 \ ./ / l:.:.:l:.:.:.:.:.:
/ > , _ `.‐.´ _ , < l:.:.:l:.:.:.:.
FF5の効果音を採取したくて戦闘BGM再生を止めたいと思い、色々調べて
サウンド再生サブルーチンを呼んでいる箇所をNOPで埋めることで止める事が出来ました
こちらのスレのレスにも大変お世話になりました
ありがとうございます 耳コピしないとあなたの能力はいつまでたっても駄目なままですよ?
カーナビは便利ですが、脳を退化させます 音楽が作れるようになろうとは思ってないので大丈夫です
FF5の演出を真似るプログラムを作るという遊びをしているだけですので
カーナビはホント仰る通り、使っていると道全然覚えません スーファミ版ソニックザヘッジホッグは誰が作ったのでしょうか?
みなさんの憶測を聞かせてください スーパードンキーコングってFXチップ使ってたらしいが
だから3DCGみたいなスプライト表示出来てた訳じゃないんだよな?
マリオRPGとか使わなくてもCG調のグラだったし スーパードンキーングは普通のROMでなかった?
マリオRPGは高クロックCPU積んでた FXチップはスターフォックスとか3D強化のチップだから2Dゲーには余り関係ない スーパードンキーコングはGC取り込んだだけのもんだろ 人脈を把握される上で発揮できる力と
逆に人脈を隠すことによって発揮できる力というのもある。
人間の錯覚や思い込み、固定概念を利用したトリックになりうる。 ファミコンスレは地味に伸びてるけどスーファミは過疎りすぎ スーファミはVDPやサウンドの難易度が高すぎるの要因じゃねかと
ギコ猫みたいな解説サイトも無いのも痛いね 自分でゼロからやるなら、SMFを読んでキーオン/オフする単純な音源ドライバ書くかな
今はVSTiのC700があるから、割と近代的なDTM環境で作曲できるようになる
MIDIシーケンサで作曲、音源はデジタルでも録音した生楽器でもなんでもOK
やりたけりゃMMLからMIDIデータつくってもいい
例えば同じ8トラックなKORG M01Dを使って作曲、MIDIデータを出力したあと
使った楽器の基準音をアナログ録音してC700に放り込んでSPC700用の圧縮形式へ変換
あとは普通にROMへ配置しといて、SPC700側へ転送してやればいいだけ
版権フリーでSMF読めるSNES音源ドライバ、誰か書かないかなぁ?(チラッ ちょっと聞きたいことがあるんだけど
ウィキペのSFCの項目見てたらCPUのクロック数が三段階になってたんだけどコレはどういうこと?
ゲームによって変化するってこと? >>395
FastとSlowがあって、
アクセスするアドレスによってどちらかになる。
(レジスタでFastモードにした場合)
あるレジスタにアクセスする場合にも変化する >>396
d
頭の悪い質問するかもしれんけど
例えばFastのアドレスばっかり使用したらそのゲームは早く動作するの?
だとしたらSlowは何のためにあるの?ファミコンの互換性と関係ある?
質問ばかりでスマン たぶんだけど、
当時のゲーム側のROMのほうが、対応してなかったんじゃないかな
発売年前半のゲームはSlowばっかりだったような気がした
後半はSlowでもいいようなゲームもFastになってたからね
当初は、FCとの互換性も考慮に入れてた設計らしいから
その兼ね合いももちろんあるとは思う ああ、そうか
ファミコンからスーファミに開発がシフトしていく頃は
カセットが(技術も?)CPUの最高速度を生かせない状態だったってことか
多分、ファミコンの基板をそのまま応用したのがSlowで動作するものだったのかもね
カセットは特にチップの配置によっても処理速度が違うって言うし
そういう研究を重ねてFastへいったって感じかな?
ありがとう勉強になった ネットで調べてたら本当にSlowROMとFastROMと2種類に分かれてた
メガテンifはSlowだったけど、これがもしFastで
SA-1チップ搭載したりすればPS1版くらいキビキビしたんだろうか 理由は価格だね、最初は早いROMは高かった
量産することを考えるとゲームの価格に跳ね返ってくるほどに
容量を削らずとも速度を諦めるだけで製造コストを下げる事ができたわけだ
(ただし一番遅いやつはファミコン互換のパッド読み出し専用で普通は使わない)
配置されたROMはバンク単位でミラーリングされてて、SlowとしてもFastとしても
参照できるようにはなってたけど、残念ながらワークメモリがSlowで固定なんだよね
LoROMでならカートリッジ側のSRAMをFastで使う事もできたけど、やったメーカあんのかなぁ?
Slowで動いてるゲーム、根気よく参照するバンク番号にパッチ当てていけば、Fastで動作するかもしんない 誰かがツイッターかブログでつぶやいてたけど
当時のROM製造費が一本3000円したようだね
そのゲームは割と大き目の容量だったみたいだけど
拡張チップとか載せたら更に跳ね上がるんだろうな
>(ただし一番遅いやつはファミコン互換のパッド読み出し専用で普通は使わない)
なるほど、どうりで最低速に合わせて作られたゲームが無いわけだ
>残念ながらワークメモリがSlowで固定なんだよね
クロック数はGBに負けてるし、ROMによってSlowとFast使い分けなきゃいけないし
ワークメモリはSlow固定か…
制約だらけだなwつっても当時のゲーム機はみんなこんなものか
>Slowで動いてるゲーム、根気よく参照するバンク番号にパッチ当てていけば、Fastで動作するかもしんない
む、プログラム(アセンブル)のプの字もできない自分だが少しやってみたくなってきた
ありがとう クロック周波数では大きく負けてるように見えても
6502系は命令の消費クロックがその他に対して半分くらいなんで(特にメモリ操作する命令が断然早い)
実のところ、劇的に遅いって訳でも無かったりする
他の石は設計によってはメモリウェイト喰らって1〜2サイクルのペナルティを受けてたりするんで
(特にメモリバンク方式で容量拡張してるようなタイプとか)
Fast = 3.58MHzで動作させる ≒ 他の石の7.16MHz相当の処理ができる、と考えてもいい(ハズ)
PCEのC62システムは8bitとしては早いんだけどクロックを3分周してつかってたハズなんで演算能力はほぼ同等
(PCEが21.5/3=7.16MHz、SFCは3.58MHzだけど16bit単位のアクセスと演算が出来るので2倍相当で7.16MHz分)
(あかん、Fastかつ理想的な条件前提だから実用上は若干(?)負けとる) 当時スーファミソフトの開発・販売する側にいた方たちですか。
>当時のROM製造費が一本3000円したようだね
カセットROMの話ですね、カセットの中を見ると金かけてる物がありましたね。
>>402
65816は起動時6502互換モードらしいので、その辺りからの入門はいかがかと。
今なら開発環境をネットから入手できるし。問題は実機への転送でしょうか。 実際にROMに焼いて実機で動かしている人はいるのでしょうか? ROM焼きは趣味としては高いしマジコンで動けば十分でないのかと。
それすら報告・情報がほとんどない状況。 FastROMに改造しようとしたらことごとくFastROMだった件 SFC聖剣3とかテイルズって大技使うと停止状態になるけど
ああいうのって停止せずリアルタイムでそのままバトル進行するのってSFCのスペックじゃ無理なの? 画面全体に派手なエフェクトを表示すると転送帯域的にキツかった可能性は否定できない >>1
https://en.wikipedia.org/wiki/Category:Super_Nintendo_Entertainment_System
http://www.villehelin.com/wla.html WLA-65816 Micro Assembler, SPC700も
SNESヘッダとメモリマップ, LoROM, HiROM, FastROM, checksumチェックサム (ROMの),
Interrupt vectors割り込みベクタ, NMI, IRQ,
https://en.wikibooks.org/wiki/Super_NES_Programming/SNES_memory_map 超重要
http://www.smwiki.net/wiki/Internal_ROM_Header
http://www.smwiki.net/wiki/Vector_Info
http://wiki.superfamicom.org/snes/show/Memory+Mapping
FastROMとは:
Banks $80 - $FF can also be used for faster memory access. Many portions of memory <$80 are accessed at 2.68 MHz (200 ns).
Accessing memory >$80 is done at 3.58 MHz (120 ns) if the value at address $420d (hardware register) is set to 1.
LoROMなら80:8000~BF:FFFF,
HiROMならC0:0000~FF:FFFF,
RAM 7E:0000~7F:FFFF。 ここのSFCGENEditorってツールのプラグイン作れれば改造は楽になるんやけどね
ttp://retrogamehackers.net/downloadtop/ SFCって使おうと思えばどれくらいの容量までいけんの?
100MBとかも可能なん? Road Blasterの移植で600MBoverらしいから、
チップセット次第だと思われる。現実的ではないけど。 Road BlasterってMSU-1ってので拡張して動画と音楽をストリーミング再生出来るようにしてるっぽいけど
あれ単純なBGやスプライトとしての容量確保にも使えんの? シークして1バイトずつデータ取り出せるね
やろうと思えばプログラムも格納しておいて、RAMへ読み出して実行できる(はず) こんな拡張チップあったのか
bsnes作者の独自拡張みたいだから対応エミュそれしかないみたいだけど ロードブラスターの移植の動画を見て思ったけど、SFCのDMAは最速でも約2.68MB/sしかないのに
どうやって30FPSも出してるんだ?スターフォックスとかみたいに画面の端をクリップして
描画領域を狭くすることでVRAM上のバッファを稼いでるのかと思ったけど、そうじゃなさそうだし・・・
インターレースのように奇数ラインと偶数ラインを交互に描いてるのか?よくわからん てかこれだけ画像読み込みスムーズだと普通にメモリにグラデータ置くより使い勝手良さそうじゃん Road Blaster見る限りかまいたちの夜2みたいなサウンドノベルならSFC移植もいけそう 面白いけどエミュじゃまともに動かないんじゃ実用性低いね やろうと思えばSFCで容量好きに肥大出来るみたいに言うやついるけど
何を根拠に言ってんの >>429
ROMをバンク切り替えさせるなりRAMにしてフラッシュやSDカードやCDからロードするなり
方法はいくらでもあるでしょう てか仮に容量増やしてもエミュじゃ動かないんじゃないの そりゃエミュは公式に存在するカセット・周辺機器しか対応できないしね
エミュじゃHiROMの6MByteまでだよ、容量無限はあくまでも実機での話
もしエミュでやるならオープンソースのエミュ(あるのか不明)を独自拡張用に改造してリコンパイルする必要がある
bsnesの作者がそうしたようにね 俺が知る限りテイルズの6MBが最高だと思ってたけど よく調べたら/cart信号が出て且つFastアクセスとなる範囲が6MBだった
/cart信号が出る領域は全部で12MB、おそらくこれがエミュ上の最大容量
他に使えそうな予約領域が約2MBあるけどたぶんエミュは対応しないだろう 天外魔境ZEROって5MBだけど圧縮して実質72Mbit(9MB)らしいし
同様の技術使えばもっと使える領域増やせるんでしょ SFCの圧縮チップって天外のやつが一番圧縮率高いの? SDガンダムGNEXTの
ハックロムは最高だぜ
クロスボーンガンダムX3の
無双は燃える かまいたちの夜や学校であった怖い話みたいな背景が実写のノベルゲームって
背景はBMPとかを直接表示してんの?
それとも普通のBGみたいにパレット管理されてんの? 聖剣3って例えばキャラのサイズをFF6くらいにした場合
処理軽減で大技や魔法使用時の画面硬直無くしたり可能な訳? >>410 >>443
聖剣3やったことないけど
例え以下の制約を打破できたとしても、高度過ぎてやりたくないというのが本音だろう。
アセンブリ言語主流で、C言語すら使われていないだろうし。
スポットライトや空間に開いた穴みたいな効果を出すには、
BGに(全画面規模で?)、マスクだとかウインドウを転送しなきゃならないと思う。
画面を表示しながらVRAMに転送するには、
1回あたり垂直帰線期間(VBlank)の1ミリ秒間程度の短い時間内しかできない。
VBlank以外の最中に裏画面に描画して、表画面とすりかえるなんて、無理なはず。
演出に使うスプライトを展開しないといけないかもしれない。
http://game14.2ch.net/test/read.cgi/gameurawaza/1146439237/272
おおげさに書いたここまでの処理、たいしたことはない。1〜数フレームあれば完了するだろう。
ただ、この状況でプレーヤーに動かれたらプログラムは糞面倒になる。
演出のBGのスクロール値、すべての表示中のスプライトの座標を再計算することになるだろう。
美的な破綻や、アニメーションの管理も難しくなるだろう(敵が動いて当たってないじゃん!などの発生)。
乗除算すらまともにない最大3.58MHz動作のCPUだ。
プレーヤーが動くということは、マップの展開や転送、地形やイベントオブジェクトとの当たり判定、
敵の発生?(乱数など)、スプライトを画面外に追いやる処理なども発生する可能性がある。 >>410 >>443
それから地味に癌なのがサウンドまわり。
DSPを制御するサウンド側のCPU、S-SMP(SPC700) 。
これとメインプログラム側のCPU 、65C816の通信が糞で遅すぎる。
動作周波数の違うお互いがポーリングする形で通信だけに専念しないと、いい加減なプログラミング作法で通信するとフリーズするようで、
ACKみたいな応答信号も手動で送らなきゃならない。1バイト送るだけで結構クロックかかると思う。
そもそもバルク転送する前に相手が応答可能になるまで待たされる場合も。
RPGのカーソル音みたいによく鳴る短い音(のBRR波形)はサウンドのメモリ空間に常駐できるだろうけど、
楽音でない噪音の長い効果音なら、長めのサンプリング波形まるまる収録&転送しなきゃならないはず。
こんなにもたつくサウンド周りやりながら
画像関係VBlank開始を知らされ転送を開始する割り込みルーチンと並走できるか?
答えは知らないけど、今度はサウンドのストールや処理落ちの恐れがあるだろうな。
それから絵の演出と同期させて、効果音を鳴らす命令も送る必要があるはず(サウンドCPU側で制御するのは多分やりたくない)。
思い返せば、スーファミのソフトで、瞬時にBGMを切り替えられるゲームってないよな?
手持ちのサウンドテストあるやつは曲変える時に固まる。
ドラクエ3リメイク敵のエンカウントの瞬間にBGMを鳴らさずノイズ音でごまかしている、
FCより劣化してんじゃないよと子供の時に軽くキレた。
スーファミソフト起動時に各社ロゴを出すとか、暗い画面からゆっくり明転するとかで始まるけど、
これってサウンドの転送が遅いのをごまかしてるのかな?と最近思ってる。
いろいろ制約があるので、大技演出中にプレーヤーを動かさせるなんてとんでもないと、思うだろう。
止めて必要最小限だけ動かすのが賢いやりかた。 >ドラクエ3リメイク敵のエンカウントの瞬間にBGMを鳴らさずノイズ音でごまかしている
これどのRPGにも言えるけど完全にバトル画面移行して流す方が単に演出としていいからでしょ >>445
スーパーファミコンは場面が切り替わる度にロード時間が入るなあと思っていたけど
まさかカセットから本体RAMにデータを読み込み展開する時間だけでなく
サウンド用メモリに音色を書き込む時間が長かったのだろうか キャラ小さくして大技のエフェクトもスプライト描画にすれば硬直無くせるんじゃないの? PC-8801のFDDなんかは読み出したデータをCPU側へ持ってくるためにそんな感じの通信してたなぁ
サウンド周りのチップが遅くて待ち時間あるのは常識の範疇だったし、それほどクソには見えない
サウンド用サブシステムなのにメモリがきっちり64KBも載ってるあたりも良心的だし SFCって音軽いとか言われるけど
同世代のPCEとかメガドラって電子音丸出しですげーチープなイメージしかないんだけど SFCってMSU-1みたいなやつじゃなく
市販されたゲームの特殊チップでは高速でBG読み込んでムービーっぽくするってのはやっぱ無理なの? /i/|ii!//|!/!i/´i/ .|i |/ノ i\i!゙、:iヽ|:::| ヽ 'i ! ヾi |'!ヽ::::||::::::/:::::::::::::::::::::ヽ
i i 川i!ハ/" _! | │ 川 ヾ:ii ゙'∨ | ゙ヾiヽヽ;||:::::i':::::::::::::::::::::::::
ノ ノ/リ,,,,,,二三テ=''" ヽノ ル |ノノヽヾ ノ 、,,,ノ,、 iヽ:::||:::::i'::::::::::::::::::::::::::::
/  ̄ ´~~゙'''' ゙''‐- ..,, ,, ‐' `゙ヾミッ、,, ヽ::|::::/::::::::::::::::::::::::::::
,,イ| i' i" `'‐=' `'|/i!:::::i::::::::::::::::::::::::
i | :::::::ヽ::::ヽ::::::ヾ:: ゙、 l 〃::::: i//::::ハ::::::::::::::::::i:::
i i \\\\\ヽ ) ヽ ′′′ / /:::::/:::::::::::::::::::|::::
! | i ,,ィノ < :::: : /:::::/:::::::::::::::::::/::::
i! i i! /i/ ,r''''‐y'''.;、 \ /:::::/:::::/::::::::::::/:::::
゙i! | i /⌒' 、 Y:::::::::''::;;;;'.;.Y'⌒゙i /::::::/::::::/::::::::::::/::::/i
i i ゙! ん、,,__ヽノ:::::::::::::::::::;;;;;{,__,,,r'' /:::::::/::::::/::::::::::::/:::://
゙、ii! ゙| i ノ ゝ;;;:::::::::::::::::::;ノ 。 `i //:::::/:::::/::::::::::::/::::::/:::
ヾ!トl ゙iU i 。l '゛.. ‐ー:::::i | //::::::/::::::/::::::/:::/:::::i!::::::
iiミ! ハ i l ,,,,::: :::;;;;;...{ ° ゙、 //::::://::::/::::::/:::::/::::i::::ii::
i!ヾ!i ゙、! , ' |::: ::::ヽ ..} |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ::
!ヽヾi i゙、 ___,,,/ }:: : ;;;::: ::::::::} レWノ'レi/、//::/:://:/:::/::/:::ハ:i |:: 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
WFBCAE9ERJ ■ このスレッドは過去ログ倉庫に格納されています