PC98游戏自动切换汉化字库教程
retrobat吧
全部回复
仅看楼主
level 4
w553491775 楼主
如题,也算不上教程,就是全网没搜到这个机种自动切换中文字库的方法,B站有一个,还不是windows下的,所以自己花时间搞了下,不得不说,现在的AI是真好用,需求一提,代码就编好了,要是自己捣鼓,估计永远也搞不好。
搞这个原因是我发现PC98核心没有像PCECD、PSX核心这样的自定义BIOS文件功能,而且retrobat会带参数调用核心,你自己保存的配置文件全部无视。后来实在没办法,只能用笨办法,每次运行某个游戏时让系统自动将汉化字库替换原字库,不需要时换回原字库。
下面说下具体操作过程。PC98的np2kai核心字库文件默认是bios\np2kai\font.bmp或者是FONT.ROM,无论是ROM还是BMP结尾,其实都一样,可以直接换后缀名,我是默认都弄成bmp文件了。
然后你下载的汉化游戏,一般是一个HDI格式的游戏本体和一个BMP格式的字库文件,想要运行汉化游戏,就需要把汉化后的字库文件改名为font.bmp,替换掉bios\np2kai\font.bmp文件。但是在PC98这个ROM文件夹里搞是不行的,你需要另外新增一个ROM文件夹,比如pc98_cn,文件夹建好以后,去emulationstation\.emulationstation下打开es_systems.cfg文件,新增一段ROM文件夹描述:
<system>
<name>pc98_cn</name>
<fullname>PC-9800汉化游戏</fullname>
<manufacturer>NEC</manufacturer>
<release>1982</release>
<hardware>computer</hardware>
<path>~\..\roms\pc98_cn</path>
<extension>.bat</extension>
<command>cmd /c "%ROM%"</command>
<platform>pc98</platform>
<theme>pc98</theme>
</system>
这样你添加ROM以后ES前端就能扫出来目录了。
2026年10月25日 05点10分 1
level 4
w553491775 楼主
接楼上:
现在把你的rom本体进行压缩,压缩成.zip格式,不压缩也行,但是建议压缩,体积大概能缩小1/4-1/2.放入到pc98_cn文件夹下,例如:Doukyuusei2.zip,与此同时,把汉化字库文件也修改为这个名字,如Doukyuusei2.bmp,放入bios\UNOFFICIAL\PC98_CN文件夹中,当然这个文件夹是我自己设置的,你们可以按自己的喜好来。然后,在pc98_cn这个ROM文件夹中,右键新建一个文本文档,添加以下批处理代码并命名为PC98_CN_Launch.bat:
@echooff
chcp65001
setlocalenabledelayedexpansion
::bat自身所在目录=roms\pc98_cn
set"BAT_DIR=%~dp0"
::向上一级,回到roms,再上一级就是Retrobat根目录
set"RETROBAT_ROOT=%BAT_DIR%..\.."
::所有路径全部基于相对根目录,移动整个Retrobat文件夹无需修改
set"RAEXE=!RETROBAT_ROOT!\emulators\retroarch\retroarch.exe"
set"CORE=!RETROBAT_ROOT!\emulators\retroarch\cores\np2kai_libretro.dll"
set"FONT_LIB=!RETROBAT_ROOT!\bios\UNOFFICIAL\PC98_CN"
set"FONT_TARGET=!RETROBAT_ROOT!\bios\np2kai\font.bmp"
set"ROM=%~1"
ifnotdefinedROM(
echo必须传入ROM路径!
pause
exit/b255
)
ifnotexist"%ROM%"(
echo找不到镜像:%ROM%
pause
exit/b255
)
for%%ain("%ROM%")doset"GAME_NAME=%%~na"
set"GAME_FONT=!FONT_LIB!\!GAME_NAME!.bmp"
set"DEFAULT_FONT=!FONT_LIB!\font.bmp"
echo==========PC98-CNLauncher==========
echo游戏:!GAME_NAME!
echoROM:!ROM!
set"SRC_FONT="
ifexist"!GAME_FONT!"(
set"SRC_FONT=!GAME_FONT!"
echo[字库]使用专属字库!GAME_NAME!.bmp
)else(
ifexist"!DEFAULT_FONT!"(
set"SRC_FONT=!DEFAULT_FONT!"
echo[字库]使用默认font.bmp
)else(
echo[警告]字库全部缺失,直接启动
gotoLAUNCH
)
)
set"TRY=0"
:COPY_LOOP
set/aTRY+=1
copy/Y"!SRC_FONT!""%FONT_TARGET%">nul
if!errorlevel!equ0(
echo[字库]替换完成
gotoLAUNCH
)
if!TRY!lss3(
echo复制失败,重试!TRY!
timeout/t1/nobreak>nul
gotoCOPY_LOOP
)
echo[错误]字库复制失败,继续启动
:LAUNCH
echo启动RetroArchnp2kai
"%RAEXE%"-L"%CORE%""%ROM%"
endlocal
这段代码是用来分析ROM路径的游戏本体是否在bios\UNOFFICIAL\PC98_CN文件夹中有同名字库文件的,如果有,则复制该字库文件更名为font.bmp并替换原字库文件,如果没有,复制这里的原版字库文件替换目前bios里的字库。(对了,做这步前一定要先把原字库文件复制一份放到PC98_CN文件夹里)。然后调用np2kai核心运行指定ROM文件。
2026年10月25日 05点10分 2
level 4
w553491775 楼主
接2楼:
接着,再新建一个文本文档,可以命名为:同级生2.bat,输入以下代码:
@echooff
call"%~dp0PC98_CN_Launch.bat""%~dp0Doukyuusei2.zip"
这样基本就完事了,现在刷新游戏列表,可以看到新增的两个bat文件,PC98_CN_Launch.bat文件属于中介,可以隐藏掉,运行同级生2.bat文件即可实现游戏汉化。
也许有大佬有更好的办法传授,我在这里就抛砖引玉了。
2026年10月25日 05点10分 3
1