Source code of Ensata (A Nintendo DS emulator made by Nintendo).
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Bryan Kirk 8052d93daa Added the leaked source code of Ensata il y a 2 mois
HelpProject Added the leaked source code of Ensata il y a 2 mois
PluginSDK Added the leaked source code of Ensata il y a 2 mois
WIN Added the leaked source code of Ensata il y a 2 mois
ext_control Added the leaked source code of Ensata il y a 2 mois
ini_edit Added the leaked source code of Ensata il y a 2 mois
materials Added the leaked source code of Ensata il y a 2 mois
rc_edit Added the leaked source code of Ensata il y a 2 mois
tools Added the leaked source code of Ensata il y a 2 mois
unreg Added the leaked source code of Ensata il y a 2 mois
.gitignore Added the leaked source code of Ensata il y a 2 mois
ObjectPath.txt Added the leaked source code of Ensata il y a 2 mois
make_release.bat Added the leaked source code of Ensata il y a 2 mois
readme.txt Added the leaked source code of Ensata il y a 2 mois

readme.txt

2003.06.13
------------------------------------------------------------
------------------------------------------------------------
AGB エミュレータ ソースコード
企画開発部 吉崎


------------------------------------------------------------
-- フォルダ構成 --------------------------------------------

フォルダの構成内容は以下の通りです。


+--WIN
| | Windows 上で動作する簡易ソフトデバッガの
| | Visual C++ プロジェクトファイル一式.
| |
| +--agbdeb
| | | 簡易ソフトデバッガのプロジェクト.
| | |
| | +--agb
| | AGB エミュレータライブラリのコア部分ソースコード.
| | Windows / GameCube 上で動作を確認.
| |
| +--enlib
| +--mfclib
| Windows アプリ用の雑多ユーティリティ.
|
+--DOL
| GameCube 用のライブラリ gbelib.a を生成する make 設定と
| それを用いた簡易アプリケーションサンプル.
|
+--build
| | /DolphinSDK*.*/build/samplebuild/ 以下に配置して
| | gbelib.a を生成するための make.
| | ※ここへ, 上記 WIN/agbdeb/agb フォルダ一式を
| | src と名前変更してコピーしてから使用する.
| |
| +--agb
| AGB エミュレータライブラリのコア部分.
| Windows / GameCube 上で動作を確認.
|
+--gbe_test
ライブラリとして使用した場合の一例を示す
CodeWarrior for GameCube 用プロジェクト一式.




------------------------------------------------------------
-- AGB エミュレータ コア部分概略 ---------------------------

おおよその依存関係は以下の通りです。

gbelib.h/cpp のコードを見るとわかりますが
GBE_LIB_RELEASE が定義されていると
gbelib.h で公開されているインタフェース以外は
全て内部リンケージになるように作られています。
(情開へポケモンボックス用ライブラリを
提供する際に使用していたモードです)

デバッガ用途などで内部を直接アクセスするには
GBE_LIB_RELEASE を定義しないでビルドしてください。


_Langdef.h
_Typedef.h
| 文字コードや型定義などのインクルード.
|
+--define.h
| GBE ライブラリコンパイルオプション,
| 共通定数, 特殊マクロの定義.
| ※シンボルを内部に隠すためのマクロは
| GBE_LIB_RELEASE で切り替え.
|
+--platform.h/c
| プラットフォーム依存のハードウェア機能.
| GBE ライブラリ内のメモリ管理.
| 各種デバッグ機能.
|
+--memory.h/cpp
| リニアなメモリ空間全般を管理.
|
+--arm.h/cpp
| ARM CPU 構造体とマクロの定義.
|
+--ipt.h/cpp
| キー入力の制御.
|
+--rtc.h/cpp
| RTC デバイスのエミュレーション.
|
+--gpio.h/c
| GPIO デバイスのエミュレーション.
| (RTC が接続されている)
|
+--flash.h/cpp
| FLASH / SRAM / EEPROM の制御.
|
+--eep.h/cpp
| EEPROM の制御.
|
+--lcd.h/cpp
| 描画機能全般.
| |
| +--lcd_inline_bg.h
| +--lcd_inline_obj.h
| マクロ展開された描画処理.
| |
| +--lcd_macro_bg.h
| +--lcd_macro_obj.h
| マクロで記述された描画処理.
| ※展開には mkinl.bat を使用.
|
+--sio.h/cpp
| SIO 通信機能の制御.
| ※GBS 拡張機能で使用する 32bit ノーマル通信のみ対応.
|
+--gbs.h/cpp
| ゲームボーイプレーヤーのエミュレーション.
| ※GBS 拡張機能であるコントローラ振動に対応.
|
+--sound.h/cpp
| サウンド機能.
|
+--agb.h/cpp
| 各デバイスのメモリマップをはじめとする複合処理全般.
|
+--swi.h/cpp
| ・本来AGBが行うソフトウェア割り込み処理を
| エミュレータの環境から直接実行.
| ・ブート処理のうち特に頻度が大きい箇所を
| SWI として代替して高速動作.
| ・処理落ちが問題になるソフトへ対応するために
| 部分的に SWI として代替して高速動作.
| ※高速化が不要なら省略可能.
|
+--CpuLoop.h/cpp
| 1フレーム実行するためのループ処理.
| |
| +--arm_op.h
| 1 命令実行部分のコア.
| |
| +--op_a_cube.h
| | ARM の 1 命令実行コア(分岐ネスト).
| |
| +--op_a_win.h
| | ARM の 1 命令実行コア(switch テーブル).
| |
| +--op_t.h
| THUMB の 1 命令実行コア.
|
+--debug.h/cpp
| デバッグ用の逆アセンブル文字列処理.
|
+--------------------------------------------------------
gbelib.h/cpp
AGBエミュレータのモジュール.
※基本的には gbelib.h のインタフェースだけで
エミュレータとして制御可能.
GBE_LIB_RELEASE オプションでビルドすると
それ以外のシンボルは全て static になる.


------------------------------------------------------------
-- AGB 簡易デバッガ GUI 部分概略 ---------------------------

おおよその機能分担は以下の通りです。

作りかけや意味のないコマンドは今回すべて
削除しましたが, 残っているものも基本的には
特定の作業のみを目的にしたものばかりです。
特に, ポケモンデータの編集に関わる部分は
ネットで検索して見つけた資料に基づいていて
「任意のポケモンと任意の技の確認」ができる以外は
あまりあてになりません。

あと, ジョイスティックには対応していませんが
特に無理というわけではありません。


enlib.dsw
mfclib.dsw
| Windows アプリ用の雑多なユーティリティ.
|
+--BmpOutDialog.h/cpp
| VRAM 画像出力用のダイアログ.
|
+--DisasmDialog.h/cpp
| 逆アセンブル範囲指定用のダイアログ.
|
+--DumpAddrDialog.h/cpp
| ダンプアドレス検索用のダイアログ.
|
+--DumpDialog.h/cpp
| ダンプダイアログ.
|
+--IoDialog.h/cpp
| IO レジスタ簡易設定用のプロパティシート.
|
+--KeySetDialog.h/cpp
| キー配置設定用のダイアログ.
|
+--LcdDialog.h/cpp
| 液晶表示ダイアログ.
|
+--PokeEditDialog.h/cpp
| ボックス内ポケモンデータ編集用のダイアログ.
|
+--PokeInfo.h/cpp
| ポケモンデータ編集用クラス.
|
+--PokeStackDialog.h/cpp
| ボックス内ポケモンの個別抽出/復元用のダイアログ.
|
+--draw_engine.h/cpp
| VRAM 画像の出力ルーチン.
|
+--TraceList.h
| 逆アセンブルトレースのリストクラス.
|
+--------------------------------------------------------
agbdebDlg.h/cpp
簡易デバッガのメインダイアログ.



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