Play ps1 games on mame?

how to play ps1 games on mame ? is there a simple guide :grinning:

1 Like

Whether your asking about standalone MAME or the Retroarch core it is about the same.

I honestly don’t know why you would want to, other than maybe running some Namco System 11 games, but if you insist. :grin:

There are a couple of different methods, depending on if you are using the MAME CHD set or some other ISO.

For the CDH set. you need to create a folder with the driver name. (pse, psu, or psj.) You will need the MAME rom with the same name. (psu.zip, pse.zip, or psj.zip) they are part of the regular MAME rom set. Make sure your rom version matches your core version.

For both methods you need a content directory *.opt file in your “Retroarch/config/mame/” folder.

For the first method you need Software list support enabled, and auto media enabled. We’ll use “psj” as an example, since I have a CHD lying around.

psj.opt :

mame_alternate_renderer = "disabled"
mame_altres = "640x480"
mame_auto_save = "disabled"
mame_boot_from_cli = "disabled"
mame_boot_to_bios = "disabled"
mame_boot_to_osd = "disabled"
mame_buttons_profiles = "enabled"
mame_cheats_enable = "disabled"
mame_cpu_overclock = "default"
mame_lightgun_mode = "none"
mame_lightgun_offscreen_mode = "free"
mame_mame_4way_enable = "4way"
mame_mame_paths_enable = "disabled"
mame_media_type = "rom"
mame_mouse_enable = "enabled"
mame_read_config = "disabled"
mame_saves = "game"
mame_softlists_auto_media = "enabled"
mame_softlists_enable = "enabled"
mame_throttle = "disabled"
mame_write_config = "disabled"

You also need the “hash” folder from the standalone mame in “Retroarch/sysytem/mame/hash/”.

Specifically you need the “psx.xml” file.

Put your psj.zip rom in the “psj” folder along with your CHD (i.e. “rayman (japan) [slps-00026].chd” from the MAME Software List CHD set.

If you look at the psx.xml you will see that the short name for this CHD is “raymanj”.

	<!-- boot OK, FMVs have repeated GFXs at sides -->
	<software name="raymanj" cloneof="rayman">
		<!--
		Unknown source
		<rom name="Rayman (Japan) [SLPS-00026].bin" size="578801328" crc="17ea864e" sha1="ebfe4dea33ed6534dc0449dc933b201adbcd91b5"/>
		<rom name="Rayman (Japan) [SLPS-00026].cue" size="2041" crc="2fda671c" sha1="0d9f8bc9f3b8697bc76fb724c6110502a4575675"/>
		-->
		<description>Rayman (Jpn)</description>
		<year>1995</year>
		<publisher>Ubisoft</publisher>
		<info name="serial" value="SLPS-00026" />
		<info name="release" value="19950922" />
		<info name="alt_title" value="レイマン レイマンよ!エレクトゥーンを救え!~ Rayman - Rayman yo! Electroons o Sukue (Box)"/>
		<sharedfeat name="compatibility" value="NTSC-J"/>
		<part name="cdrom" interface="psx_cdrom">
			<diskarea name="cdrom">
				<disk name="rayman (japan) [slps-00026]" sha1="acc0a8820b81fb55134868021a6facc3def1eb1a" status="baddump"/>
			</diskarea>
		</part>
	</software>

You will need an empty dummy ZIP named raymanj.zip and the CHD in a sub folder “raymanj”.

(i.e “psj/raymanj/rayman (japan) [slps-00026].chd” or “rayman/psj/raymanj/rayman (japan) [slps-00026].chd”

Then just load the ZIP as content using the MAME Current core and the xml will take care of the rest.

For the second method you need different OPT file contents.

mame_alternate_renderer = "disabled"
mame_altres = "640x480"
mame_auto_save = "disabled"
mame_boot_from_cli = "enabled"
mame_boot_to_bios = "disabled"
mame_boot_to_osd = "disabled"
mame_buttons_profiles = "enabled"
mame_cheats_enable = "disabled"
mame_cpu_overclock = "default"
mame_lightgun_mode = "none"
mame_lightgun_offscreen_mode = "free"
mame_mame_4way_enable = "disabled"
mame_mame_paths_enable = "disabled"
mame_media_type = "rom"
mame_mouse_enable = "enabled"
mame_read_config = "enabled"
mame_saves = "game"
mame_softlists_auto_media = "disabled"
mame_softlists_enable = "disabled"
mame_throttle = "disabled"
mame_write_config = "disabled"

software lists are disabled along with auto media and “boot from cli” is enabled.

Then from the command line type…

E:\RetroArch\retroarch.exe -L "E:\RetroArch\cores\mame_libretro.dll" "psj -rompath "E:\Temp\psj" -cdrom "E:\Temp\psj\raymanj.chd"

The extra quote before the driver name ("psj) is important in windows. Also it doesn’t like spaces in the file name so I renamed it. It is not important using this method. The previous method requires the CHD to have the original name.

Alternatively create a “raymanj.cmd” file with the following contents.

psj -rompath "E:\Temp\psj" -cdrom "E:\Temp\psj\raymanj.chd"

and load the CMD file as content using the MAME Current core.


Of course you need to substitute your paths for mine. :grin:

Good luck!

4 Likes