Getting to the CLI for Home Computers using MESS
I'm using a Raspberry Pi 3B, running RetroPie 4.3 on which I have installed ES and AttractMode, and use an official Raspberry Pi PSU.
I'm off the age where I like coding on the old home computers, Dragon32, Spectrum etc. to bring back memories of when I young, happy and without the hassle of an ex-wife, kids etc... but to the point... :)
I would like to have an option somewhere to get to the command line of the Spectrum, Dragon, Commodore and similar emulators so I can code and mess about as though I was a teenager again, but I can't find a simple way of doing this. The emulators work when loading ROMs, but I don't want them to load a ROM, I just want to get to a cursor on the startup screen on the computer.
I've do this in MESS from my Windows PC, but can't seem to figure out a simple way of doing this in RetroPie.
What is the best way of doing this? Has anyone done this before?
Many thanks in advance, Jono
Well for those that are interested I can start emulators from the command line, a topic that has been discussed here before, and if I leave out the ROM I have success...
/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ dragon32
Will run the Dragon 32 emulator (Xroar) if installed.
But if I put that exact line in a shell script;
#!/bin/bash "/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ dragon32"
and run that from Attractmode (I put the script in the Ports folder) it errors saying;
*** Running: /bin/bash "/home/pi/RetroPie/roms/Ports/dragon32.sh" /home/pi/RetroPie/roms/Ports/dragon32.sh: line 2: /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ dragon32: No such file or directory
Any ideas would be gratefully received :)
Ok... so if you put the system in quotes, the error changes to
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ "dragon32" No config found for system dragon32
Does that help anyone to help me?
@jono The SYS parameter I think is replaced before the actual command is run, that's why
runcommanddoesn't know what you mean. What I would do is:
- run the
dragon32ROM normally, via ES
ps -effrom a SSH session and see the actual command
You can look at https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/supplementary/runcommand/runcommand.sh#L42 to see how
runcommand.shhandles its parameters.
- run the
Jono last edited by Jono
@mitu Thanks for the help, I changed my script to read;
#!/bin/bash "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 "/opt/retropie/configs/dragon32/emulators.cfg" "dragon32"
The screen goes blank, and I am back at the CLI within RetroPie.
I can't find my runcommand.log file, so will work on that, along side using ps -ef tonight.
But it still confuses me that if I run the command directly from the command line it works, just not in a Bash script :/
@mitu It wasn't there, hence the hunt that will start later today :)
Success! Or sort of...
So I changed the script for dragon32.sh to read;
#!/bin/bash /opt/retropie/emulators/xroar/bin/xroar -fs -vo sdl --ccr simple -machine dragon32
And, as another example I wrote a spectrum script;
#!/bin/bash /opt/retropie/emulators/fuse/bin/fuse --machine 48 --full-screen
Both work, and now I will do the other home computers and place them in their own section. Which now means I can code on the old home computers.
Many thanks for the pointer @mitu , it helped me focus towards the right solution
I forgot to say, I found these command lines in the /opt/retropie/configs/emulatorname/emulator.cfg for each emulator and removed the %ROM% parameter.