004. コア解説 - NullPopPoLab/batocera.linux GitHub Wiki
コア解説
NullPopPoCustom で手を入れたところだけ
AC系
mame
libretro/mame
libretro/mame2010
libretro/mame2003-plus
3DO系
libretro/opera
ドキュメントで示されてるもの以外にも、三洋機とか派生品とかのBIOS対応してたり。
panafz1.bin panafz1j.bin panafz1j-norsa.bin panafz10.bin panafz10-norsa.bin panafz10e-anvil.bin panafz10e-anvil-norsa.bin goldstar.bin sanyotry.bin 3do_arcade_saot.bin
あと、ドキュメントにはないけどフォントROMないと日本のソフトとか動かなさげ。
panafz1-kanji.bin panafz1j-kanji.bin panafz10ja-anvil-kanji.bin
なお、ファイル名とハッシュを一致させる必要ある模様。
説明めんどいので詳細はソース参照←
3DS系
libretro/citra
明確なBIOSとしては存在しないみたいだけど、
基本的に実機で使われているSDから一式拾ってきて暗号解いたやつ使ってるようで。
そのあたりはPC版citraで準備しとく必要あり。
DC系
flycast
libretro版と同様だけど、BatoceraのBIOS置き場では認識されないみたい。
roms/dreamcast/ に置いたら認識された。
libretro/flycast
(dc|hkt|naomi_n2)_(boot|bios).bin(|.bin) な感じで複数検索対象。
あとNAOMIに限り epr-21576d.bin も有効。
BIOSないときはreiosっていう代替BIOSが使われる。
日本語フォント入ってないみたいで、ないとわりと困る模様。
(エンジェルプレゼントで確認)
FC系
libretro/fceumm
disksys.rom 対応。 あと gamegenie.nes nes.pal にも対応しているようだがよくわかんない。
任天堂銃,バンダイ銃,コナミハイパーショット,おえかキッズボード対応。
libretro/nestopia
disksys.rom 対応。
任天堂銃,パドル対応。
コア自体はこの他にも多種のデバイスに対応しているが、libretroに繋がってない。
L3ボタンでマイク発動。
GB系
全般、BIOSなしでも動作可。
libretro/gambatte
gb_bios.bin gbc_bios.bin 対応。
libretro/gpsp
gba_bios.bin 対応。
libretro/mesens
gb_bios.bin gbc_bios.bin sgb_bios.bin sgb2_bios.bin sgb_boot.bin sgb2_boot.bin 対応。
スーパーゲームボーイ対応の流れでサテラビューにも対応しているようだが、SFC系対応というわけでもなさげ。
libretro/mgba
gb_bios.bin gbc_bios.bin sgb_bios.bin gba_bios.bin 対応。
libretro/tgbdual
BIOS非対応。
libretro/vba-m
gb_bios.bin gbc_bios.bin gba_bios.bin 対応。
MD系
libretro/blastem
16ボタン対応だけで他に手を入れるところもないぐらい、とっても最小限な御様子。
libretro/genesisplusgx
多くのコントローラタイプに対応。
BIOS置き場に
- ggenie.bin: ゲームジーニー
- areplay.bin: アクションリプレイ
- sk.bin: ソニック&ナックルズ
- sk2chip.bin: (ソニック&ナックルズ内蔵メモリ?)
セーブ置き場に
- cart.brm: バックアップRAMカートリッジ
を置くと適用されるような記述がある。
(ソニック&ナックルズで試してみたけど無反応)
libretro/genesisplusgx-wide
BMSファイル対応 (音ゲ譜面じゃないよ)
ブラジルのマスターシステムらしいけど詳細は謎。
予想外だったのが、wideなし版よりソースが古い御様子。 (メンテされずに放置されてる系?)
libretro/picodrive
その名の通り最小限な仕様。
マウスや銃も非対応。
でも対応BIOSが多い。 Batoceraの bios/readme.txt に書いてないBIOS us_scd2_9306 SegaCDBIOS9303 us_scd1_9210 eu_mcd2_9306 eu_mcd2_9303 eu_mcd1_9210 jp_mcd2_921222 jp_mcd1_9112 jp_mcd1_9111 も使えるみたい(試してない)
あと32X対応。
BIOSなくても動くっぽい。
コア自体はCD交換に対応しているが、M3U未対応。
(NullPopPoCustomで対応済)
(Batocera34あたりから公式でM3U対応したらしいが、EmulationStationで封印されたままだし、解除しても正常動作しなかったのでまた封印)
MSX系
libretro/bluemsx
bios/Machines/ に機種毎の定義が入ってるが、本家Batoceraでは MSX MSX2 MSX2+ MSXturboR しか選べない。
(NullPopPoCustomでは地域毎のサフィクスまでは対応済)
で、地域毎のサフィクスまではBIOSなしでもそれなりの代替品が用意されている。
他の設定を使いたいときは、対象のディレクトリから config.ini だけ拾ってきてサフィクスなしディレクトリにコピーすれば一応使える。
(もちろん、BIOSは自前で用意すること。で、BIOSファイルは元の位置に置く。)
libretro/fmsx
現状bluemsxだけで足りてるので全く手つかず。
N64系
libretro/mupen64plus-next
12ボタン仕様のゲームコントローラでA~Cボタンを操作するため、
ABとC左下をR2ボタンで切り替えるという強引な対応が標準仕様になっている。
(NullPopPoCustomでは16ボタン仕様での操作を前提にしているため、この機能は廃止)
libretro/parallel_n64
mupen64plusの派生
マウス対応
一部のゲームタイトルを認識してキーアサインを自動で切り替える機能が入ってる。
R2ボタンで切り替え方式だとどうしても操作性に難があるわけで、
こういったややこしい対策にならざるを得ないところだけど、
(NullPopPoCustomでは無用な機能なので、これも廃止)
NDS系
基本、BIOSなしでも動作可。
DSi専用ソフトは要BIOSのようだが、こちらの実機から抜いてきたやつハッシュ合わないし、目下ひとつも起動せず。
libretro/desmume
初代BIOSのみ対応。
libretro/melonds
こちらはDSiのBIOSにも対応。
PC88系
libretro/quasi88
BIOSはBatoceraの bios/readme.txt に書いてある
N88.ROM N88SUB.ROM N88N.ROM N88EXT[0-3].ROM のほか、
N88KNJ[1-2].ROM N88JISHO.ROM FONT.ROM FONT[2-3].ROM に対応する。
この他いくらかの別名も設定されており、このうち類推利かなそうなところとしては、
N88N.ROM = N80.ROM
N88SUB.ROM = DISK.ROM
が等価な扱い。
さらに、PCMリズム音源として
2608_BD.WAV 2608_HH.WAV 2608_RIM.WAV 2608_SD.WAV 2608_TOM.WAV 2608_TOP.WAV
が使われる模様。
ディスクイメージファイルが特殊な扱いになっている故か、独自のディスク操作機能で動作していた。
(NullPopPoCustomではlibretro標準インタフェイスに移行済)
D88ディスクイメージファイルは複数のディスクイメージを保持できる。
(ただし複数イメージ切り替えに対応できるのはこのコアだけの模様)
(でも肝心のlibretroで対応してない) (NullPopPoCustomで対応するかもしんないけどちとめんどいので後回し)
PC98系
libretro/np2kai
Batoceraの bios/readme.txt には
BIOS.ROM FONT.ROM SOUND.ROM ITF.ROM
って書いてあるけど、UNIX系OSでは小文字にしないと認識しないような気がしないでも。
(FONT.ROM のみ両方定義がある)
あとank用として PC88.FNT がロード対象になっている模様。
PCE系
libretro/pce
syscard[1-3].pce syscard[2-3]u.pce gexpress.pce に対応。
コア自体はCD交換にもM3Uにも対応しているが、ロードでコケるバグあるからか
EmulationStationで認識しないようになっている。
(NullPopPoCustomで対応済)
libretro/pce-fast
高速化を目的としたチューニングが行われている模様。
CD交換については同様にNullPopPoCustomで対応済。
PS1系
libretro/duckstation
バイナリ提供で手を入れられない。これは削除予定。
libretro/mednafen_psx
リポジトリの名前と全然違ってて探し回てしまた。(正解はbeetle-psx)
BIOSは550x系のみ対応。
ファイル名に微妙な揺らぎが許容されてるけど、説明めんどいので scph550?.bin で合わせとくよろし。
(ソース書き換えれば無理矢理使えるかもしれないけど、後回し)
libretro/pcsx_rearmed
BIOS置き場にscphまたはpsx(大小区別なし)で始まる512KBのファイルがあるとそれをBIOSとして使う。
libretro/swanstation
とりあえず、文字列をstd::stringで処理してくれてるの非常にありがたい。
で、こちらはBIOS置き場のファイル全部引っ張り出してきてハッシュチェックするらしい。
一応サイズチェックもしてるけどPS1~3それぞれのサイズ条件をorで通してるので単なる絞り込み用条件。
PS2系
libretro/pcsx2
BIOS置き場のファイル全部引っ張り出してきて、かなり細かいチェック。
ハッシュとかじゃないので、バージョン違いにも柔軟に対応してくれそうな。
PSP系
libretro/ppsspp
明確なBIOSとしては存在しない(?)
基本的に実機でUMDダンプしてくるだけでだいたい動作する。
目下、複数UMDには非対応。
SFC系
libretro/bsnes
BS-X.bin 対応。
libretro/bsnes_hd
BS-X.bin 対応。
libretro/pocketsnes
BIOS非対応。
libretro/snes9x
BS-X.bin STBIOS.bin 対応。
libretro/snes9x_next
BS-X.bin STBIOS.bin 対応。
SS系
libretro/beetle-saturn
sega_101.bin mpr-17933.bin 対応。
アナログ,ハンドル,ミッションスティック,マウス対応。
libretro/kronos
中身はyabause
saturn_bios.bin sega_101.bin stvbios.zip 対応。
アナログ,ハンドル,ミッションスティック,マウス対応。
libretro/yabasanshiro
中身はyabause
saturn_bios.bin sega_101.bin mpr-17933.bin 対応。
アナログ対応。
X1系
libretro/xmil
Batoceraの bios/readme.txt には
IPLROM.X1 iplrom.x1t
って書いてあるけど、案の定不統一NGで大文字が正解の模様。
この他、 FNT0808.X1 FNT0816.X1 FNT1616.X1 が使われる。
他のオールドPC系コアはm3u対応してるのに、何故かこれだけ未対応。
起動時にディスク1枚しか指定できない故かもしれない。
(どちらもNullPopPoCustomで対応済)
元のlibretro用ソースにはディスクタイプ設定の2D/2HDが逆なバグあり。
(NullPopPoCustomで対応済)
X68系
libretro/px68k
BIOSはBatoceraの bios/readme.txt に書いてある iplrom.dat のほか、
iplrom30.dat iplromco.dat iplromxv.dat に対応する。