Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME)
-
Hardware: x86_64 Laptop running Ubuntu 20.04
RetroPie Version: 4.8.1
Built From: On top of existing OSNot sure what changed, but I can now only load .cpr cartridge images using any of the various MESS/MAME cpc6128p systems. Anytime I go to load a .dsk image I get the following message about the driver requiring images to be loaded as a cartridge:
This was not always the case, as both .cpr and .dsk images would auto load as long as the ROM specific emulator was the proper media version (lr-mess-system-6128p-cart, mame-system-6128p-flop1, etc...) for the image.
I found a work-around first loading PARADOS (.cpr file) and then adding the .dsk image via the MESS/MAME File Manager, but it was much easier when the games would autoload without any added steps.
I'm fairly certain I did not change any .config file settings, so not sure what caused the change. I have tried removing and reinstalling the emulators, but to no avail. Any assistance is appreciated.
-
Indeed, strange behaviour.
Have you checked your runcomment.log if the loader line really has swapped from -cart to -flop1 or if you can find something else in there ?
Does MAME has the same issue as lr-mess ?
If I have some time I will check I how my computer reacts on this.
-
@testudo I just use lr-caprice32 for DSK files.
-
I tried a regular cpc dsk file (from non mame softlist files) that I have in my roms directory and got the same screen as you got.
I used : R-Type%20128K%20%28dualside%29.dskSaw this message in the runcommand.log :
dsk: Floppy disk has excess of heads for this drive that will be discarded (floppy heads=2, drive heads=1)If you try to load dualside/double-density disks with default settings it will not load because it's not supported for flop1.
Default only supports singleside diskdrives :
upd765:0 supports 3ssdd (3 inch single-side diskdrive)
upd765:1 supports 35ssdd (3.5 inch double-density diskdrive)So I think we have to change the setting somehow.
I will try to add a line for cpc6128p in the >EXTRA< options just like cpc6128 with 35ssdd support just like here :
https://retropie.org.uk/forum/topic/30867/the-bewildering-case-of-the-enterprise-64 -
I tried cpc6128p with 35ssdd support for floppy1 but it doesn't work sadly.
Just like you explained it does work via the parados with cpc6128p.I tried cpc6128 (without p) with 35ssdd support for floppy1 and that does work.
Probably it's a mame issue somehow.
I will do some more research later. -
@JimmyFromTheBay said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
@testudo I just use lr-caprice32 for DSK files.
I too use lr-caprice32 for cpc6128 .dsk files, but since it doesn't yet fully support cpc6128plus emulation, I was using Mame/Mess for those games.
-
@Folly said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
I tried cpc6128p with 35ssdd support for floppy1 but it doesn't work sadly.
Just like you explained it does work via the parados with cpc6128p.I tried cpc6128 (without p) with 35ssdd support for floppy1 and that does work.
Probably it's a mame issue somehow.
I will do some more research later.Thanks for investigating and the insight. I'll use the ParaDos workaround until/if a fix is found.
-
I added a line in >EXTRA< :
https://github.com/FollyMaddy/RetroPie-Share/commit/c4bcfb1e56f1ce2489ad7162fe2674aa16dd4483
( I saysFixing
in the description but it's more like aWorkaround
on second thought )For me this works without going through mame menu selecting a .dsk file.
When installed it will create lines like this in the emulators.cfg :
mame-cpc6128p-parados-35ssdd-flop1 -
@Folly said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
I added a line in >EXTRA< :
https://github.com/FollyMaddy/RetroPie-Share/commit/c4bcfb1e56f1ce2489ad7162fe2674aa16dd4483
( I saysFixing
in the description but it's more like aWorkaround
on second thought )For me this works without going through mame menu selecting a .dsk file.
When installed it will create lines like this in the emulators.cfg :
mame-cpc6128p-parados-35ssdd-flop1I added your new commit script, but not seeing the ParaDOS option created in the emulators.cfg file.
I only see a CPC6128 + floppy 35ssdd support option and the Cartridge Support for the GX4000 roms directory option in <EXTRAS>:
The add-mamedev-systems.sh script does have the following line items:
",Amstrad CPC6128 + floppy1 35ssdd support,@non-arcade,run_generator_script cpc6128 amstradcpc -upd765:0*35ssdd floppydisk1 flop1 .sna*.wav*.cdt*.mfi*.dfi*.hfe*.mfm*.td0*.imd*.d77*.d88*.1dd*.cqm*.cqi*.dsk -35ssdd," ",Amstrad CPC6128p + ParaDOS + floppy1 35ssdd support,@non-arcade,run_generator_script cpc6128p amstradcpc -cart1*~/RetroPie/BIOS/mame/ENGPADOS.CPR*-upd765:0*35ssdd floppydisk1 flop1 .sna*.wav*.cdt*.mfi*.dfi*.hfe*.mfm*.td0*.imd*.d77*.d88*.1dd*.cqm*.cqi*.dsk -parados-35ssdd," ",Amstrad CPC6128P + cartridge support + use gx4000 roms directory,@non-arcade,run_generator_script cpc6128p gx4000 '' cartridge cart .bin*.cpr* -use_gx4000_roms_dir,"
So, it looks like the ParaDOS entry is there. I also added the ENGPADOS.CPR file to the Mame BIOS folder and it still did not create the entry in the emulators.cfg file.
-
Your picture shows 245.05.
Did you update the script to 245.06 ?
You have to exit the script after update and select it again and you should see the version change.
Should be in there. -
It worked for me on my x86_64 and my RPI4, should have no issues.
These are the emulators.cfg entry's :lr-mess-cpc6128p-parados-35ssdd-flop1-autoframeskip = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/amstradcpc/retroarch.cfg --appendconfig /opt/retropie/configs/amstradcpc/retroarch.cfg.add -S /home/pi/RetroPie/roms/amstradcpc -s /home/pi/RetroPie/roms/amstradcpc -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so 'cpc6128p -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -rompath /home/pi/RetroPie/BIOS/mame;/home/pi/RetroPie/roms/amstradcpc/ -cfg_directory /opt/retropie/configs/amstradcpc/lr-mess -c -ui_active -autoframeskip -flop1 %ROM%'" lr-mess-cpc6128p-parados-35ssdd-flop1 = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/amstradcpc/retroarch.cfg --appendconfig /opt/retropie/configs/amstradcpc/retroarch.cfg.add -S /home/pi/RetroPie/roms/amstradcpc -s /home/pi/RetroPie/roms/amstradcpc -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so 'cpc6128p -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -rompath /home/pi/RetroPie/BIOS/mame;/home/pi/RetroPie/roms/amstradcpc/ -cfg_directory /opt/retropie/configs/amstradcpc/lr-mess -c -ui_active -flop1 %ROM%'" lr-mess-cpc6128p-parados-35ssdd-game-specific-flop1-autoframeskip = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/amstradcpc/retroarch.cfg --appendconfig /opt/retropie/configs/amstradcpc/retroarch.cfg.add -S /home/pi/RetroPie/roms/amstradcpc -s /home/pi/RetroPie/roms/amstradcpc -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so 'cpc6128p -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -rompath /home/pi/RetroPie/BIOS/mame;/home/pi/RetroPie/roms/amstradcpc/ -cfg_directory /opt/retropie/configs/amstradcpc/lr-mess/%BASENAME% -c -ui_active -autoframeskip -flop1 %ROM%'" lr-mess-cpc6128p-parados-35ssdd-game-specific-flop1 = "/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/amstradcpc/retroarch.cfg --appendconfig /opt/retropie/configs/amstradcpc/retroarch.cfg.add -S /home/pi/RetroPie/roms/amstradcpc -s /home/pi/RetroPie/roms/amstradcpc -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so 'cpc6128p -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -rompath /home/pi/RetroPie/BIOS/mame;/home/pi/RetroPie/roms/amstradcpc/ -cfg_directory /opt/retropie/configs/amstradcpc/lr-mess/%BASENAME% -c -ui_active -flop1 %ROM%'" lr-run_mess-cpc6128p-parados-35ssdd-flop1-autoframeskip = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/amstradcpc/retroarch.cfg \cpc6128p /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/amstradcpc -autoframeskip -cfg_directory /opt/retropie/configs/amstradcpc/lr-mess -ui_active -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -flop1 %ROM%" lr-run_mess-cpc6128p-parados-35ssdd-game-specific-flop1-autoframeskip = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/amstradcpc/retroarch.cfg \cpc6128p /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/amstradcpc -cfg_directory /opt/retropie/configs/amstradcpc/lr-mess/%BASENAME% -autoframeskip -ui_active -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -flop1 %ROM%" mame-cpc6128p-parados-35ssdd-flop1-autoframeskip = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/amstradcpc -v -c -autoframeskip -ui_active -statename amstradcpc/%BASENAME% cpc6128p -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -flop1 %ROM%" mame-cpc6128p-parados-35ssdd-flop1 = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/amstradcpc -v -c -ui_active -statename amstradcpc/%BASENAME% cpc6128p -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -flop1 %ROM%" mame-cpc6128p-parados-35ssdd-game-specific-flop1-autoframeskip = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/amstradcpc -cfg_directory /opt/retropie/configs/amstradcpc/mame/%BASENAME% -v -c -autoframeskip -ui_active -statename amstradcpc/%BASENAME% cpc6128p -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -flop1 %ROM%" mame-cpc6128p-parados-35ssdd-game-specific-flop1 = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/amstradcpc -cfg_directory /opt/retropie/configs/amstradcpc/mame/%BASENAME% -v -c -ui_active -statename amstradcpc/%BASENAME% cpc6128p -cart1 ~/RetroPie/BIOS/mame/ENGPADOS.CPR -upd765:0 35ssdd -flop1 %ROM%"
-
Not expected.
Even-though it will install on RPI4 it will not run yet, very strange !
runcommand.log gives :Ignoring MAME exception: memory_bank::set_base called nullptr base Fatal error: memory_bank::set_base called nullptr base
Will look at it later again.
-
@Folly said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
Not expected.
Even-though it will install on RPI4 it will not run yet, very strange !
runcommand.log gives :Ignoring MAME exception: memory_bank::set_base called nullptr base Fatal error: memory_bank::set_base called nullptr base
Will look at it later again.
I manually added the ParaDOS options to the emulators.cfg file and can select them from the emulator selection dialog box.
No luck with initial testing on the lr-mess options, but the MAME option does load ParaDOS, but not autoload the game. I can type in <run"nameofgame.xxx> and it will load the game.
Will keep investigating.
-
@testudo Which games aren't you able to run on Caprice?
-
@JimmyFromTheBay said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
@testudo Which games aren't you able to run on Caprice?
Anything specifically for the cpc6128+, anything in the cpc6128+ mode or cart only file:
- Frogger (disk or cart)
- Rick Dangerous 128+
- Stryker in the Crypts of Trogan (+ mode)
- Prehistorik II (+ mode)
- Ghosts 'n Goblins (both Xifos and Golem13 cart versions)
- Copter 271 (cart)
-
@testudo Frogger, Ghosts'n'Goblins, Prehistorik II and Copter 271 definitely run in lr-mess-cpc6128p, so use it for those and lr-caprice32 for other stuff.
Stryker seems to run fine in both emulators, so Rick Dangerous is the only problem.
-
@JimmyFromTheBay said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
@testudo Frogger, Ghosts'n'Goblins, Prehistorik II and Copter 271 definitely run in lr-mess-cpc6128p, so use it for those and lr-caprice32 for other stuff.
Don't know anything about the other two games.
Yup, lr-caprice32 is my system default and was using lr-mess-cpc6128p as the rom default for those, but now the. dsk files suddenly won't load without using the ENGPADOS. cpr workaround for me. Reason for the OP.
Rick Dangerous will run on Mess with the workaround.
Nothing in Retroarch has worked for Prehistorik II in cpc6128+ mode. Title screen would load and game started, but would immediately crash or the screen would get filled with artifacts making it unplayable. Other freestanding emulators like Arnold can run it, so I can still play it.
-
@testudo said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
@Folly said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
Not expected.
Even-though it will install on RPI4 it will not run yet, very strange !
runcommand.log gives :Ignoring MAME exception: memory_bank::set_base called nullptr base Fatal error: memory_bank::set_base called nullptr base
Will look at it later again.
I manually added the ParaDOS options to the emulators.cfg file and can select them from the emulator selection dialog box.
No luck with initial testing on the lr-mess options, but the MAME option does load ParaDOS, but not autoload the game. I can type in <run"nameofgame.xxx> and it will load the game.
Will keep investigating.
Basically, you still have these issues :
- can't see the line in >EXTRA< in the script, so not able to install
- after adding them manually in emulators.cfg mame works but lr-mess doesn't
- autoload doesn't work ( I have not implemted this in the line, when everything works I can make one in the autoboot section )
Correct ?
-
I found the problem on my RPI4 when this message appeared in the runcommand.log :
Ignoring MAME exception: memory_bank::set_base called nullptr base Fatal error: memory_bank::set_base called nullptr base
The paraDOS rar file was wrongly uncompressed so I had a corrupted 0kb ENGPADOS.CPR file.
Good find.
Now I tested both mame and lr-mess and both worked on the RPI4.
So have some progress. -
@Folly said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
@testudo said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
@Folly said in Only Cartridge Files Loading on Amstrad CPC6128+ (MESS/MAME):
Not expected.
Even-though it will install on RPI4 it will not run yet, very strange !
runcommand.log gives :Ignoring MAME exception: memory_bank::set_base called nullptr base Fatal error: memory_bank::set_base called nullptr base
Will look at it later again.
I manually added the ParaDOS options to the emulators.cfg file and can select them from the emulator selection dialog box.
No luck with initial testing on the lr-mess options, but the MAME option does load ParaDOS, but not autoload the game. I can type in <run"nameofgame.xxx> and it will load the game.
Will keep investigating.
Basically, you still have these issues :
- can't see the line in >EXTRA< in the script, so not able to install
- after adding them manually in emulators.cfg mame works but lr-mess doesn't
- autoload doesn't work ( I have not implemted this in the line, when everything works I can make one in the autoboot section )
Correct ?
Yes, all correct.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.